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, 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.58-3.55 · n=30 3.72-3.45 · n=29 3.68-3.57 · n=28 3.77-3.50 · n=27 3.92-3.25 · n=26 4.54-3.32 · n=25 4.53-3.83 · n=24 5.02-4.69 · n=23 6.86-5.49 · n=22 7.16-5.28 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmax
Aurora (GFS init)aurora_gfs 5.15-5.15 · n=2 7.52-7.52 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmax
Aurora (IFS init)aurora_ifs 6.53-6.53 · n=3 7.57-7.57 · n=2 7.25-7.25 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (GFS init)fourcastnet_gfs 5.89-5.89 · n=2 6.24-6.24 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (IFS init)fourcastnet_ifs 6.62-6.62 · n=3 7.13-7.13 · n=2 7.02-7.02 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmax
NCEP GFSgfs 2.50+1.32 · n=30 2.67+1.96 · n=29 3.13+2.21 · n=28 3.28+2.44 · n=27 2.99+1.93 · n=26 3.91+1.97 · n=25 4.23+1.27 · n=24 3.38+1.08 · n=23 4.09-0.03 · n=22 3.14+1.41 · n=21 NCEP GFS MAE by lead day 1 to 9, tmax
GraphCast (GFS init)graphcast_gfs 5.74-5.74 · n=2 7.68-7.68 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmax
GraphCast (IFS init)graphcast_ifs 6.38-6.38 · n=28 6.97-6.97 · n=27 7.67-7.67 · n=26 8.09-8.09 · n=25 8.44-8.44 · n=25 8.99-8.99 · n=25 9.44-9.44 · n=24 10.31-10.31 · n=23 10.73-10.66 · n=22 10.37-10.35 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmax
ECMWF IFS HRESifs_hres 3.70-2.99 · n=24 3.79-2.50 · n=23 3.03-2.28 · n=22 3.22-2.38 · n=22 3.64-2.52 · n=20 3.04-0.66 · n=18 2.84-0.85 · n=19 2.36-1.23 · n=18 2.85+0.32 · n=17 4.06+0.12 · n=16 ECMWF IFS HRES MAE by lead day 1 to 9, tmax
Pangu-Weather (GFS init)pangu_gfs 3.55-3.55 · n=2 2.66-2.66 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmax
Pangu-Weather (IFS init)pangu_ifs 4.91-4.91 · n=3 5.21-5.21 · n=2 4.96-4.96 · 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, 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 2.87+2.55 · n=30 3.10+2.79 · n=29 3.40+2.98 · n=28 3.21+2.71 · n=27 3.25+2.82 · n=26 3.45+3.00 · n=25 3.82+2.91 · n=24 3.19+2.68 · n=23 3.31+2.44 · n=22 4.64+2.06 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmin
Aurora (GFS init)aurora_gfs 7.90+7.90 · n=2 5.94+5.94 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmin
Aurora (IFS init)aurora_ifs 4.64+3.86 · n=3 5.09+5.09 · n=2 4.10+4.10 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (GFS init)fourcastnet_gfs 4.21+4.21 · n=2 1.54+1.54 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (IFS init)fourcastnet_ifs 2.74+1.92 · n=3 2.93+2.93 · n=2 0.82+0.82 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmin
NCEP GFSgfs 2.65+1.35 · n=30 3.01+2.08 · n=29 3.37+2.86 · n=28 5.32+4.45 · n=27 5.23+4.84 · n=26 5.32+4.38 · n=25 5.62+4.01 · n=24 5.50+3.17 · n=23 4.90+1.71 · n=22 5.60+2.42 · n=21 NCEP GFS MAE by lead day 1 to 9, tmin
GraphCast (GFS init)graphcast_gfs 7.30+7.30 · n=2 5.73+5.73 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmin
GraphCast (IFS init)graphcast_ifs 4.74+4.67 · n=28 4.31+4.19 · n=27 4.28+3.71 · n=26 3.88+2.91 · n=25 3.74+2.76 · n=25 3.23+2.33 · n=25 3.53+2.15 · n=24 3.15+1.56 · n=23 2.54+1.41 · n=22 3.03+1.02 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmin
ECMWF IFS HRESifs_hres 4.15+4.15 · n=24 5.50+5.50 · n=23 6.08+5.87 · n=22 5.83+5.73 · n=22 5.98+5.98 · n=20 6.90+6.89 · n=18 7.26+7.26 · n=19 7.68+7.68 · n=18 8.31+8.31 · n=17 8.70+8.70 · n=16 ECMWF IFS HRES MAE by lead day 1 to 9, tmin
Pangu-Weather (GFS init)pangu_gfs 6.89+6.89 · n=2 5.58+5.58 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmin
Pangu-Weather (IFS init)pangu_ifs 3.57+2.67 · n=3 3.06+3.06 · n=2 1.48+1.48 · 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

MAE °F at lead day 1, 00Z, bilinear, daily maximum — the seasonal slice behind the window averages. A model that is excellent in one season and poor in another shows up here and nowhere else.

Monthaifs_singleaurora_gfsaurora_ifsfourcastnet_gfsfourcastnet_ifsgfsgraphcast_gfsgraphcast_ifsifs_hrespangu_gfspangu_ifs
2026-08 3.72-3.45 · n=297.52-7.52 · n=17.57-7.57 · n=26.24-6.24 · n=17.13-7.13 · n=22.67+1.96 · n=297.68-7.68 · n=16.97-6.97 · n=273.79-2.50 · n=232.66-2.66 · n=15.21-5.21 · n=2
2026-01 8.02-8.02 · n=6

Model availability at this station

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

Observed truth — last 30 days

Climatological dayTmax °F Tmin °FSourceFlag
2026-08-3010375OBSobs_fallback
2026-08-2910369CLIobs_diff_gt2f
2026-08-2810073CLI
2026-08-279574CLI
2026-08-269478CLI
2026-08-2510473CLI
2026-08-2410880CLI
2026-08-2310174CLI
2026-08-229876CLI
2026-08-2110178CLI
2026-08-2010778CLI
2026-08-1910481CLI
2026-08-1810973CLI
2026-08-179876CLI
2026-08-1610377CLI
2026-08-1510275CLI
2026-08-1410581CLI
2026-08-1310681CLI
2026-08-1210477CLI
2026-08-1110376CLI
2026-08-1010375CLI
2026-08-0910371CLI
2026-08-0810569CLI
2026-08-079770CLI
2026-08-0610173CLI
2026-08-0510374CLI
2026-08-0410373CLI
2026-08-039865CLI
2026-08-029464CLI
2026-08-019371CLI

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