Your first NeuralPOM workflow
Start by resolving a configuration and inspecting its plan. Then prepare the matching reference data, train the three stages, and evaluate a frozen model. Run all commands below from the repository root.
Install and select a configuration
Follow Installation, then copy a portable template from the repository root:
mkdir -p configs/local
cp configs/examples/explicit_1day.json configs/local/explicit_1day.jsonSet data_root to the matching reference ensemble and run_root to the output directory. Relative paths resolve from the JSON file's directory. The four training templates cover Explicit and semi-implicit cores at hourly and daily correction intervals; see Configuration.
Inspect the training plan
python scripts/v1/plan.py --config configs/local/explicit_1day.jsonThis command reports sample counts and update budgets without loading reference arrays or starting training.
Match the reference data
Open the ModelScope dataset and follow its current asset and access instructions. Point data_root at the extracted directory containing manifest.json and the member folders, using the reference ensemble for your selected physical core. Preserve the directory layout when extracting archives.
The plan command can run before these arrays are available. Preparation and training read the reference arrays; frozen evaluation also reads the matching weights and calibration. See the asset checklist.
Prepare and train
After supplying the reference ensemble, use the configured DDP world size:
CONFIG=configs/local/explicit_1day.json
torchrun --standalone --nproc_per_node=8 \
scripts/v1/prepare.py --config "$CONFIG"
set -e
for stage in pretrain midtrain4 posttrain; do
torchrun --standalone --nproc_per_node=8 \
scripts/v1/train.py --config "$CONFIG" --stage "$stage"
donePreparation builds physical endpoint caches and training-only calibration. The stages train a new network, propagate gradients across four corrected endpoints, and then update along ten-day model-generated trajectories. Stage weights are written under run_root/frozen/. Repeating the matching training command resumes a compatible incomplete stage. See Training.
Evaluate frozen forecasts
Copy configs/examples/evaluation_100d.json to configs/local/evaluation_100d.json and set each selected group's config path to its matching training configuration. Campaign group paths resolve from the repository root. Run a single configured forecast variant:
python -m neuralpom.evaluation.campaign worker \
--protocol configs/local/evaluation_100d.json \
--variant explicit_1day_posttrain_density75 --device cuda:0The same-core physical baseline is explicit_1day_physics_physics. The density75 policy selects the paper's frozen tracer correction. See Reproduction for assets, forecast outputs and scoring.
