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

KOKC — Oklahoma City

35.3886, -97.6003 · 394 m· standard offset UTC-6 h · truth product CLIOKC

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.87-3.81 · n=29 3.78-3.71 · n=28 3.62-3.52 · n=27 3.63-3.27 · n=26 4.13-3.39 · n=24 4.68-3.69 · n=24 5.42-4.16 · n=23 6.07-5.08 · n=22 6.81-6.77 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmax
Aurora (GFS init)aurora_gfs 8.24-8.24 · n=2 8.94-8.94 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmax
Aurora (IFS init)aurora_ifs 7.96-7.96 · n=2 8.44-8.44 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (GFS init)fourcastnet_gfs 7.14-7.14 · n=2 6.57-6.57 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (IFS init)fourcastnet_ifs 8.23-8.23 · n=2 7.67-7.67 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmax
NCEP GFSgfs 2.61+1.78 · n=29 3.38+2.18 · n=28 3.22+2.69 · n=27 3.17+2.18 · n=26 2.84+1.51 · n=25 4.51+0.91 · n=24 3.63+1.66 · n=23 3.09+2.19 · n=22 4.64-0.10 · n=21 NCEP GFS MAE by lead day 1 to 9, tmax
GraphCast (GFS init)graphcast_gfs 8.65-8.65 · n=2 9.34-9.34 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmax
GraphCast (IFS init)graphcast_ifs 8.31-8.31 · n=27 8.73-8.73 · n=26 9.44-9.44 · n=25 9.70-9.70 · n=25 9.64-9.64 · n=25 10.37-10.37 · n=24 10.69-10.69 · n=23 11.01-10.97 · n=22 11.69-11.67 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmax
ECMWF IFS HRESifs_hres 4.48-4.23 · n=24 3.98-2.89 · n=22 3.32-2.86 · n=22 3.31-2.47 · n=21 3.71-1.81 · n=20 4.36-2.21 · n=19 2.88-1.99 · n=17 3.12-1.30 · n=17 4.31-2.60 · n=15 ECMWF IFS HRES MAE by lead day 1 to 9, tmax
Pangu-Weather (GFS init)pangu_gfs 6.06-6.06 · n=2 6.10-6.10 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmax
Pangu-Weather (IFS init)pangu_ifs 5.97-5.97 · n=2 6.39-6.39 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmax
Persistence (baseline)persistence 3.86-0.08 · n=90 5.32-0.17 · n=90 5.77-0.26 · n=90 4.99-0.30 · n=90 4.92-0.41 · n=90 5.57-0.70 · n=90 5.94-0.94 · n=90 5.72-1.10 · n=90 5.37-1.26 · n=90 Persistence (baseline) MAE by lead day 1 to 9, tmax

Up to 2 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 2.85+2.42 · n=29 2.95+2.65 · n=28 3.11+2.80 · n=27 3.27+2.94 · n=26 3.47+3.03 · n=24 3.41+2.88 · n=24 3.19+2.43 · n=23 2.78+2.40 · n=22 2.44+1.77 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmin
Aurora (GFS init)aurora_gfs 5.88+5.88 · n=2 4.10+4.10 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmin
Aurora (IFS init)aurora_ifs 5.17+5.17 · n=2 3.97+3.97 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (GFS init)fourcastnet_gfs 2.91+2.91 · n=2 0.73+0.73 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (IFS init)fourcastnet_ifs 2.63+2.63 · n=2 0.33+0.33 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmin
NCEP GFSgfs 3.10+2.37 · n=29 3.49+3.34 · n=28 4.01+3.45 · n=27 4.31+4.26 · n=26 4.56+3.79 · n=25 4.62+2.65 · n=24 5.04+3.20 · n=23 5.09+4.19 · n=22 5.49+2.07 · n=21 NCEP GFS MAE by lead day 1 to 9, tmin
GraphCast (GFS init)graphcast_gfs 5.31+5.31 · n=2 3.43+3.43 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmin
GraphCast (IFS init)graphcast_ifs 3.55+3.03 · n=27 3.58+2.85 · n=26 3.37+2.16 · n=25 3.44+1.94 · n=25 3.23+1.69 · n=25 3.10+1.68 · n=24 3.25+1.22 · n=23 2.77+0.66 · n=22 2.32+0.17 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmin
ECMWF IFS HRESifs_hres 4.03+4.00 · n=24 4.69+4.41 · n=22 5.40+5.09 · n=22 5.79+5.79 · n=21 6.66+6.66 · n=20 6.90+6.90 · n=19 7.37+7.15 · n=17 7.01+6.78 · n=17 6.14+6.14 · n=15 ECMWF IFS HRES MAE by lead day 1 to 9, tmin
Pangu-Weather (GFS init)pangu_gfs 3.88+3.88 · n=2 2.39+2.39 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmin
Pangu-Weather (IFS init)pangu_ifs 3.72+3.72 · n=2 1.41+1.41 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmin
Persistence (baseline)persistence 2.88-0.06 · n=90 3.78-0.02 · n=90 4.26-0.06 · n=90 4.29-0.13 · n=90 4.29-0.27 · n=90 4.50-0.34 · n=90 4.42-0.53 · n=90 4.54-0.68 · n=90 4.71-0.87 · n=90 Persistence (baseline) MAE by lead day 1 to 9, tmin

Up to 2 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