small-forecaster
A small learned weather forecaster, built on GraphCast's recipe, was scaled four ways and graded against the European weather centre's own forecast. Scaling closed most of the gap for tomorrow and the day after, and little of it for day five.
Stated without shorthand, because the rest of the page assumes it.
Barcelos, forecast made at midnight on 1 July 2020, for 13:00 that day.
| Forecaster | Said |
|---|---|
| Persistence — “it's 17.7 now, so 17.7” | 17.7 °C |
| The 30-year average for that day and hour | 23.9 °C |
| ECMWF | 22.2 °C |
| The largest model here | 21.1 °C |
| What happened | 22.0 °C |
Share of the persistence-to-ECMWF gap closed, 2020, mean of two runs per row (the first row had one). “ERA5” grades the whole map, 25–60°N, 45°W–15°E; “airports” grades 268 lowland airports in it. Two identical runs differ by about 1 point up to one day ahead and by 3–8 points at three to five days, so smaller changes are not claimed.
| Step | What changed | Temp 1 day | Temp 3 days | Temp 3 days, airports | Pressure 1 day | Wind 1 day |
|---|---|---|---|---|---|---|
| 1 | 2 years, map from 45°W | 61 | 18 | 26 | 49 | 53 |
| 2 | 8 years | 63 | 14 | 26 | 53 | 57 |
| 3 | Map widened to 95°W | 71 | 21 | 31 | 60 | 66 |
| 4 | + upper air, 1.5 and 5.5 km up | 66 | 12 | 29 | 68 | 78 |
| 5 | Upper air at ¼ weight | 74 | 21 | 31 | 68 | 78 |
| 6 | Network 4× (7.6 M parameters) | 84 | 34 | 38 | 71 | 81 |
| 7 | Network 9× (17 M parameters) | 88 | 39 | 49 | 72 | 83 |
Graded against ERA5, the small model beat ECMWF six hours ahead from the first version on — at step 3, 0.70 °C of temperature error against ECMWF's 0.83. The model learned from ERA5, so it was being graded by the source it imitates — and ERA5 is smoother than any real forecast. ECMWF's maps carry about twice the fine detail of ERA5's, and a score that squares every error penalises detail that lands slightly in the wrong place.
Against airport thermometers, ECMWF wins at six hours on all three fields, at every model size. The last column is ERA5 itself scored as a forecast: one number per 28 km grid square cannot match one airport, so that is roughly the floor, and ECMWF at six hours sits on it.
The ERA5 scores on this page are kept as measured. They are fair for comparing the models with each other; they are not evidence that any model beats ECMWF.
| Six hours ahead | ECMWF | Smallest | Largest | ERA5 |
|---|---|---|---|---|
| Temperature, °C | 1.79 | 1.92 | 1.89 | 1.74 |
| Pressure, hPa | 0.71 | 1.01 | 0.91 | 0.72 |
| Wind speed, m/s | 1.74 | 1.83 | 1.80 | 1.82 |
Typical error against 268 airports, 2020. “Smallest” is step 3, the first on the wide map.
Graded against ERA5 over the whole map, the second size step paid less than the first at three to five days. Graded at the airports, it paid as much. Removing each airport's fixed offset from its grid square did not reconcile the two. Grading against ERA5 only at the airports' own squares did: the disagreement was about place, not about the grader.
The map is about two thirds sea. Sea temperature moves slowly, persistence is hard to beat there, and the distance from persistence to ECMWF is small, so the share closed swings widely. Over sea the largest model is still worse than persistence at five days.
ERA5 reads 0.35 °C warmer than the lowland airports on average, and the largest model drifts 0.5 °C cold by day five, so part of its airport score is the two cancelling. With each forecaster's average error removed first, the share closed at three days is still 35, 41.5 and 48.5 across the three sizes.
| Temperature, share closed | 1.9 M | 7.6 M | 17 M |
|---|---|---|---|
| 3 days, ERA5 at airport squares | 33 | 41 | 50 |
| 3 days, airports | 31 | 38 | 49 |
| 3 days, ERA5 over all land | 39 | 50 | 55 |
| 3 days, ERA5 over all sea | 3 | 17 | 21 |
| 5 days, ERA5 at airport squares | 2 | 10 | 21 |
| 5 days, ERA5 over all sea | −45 | −20 | −21 |
Trained one step at a time, the model only ever starts from a true map; a five-day forecast starts nineteen times from its own guesses. Fine-tuning on four chained steps raised temperature at three to five days by 8–10 points. An equal amount of ordinary extra training gave 1–4 of those, leaving 4–9 for the chaining — borderline against the noise. For wind and rain the extra “gain” was blur: the forecast maps lost 35–55% of their fine detail, which lowers the error score without being a better forecast. Not carried forward.
WeatherBench 2's public copy of ERA5 at 0.25°, every six hours. Surface: 2 m temperature, 10 m wind, sea-level pressure, six-hour rain. Upper air: geopotential, temperature, wind and humidity at 500 and 850 hPa. Training 2010–2017, validation 2018, test 2020. ECMWF HRES 00 UTC runs and airport (METAR) reports from the same source.
A three-level U-Net, base width 48, 96 or 144 channels: 1.9 M, 7.6 M and 17 M parameters. Input: the state six hours ago and now, land–sea mask, terrain height, position, time of day and of year. Output: the six-hour change. Latitude-weighted squared error, AdamW, ten epochs, batch 16, seeds 0 and 1, on an M4 Mac mini. The scorer reproduces WeatherBench 2's published ECMWF score for Europe to four decimal places.