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

KDCA — Washington Reagan

38.8483, -77.0342 · 4 m· standard offset UTC-5 h · truth product CLIDCA

These pages are always bilinear interpolation, the headline method. The nearest-node variant, and every other window/initialization/interpolation/variable combination, is published on each permanent link below — follow any number.

Daily maximum temperature — MAE °F

the last 90 days, 12Z, bilinear. MAE with the bias and n underneath; every cell links to its permanent page. The sparkline shows the same model across lead days 1–9 on a scale shared within this table.
Modeld0d1d2d3d4d5d6d7d8d9lead 1–9
ECMWF AIFS Singleaifs_single 2.11-1.76 · n=29 2.69-2.28 · n=28 2.50-2.17 · n=27 2.75-2.30 · n=26 3.03-2.42 · n=24 3.70-2.60 · n=24 3.51-2.81 · n=23 4.03-3.95 · n=22 4.97-3.85 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmax
Aurora (GFS init)aurora_gfs 7.05-7.05 · n=2 8.79-8.79 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmax
Aurora (IFS init)aurora_ifs 7.36-7.36 · n=2 7.78-7.78 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (GFS init)fourcastnet_gfs 2.48-2.48 · n=2 3.06-3.06 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (IFS init)fourcastnet_ifs 2.63-2.63 · n=2 2.09-2.09 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmax
NCEP GFSgfs 2.62-1.00 · n=29 3.21-1.26 · n=28 2.87-0.29 · n=27 3.03-1.23 · n=26 3.98-2.04 · n=25 4.33-1.98 · n=24 4.97-0.72 · n=23 4.85-2.19 · n=22 7.45-2.10 · n=21 NCEP GFS MAE by lead day 1 to 9, tmax
GraphCast (GFS init)graphcast_gfs 5.03-5.03 · n=2 5.08-5.08 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmax
GraphCast (IFS init)graphcast_ifs 4.82-4.82 · n=27 4.78-4.78 · n=26 4.90-4.83 · n=25 4.60-4.60 · n=25 5.07-4.74 · n=25 5.00-4.45 · n=24 5.24-4.87 · n=23 5.47-4.77 · n=22 7.02-5.42 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmax
ECMWF IFS HRESifs_hres 3.13-2.61 · n=24 3.52-2.97 · n=22 3.75-3.00 · n=22 3.83-2.29 · n=21 3.57-2.34 · n=20 3.54-2.13 · n=19 4.78-3.37 · n=17 4.97-3.32 · n=17 6.14-4.72 · n=15 ECMWF IFS HRES MAE by lead day 1 to 9, tmax
Pangu-Weather (GFS init)pangu_gfs 1.69-1.69 · n=2 2.71-2.71 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmax
Pangu-Weather (IFS init)pangu_ifs 1.86-1.86 · n=2 1.95-1.95 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmax
Persistence (baseline)persistence 4.36-0.11 · n=90 5.74-0.21 · n=90 6.31-0.40 · n=90 6.49-0.49 · n=90 6.71-0.53 · n=90 6.87-0.56 · n=90 6.60-0.64 · n=90 6.69-0.78 · n=90 7.14-0.92 · n=90 Persistence (baseline) MAE by lead day 1 to 9, tmax

Up to 1 of the scored days in this table carry a QC flag on the observation (a CLI value that disagreed with the hourly observations, or a fallback source). They are kept in the scores and counted here rather than dropped — see methodology.

+ 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.

Daily minimum temperature — MAE °F

the last 90 days, 12Z, bilinear. MAE with the bias and n underneath; every cell links to its permanent page. The sparkline shows the same model across lead days 1–9 on a scale shared within this table.
Modeld0d1d2d3d4d5d6d7d8d9lead 1–9
ECMWF AIFS Singleaifs_single 1.47+0.46 · n=29 1.70+0.73 · n=28 2.01+0.53 · n=27 2.27+0.24 · n=26 2.58-0.07 · n=24 3.01+0.19 · n=24 2.73+0.27 · n=23 2.61+0.54 · n=22 3.89+0.21 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmin
Aurora (GFS init)aurora_gfs 1.24-0.39 · n=2 1.06-1.06 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmin
Aurora (IFS init)aurora_ifs 2.66-2.66 · n=2 3.45-3.45 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (GFS init)fourcastnet_gfs 0.75+0.66 · n=2 0.91+0.91 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (IFS init)fourcastnet_ifs 0.31-0.31 · n=2 0.87+0.87 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmin
NCEP GFSgfs 2.42-0.47 · n=29 2.50-0.59 · n=28 2.25-0.66 · n=27 2.87-0.61 · n=26 3.02-1.12 · n=25 3.96-1.18 · n=24 4.01-1.24 · n=23 4.01-0.77 · n=22 4.71-0.76 · n=21 NCEP GFS MAE by lead day 1 to 9, tmin
GraphCast (GFS init)graphcast_gfs 1.20-0.34 · n=2 0.11+0.11 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmin
GraphCast (IFS init)graphcast_ifs 1.49+0.10 · n=27 1.91+0.18 · n=26 2.21+0.23 · n=25 2.63+0.10 · n=25 3.10+0.06 · n=25 3.26+0.31 · n=24 2.59+0.42 · n=23 3.10+0.32 · n=22 4.39-0.48 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmin
ECMWF IFS HRESifs_hres 1.81+0.36 · n=24 2.27+0.39 · n=22 2.38+0.43 · n=22 2.80-0.47 · n=21 3.25-0.28 · n=20 2.66-0.01 · n=19 2.36+0.47 · n=17 3.10+0.56 · n=17 2.99-0.30 · n=15 ECMWF IFS HRES MAE by lead day 1 to 9, tmin
Pangu-Weather (GFS init)pangu_gfs 1.14-0.14 · n=2 0.32-0.32 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmin
Pangu-Weather (IFS init)pangu_ifs 1.29-1.29 · n=2 0.36-0.36 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmin
Persistence (baseline)persistence 2.89-0.13 · n=90 4.11-0.31 · n=90 4.14-0.46 · n=90 4.39-0.66 · n=90 4.80-0.69 · n=90 5.24-0.64 · n=90 5.20-0.67 · n=90 5.17-0.72 · n=90 5.24-0.87 · n=90 Persistence (baseline) MAE by lead day 1 to 9, tmin

Up to 1 of the scored days in this table carry a QC flag on the observation (a CLI value that disagreed with the hourly observations, or a fallback source). They are kept in the scores and counted here rather than dropped — see methodology.

Month-by-month slices, model availability and the observed-truth table live on the canonical page: they do not depend on the window, initialization or interpolation selected here.

All scores as JSON scores_latest.csv daily_errors.csv.gz data & licences