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

KIAH — Houston Bush

29.9844, -95.3607 · 27 m· standard offset UTC-6 h · truth product CLIIAH

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

all available history, 00Z, 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.46-3.46 · n=30 3.75-3.75 · n=29 3.64-3.64 · n=28 3.66-3.61 · n=27 3.60-3.60 · n=26 3.28-3.28 · n=25 3.25-3.25 · n=24 3.16-3.11 · n=23 3.44-3.23 · n=22 3.76-3.51 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmax
Aurora (GFS init)aurora_gfs 5.35-5.35 · n=2 6.38-6.38 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmax
Aurora (IFS init)aurora_ifs 6.32-6.32 · n=3 6.26-6.26 · n=2 6.59-6.59 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (GFS init)fourcastnet_gfs 3.88-3.88 · n=2 3.39-3.39 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (IFS init)fourcastnet_ifs 4.48-4.48 · n=3 3.71-3.71 · n=2 3.08-3.08 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmax
NCEP GFSgfs 1.43-0.49 · n=30 1.24-0.36 · n=29 1.74-0.48 · n=28 2.13-0.37 · n=27 2.15-0.83 · n=26 2.29-1.17 · n=25 2.64-1.01 · n=24 2.29-0.92 · n=23 2.44-0.76 · n=22 2.87-1.23 · n=21 NCEP GFS MAE by lead day 1 to 9, tmax
GraphCast (GFS init)graphcast_gfs 4.09-4.09 · n=2 5.55-5.55 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmax
GraphCast (IFS init)graphcast_ifs 5.79-5.79 · n=34 6.48-6.48 · n=33 6.51-6.51 · n=32 6.68-6.68 · n=31 6.56-6.56 · n=31 6.70-6.70 · n=31 6.71-6.71 · n=30 6.23-6.13 · n=29 5.57-5.01 · n=28 6.81-4.71 · n=27 GraphCast (IFS init) MAE by lead day 1 to 9, tmax
ECMWF IFS HRESifs_hres 3.84-3.73 · n=24 3.85-3.85 · n=23 3.85-3.85 · n=22 3.63-3.63 · n=22 3.87-3.87 · n=20 3.95-3.95 · n=18 3.79-3.79 · n=19 3.62-3.62 · n=18 4.15-4.15 · n=17 3.84-3.45 · n=16 ECMWF IFS HRES MAE by lead day 1 to 9, tmax
Pangu-Weather (GFS init)pangu_gfs 2.50-2.50 · n=2 2.14-2.14 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmax
Pangu-Weather (IFS init)pangu_ifs 3.30-3.30 · n=3 3.56-3.56 · n=2 3.89-3.89 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmax
Persistence (baseline)persistence 4.13-0.03 · n=972 5.58-0.08 · n=971 6.18-0.12 · n=970 6.42-0.16 · n=969 6.57-0.20 · n=968 6.73-0.23 · n=967 6.92-0.28 · n=966 7.16-0.30 · n=965 7.32-0.35 · n=964 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

all available history, 00Z, 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.66-0.60 · n=30 1.60-0.32 · n=29 1.58-0.25 · n=28 1.55-0.05 · n=27 1.67-0.06 · n=26 1.69+0.02 · n=25 1.95+0.14 · n=24 2.07+0.29 · n=23 2.45+0.23 · n=22 2.61+0.12 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmin
Aurora (GFS init)aurora_gfs 1.02+1.02 · n=2 0.73+0.73 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmin
Aurora (IFS init)aurora_ifs 2.39+1.57 · n=3 0.96+0.96 · n=2 0.78+0.78 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (GFS init)fourcastnet_gfs 2.10+2.10 · n=2 2.47+2.47 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (IFS init)fourcastnet_ifs 2.50+1.86 · n=3 2.26+2.26 · n=2 2.49+2.49 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmin
NCEP GFSgfs 3.57+3.57 · n=30 3.46+3.46 · n=29 3.45+3.45 · n=28 3.61+3.58 · n=27 3.34+3.24 · n=26 3.55+3.35 · n=25 3.47+3.19 · n=24 3.48+3.10 · n=23 2.98+2.67 · n=22 3.55+3.10 · n=21 NCEP GFS MAE by lead day 1 to 9, tmin
GraphCast (GFS init)graphcast_gfs 2.29+2.29 · n=2 0.93+0.93 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmin
GraphCast (IFS init)graphcast_ifs 2.30+1.56 · n=34 2.23+1.00 · n=33 2.21+0.74 · n=32 2.47+0.82 · n=31 2.51+0.79 · n=31 2.53+0.51 · n=31 2.82+0.73 · n=30 2.81+0.88 · n=29 2.84+0.90 · n=28 4.25+1.62 · n=27 GraphCast (IFS init) MAE by lead day 1 to 9, tmin
ECMWF IFS HRESifs_hres 1.93+1.07 · n=24 1.92+1.21 · n=23 1.70+0.98 · n=22 2.02+1.46 · n=22 1.86+1.46 · n=20 2.06+1.64 · n=18 1.88+1.52 · n=19 2.04+1.75 · n=18 2.64+1.70 · n=17 2.68+1.45 · n=16 ECMWF IFS HRES MAE by lead day 1 to 9, tmin
Pangu-Weather (GFS init)pangu_gfs 0.81+0.68 · n=2 1.36+1.36 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmin
Pangu-Weather (IFS init)pangu_ifs 2.32+1.88 · n=3 0.31+0.31 · n=2 0.31-0.31 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmin
Persistence (baseline)persistence 4.14-0.03 · n=972 6.17-0.07 · n=971 6.95-0.10 · n=970 7.37-0.14 · n=969 7.67-0.18 · n=968 7.84-0.22 · n=967 8.07-0.27 · n=966 8.26-0.30 · n=965 8.29-0.34 · n=964 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