nika5
A world model of the Sun. 1.16M parameters of MLPs, pooling, and gates.
The task: hide one of the Sun's 9 wavelength images. Reconstruct it from the other 8 plus the magnetic field. It trains in 2,000 steps, about five minutes on one GPU.
Layout
model.py the network: encoders, latent graph, dynamics, readout
train.py masked channel training, one flag per lever
lib.py constants and shared utilities
run_eval.py the scorecard: per channel accuracy vs baselines (immutable)
evals/ metrics, baselines, physics probes (immutable)
data/ SDOML v2 fetching, alignment, caching (immutable)
tools/ rendering, cache warming, Ensue publishing
Run
pip install torch s3fs zarr
python -m tools.warm_august
python train.py --iters 2000 --all-cached --lr 3e-3
python run_eval.py runs/nika5_v0/ckpt.pt
python -m tools.show_output runs/nika5_v0/ckpt.pt
Data
SDOML v2 (Galvez et al.), NASA's machine learning dataset for the Solar Dynamics Observatory, read from the public S3 bucket gov-nasa-hdrl-data1. August 2010: 9 AIA wavelength channels and the HMI vector magnetogram, aligned to a shared cadence and pooled to 256 x 256. Train and validation days never mix, and the validation days are never touched by training.
Results
Score is a harmonic mean over the 9 channels of accuracy relative to the strongest baseline, on held out days.
- Replicated champion: 0.409, std 0.017 across three seeds
- Best observed run: 0.456
- Built by an autonomous research loop: 35 experiments in one day, 10 record breaks
- The largest single gain: the loop found its own learning rate 15x too small and walked it up to the divergence cliff
Ten checkpoints, one day: the score climbing from 0.292 to 0.456 as the dream sharpens. ckpt.pt is the trained champion.