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

KDFW — Dallas-Fort Worth

32.8974, -97.0220 · 165 m· standard offset UTC-6 h · truth product CLIDFW

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 3.21-3.09 · n=29 3.24-3.05 · n=28 3.23-3.06 · n=27 3.38-2.91 · n=26 3.60-3.21 · n=24 4.04-3.72 · n=24 4.02-3.39 · n=23 4.24-3.97 · n=22 5.11-4.96 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmax
Aurora (GFS init)aurora_gfs 7.21-7.21 · n=2 7.39-7.39 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmax
Aurora (IFS init)aurora_ifs 6.72-6.72 · n=2 6.20-6.20 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (GFS init)fourcastnet_gfs 5.51-5.51 · n=2 4.36-4.36 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (IFS init)fourcastnet_ifs 6.61-6.61 · n=2 5.05-5.05 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmax
NCEP GFSgfs 1.83+0.88 · n=29 1.99+1.40 · n=28 1.83+1.40 · n=27 2.12+1.17 · n=26 1.42+0.87 · n=25 2.23+1.52 · n=24 3.17+0.44 · n=23 3.24+0.34 · n=22 3.13+0.58 · n=21 NCEP GFS MAE by lead day 1 to 9, tmax
GraphCast (GFS init)graphcast_gfs 6.14-6.14 · n=2 6.53-6.53 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmax
GraphCast (IFS init)graphcast_ifs 6.27-6.27 · n=27 7.10-7.10 · n=26 7.71-7.71 · n=25 7.98-7.98 · n=25 7.91-7.91 · n=25 8.35-8.35 · n=24 8.64-8.64 · n=23 8.87-8.87 · n=22 8.97-8.97 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmax
ECMWF IFS HRESifs_hres 2.83-2.12 · n=24 2.59-1.72 · n=22 2.37-1.25 · n=22 2.44-1.40 · n=21 2.35-1.38 · n=20 2.23-1.09 · n=19 1.99-1.03 · n=17 2.48-0.95 · n=17 3.89-2.06 · n=15 ECMWF IFS HRES MAE by lead day 1 to 9, tmax
Pangu-Weather (GFS init)pangu_gfs 4.24-4.24 · n=2 4.66-4.66 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmax
Pangu-Weather (IFS init)pangu_ifs 5.31-5.31 · n=2 5.16-5.16 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmax
Persistence (baseline)persistence 2.28-0.08 · n=90 3.17-0.17 · n=90 3.66-0.26 · n=90 3.67-0.36 · n=90 3.81-0.50 · n=90 3.92-0.68 · n=90 3.91-0.91 · n=90 3.88-1.14 · n=90 3.54-1.32 · 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.89-1.70 · n=29 1.76-1.57 · n=28 1.79-1.48 · n=27 1.83-1.59 · n=26 2.10-1.79 · n=24 2.14-1.69 · n=24 2.13-1.75 · n=23 2.22-1.54 · n=22 2.44-1.72 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmin
Aurora (GFS init)aurora_gfs 1.15+1.15 · n=2 0.29-0.29 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmin
Aurora (IFS init)aurora_ifs 0.45+0.27 · n=2 0.01-0.01 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (GFS init)fourcastnet_gfs 0.41-0.36 · n=2 1.36-1.36 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (IFS init)fourcastnet_ifs 1.30-1.30 · n=2 1.83-1.83 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmin
NCEP GFSgfs 3.40+3.40 · n=29 3.79+3.71 · n=28 3.28+3.28 · n=27 3.21+3.20 · n=26 3.01+3.01 · n=25 3.28+2.91 · n=24 4.06+3.31 · n=23 3.72+3.16 · n=22 3.87+2.67 · n=21 NCEP GFS MAE by lead day 1 to 9, tmin
GraphCast (GFS init)graphcast_gfs 1.67+1.67 · n=2 0.01+0.01 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmin
GraphCast (IFS init)graphcast_ifs 1.03-0.31 · n=27 1.23-0.81 · n=26 1.63-1.22 · n=25 2.00-1.52 · n=25 2.27-1.75 · n=25 2.40-1.76 · n=24 2.24-1.68 · n=23 2.55-2.00 · n=22 2.30-1.66 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmin
ECMWF IFS HRESifs_hres 2.26+2.07 · n=24 2.71+2.71 · n=22 2.92+2.92 · n=22 3.20+3.18 · n=21 3.12+3.12 · n=20 3.44+3.44 · n=19 3.43+3.27 · n=17 3.89+3.86 · n=17 4.49+4.13 · n=15 ECMWF IFS HRES MAE by lead day 1 to 9, tmin
Pangu-Weather (GFS init)pangu_gfs 1.93+1.93 · n=2 0.27-0.27 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmin
Pangu-Weather (IFS init)pangu_ifs 1.63-1.63 · n=2 2.78-2.78 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmin
Persistence (baseline)persistence 2.08-0.06 · n=90 2.64-0.09 · n=90 2.94-0.12 · n=90 3.22-0.20 · n=90 3.08-0.34 · n=90 3.38-0.51 · n=90 3.23-0.72 · n=90 3.10-0.92 · n=90 3.34-1.06 · 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