Full YAML Reference#
This page is generated from nf2.reference and mirrors the public v0.4 YAML schema.
General Run Keys#
Key |
Type |
Default |
Description |
|---|---|---|---|
path |
str |
./runs/nf2 |
Directory for checkpoints, logs, and extrapolation_result.nf2. |
work_path |
str | null |
path/work |
Optional scratch directory for preprocessed arrays. |
logging |
dict |
{} |
Options passed to the Lightning/W&B logger. |
logging.project |
str |
logger default |
W&B project name when W&B logging is enabled. |
logging.name |
str |
logger default |
Run name shown in W&B/log output. |
meta_path |
str |
none |
Optional previous NF2 state used by series runs. |
Data And Geometry#
Key |
Type |
Default |
Description |
|---|---|---|---|
data.geometry |
cartesian | spherical |
required |
Extrapolation geometry. |
data.normalization.Mm_per_ds |
float |
100 |
Length represented by one model coordinate unit. |
data.normalization.Gauss_per_dB |
float |
1000 |
Magnetic-field strength represented by one model field unit. |
data.boundaries |
list[dict] |
required |
Boundary observations, analytical fields, or maps. |
data.boundaries[].id |
str |
boundary / generated |
Stable dataset id used by losses, transforms, callbacks, and series references. |
data.boundaries[].type |
str |
required |
Dataset implementation name. See the dataset reference for supported types. |
data.boundaries[].files |
dict | list[dict] | glob |
dataset dependent |
Input file mapping or series file mapping for observational datasets. |
data.boundaries[].errors |
dict | list[dict] |
optional |
Optional uncertainty-file mapping. Bundled templates skip unresolved error placeholders. |
data.boundaries[].batch_size |
int |
data batch size |
Per-dataset batch size override. |
data.boundaries[].requires_jacobian |
bool |
dataset dependent |
Whether this dataset must provide derivatives for losses or callbacks. |
data.boundaries[].Mm_per_pixel |
float |
dataset default |
Spatial sampling for this boundary in Mm per pixel. |
data.boundaries[].coordinate_center |
list[float] | dict |
[0, 0] |
Cartesian coordinate assigned to the boundary center, in Mm. |
data.boundaries[].height_mapping |
dict |
none |
Height metadata for multi-height Cartesian boundary datasets. |
data.boundaries[].mask_configs |
dict | list[dict] |
none |
Spherical map masking/filtering configuration. |
data.boundaries[].mask_configs.type |
str |
mask dependent |
Mask/filter implementation name, for example |
data.boundaries[].mask_configs.min |
float |
mask dependent |
Minimum value for simple threshold-style masks such as |
data.boundaries[].mask_configs.file |
str |
required for reference masks |
Reference map file used by spherical |
data.boundaries[].mask_configs.mu_filter |
dict |
optional |
Nested mu-angle filter applied inside a spherical |
data.boundaries[].mask_configs.mu_filter.min |
float |
mask dependent |
Minimum mu value for the nested reference-mask filter. |
data.boundaries[].mask_configs[].type |
str |
mask dependent |
Mask/filter implementation name when masks are provided as a list. |
data.boundaries[].mask_configs[].min |
float |
mask dependent |
Minimum value when list-form masks use |
data.validation |
list[dict] |
geometry default |
Validation grids and plotting datasets. |
data.validation[].id |
str |
generated |
Stable validation dataset id used by callbacks. |
data.validation[].type |
str |
required |
Validation dataset implementation name. |
data.validation[].files |
dict | list[dict] | glob |
dataset dependent |
Input file mapping for validation datasets. |
data.validation[].errors |
dict | list[dict] |
optional |
Optional validation uncertainty-file mapping. |
data.validation[].filter_nans |
bool |
dataset default |
Whether to filter NaN samples in spherical map validation datasets. |
data.validation[].shuffle |
bool |
dataset default |
Whether to shuffle validation samples. |
data.validation[].plot_overview |
bool |
dataset default |
Whether to prepare overview plots for spherical map validation datasets. |
data.validation[].plot_currents |
bool |
dataset default |
Whether spherical slice validation plots include current-density views. |
data.validation[].n_slices |
int |
dataset default |
Number of slices for slice-based validation datasets. |
data.validation[].mask_configs.type |
str |
mask dependent |
Mask/filter implementation name for validation map datasets. |
data.validation[].mask_configs.min |
float |
mask dependent |
Minimum value for validation threshold-style masks such as |
data.validation[].mask_configs[].type |
str |
mask dependent |
Mask/filter implementation name when validation masks are provided as a list. |
data.validation[].mask_configs[].min |
float |
mask dependent |
Minimum value when list-form validation masks use |
data.batch_size |
int |
4096 spherical, 8192 cartesian |
Default dataset batch size passed to loaders. |
data.validation_batch_size |
int |
16384 |
Cartesian validation batch size. |
data.validation_pixel_per_ds |
float |
128 |
Cartesian validation sampling density; larger values make coarser validation cubes. |
data.sampler |
dict |
height sampler |
Cartesian physics sampling dataset. |
data.sampler.type |
height | default |
height |
Cartesian random sampler type. |
data.sampler.batch_size |
int |
16384 in examples |
Cartesian random sampler batch size. |
data.samplers |
list[dict] |
random_radial_grouped |
Spherical physics sampling datasets. |
data.samplers[].id |
str |
random |
Spherical sampler id used by losses. |
data.samplers[].type |
random_radial_grouped | random_spherical |
random_radial_grouped |
Spherical random sampler type. |
data.samplers[].batch_size |
int |
data.batch_size |
Spherical random sampler batch size. |
data.potential_boundary |
dict |
FFT potential |
Cartesian potential boundary data. Use type: none to disable. |
data.potential_boundary.id |
str |
ignored |
Accepted for readability; normalized away because the runtime id is |
data.potential_boundary.type |
potential | potential_top | none |
potential |
Potential side/top boundary mode. |
data.potential_boundary.strides |
int |
4 |
Downsample factor for potential boundary generation. |
data.z_range |
list[float] |
loader default |
Cartesian height range in Mm where supported by the loader. |
data.max_radius |
float |
loader default |
Spherical outer radius in solar radii where supported by the loader. |
data.iterations |
int |
10000 |
Number of random sampler batches per epoch-like pass. |
data.num_workers |
int |
4 |
Default PyTorch DataLoader workers for training and validation loaders. Series preloading uses this value unless data.data_module_workers is set. |
data.train_num_workers |
int |
data.num_workers |
PyTorch DataLoader workers for training loaders. |
data.validation_num_workers |
int |
data.num_workers |
PyTorch DataLoader workers for validation loaders. |
data.prefetch_factor |
int |
5 |
Training DataLoader prefetch factor when workers are enabled. |
data.persistent_workers |
bool |
true |
Keep training DataLoader workers alive while a loader is active. |
data.preload_data_modules |
bool |
true |
For series runs, preload all step data modules up front instead of loading each step lazily. |
data.data_module_workers |
int |
data.num_workers |
Series-only multiprocessing workers used to preload per-step data modules. |
Model#
Key |
Type |
Default |
Description |
|---|---|---|---|
model.field |
vector_potential | scaled_vector_potential | b |
vector_potential |
Field representation. |
model.network.type |
siren |
siren |
Only SIREN networks are supported. |
model.network.hidden_dim |
int |
256 cartesian, 512 spherical |
SIREN hidden width. |
model.network.layers |
int |
model default |
Number of SIREN layers. |
model.network.w0 |
float |
model default |
SIREN frequency scale for hidden layers. |
model.network.w0_initial |
float |
model default |
SIREN frequency scale for the first layer. |
model.radial_power |
float |
2.0 |
Radial power for |
model.coordinate_radial_power |
float |
4.0 |
Radial power for compressing SIREN input coordinates in |
model.base_radius |
float |
R_sun in model units |
Reference radius for |
Training#
Key |
Type |
Default |
Description |
|---|---|---|---|
training.epochs |
int |
15 |
Number of Lightning epochs. |
training.optimizer.start |
float |
5e-4 |
Initial learning rate. |
training.optimizer.end |
float |
5e-5 |
Final learning rate. |
training.optimizer.iterations |
int |
100000 |
Learning-rate schedule length. |
training.gradient_clip_val |
float |
0.1 |
Gradient clipping value passed to the Lightning Trainer unless overridden in training.trainer. |
training.matmul_precision |
str |
medium |
Torch matmul precision setting used before training. |
training.reload_dataloaders_every_n_epochs |
int |
1 for series |
Series cadence for advancing to the next dataset. |
training.check_val_every_n_epoch |
int |
1 |
Lightning validation cadence. Series examples use 10 to validate every 10th dataset. |
training.val_check_interval |
int | float |
Lightning default |
Optional Lightning validation interval alias used by single-run training. |
training.trainer |
dict |
{} |
Additional Lightning Trainer keyword arguments. |
training.trainer.* |
any |
Lightning default |
Additional keyword passed through to |
Losses And Scaling#
Key |
Type |
Default |
Description |
|---|---|---|---|
losses |
list[dict] |
geometry default |
Training objective terms. Omit to use geometry-specific defaults. |
losses[].type |
str |
geometry default |
Loss implementation name. Supported values are boundary, boundary_los_trv, boundary_azi, boundary_los_trv_azi, boundary_los, divergence, force_free, potential, weighted_height, height, NaNs, radial, min_height, energy_gradient, energy, sigma_j. |
losses[].name |
str |
type |
Stable logging and scaling identifier. |
losses[].weight |
float | schedule |
required when explicit |
Loss weight. The legacy lambda key is not accepted. |
losses[].weight.type |
exponential | linear | step |
exponential |
Schedule type when |
losses[].weight.start |
float |
required for exponential/linear |
Initial scheduled loss weight. |
losses[].weight.end |
float |
required for scheduled weights |
Final scheduled loss weight. |
losses[].weight.iterations |
int |
required for exponential/linear |
Number of optimizer steps over which to change the weight. |
losses[].weight.steps |
int |
required for step |
Step interval for step schedules. |
losses[].datasets |
str | list[str] |
loss default |
Dataset ids used by the loss. |
losses[].ambiguous |
bool |
loss default |
Enable ambiguity-aware behavior for supported azimuth/disambiguation losses. |
loss_scaling |
list[dict] |
geometry default |
Spatial scaling modules for selected losses. |
loss_scaling[].type |
exponential | potential_fit | b_height | radial |
geometry default |
Loss-scaling module type. |
loss_scaling[].name |
str |
type |
Stable loss-scaling module name. |
loss_scaling[].loss_ids |
list[str] |
required |
Loss names to scale. |
loss_scaling[].base_radius |
float |
1.1 radial default |
Solar-radius baseline for radial scaling. |
loss_scaling[].max_radius |
float | null |
none |
Optional outer radius used to normalize radial scaling. |
loss_scaling[].power |
float |
module default |
Exponent used by b_height or potential_fit scaling. |
Callbacks And Transforms#
Key |
Type |
Default |
Description |
|---|---|---|---|
callbacks |
list[dict] |
geometry default |
Validation plots and metrics logged during training. |
callbacks[].type |
boundary | metrics | slices | spherical_slices | fits_comparison | disambiguation | los_trv_azi_boundary |
required |
Callback implementation name. |
callbacks[].dataset |
str |
required for most callbacks |
Public alias for validation dataset id; normalized internally to |
callbacks[].name |
str |
callback default |
Optional display/logging name for callbacks that support it. |
callbacks[].plot |
bool |
true |
For plotting callbacks, set false to keep scalar metrics but skip image rendering/logging. |
callbacks[].component_labels |
list[str] |
callback default |
Optional labels for vector-component plots. |
transforms |
list[dict] |
[] |
Optional coordinate/field transforms applied to datasets. |
transforms[].type |
height_range | height | optical_depth | azimuth |
required |
Transform implementation name. |
transforms[].datasets |
str | list[str] |
required |
Dataset ids to transform; normalized internally to |
transforms[].height_range |
list[float] |
required for height |
Height range in Mm for learned height transforms. |
transforms[].max_height |
float |
required for optical_depth |
Maximum optical-depth transform height in Mm. |
transforms[].max_log_optical_depth |
float |
-5 |
Maximum log optical depth for optical-depth transforms. |