A weather model that learns how to learn a new place.
Most AI weather models are trained for one fixed area and need decades of local history. This one trains across many climatically different regions of the world, so it learns a starting point that can adapt to somewhere new quickly.
Give it a new 5° × 5° patch of the planet and two years of that patch's weather data. It fine-tunes itself, then forecasts 12 surface variables for the next 24 hours from the previous 72. In the latest evaluation it beat a climatology baseline in all 18 regions it was tested on.
18 / 18test regions better than climatology
72h → 24hhistory in, forecast out
12weather variables per grid point
810kparameters, trained on a laptop GPU
02 / the problem
Forecasts are worst where data is thinnest.
Physics-based weather prediction is expensive to run and needs per-region tuning, and it is least accurate where observations are sparse. Deep-learning forecasters are cheaper, but they are trained on fixed domains and don't carry over well to regions with little data.
The idea here is to treat each region as a separate learning task and use meta-learning (MAML): instead of learning one region's weather, the model learns a set of starting weights that adapt well to any region in a few steps. Climate-zone labels (Köppen classes) are fed in so that regions with similar climates can share what they learn.
03 / data
ERA5 reanalysis, cut into 21 × 21 grids.
sourceERA5 single levels
ECMWF's global reanalysis at 0.25° (about 30 km), every 3 hours. Meta-training on 2020–2024, adaptation on 2023–2024, testing on held-out 2025.
grid441 nodes per region
Each region is a 5° × 5° box, sampled as a 21 × 21 grid of points.
channels24 per node
12 weather variables, 4 time encodings (hour of day, day of year), and an 8-dimensional learned climate-zone embedding.
u10 · v10u100 · v100t2md2msptpstrhcclcce
The 12 variables: 10 m and 100 m wind (east and north), 2 m temperature, 2 m dewpoint, surface pressure, total precipitation, surface net thermal radiation, high and low cloud cover, evaporation. Each is normalised using training-period statistics only, and missing values are filled with the variable's mean.
04 / architecture
Graph convolutions for space, an LSTM for time.
The model is a graph network for space feeding an LSTM for time. Each slab below is one layer, and its height follows how many channels the layer has.
input24 steps × 441 nodes × 16
72 hours of history in 3-hour steps. Each of the 441 grid points carries 12 weather variables and 4 time encodings.
Hover, focus or tap a block. Slab height follows channel width; the glowing dot traces one forward pass. 810,328 parameters in total.
810,328 parametersRTX 3050 laptop, 16 GB RAM3–5 s to validate a regionPyTorch + PyTorch GeometricERA5 via the CDS APIuv
05 / methodology
Learn a good starting point, then adapt.
step 1 · meta-trainFirst-order MAML across regions
Each region is a task. Its data is split in time: the first 75% for adapting, the last 25% for scoring the adaptation. The model is updated so that a few adaptation steps lead to a good score.
15 epochs of fine-tuning on two years (2023–2024) of the new region's data, with a learning rate tuned per climate zone.
~5,800 training windows
step 3 · testForecast held-out 2025
Every 72-hour window from January to March 2025, compared with what actually happened.
688 windows per region
Harder regions (such as Moscow and North Siberia) are sampled more often during meta-training. Learning rates follow a cosine schedule with warm restarts, and gradients are clipped to keep training stable.
how to read the score
Results use normalised MSE: the forecast error across all 12 variables, scaled so that 1.0 equals always predicting the long-run average for that place and time (climatology). Anything below 1.0 beats that baseline; lower is better.
06 / what happened
Five versions, one rewrite, and a metric that had to change.
V1GraphCast + MAML
Abandoned. GraphCast's hard-coded features, complexity and thin documentation made it impossible to wrap in meta-learning with the resources available. The lesson: build a custom architecture flexible enough for MAML.
V2Pure STGCN, temperature only
The first working meta-learning setup: 3 graph layers, 7,873 parameters, 15 regions. It could only predict temperature and had no sense of time.
V312 variables, 4 regions
13,256 parameters. Predictions collapsed toward the average, the “averaging problem”: in Australia, temperature error was 5.69 K with a −5.63 K bias.
V4Add an LSTM
A recurrent layer fixed the averaging problem. 154,304 parameters, 15 regions. Still struggled in Arctic regions.
V5Scale up
256-wide graph layers and a 4-layer LSTM: 5.4× more parameters than V4, with AdamW and a cosine schedule. This is the model in the paper.
aug 2026Model 5.2: correctness audit
A rewrite found real bugs and fixed them before retraining (listed below). Every result was then regenerated.
What the Model 5.2 audit fixed
targetsOff by one step
Forecasts were scored at +6 to +27 hours instead of +3 to +24.
adaptation79% of data unused
Fine-tuning only saw January to June 2023. It now uses the full two years.
metricPressure dominated the score
The paper's raw-unit average was swamped by surface pressure (around 10⁵ Pa). Replaced with the normalised metric above.
climate zonesWrong zone for new regions
New regions fell through to “temperate”. Zones now come from each region's Köppen codes.
modelDead weights
An unused 24,672-parameter head was removed, and checkpoints now load strictly.
gridOne region was 21 × 20
The Sahara box had 420 nodes instead of 441.
Because of these fixes, the numbers in the paper's tables (for example an MSE of 0.099 for Debundscha) come from the earlier pipeline and can't be compared with the results below.
07 / final results
Better than climatology in every region tested.
Normalised MSE across all 12 variables, Model 5.2, 688 forecast windows per region (lower is better). * Regions whose area was also part of meta-training; they were still tested on unseen 2025 data.
0.81 Ktemperature RMSE, Debundscha (Cameroon)
0.99 Ktemperature RMSE, Indonesia
1.58 Ktemperature RMSE, India
4.2–4.4 Ktemperature RMSE in Siberia, the weakest spot
input (72 h)truepredicted
86% less error than climatology1.85 K temperature RMSE1.45 K MAEover 688 windows
81% less error than climatology2.4 K temperature RMSE1.91 K MAEover 688 windows
81% less error than climatology1.58 K temperature RMSE1.27 K MAEover 688 windows
79% less error than climatology4.38 K temperature RMSE3.45 K MAEover 688 windows
77% less error than climatology1.69 K temperature RMSE1.33 K MAEover 688 windows
75% less error than climatology4.38 K temperature RMSE3.41 K MAEover 688 windows
69% less error than climatology2.97 K temperature RMSE2.31 K MAEover 688 windows
68% less error than climatology0.9 K temperature RMSE0.65 K MAEover 688 windows
65% less error than climatology0.99 K temperature RMSE0.75 K MAEover 688 windows
65% less error than climatology0.81 K temperature RMSE0.61 K MAEover 688 windows
61% less error than climatology0.83 K temperature RMSE0.68 K MAEover 688 windows
60% less error than climatology4.24 K temperature RMSE3.28 K MAEover 688 windows
58% less error than climatology3.33 K temperature RMSE2.63 K MAEover 688 windows
57% less error than climatology2.82 K temperature RMSE2.17 K MAEover 688 windows
51% less error than climatology2.77 K temperature RMSE2.12 K MAEover 688 windows
46% less error than climatology3.65 K temperature RMSE2.77 K MAEover 688 windows
43% less error than climatology1.32 K temperature RMSE0.98 K MAEover 688 windows
42% less error than climatology2.6 K temperature RMSE1.94 K MAEover 688 windows
With a fair metric, the ranking looks different from the paper's: dry and arid regions (Sudan, Sahara, India) score best, while the Amazon and Svalbard score worst overall. In absolute temperature terms the tropics are most accurate, under 1 K of error, and Siberia is the least.
08 / limitations
What's still weak.
A cold bias of 4–8 K remains in Arctic and Siberian regions.
The only baseline is climatology. There is no comparison yet against persistence forecasts, physics-based models, or GraphCast.
The model is “spatio-temporal” mostly in name: graph convolutions handle space, and time is left entirely to the LSTM.
Only two years of adaptation data and a single time scale are tested.
Next
A V6 design adds attention per variable group and multi-scale LSTMs (2.9M parameters), with separate expert models per climate zone and a meta-selector on top. Also planned: pressure-aware losses, probabilistic forecasts and physics-informed constraints.