Raw model output on the native 0.25° grid — no MOS, no bias correction, no post-processing. Scores understate operational forecast quality. Read the fairness statement →

CastCheck methodology v0.2 · data through 2026-08-30

How far off was each weather model?

No group in this view yet has enough scored days to rank (n < 30). Every number below is still published, greyed out, with its sample size.

Scope: raw model output on the native 0.25° grid, daily maximum/minimum taken as the max/min of the four common 6-hourly samples, scored against the first final NWS Daily Climate Report, errors computed in °C and shown in °F (methodology v0.2).

Lead day 1 — daily minimum temperature

the last 90 days, all stations pooled, 00Z initialization, nearest interpolation. Lower MAE is better; bias is positive when the model is too warm. Every number links to its permanent page. Skill is measured against persistence; skill, debiased repeats it after removing each station's constant offset, which is why a station with a steady warm bias can look skill-less in one column and skilful in the other. Under n: the mean number of stations behind each scored day, and how many of those days carry a QC flag on the observation. in the rank column means fewer than 30 scored days, so the group is published but not ranked.
rankModel MAE °FBias °F ±3 °F Skill Skill, debiased nvs leader
GraphCast (IFS init)graphcast_ifs 2.12 [1.94, 2.32] +0.72 [0.43, 0.95] 72% +0.09 +0.23 2723 stns · 2 QC
Aurora (IFS init)aurora_ifs 2.23 [2.15, 2.31] +0.20 [-0.75, 1.14] 70% +0.14 +0.41 223 stns · 2 QC
ECMWF AIFS Singleaifs_single 2.33 [2.10, 2.56] +0.21 [-0.04, 0.40] 70% +0.01 +0.46 2923 stns · 2 QC
Pangu-Weather (IFS init)pangu_ifs 2.36 [2.29, 2.44] -0.01 [-1.18, 1.15] 72% +0.09 +0.27 223 stns · 2 QC
Persistence (baseline)persistence · baseline 2.43 [2.29, 2.59] -0.09 [-0.26, 0.07] 70% 9023 stns · 2 QC
ECMWF IFS HRESifs_hres 2.46 [2.28, 2.68] +1.28 [0.86, 1.61] 68% -0.06 +0.26 2322.7 stns · 2 QC
FourCastNet v2 (GFS init)fourcastnet_gfs 2.48 [2.48, 2.48] +0.07 [0.07, 0.07] 78% -0.19 123 stns · 1 QC
Pangu-Weather (GFS init)pangu_gfs 2.50 [2.50, 2.50] -0.23 [-0.23, -0.23] 74% -0.20 123 stns · 1 QC
FourCastNet v2 (IFS init)fourcastnet_ifs 2.66 [2.14, 3.18] +0.92 [-0.03, 1.87] 67% -0.03 +0.41 223 stns · 2 QC
Aurora (GFS init)aurora_gfs 2.72 [2.72, 2.72] -0.50 [-0.50, -0.50] 70% -0.30 123 stns · 1 QC
GraphCast (GFS init)graphcast_gfs 2.81 [2.81, 2.81] -0.36 [-0.36, -0.36] 70% -0.35 123 stns · 1 QC
NCEP GFSgfs 3.04 [2.89, 3.22] +1.91 [1.49, 2.33] 57% -0.30 +0.20 2923 stns · 2 QC

+ model too warm · − model too cold · bias interval includes zero · ★ lowest MAE · = not distinguishable from the leader · ▼ significantly worse · n < 30 greyed and unranked · CI is a 95 % moving-block bootstrap interval.

Lead day 3 — daily minimum temperature

