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 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.23-2.57 · n=28 3.44-2.96 · n=27 4.04-2.98 · n=26 4.16-2.22 · n=25 4.29-2.21 · n=23 4.50-2.45 · n=23 4.46-3.08 · n=22 4.67-3.12 · n=21 5.24-4.02 · n=20 ECMWF AIFS Single MAE by lead day 1 to 9, tmax
Aurora (GFS init)aurora_gfs 4.39-4.39 · n=2 5.36-5.36 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmax
Aurora (IFS init)aurora_ifs 3.24-3.24 · n=2 5.19-5.19 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (GFS init)fourcastnet_gfs 4.27-2.70 · n=2 7.02-7.02 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmax
FourCastNet v2 (IFS init)fourcastnet_ifs 4.49-2.33 · n=2 6.85-6.85 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmax
NCEP GFSgfs 2.22-0.29 · n=28 2.90-0.81 · n=27 4.14-2.27 · n=26 3.99-0.94 · n=25 3.59-0.76 · n=24 3.94-1.20 · n=23 4.40-0.26 · n=22 6.86-0.99 · n=21 8.21+0.68 · n=20 NCEP GFS MAE by lead day 1 to 9, tmax
GraphCast (GFS init)graphcast_gfs 4.08-4.08 · n=2 6.29-6.29 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmax
GraphCast (IFS init)graphcast_ifs 2.88-2.21 · n=27 3.03-2.67 · n=26 3.39-2.38 · n=24 3.71-1.46 · n=24 4.55-2.10 · n=24 4.12-2.20 · n=23 4.40-2.97 · n=22 5.09-3.47 · n=21 4.74-3.19 · n=20 GraphCast (IFS init) MAE by lead day 1 to 9, tmax
ECMWF IFS HRESifs_hres 2.47-1.03 · n=23 2.80-1.24 · n=21 2.79-0.73 · n=21 3.67-0.41 · n=20 4.06-0.12 · n=19 3.36-0.94 · n=18 4.42-1.02 · n=16 3.75-1.68 · n=16 4.27-3.34 · n=14 ECMWF IFS HRES MAE by lead day 1 to 9, tmax
Pangu-Weather (GFS init)pangu_gfs 2.34-1.63 · n=2 2.71-2.71 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmax
Pangu-Weather (IFS init)pangu_ifs 2.17-0.95 · n=2 3.11-3.11 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmax
Persistence (baseline)persistence 5.27-0.43 · n=88 7.48-0.30 · n=88 8.00-0.63 · n=89 8.26-0.82 · n=89 8.38-0.74 · n=89 8.40-0.67 · n=89 9.09-0.69 · n=89 8.98-0.78 · n=89 9.16-1.00 · n=89 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.23-0.08 · n=28 1.29+0.07 · n=27 1.47-0.10 · n=26 1.65-0.29 · n=25 1.87-0.40 · n=23 2.18-0.33 · n=23 2.09+0.06 · n=22 2.16-0.32 · n=21 2.83-0.57 · n=20 ECMWF AIFS Single MAE by lead day 1 to 9, tmin
Aurora (GFS init)aurora_gfs 3.31-3.31 · n=2 5.13-5.13 · n=1 Aurora (GFS init) MAE by lead day 1 to 9, tmin
Aurora (IFS init)aurora_ifs 3.19-3.19 · n=2 5.79-5.79 · n=1 Aurora (IFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (GFS init)fourcastnet_gfs 2.18-0.74 · n=2 2.00-2.00 · n=1 FourCastNet v2 (GFS init) MAE by lead day 1 to 9, tmin
FourCastNet v2 (IFS init)fourcastnet_ifs 2.54-1.00 · n=2 1.64-1.64 · n=1 FourCastNet v2 (IFS init) MAE by lead day 1 to 9, tmin
NCEP GFSgfs 1.56-0.64 · n=28 1.66-0.76 · n=27 2.08-1.39 · n=26 2.62-1.85 · n=25 2.49-1.76 · n=24 2.82-1.48 · n=23 2.48-0.38 · n=22 2.66-0.21 · n=21 3.75-1.17 · n=20 NCEP GFS MAE by lead day 1 to 9, tmin
GraphCast (GFS init)graphcast_gfs 2.55-2.55 · n=2 4.71-4.71 · n=1 GraphCast (GFS init) MAE by lead day 1 to 9, tmin
GraphCast (IFS init)graphcast_ifs 1.49-0.40 · n=27 1.64-0.35 · n=26 1.31-0.10 · n=24 1.70-0.06 · n=24 1.73-0.02 · n=24 1.92-0.10 · n=23 1.97-0.36 · n=22 2.50-0.55 · n=21 3.08-1.14 · n=20 GraphCast (IFS init) MAE by lead day 1 to 9, tmin
ECMWF IFS HRESifs_hres 1.20+0.48 · n=23 1.61+0.81 · n=21 1.86+0.79 · n=21 1.80+1.23 · n=20 2.31+0.61 · n=19 2.09+0.86 · n=18 2.02+0.48 · n=16 1.74+0.98 · n=16 2.76+0.61 · n=14 ECMWF IFS HRES MAE by lead day 1 to 9, tmin
Pangu-Weather (GFS init)pangu_gfs 2.16-1.67 · n=2 3.81-3.81 · n=1 Pangu-Weather (GFS init) MAE by lead day 1 to 9, tmin
Pangu-Weather (IFS init)pangu_ifs 1.68-1.12 · n=2 2.83-2.83 · n=1 Pangu-Weather (IFS init) MAE by lead day 1 to 9, tmin
Persistence (baseline)persistence 2.90-0.22 · n=88 4.41-0.41 · n=88 5.01-0.63 · n=89 5.35-0.74 · n=89 5.12-0.81 · n=89 5.16-0.82 · n=89 5.62-0.92 · n=89 5.87-1.03 · n=89 6.02-1.21 · n=89 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