ΒΆPaper Feed

Issue 40 Β· Pick 05 AI / ML βœ“ read

MW-Nowcast: Six-hour ensemble nowcasting of extreme precipitation

Ning Wang, Zuliang Fang, Weixin Jin, Zhongjian Lv, Shuang Qin, Pengcheng Zhao, Siqi Xiang, Jiang Bian, Haoyi Xiong, Nan Guan, Bin Zhang, Liangjie Zhang, Denvy Deng, Qi Zhang, Matt Corey, Jitu Keshri, Sridhar Iyer, Hongyu Sun, Kit Thambiratnam, Jonathan Weyn, Richard E. Turner, Haiyu Dong

TL;DR: Microsoft's MW-Nowcast extends skillful radar nowcasting of heavy and extreme rain from ~3 hours to the full 6-hour operational window, validated on independent test sets from the US, Europe, and China. The core idea is a clean factorization: one deterministic decoder predicts the storm-scale structure that all ensemble members share, and a flow-matching generator samples only the residual β€” the uncertain local growth, decay, and initiation of individual storm cells. The twist that makes it work is that the split between "predictable" and "stochastic" is not hand-designed; the two decoders are trained jointly, so the residual target moves as the deterministic branch improves, and the model learns for itself how much of the future is predictable at each scale and lead time. Ablations show this joint learning is the load-bearing wall, not the choice of generative objective.

Why 3 hours has been a wall

Precipitation nowcasting is the 0–6 hour forecasting problem: take the last 90 minutes of weather radar and predict the next few hours of rain, at kilometer resolution, updating every few minutes. Numerical weather prediction is too slow and too coarse for this cadence, so the field runs directly on radar.

The classical approach (STEPS/PySTEPS) estimates motion from recent frames and advects the echoes forward, with stochastic perturbations for an ensemble. This treats rain as a passive tracer β€” fine for an hour, increasingly wrong as cells grow, die, merge, split, and new ones initiate. Deterministic deep networks (ConvLSTM through SimVPv2) learn nonlinear evolution but, trained with pixel losses, they average over possible futures: forecasts blur, and intense cores β€” the thing you actually want to warn about β€” wash out first. Generative models fixed the blur. DeepMind's DGMR (2021) sampled sharp, plausible futures out to 90 minutes; NowcastNet (2023) added an advection-informed conditioning network and got to 3 hours, winning blind evaluations by meteorologists.

But both DGMR and NowcastNet ask the generator to sample the entire future radar field. The paper's diagnosis is that this couples two jobs with very different character. Storm-scale organization β€” where the rain band is, how it's oriented, how it translates β€” remains substantially constrained by the observed history for many hours. Individual convective cells inside that band are chaotic on a ~1-hour timescale. A single generator must simultaneously hold still the predictable structure and diversify the unpredictable detail. At long leads these pull against each other: in the paper's case studies, NowcastNet's 4–6h forecasts lose the intense cores and smear light rain over too broad an area.

The idea: let the model learn its own predictability budget

This is the Lorenz/Germann-Zawadzki picture of scale-dependent atmospheric predictability turned into an architecture. Every ensemble member is written as

\mathbf{X}_{1:T}^{(k)} = \mathbf{S}_{1:T} + \mathbf{R}_{1:T}^{(k)},

where \mathbf{S}_{1:T} is a single deterministic forecast of all T=36 future frames (6 h at 10-min cadence) shared by every member, and \mathbf{R}_{1:T}^{(k)} is a member-specific residual generated from an independent Gaussian noise tensor \mathbf{Z}^{(k)}. A shared encoder reads the 9-frame radar history; the deterministic decoder and the residual generator both branch off its representation. All stochasticity lives in the residual branch.

Radar history 9 frames (1.5 h) Shared encoder Deterministic decoder storm-scale structure S Flow-matching ODE residuals R⁽ᡏ⁾ noise Z⁽ᡏ⁾ ~ N(0,1), one per member + member k 36 frames (6 h) shared across all members trained jointly, residual target moves
Every ensemble member is the same deterministic forecast plus a sampled residual. Joint training lets the two branches negotiate what counts as "predictable."

