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

KBOS — Boston Logan

42.3606, -71.0106 · 6 m· standard offset UTC-5 h · truth product CLIBOS

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 365 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.25-2.77 · n=29 3.38-2.75 · n=28 3.39-2.92 · n=27 4.06-2.43 · n=26 4.26-2.28 · n=25 4.63-2.29 · n=24 4.68-2.72 · n=23 4.87-3.12 · n=22 5.44-3.11 · n=21 6.27-3.41 · n=20 ECMWF AIFS Single MAE by lead day 1 to 9, tmax
Aurora (GFS init)aurora_gfs 3.94-3.94 · n=2 5.54-5.54 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmax
Aurora (IFS init)aurora_ifs 2.84-2.84 · n=2 3.01-3.01 · n=2 4.12-4.12 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (GFS init)fourcastnet_gfs 4.77-4.27 · n=2 6.67-6.67 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (IFS init)fourcastnet_ifs 4.31-3.73 · n=2 4.78-2.31 · n=2 6.09-6.09 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmax
NCEP GFSgfs 2.22-0.80 · n=29 2.85-0.93 · n=28 2.77-1.52 · n=27 3.84-2.06 · n=26 4.21-1.39 · n=25 4.21-0.89 · n=24 4.55-0.64 · n=23 5.49-0.02 · n=22 6.45-1.15 · n=21 7.15-1.85 · n=20 NCEP GFS MAE by lead day 1 to 9, tmax
GraphCast (GFS init)graphcast_gfs 4.38-4.38 · n=2 5.34-5.34 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmax
GraphCast (IFS init)graphcast_ifs 2.82-2.46 · n=33 2.79-2.37 · n=33 3.20-2.72 · n=32 3.59-2.54 · n=30 4.31-2.03 · n=30 4.28-1.40 · n=30 4.64-1.54 · n=29 4.71-1.64 · n=28 5.05-1.60 · n=27 5.84-2.67 · n=26 GraphCast (IFS init) MAE by lead day 1 to 9, tmax
ECMWF IFS HRESifs_hres 2.15-1.42 · n=23 2.40-0.54 · n=22 2.37-0.19 · n=21 3.82+0.45 · n=21 3.81-0.51 · n=19 4.09-1.00 · n=17 4.76-0.66 · n=18 4.37-1.02 · n=17 6.53-1.45 · n=16 4.33+1.41 · n=15 ECMWF IFS HRES MAE by lead day 1 to 9, tmax
Pangu-Weather (GFS init)pangu_gfs 2.65-1.20 · n=2 3.50-3.50 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmax
Pangu-Weather (IFS init)pangu_ifs 2.55-0.54 · n=2 2.63-0.53 · n=2 3.84-3.84 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmax
Persistence (baseline)persistence 6.60-0.05 · n=363 8.48-0.01 · n=363 9.00-0.03 · n=364 8.90-0.07 · n=364 9.48-0.02 · n=364 9.41-0.03 · n=364 9.70-0.04 · n=364 9.54-0.03 · n=364 9.60-0.01 · n=364 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 365 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 1.30-0.07 · n=29 1.22-0.03 · n=28 1.35+0.03 · n=27 1.59+0.00 · n=26 1.70-0.12 · n=25 1.86-0.09 · n=24 1.88-0.19 · n=23 2.35-0.26 · n=22 2.23-0.66 · n=21 3.11-0.51 · n=20 ECMWF AIFS Single MAE by lead day 1 to 9, tmin
Aurora (GFS init)aurora_gfs 3.59-3.59 · n=2 4.79-4.79 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmin
Aurora (IFS init)aurora_ifs 1.99-1.99 · n=2 2.70-2.70 · n=2 5.15-5.15 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (GFS init)fourcastnet_gfs 3.71-3.71 · n=2 3.06-3.06 · 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 2.51-0.37 · n=2 1.43-1.43 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmin
NCEP GFSgfs 1.55-0.83 · n=29 1.59-0.69 · n=28 1.77-1.26 · n=27 1.78-1.07 · n=26 1.75-1.19 · n=25 3.02-1.13 · n=24 2.36-0.52 · n=23 2.45-0.27 · n=22 2.55-0.52 · n=21 3.22-1.48 · n=20 NCEP GFS MAE by lead day 1 to 9, tmin
GraphCast (GFS init)graphcast_gfs 3.50-3.50 · n=2 4.45-4.45 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmin
GraphCast (IFS init)graphcast_ifs 1.42-0.28 · n=33 1.77-0.43 · n=33 1.81-0.44 · n=32 1.55-0.23 · n=30 1.72+0.17 · n=30 2.29+0.48 · n=30 2.38+0.58 · n=29 2.55+0.39 · n=28 2.76-0.65 · n=27 3.92-0.91 · n=26 GraphCast (IFS init) MAE by lead day 1 to 9, tmin
ECMWF IFS HRESifs_hres 1.27+0.23 · n=23 1.30+0.53 · n=22 1.82+0.57 · n=21 1.81+1.38 · n=21 2.23+1.73 · n=19 2.30+1.55 · n=17 2.58+1.06 · n=18 1.64+0.93 · n=17 1.71+0.71 · n=16 3.00+1.76 · n=15 ECMWF IFS HRES MAE by lead day 1 to 9, tmin
Pangu-Weather (GFS init)pangu_gfs 3.35-2.72 · n=2 4.10-4.10 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmin
Pangu-Weather (IFS init)pangu_ifs 2.53-1.13 · n=2 2.49-1.01 · n=2 2.81-2.81 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmin
Persistence (baseline)persistence 4.07-0.03 · n=363 5.72-0.02 · n=363 6.26-0.04 · n=364 6.38-0.06 · n=364 6.63-0.06 · n=364 6.63-0.06 · n=364 6.74-0.07 · n=364 6.93-0.07 · n=364 7.17-0.10 · n=364 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