the last 90 days, all stations pooled, 00Z initialization, nearest interpolation. Lower MAE is better; bias is positive when the model is too warm. Every number links to its permanent page. Skill is measured against persistence; skill, debiased repeats it after removing each station's constant offset, which is why a station with a steady warm bias can look skill-less in one column and skilful in the other. Under n: the mean number of stations behind each scored day, and how many of those days carry a QC flag on the observation. in the rank column means fewer than 30 scored days, so the group is published but not ranked.
rankModel MAE °FBias °F ±3 °F Skill Skill, debiased nvs leader
GraphCast (IFS init)graphcast_ifs 2.28 [2.12, 2.42] +0.66 [0.27, 0.94] 70% +0.28 +0.43 2523 stns
ECMWF AIFS Singleaifs_single 2.45 [2.22, 2.69] +0.37 [0.06, 0.63] 70% +0.22 +0.50 2723 stns · 2 QC
ECMWF IFS HRESifs_hres 2.94 [2.77, 3.30] +1.70 [1.35, 2.16] 60% +0.05 +0.40 2223 stns · 2 QC
NCEP GFSgfs 3.34 [3.06, 3.68] +2.19 [1.78, 2.61] 55% -0.06 +0.39 2723 stns · 2 QC
Persistence (baseline)persistence · baseline 3.69 [3.43, 3.98] -0.31 [-0.77, 0.13] 56% 9023 stns · 2 QC

Lead day 5 — daily minimum temperature

the last 90 days, all stations pooled, 00Z initialization, nearest interpolation. Lower MAE is better; bias is positive when the model is too warm. Every number links to its permanent page. Skill is measured against persistence; skill, debiased repeats it after removing each station's constant offset, which is why a station with a steady warm bias can look skill-less in one column and skilful in the other. Under n: the mean number of stations behind each scored day, and how many of those days carry a QC flag on the observation. in the rank column means fewer than 30 scored days, so the group is published but not ranked.
rankModel MAE °FBias °F ±3 °F Skill Skill, debiased nvs leader
GraphCast (IFS init)graphcast_ifs 2.48 [2.27, 2.72] +0.54 [0.19, 0.92] 68% +0.21 +0.35 2523 stns · 2 QC
ECMWF AIFS Singleaifs_single 2.58 [2.22, 2.96] +0.40 [0.02, 0.77] 66% +0.18 +0.26 2523 stns · 2 QC
ECMWF IFS HRESifs_hres 3.02 [2.65, 3.31] +1.66 [1.02, 2.19] 60% +0.04 +0.08 1822.9 stns · 2 QC
NCEP GFSgfs 3.49 [3.27, 3.69] +1.85 [1.29, 2.30] 53% -0.11 -0.06 2523 stns · 2 QC
Persistence (baseline)persistence · baseline 3.92 [3.52, 4.39] -0.52 [-1.27, 0.17] 54% 9023 stns · 2 QC

Lead day 7 — daily minimum temperature

the last 90 days, all stations pooled, 00Z initialization, nearest interpolation. Lower MAE is better; bias is positive when the model is too warm. Every number links to its permanent page. Skill is measured against persistence; skill, debiased repeats it after removing each station's constant offset, which is why a station with a steady warm bias can look skill-less in one column and skilful in the other. Under n: the mean number of stations behind each scored day, and how many of those days carry a QC flag on the observation. in the rank column means fewer than 30 scored days, so the group is published but not ranked.
rankModel MAE °FBias °F ±3 °F Skill Skill, debiased nvs leader
ECMWF AIFS Singleaifs_single 2.83 [2.46, 3.12] +0.34 [-0.07, 0.73] 64% +0.23 +0.52 2323 stns · 2 QC
GraphCast (IFS init)graphcast_ifs 2.95 [2.75, 3.18] +0.48 [-0.06, 1.10] 61% +0.20 +0.31 2323 stns · 2 QC
ECMWF IFS HRESifs_hres 3.37 [3.00, 3.84] +1.85 [1.59, 2.21] 54% +0.10 +0.36 1822.9 stns · 2 QC
NCEP GFSgfs 3.79 [3.55, 3.97] +1.74 [1.12, 2.35] 48% -0.03 +0.24 2323 stns · 2 QC
Persistence (baseline)persistence · baseline 4.24 [3.86, 4.74] -0.66 [-1.65, 0.19] 49% 9023 stns · 2 QC

Every model × every lead day

MAE in °F with the bias underneath, the last 90 days, 00Z, nearest, daily minimum. The sparkline is the same model's MAE across lead days 1–9 on a shared vertical scale.

