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

KSEA — Seattle-Tacoma

47.4447, -122.3136 · 130 m· standard offset UTC-8 h · truth product CLISEA

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 5.20-5.20 · n=29 5.24-5.24 · n=28 5.09-5.09 · n=27 4.97-4.97 · n=26 4.83-4.73 · n=24 4.90-4.65 · n=24 5.48-5.04 · n=23 5.56-4.93 · n=22 6.66-6.01 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmax
Aurora (GFS init)aurora_gfs 6.50-6.50 · n=2 4.84-4.84 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmax
Aurora (IFS init)aurora_ifs 4.04-4.04 · n=2 2.22-2.22 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (GFS init)fourcastnet_gfs 3.95-3.95 · n=2 0.75-0.75 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (IFS init)fourcastnet_ifs 2.65-2.65 · n=2 0.07-0.07 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmax
NCEP GFSgfs 3.87+2.94 · n=29 4.48+2.40 · n=28 4.71+3.51 · n=27 4.65+2.43 · n=26 4.97+2.14 · n=25 4.54+2.53 · n=24 3.49+1.77 · n=23 5.09+1.68 · n=22 6.50+2.82 · n=21 NCEP GFS MAE by lead day 1 to 9, tmax
GraphCast (GFS init)graphcast_gfs 7.58-7.58 · n=2 4.67-4.67 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmax
GraphCast (IFS init)graphcast_ifs 5.62-5.62 · n=27 5.34-5.28 · n=26 5.09-4.98 · n=25 5.29-5.15 · n=25 5.66-5.38 · n=25 5.03-4.68 · n=24 5.85-4.97 · n=23 7.68-6.29 · n=22 7.44-6.20 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmax
ECMWF IFS HRESifs_hres 1.99-0.73 · n=24 2.42-0.74 · n=22 2.99-0.77 · n=22 2.75-1.23 · n=21 3.63-1.69 · n=20 4.56-2.07 · n=19 3.34-0.70 · n=17 3.76-1.38 · n=17 5.56-3.27 · n=14 ECMWF IFS HRES MAE by lead day 1 to 9, tmax
Pangu-Weather (GFS init)pangu_gfs 4.56-4.56 · n=2 2.70-2.70 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmax
Pangu-Weather (IFS init)pangu_ifs 2.74-2.74 · n=2 1.27-1.27 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmax
Persistence (baseline)persistence 4.84+0.07 · n=90 7.43+0.03 · n=90 8.08-0.08 · n=90 8.12-0.23 · n=90 8.07-0.18 · n=90 8.43-0.28 · n=90 8.53-0.49 · n=90 8.48-0.66 · n=90 8.72-0.70 · 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.65-1.37 · n=29 1.46-0.91 · n=28 1.25-0.58 · n=27 1.05-0.26 · n=26 1.16-0.12 · n=24 1.34+0.25 · n=24 1.59+0.34 · n=23 1.89+0.29 · n=22 1.70+0.12 · n=21 ECMWF AIFS Single MAE by lead day 1 to 9, tmin
Aurora (GFS init)aurora_gfs 0.90+0.80 · n=2 0.01-0.01 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmin
Aurora (IFS init)aurora_ifs 1.00-0.08 · n=2 1.00-1.00 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (GFS init)fourcastnet_gfs 1.79+0.71 · n=2 0.32+0.32 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (IFS init)fourcastnet_ifs 1.80+1.44 · n=2 0.47+0.47 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmin
NCEP GFSgfs 1.22-0.69 · n=29 1.49-1.04 · n=28 1.54-0.88 · n=27 1.45-0.45 · n=26 1.83-0.74 · n=25 1.94-0.92 · n=24 2.46-1.22 · n=23 2.40-1.50 · n=22 3.11-0.76 · n=21 NCEP GFS MAE by lead day 1 to 9, tmin
GraphCast (GFS init)graphcast_gfs 0.33+0.05 · n=2 0.29-0.29 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmin
GraphCast (IFS init)graphcast_ifs 1.64+1.21 · n=27 1.75+1.49 · n=26 1.79+1.64 · n=25 2.11+2.06 · n=25 2.02+2.00 · n=25 1.79+1.71 · n=24 2.24+2.04 · n=23 2.29+1.73 · n=22 2.14+1.21 · n=21 GraphCast (IFS init) MAE by lead day 1 to 9, tmin
ECMWF IFS HRESifs_hres 1.60+1.43 · n=24 1.45+1.43 · n=22 1.55+1.45 · n=22 1.85+1.76 · n=21 1.80+1.35 · n=20 2.20+1.36 · n=19 2.04+1.11 · n=17 1.88+0.75 · n=17 2.09+0.51 · n=14 ECMWF IFS HRES MAE by lead day 1 to 9, tmin
Pangu-Weather (GFS init)pangu_gfs 1.51+0.93 · n=2 1.59+1.59 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmin
Pangu-Weather (IFS init)pangu_ifs 1.94+1.27 · n=2 1.22+1.22 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmin
Persistence (baseline)persistence 2.20-0.07 · n=90 2.91-0.16 · n=90 3.33-0.29 · n=90 3.30-0.41 · n=90 3.39-0.43 · n=90 3.36-0.56 · n=90 3.48-0.66 · n=90 3.29-0.76 · n=90 3.43-0.86 · 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