NF2 codebase pipeline
NF2’s basic workflow is:
download FITS magnetogram data
-> load it as boundary data
-> train a neural extrapolation model
-> convert or evaluate the trained .nf2 resultThe important point is that the .nf2 output is not just a picture. It stores enough model state to reload the learned field and evaluate derived quantities such as current density, divergence, slices, field lines, and magnetic energy.
Main steps
- Download JSOC/DRMS FITS data with
nf2.data.download*. - Load FITS boundaries with
nf2.loader.fits. - Train with
nf2.extrapolateornf2.extrapolate_series. - Evaluate or convert with
nf2.evaluationandnf2.convert.
Relevant local paths
- Downloading:
/Users/andrew/MISCADA/Project_COMP52060/NF2/nf2/data/download.py - CLI download range:
/Users/andrew/MISCADA/Project_COMP52060/NF2/nf2/data/download_range.py - FITS loaders:
/Users/andrew/MISCADA/Project_COMP52060/NF2/nf2/loader/fits.py - Single extrapolation:
/Users/andrew/MISCADA/Project_COMP52060/NF2/nf2/extrapolate.py - Series extrapolation:
/Users/andrew/MISCADA/Project_COMP52060/NF2/nf2/extrapolate_series.py
Single-frame AR 11158 path
For a single-frame AR 11158 run:
JSOC/DRMS query
-> FITS files: Br/Bp/Bt plus errors
-> NF2 FITS loader
-> neural field training with boundary + physics losses
-> .nf2 checkpoint/result
-> diagnostics or conversionThe single-frame entry point is nf2.extrapolate. The time-series entry point is nf2.extrapolate_series.
Output meaning
The local smoke result loads with high-level keys:
['config', 'data', 'model', 'transforms']Those keys are why downstream tools can query the trained field rather than only plot a saved cube.