Model d0d1d2d3d4d5d6d7d8d9lead 1–9
ECMWF AIFS Singleaifs_single 2.22+0.06 · n=30 2.33+0.21 · n=29 2.43+0.32 · n=28 2.45+0.37 · n=27 2.51+0.36 · n=26 2.58+0.40 · n=25 2.74+0.38 · n=24 2.83+0.34 · n=23 2.96+0.13 · n=22 3.45+0.91 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9
Aurora (GFS init)aurora_gfs 2.68+0.39 · n=2 2.72-0.50 · n=1 Aurora (GFS init) MAE by lead day 1 to 9
Aurora (IFS init)aurora_ifs 2.16+0.21 · n=3 2.23+0.20 · n=2 2.51-0.84 · n=1 Aurora (IFS init) MAE by lead day 1 to 9
FourCastNet v2 (GFS init)fourcastnet_gfs 2.77-0.12 · n=2 2.48+0.07 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9
FourCastNet v2 (IFS init)fourcastnet_ifs 2.32-0.34 · n=3 2.66+0.92 · n=2 2.61+0.52 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9
NCEP GFSgfs 2.81+1.70 · n=30 3.04+1.91 · n=29 3.09+1.85 · n=28 3.34+2.19 · n=27 3.42+2.03 · n=26 3.49+1.85 · n=25 3.69+1.88 · n=24 3.79+1.74 · n=23 4.03+1.59 · n=22 4.38+1.52 · n=21 NCEP GFS MAE by lead day 1 to 9
GraphCast (GFS init)graphcast_gfs 2.83+0.50 · n=2 2.81-0.36 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9
GraphCast (IFS init)graphcast_ifs 2.06+0.97 · n=28 2.12+0.72 · n=27 2.19+0.60 · n=26 2.28+0.66 · n=25 2.39+0.65 · n=25 2.48+0.54 · n=25 2.67+0.62 · n=24 2.95+0.48 · n=23 3.20+0.32 · n=22 3.54+0.77 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9
ECMWF IFS HRESifs_hres 2.21+1.12 · n=25 2.46+1.28 · n=23 2.69+1.42 · n=23 2.94+1.70 · n=22 2.96+1.75 · n=20 3.02+1.66 · n=18 3.13+1.78 · n=19 3.37+1.85 · n=18 3.66+1.86 · n=17 4.40+3.04 · n=16 ECMWF IFS HRES MAE by lead day 1 to 9
Pangu-Weather (GFS init)pangu_gfs 2.69+0.54 · n=2 2.50-0.23 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9
Pangu-Weather (IFS init)pangu_ifs 2.13+0.50 · n=3 2.36-0.01 · n=2 2.41-0.86 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9
Persistence (baseline)persistence 2.43-0.09 · n=90 3.33-0.19 · n=90 3.69-0.31 · n=90 3.80-0.42 · n=90 3.92-0.52 · n=90 4.13-0.58 · n=90 4.24-0.66 · n=90 4.32-0.75 · n=90 4.46-0.87 · n=90 Persistence (baseline) MAE by lead day 1 to 9

Where the errors are

