Sean Egan

Systems / MODELS · SATELLITE METEOROLOGY · 2026

Weather models for nowcasting and satellite radar

Nowcasting, satellite-derived radar, super-resolution, and true color for a weather viewer the Navy can own, built on two RTX 4080s for training and a third for testing, with every run's held-out score public as it happens.

27,223,297
parameters in the nowcast model, a ConvGRU U-Net2026-09-12
+0.038 to +0.074
CSI over the standard open nowcast (pySTEPS S-PROG) at 30 and 60 min, all confidence intervals excluding zero2026-09-24
13,208
training sequences in the frozen CONUS corpus, after QA quarantine2026-09-12
1.14 TB
GOES archive behind the satellite-derived radar model; 8,949 radar-paired examples2026-09-19
11.5 vs 21.5
color error (ΔE76) of learned true color vs the fixed formula2026-09-12
+8.80 → −0.14 dB
a headline result, then its retraction after a fill-value artifact was found2026-09-24

Four model lines, trained on two consumer graphics cards, give a weather viewer the Navy could own: radar an hour ahead, radar where there is none, sharper imagery, true color. The nowcast beats the standard open baseline with confidence intervals that exclude zero. One headline result turned out to be a data artifact, and it was retracted in the same registry that announced it.

The problem

Afloat and abroad, the Navy has relied on a commercial weather site it doesn't control. Ground radar covers a small fraction of the ocean. I wanted a viewer the Navy could own, that works at low bandwidth, and that shows what machine learning can add: where the rain will be in an hour, and what radar would show where there is none.

What I built

Four model lines, all built in my house on two RTX 4080s for training and a third for testing, with telemetry and held-out scores published to a live training board as they run.

Nowcast. A three-scale ConvGRU U-Net (27.2M parameters) that predicts residuals on the motion-compensated frame rather than on raw persistence, conditioned on lead time. Trained on MRMS radar over the continental U.S., then fine-tuned per region for Alaska, Hawaii, the Caribbean, and Europe (DWD and OPERA radar). Best CONUS: CSI 0.676 at 30 minutes, 0.580 at 60. Europe transfers within 0.02 of CONUS.

Satellite-derived radar. A per-pixel classifier over 13 reflectivity bins from GOES ABI's sixteen bands plus lightning, with heads at 0, 30, and 60 minutes. The goal is reflectivity everywhere the satellite sees, blended with measured radar where it exists; never a velocity. 1.14 TB of GOES scans paired to radar truth within 150 seconds. In training as of late September; the hourly precursor failed its transfer gate (0.0885 against a bound of 0.08) and said so.

Super-resolution. A pixel-shuffle CNN family, guided by a finer band where one exists. The guided result is large and reproduced across GOES, Himawari, and Meteosat: +2.5 to +13.3 dB over a matched unguided control, every lower bound above +2.4 dB.

True color. A learned rendering from measured bands and scene geometry instead of a fixed formula: color error 11.5 versus 21.5 on GOES, 11.4 versus 27.3 on Himawari.

How it’s checked

Each line has a written gate before training starts: a CSI floor by day and night, a transfer bound between held-out regions, a dB and SSIM margin over bicubic and over the previous model, and my visual sign-off on image pairs. A model that misses its gate is a "shipping candidate" with an envelope, not a release; as of late September no super-resolution checkpoint had cleared the full gate, and the board says so.

The publication comparison replays the learned nowcast against stock pySTEPS on five regional validation splits with day-block confidence intervals. It also found that my own advection baseline was weaker than pySTEPS on four domains, so the baseline in the viewer was wrong and got replaced.

A night-time infrared super-resolution run showed +8.80 dB, the first result in the program to clear its structural gate. A later audit found a 180 K fill value from the edge of the GOES disk in 13.5% of near-nadir and up to 44% of oblique patches, counted as signal. With the fill excluded the gain is −0.14 dB with a confidence interval spanning zero. The registry row says so, and the visible-band result, which was unaffected, stands at +0.93 dB.

What happened

The viewer is live at weather.theinformed.org with the training board public. The first weights finished in mid-September 2026 and training continues. They were built as a demonstration of what machine learning can do for Navy meteorology, and they worked as one: the command asked what we had, then asked whether we had done it on two consumer graphics cards, and now has proven capability to bring to the admiral when asking the Office of Naval Research what to fund.