The atmosphere, learned and solved, side by side
weathermaps.ai tracks the machine-learning weather models against the physics models they are measured against. One model's map carries almost no information, because every model draws a plausible Tuesday. What carries information is where two of them, run at the same hour, stop agreeing.
Novosibirsk tops a run where model disagreement grows with lead time
In the 2026-10-31 12Z run, 602 cities were scored. The 90th percentile of city scores rises from 30 on day 1 to 46 on day 3, then reaches 53 on day 7 and day 10. The median city scores 36 on day 5 and 41 on day 10. The most contested city is Novosibirsk, Russia, on day 5, with a DI of 70 or more: 74, in the high band. Temperature drives it. Day highs are 2 °C for AIFS, 2 °C for HRES, 1 °C for WeatherNext 2 and 2 °C for the ensemble mean.
Lyon, France, scores 70 on day 5, driven by temperature. AIFS has 8 °C, HRES 6 °C, WeatherNext 2 8 °C and the ensemble mean 9 °C. Edmonton, Canada, scores 68 on day 5, also driven by temperature: AIFS shows 8 °C, against 4 °C for HRES and 3 °C for both WeatherNext 2 and the ensemble mean. On day 7, pressure drives the top scores in Taipei (65), Daejeon (64) and Seoul (64).
Every feed reports ok and a 12Z newest run except IFS ENS, which is late and shows 00Z as its newest run. GFS shows 18Z. GraphCast, Aurora, FourCastNet v2 and Pangu-Weather, run by NOAA from the ECMWF analysis, also have GFS-start runs at 12Z.
Machine-written by Claude from these numbers, and published only after every number and city in it was checked against them. It describes where the models disagree; it is not a forecast.
Most contested cities
Where the 8 models disagree most, measured against how much the ensemble itself expects. From the 31 Oct 12Z run. All 602 cities →
| City | DI | Driven by | Highs, °C | to Sun 1 12Z |
|---|---|---|---|---|
| AbbottabadPakistan | 50 | temperature | 20202021 | spread 1° |
| CalgaryCanada | 44 | temperature | 2121 | spread 1° |
| BishkekKyrgyzstan | 42 | temperature | 11141212 | spread 3° |
| UfaRussia | 42 | temperature | 7544 | spread 3° |
| SaiduPakistan | 41 | temperature | 19211920 | spread 2° |
| MilanItaly | 40 | temperature | 13121212 | spread 1° |
| AndorraAndorra | 39 | temperature | 11101011 | spread 1° |
| IslamabadPakistan | 39 | temperature | 24242424 | spread 0° |
| KazanRussia | 38 | temperature | 10777 | spread 3° |
| SamaraRussia | 38 | temperature | 11697 | spread 5° |
| BeijingChina | 37 | temperature | 18161716 | spread 2° |
| HengyangChina | 37 | temperature | 24262526 | spread 2° |
| City | DI | Driven by | Highs, °C | to Tue 3 12Z |
|---|---|---|---|---|
| MontréalCanada | 63 | temperature | 16121413 | spread 4° |
| Nizhny NovgorodRussia | 61 | temperature | 3223 | spread 1° |
| EdmontonCanada | 60 | temperature | 5423 | spread 3° |
| CalgaryCanada | 58 | temperature | 6454 | spread 2° |
| BuffaloUnited States | 57 | temperature | 19181918 | spread 1° |
| HohhotChina | 57 | pressure | 9998 | spread 1° |
| AlmatyKazakhstan | 55 | temperature | 12151214 | spread 3° |
| JinxiChina | 55 | pressure | 12101110 | spread 2° |
| KazanRussia | 55 | temperature | 3344 | spread 1° |
| OsloNorway | 55 | temperature | 5667 | spread 2° |
| UfaRussia | 55 | temperature | 4323 | spread 2° |
| XianChina | 55 | temperature | 14111412 | spread 3° |
| City | DI | Driven by | Highs, °C | to Thu 5 12Z |
|---|---|---|---|---|
| NovosibirskRussia | 74 | temperature | 2212 | spread 1° |
| LyonFrance | 70 | temperature | 8689 | spread 3° |
| EdmontonCanada | 68 | temperature | 8433 | spread 5° |
| BernSwitzerland | 64 | temperature | 7768 | spread 2° |
| CalgaryCanada | 64 | temperature | 8565 | spread 3° |
| OttawaCanada | 64 | temperature | 20181917 | spread 3° |
| OsloNorway | 63 | temperature | 5657 | spread 2° |
| YerevanArmenia | 62 | pressure | 11131414 | spread 3° |
| Las VegasUnited States | 61 | temperature | 19181817 | spread 2° |
| GenevaSwitzerland | 59 | temperature | 9989 | spread 1° |
| MontréalCanada | 59 | temperature | 19161917 | spread 3° |
| AshgabatTurkmenistan | 57 | pressure | 23242423 | spread 1° |
| City | DI | Driven by | Highs, °C | to Sat 7 12Z |
|---|---|---|---|---|
| NovosibirskRussia | 65 | temperature | 7445 | spread 3° |
| TaipeiTaiwan | 65 | pressure | 22232324 | spread 2° |
| DaejeonSouth Korea | 64 | pressure | 8777 | spread 1° |
| SeoulSouth Korea | 64 | pressure | 6666 | spread 0° |
| SuwonSouth Korea | 64 | pressure | 7667 | spread 1° |
| DaeguSouth Korea | 63 | pressure | 9798 | spread 2° |
| IncheonSouth Korea | 63 | pressure | 7767 | spread 1° |
| LiuzhouChina | 63 | pressure | 18252224 | spread 7° |
| FuzhouChina | 62 | pressure | 18221922 | spread 4° |
| NampoNorth Korea | 62 | pressure | 5545 | spread 1° |
| Las VegasUnited States | 61 | temperature | 21202018 | spread 3° |
| New TaipeiTaiwan | 61 | pressure | 22252425 | spread 3° |
| City | DI | Driven by | Highs, °C | to Tue 10 12Z |
|---|---|---|---|---|
| QuitoEcuador | 72 | temperature | 20192019 | spread 1° |
| ThimphuBhutan | 66 | temperature | 10111013 | spread 3° |
| La PazBolivia | 65 | temperature | 17141713 | spread 4° |
| UfaRussia | 65 | temperature | 1-2-1-1 | spread 3° |
| KazanRussia | 63 | temperature | 3200 | spread 3° |
| ChelyabinskRussia | 62 | temperature | 1-1-1-1 | spread 2° |
| N'DjamenaChad | 62 | pressure | 36393838 | spread 3° |
| SamaraRussia | 62 | temperature | 4011 | spread 4° |
| BhilaiIndia | 61 | temperature | 27272827 | spread 1° |
| HoustonUnited States | 61 | temperature | 21172219 | spread 5° |
| ÜrümqiChina | 61 | temperature | 513911 | spread 8° |
| DushanbeTajikistan | 60 | temperature | 5131013 | spread 8° |
Runs coming in
Each model's newest run and how far through its forecast the rendered maps have reached. Unfinished runs come first.
Model Board
Click a column to sort it. ECMWF, DeepMind and NOAA models open in the explorer; the four NOAA-run learned models have city data and scores but no maps yet.
| Model | Status | Newest run | Horizon | Fields | Grid | Rendered by |
|---|---|---|---|---|---|---|
| AIFS SingleECMWF · Deterministic | On time | 31 Oct 18Z10 h ago | f360 | 11 | 0.25° | forecasteuro.com |
| WeatherNext 2Google DeepMind · Ensemble (64 members) | On timeExperimental | 31 Oct 18Z10 h ago | f360 | 4 | 0.25° | forecasteuro.com |
| GraphCastGoogle DeepMind · run by NOAA · Deterministic | On timeGFS start: 31 Oct 12Z | 31 Oct 12Z16 h ago | f240 | 2 | 0.25° | NOAA OAR |
| AuroraMicrosoft Research · run by NOAA · Foundation model | On timeGFS start: 31 Oct 12Z | 31 Oct 12Z16 h ago | f240 | 2 | 0.25° | NOAA OAR |
| FourCastNet v2 (SFNO)NVIDIA · run by NOAA · Deterministic | On timeGFS start: 31 Oct 12Z | 31 Oct 12Z16 h ago | f240 | 2 | 0.25° | NOAA OAR |
| Pangu-WeatherHuawei · run by NOAA · Deterministic | On timeGFS start: 31 Oct 12Z | 31 Oct 12Z16 h ago | f240 | 2 | 0.25° | NOAA OAR |
| IFS HRESECMWF · Deterministic | On time | 31 Oct 18Z10 h ago | f144 | 23 | 0.1° | forecasteuro.com |
| IFS ENSECMWF · Ensemble | On time | 31 Oct 18Z10 h ago | f144 | 72 | 0.25° | forecasteuro.com |
| GFSNOAA NCEP · Deterministic | On time | 31 Oct 18Z10 h ago | f240 | 8 | 0.117° | forecasteagle.com |
Open a model
Every explorer uses the same colours, places and timeline, so switching models changes only the forecast.
Why this site exists
The baseline moved
For fifty years, better forecasts meant a better dynamical core and a bigger machine. Then a model that had never been told what a pressure gradient is started beating one built out of them. That is worth watching closely rather than through a press release.
Difference is the signal
One model's map tells you almost nothing. What carries information is where two of them, run at the same hour, stop agreeing, so this site is built around comparing models rather than around any one of them.
Coarse, and honest about it
The global learned models here run at a quarter degree, about 28 km. Where detail appears at a finer scale than the grid, it was generated rather than forecast, and the page says which.