Mean bias in °F of each station's best model, lead day 1, daily minimum, 90d window, 00Z, nearest125°W115°W105°W95°W85°W75°W65°W25°N30°N35°N40°N45°N50°NKATL Atlanta Hartsfield: bias -0.14 °F, n = 1KATLKAUS Austin Bergstrom: bias +2.59 °F, n = 29KAUS+KBOS Boston Logan: bias +0.20 °F, n = 28KBOS+KDCA Washington Reagan: bias -0.05 °F, n = 1KDCAKDEN Denver Intl: bias +0.15 °F, n = 1KDEN+KDFW Dallas-Fort Worth: bias +0.14 °F, n = 2KDFW+KEWR Newark Liberty: bias -0.37 °F, n = 1KEWRKIAH Houston Bush: bias +0.34 °F, n = 2KIAH+KLAS Las Vegas Harry Reid: bias -1.86 °F, n = 29KLASKLAX Los Angeles Intl: bias -0.04 °F, n = 29KLAXKMIA Miami Intl: bias +0.42 °F, n = 1KMIA+KMSP Minneapolis-St Paul: bias -0.25 °F, n = 2KMSPKMSY New Orleans Intl: bias -0.53 °F, n = 2KMSYKNYC New York Central Park: bias -0.05 °F, n = 1KNYCKOKC Oklahoma City: bias +1.43 °F, n = 1KOKC+KORD Chicago O'Hare: bias +0.52 °F, n = 1KORD+KPHL Philadelphia Intl: bias +0.29 °F, n = 2KPHL+KPHX Phoenix Sky Harbor: bias -1.01 °F, n = 2KPHXKSAN San Diego Lindbergh: bias -0.04 °F, n = 27KSANKSAT San Antonio Intl: bias +0.66 °F, n = 27KSAT+KSEA Seattle-Tacoma: bias -0.07 °F, n = 1KSEAKSFO San Francisco Intl: bias -0.55 °F, n = 1KSFOKTTN Trenton Mercer: bias +3.47 °F, n = 23KTTN+
Each station's best model at lead day 1 (the last 90 days, 00Z, nearest, daily minimum): dot area grows with the number of scored days, fill is the mean bias (warm = model too warm, cool = too cold, grey = interval includes zero). There is no coastline because CastCheck ships no third-party boundary file; the frame is a latitude/longitude graticule. Hover a dot for its numbers.
The same data as a table
StationBest model MAE °FBias °F n
KATL Atlanta Hartsfield FourCastNet v2 (GFS init)0.14 -0.14 1
KAUS Austin Bergstrom ECMWF AIFS Single2.83 +2.59 29
KBOS Boston Logan ECMWF AIFS Single1.18 +0.20 28
KDCA Washington Reagan FourCastNet v2 (GFS init)0.05 -0.05 1
KDEN Denver Intl Pangu-Weather (GFS init)0.15 +0.15 1
KDFW Dallas-Fort Worth Aurora (IFS init)0.20 +0.14 2
KEWR Newark Liberty Pangu-Weather (GFS init)0.37 -0.37 1
KIAH Houston Bush Pangu-Weather (IFS init)0.34 +0.34 2
KLAS Las Vegas Harry Reid NCEP GFS3.50 -1.86 29
KLAX Los Angeles Intl ECMWF AIFS Single0.64 -0.04 29
KMIA Miami Intl Pangu-Weather (GFS init)0.42 +0.42 1
KMSP Minneapolis-St Paul Aurora (IFS init)1.07 -0.25 2
KMSY New Orleans Intl FourCastNet v2 (IFS init)1.81 -0.53 2
KNYC New York Central Park FourCastNet v2 (GFS init)0.05 -0.05 1
KOKC Oklahoma City FourCastNet v2 (GFS init)1.43 +1.43 1
KORD Chicago O'Hare Aurora (GFS init)0.52 +0.52 1
KPHL Philadelphia Intl Aurora (IFS init)0.44 +0.29 2
KPHX Phoenix Sky Harbor Pangu-Weather (IFS init)1.01 -1.01 2
KSAN San Diego Lindbergh GraphCast (IFS init)0.76 -0.04 27
KSAT San Antonio Intl GraphCast (IFS init)1.03 +0.66 27
KSEA Seattle-Tacoma FourCastNet v2 (GFS init)0.07 -0.07 1
KSFO San Francisco Intl Aurora (GFS init)0.55 -0.55 1
KTTN Trenton Mercer ECMWF IFS HRES3.51 +3.47 23

Data availability

Each model is scored only over its own available period (2024-01-02 → 2026-08-30); the windows above are therefore not identical across models. Pairwise comparisons on the permanent-link pages use common days only.

ModelPeriod Scored daysCoverage
ECMWF AIFS Single 2026-08-02 → 2026-08-3029
Aurora (GFS init) 2026-08-30 → 2026-08-301
Aurora (IFS init) 2026-08-29 → 2026-08-302
FourCastNet v2 (GFS init) 2026-08-30 → 2026-08-301
FourCastNet v2 (IFS init) 2026-08-29 → 2026-08-302
NCEP GFS 2026-08-02 → 2026-08-3029
GraphCast (GFS init) 2026-08-30 → 2026-08-301
GraphCast (IFS init) 2026-01-02 → 2026-08-3033
ECMWF IFS HRES 2026-08-02 → 2026-08-3023
Pangu-Weather (GFS init) 2026-08-30 → 2026-08-301
Pangu-Weather (IFS init) 2026-08-29 → 2026-08-302
Persistence (baseline) 2024-01-02 → 2026-08-30972

Stations