The residual decoder is trained with conditional flow matching: the target residual is \mathbf{R}^\star = \mathbf{X}_{1:T} - \mathbf{S}_{1:T}, and the network learns a velocity field along the linear path (1-\tau)\mathbf{Z} + \tau\mathbf{R}^\star from noise to residual, conditioned on the encoded history. At inference, 20 Heun steps integrate the probability-flow ODE per member.

The subtle but crucial point is in Eq. (2): because the deterministic and residual branches are optimized together, the residual target \mathbf{R}^\star is a moving target that shrinks or grows as the deterministic prediction changes. If the deterministic branch can capture something, the residual distribution tightens around it; whatever remains irreducibly uncertain stays in the generative branch. This is the "learnable allocation" β€” rather than fixing by hand (as in advection-plus-noise schemes like STEPS, or in cascade/residual diffusion pipelines like CasCast/DiffCast) which component gets which part of the signal, the split is itself an optimization variable. A physical reading: the deterministic branch plays the role of the transport term -\mathbf{v}\cdot\nabla\mathbf{X} and the residual plays the source/sink term, but neither is imposed β€” the correspondence is emergent.

The model is strikingly small: ~53M parameters total (18.6M encoder, 11.2M deterministic decoder, 23.4M residual decoder), operating in pixel space at 128Γ—128 over a 256 km domain, predicting all 36 frames in parallel (no autoregression, so no error accumulation). Only 4 ensemble members are used throughout.

The evidence

Evaluation uses three independent regional datasets β€” NOAA storm reports + MRMS radar (US), ESWD + OPERA (EU), and a radar-native strong-precipitation sampler on CMA data (CN) β€” with 130k–175k training sequences each and 4,000 strictly-later test sequences per region, deliberately curated toward severe convective regimes. The headline metric is neighborhood CSI (CSIN, 5Γ—5 cells) at 16, 32, and 64 mm/h rain-rate thresholds.

At the extreme threshold, the gap is not incremental:

US test set: CSIN at 64 mm/h vs lead timeCSIN (5Γ—5 neighbourhood)lead time (h)-0.0500.050.10.1522.533.544.555.56MW-NowcastNowcastNetPySTEPSSimVPv2Supplementary Table 2. NowcastNet retrained by the authors on the same data to the 6 h horizon.

The "doubling" claim is operationalized as: taking the retrained NowcastNet's 3h CSIN as the reference level, MW-Nowcast sustains equivalent skill for an additional 2.3 to 3+ hours across all nine region-threshold combinations, with larger gains at more extreme thresholds. The pattern replicates in EU and CN (e.g., EU at 64 mm/h, 6h: 0.063 vs NowcastNet's 0.011; CN: 0.033 vs 0.002). MW-Nowcast also wins on CRPS in all three regions (interestingly, PySTEPS beats NowcastNet on CRPS β€” a reminder that domain-averaged probabilistic scores reward conservatism), stays close to the observed power spectrum out to 6h where SimVPv2 collapses to blur, and β€” the most decision-relevant result β€” retains positive relative economic value (REV) across a broad range of cost-loss ratios at 4–6h lead times, where all baselines are near zero. REV is a stylized but standard framework: it asks whether acting on the forecast beats the optimal climatological strategy for a user whose protection cost is C and unprotected loss is L, swept over C/L.

The case studies in Section 4 are where the mechanism becomes visible, and they show two distinct regimes. In the Mississippi EF4 tornado storm (March 2025), the deterministic branch carries most of the forecast throughout: it holds the SW–NE rain band's position and orientation for 6 hours, while ensemble members differ in core placement and morphology. In the Beijing Miyun flash-flood event (July 2025, 30 deaths), deterministic predictability collapses β€” the deterministic branch's CSIN at 64 mm/h hits zero by ~3h and its field fades to a faint patch by 6h β€” but the ensemble retains skill to ~5h, with individual members placing intense cores in varied locations where the deterministic forecast shows almost nothing. The learned allocation shifts with the meteorology: when structure is predictable, the deterministic branch dominates; when it isn't, the generative branch takes over and the honest answer becomes "heavy rain is sustained somewhere in this region" β€” which is exactly the signal that argues against de-escalating a warning.

Why joint training, specifically

The ablations (Supplementary Section 2) are the most informative part of the paper for a methods reader, because they isolate which design choice buys what:

Ablations: mean CSIN over 6 h, US test setCSIN (mean over 36 lead times)00.050.10.150.20.1940.1690.1780.1640.14432 mm/h0.1470.130.1340.1210.10364 mm/hMW-Nowcast (joint)TwoStage cascadeEDM diffusion (ODE)OneStage (no det. branch)Latent-spaceSupplementary Table 1. All variants share data, protocol, and (where applicable) the two-branch architecture.

Three readings. First, removing the deterministic branch entirely (OneStage β€” a single flow-matching generator producing the whole sequence, i.e., the DGMR-style formulation with a modern objective) costs the most among pixel-space variants, supporting the central diagnosis that one generator shouldn't carry both jobs. Second, keeping the decomposition but training it as a fixed cascade (TwoStage β€” deterministic first, then residuals against a frozen target, the recipe used in generative downscaling like CorrDiff) recovers some skill but stays clearly below joint training. The moving residual target matters. Third, swapping flow matching for an EDM diffusion objective costs only a little β€” the authors are commendably honest that the probabilistic objective is not the main source of improvement. And latent-space generation (the PreDiff/LDCast route) hurts most of all, plausibly because VAE compression attenuates exactly the compact high-intensity cores that high-threshold verification cares about. For anyone building generative forecasting systems, that latent-vs-pixel result at extreme thresholds is worth filing away.

What to be skeptical about

The baseline comparison deserves scrutiny. NowcastNet was designed and published as a 3h model; the authors retrained it to predict 36 frames, which is fair for the stated question ("can existing methods do 6h?") but means the headline "doubles warning time vs. the leading generative baseline" compares against a model operating outside its design envelope. No comparison is made against the recent diffusion nowcasters discussed in the related work (CasCast, DiffCast, LDCast) as full baselines β€” only as in-house ablation analogues.

The absolute numbers at the extreme tail are small: CSIN of 0.032–0.063 at 64 mm/h and 6h is "measurable skill" where competitors have essentially none, but it is far from reliable detection. The decision-value framing (REV stays positive where baselines are at zero) is the right way to argue this is still useful, though REV with 4-member ensembles gives coarse probability bins (0, 0.25, 0.5, 0.75, 1) β€” a larger ensemble would likely improve both CRPS and REV, and 4 members is an unusually thin ensemble for probabilistic claims.

Test sets are curated toward strong-precipitation regimes by construction (event-report anchoring in US/EU; peak-anchored sampling in CN, requiring β‰₯45 dBZ in the target window). That's a defensible choice for the stated goal, but it means these numbers say nothing about ordinary rain, false-alarm behavior in quiet conditions, or operation as a continuously-running system rather than on pre-selected convective windows. The supplementary FAR results show MW-Nowcast's false-alarm ratio comparable to NowcastNet and better than PySTEPS, which partially addresses this, but only within the curated regime. The domain is also small (256 km), so 6h forecasts depend heavily on evolution within and just upstream of the patch; PySTEPS was given a larger 256Γ—256 input context to compensate, the learned models were not β€” upstream-advection effects at long leads are a known confounder here. Finally, this is radar-only: regions without dense radar networks get nothing, though the conclusion sketches the obvious extension (satellite/NWP inputs, radar as training target).

Why it matters beyond rain

If the result holds under operational, uncurated conditions, a 6h extreme-rain warning horizon is a genuine capability jump for flash-flood response β€” the difference between reacting and preparing. But the more transferable idea is the training recipe: when a conditional distribution has a strong predictable component, don't make the generator carry it β€” give the predictable part its own deterministic head, define the generative target as the residual, and let the two co-adapt under joint optimization. The ablation showing joint > cascade > monolithic is the paper's real contribution to generative modeling practice, and it plausibly applies anywhere you ensemble around partially-predictable dynamics: medium-range weather ensembles, ocean and air-quality forecasting, video prediction, even trajectory forecasting in robotics. The fact that this was achieved with a 53M-parameter pixel-space model and 4 ensemble members, rather than scale, makes the architectural claim cleaner.

Where to spend your time: Section 4's two case studies (especially the Beijing event and Fig. 3e) for the regime-dependent allocation β€” it's the clearest demonstration that the model learned something like a predictability decomposition rather than a fixed filter β€” and Supplementary Section 2 for the ablations that justify the design.