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

San Diego Lindbergh · GraphCast (GFS init) · lead day 0

KSAN · graphcast_gfs · lead 0

Target day = initialization date + 0 days. This page is a permanent link: the numbers change as history accumulates, the address and the methodology version do not.

Scores use the latest model version segment, GRAP_v100, starting 2026-08-28 — days before that ran a different version of the model and are excluded rather than silently pooled. Of the scored days, 1 carry a QC flag on the observation.

JSON for this page CSV of the daily errors Cite this page

Every number for this combination

All four windows × both initializations × both interpolations × both variables. Errors are computed in °C and shown in °F; CI is a 95 % moving-block bootstrap interval. MAE debiased and skill, debiased remove the constant offset of the window first, so a station that the model always reads a degree too warm is not scored as if it had no skill — compare the two skill columns to see how much of the error is a fixed offset. n QC next to n counts days whose observation carries a QC flag.

VariableInitMethod Windown MAE °F MAE debiased Bias °F RMSE °F ±1 °F±2 °F±3 °F Skill Skill, debiased Period
tmax00Zbilinear30d2 1 QC5.30 [3.62, 6.99]1.68-5.30 [-6.99, -3.62]5.57 [3.62, 6.99]0% [0%, 0%]0%0%2026-08-29 → 2026-08-30
tmax00Zbilinear90d2 1 QC5.30 [3.62, 6.99]1.68-5.30 [-6.99, -3.62]5.57 [3.62, 6.99]0% [0%, 0%]0%0%2026-08-29 → 2026-08-30
tmax00Zbilinear365d2 1 QC5.30 [3.62, 6.99]1.68-5.30 [-6.99, -3.62]5.57 [3.62, 6.99]0% [0%, 0%]0%0%2026-08-29 → 2026-08-30
tmax00Zbilinearall2 1 QC5.30 [3.62, 6.99]1.68-5.30 [-6.99, -3.62]5.57 [3.62, 6.99]0% [0%, 0%]0%0%2026-08-29 → 2026-08-30
tmax00Znearest30d2 1 QC7.37 [5.44, 9.31]1.94-7.37 [-9.31, -5.44]7.62 [5.44, 9.31]0% [0%, 0%]0%0%2026-08-29 → 2026-08-30
tmax00Znearest90d2 1 QC7.37 [5.44, 9.31]1.94-7.37 [-9.31, -5.44]7.62 [5.44, 9.31]0% [0%, 0%]0%0%2026-08-29 → 2026-08-30
tmax00Znearest365d2 1 QC7.37 [5.44, 9.31]1.94-7.37 [-9.31, -5.44]7.62 [5.44, 9.31]0% [0%, 0%]0%0%2026-08-29 → 2026-08-30
tmax00Znearestall2 1 QC7.37 [5.44, 9.31]1.94-7.37 [-9.31, -5.44]7.62 [5.44, 9.31]0% [0%, 0%]0%0%2026-08-29 → 2026-08-30
tmin00Zbilinear30d2 1 QC1.52 [0.58, 2.46]1.52-0.94 [-2.46, 0.58]1.79 [0.58, 2.46]50% [0%, 100%]50%100%2026-08-29 → 2026-08-30
tmin00Zbilinear90d2 1 QC1.52 [0.58, 2.46]1.52-0.94 [-2.46, 0.58]1.79 [0.58, 2.46]50% [0%, 100%]50%100%2026-08-29 → 2026-08-30
tmin00Zbilinear365d2 1 QC1.52 [0.58, 2.46]1.52-0.94 [-2.46, 0.58]1.79 [0.58, 2.46]50% [0%, 100%]50%100%2026-08-29 → 2026-08-30
tmin00Zbilinearall2 1 QC1.52 [0.58, 2.46]1.52-0.94 [-2.46, 0.58]1.79 [0.58, 2.46]50% [0%, 100%]50%100%2026-08-29 → 2026-08-30
tmin00Znearest30d2 1 QC1.47 [0.86, 2.07]1.47-0.61 [-2.07, 0.86]1.59 [0.86, 2.07]50% [0%, 100%]50%100%2026-08-29 → 2026-08-30
tmin00Znearest90d2 1 QC1.47 [0.86, 2.07]1.47-0.61 [-2.07, 0.86]1.59 [0.86, 2.07]50% [0%, 100%]50%100%2026-08-29 → 2026-08-30
tmin00Znearest365d2 1 QC1.47 [0.86, 2.07]1.47-0.61 [-2.07, 0.86]1.59 [0.86, 2.07]50% [0%, 100%]50%100%2026-08-29 → 2026-08-30
tmin00Znearestall2 1 QC1.47 [0.86, 2.07]1.47-0.61 [-2.07, 0.86]1.59 [0.86, 2.07]50% [0%, 100%]50%100%2026-08-29 → 2026-08-30

+ 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 error, last 90 days

Daily forecast minus observed error in °F for GraphCast (GFS init) at KSAN, lead day 0, 00Z bilinear tmax+10+50-5-102026-08-29: -6.99 °F2026-08-30: -3.62 °F2026-08-292026-08-30°F, forecast − observed
Forecast − observed, °F, 00Z bilinear daily maximum. The dashed line is zero; the thick line is a centred 7-day mean, drawn only where the whole window is present. Gaps are days with no score, never interpolation. Hover a point for its date and value.
The same series as a table (2 days, newest first) · download CSV
Climatological dayError °F
2026-08-30-3.62
2026-08-29-6.99

Error distribution

Distribution of the signed daily error in °F for GraphCast (GFS init) at KSAN, lead day 0-10 to -9 °F: 0 days-9 to -8 °F: 0 days-8 to -7 °F: 0 days-7 to -6 °F: 1 day-6 to -5 °F: 0 days-5 to -4 °F: 0 days-4 to -3 °F: 1 day-3 to -2 °F: 0 days-2 to -1 °F: 0 days-1 to 0 °F: 0 days0 to 1 °F: 0 days1 to 2 °F: 0 days2 to 3 °F: 0 days3 to 4 °F: 0 days4 to 5 °F: 0 days5 to 6 °F: 0 days6 to 7 °F: 0 days7 to 8 °F: 0 days8 to 9 °F: 0 days9 to 10 °F: 0 daysdashed: P50 |e| 5.3 · P90 |e| 6.65 °F-100+10 °Fn = 2 days
All scored days for 00Z bilinear daily maximum, 20 equal bins. The dashed marks are the 50th and 90th percentiles of the absolute error, mirrored on both sides. Hover a bar for its bin and count.
Bin counts as a table
From °FTo °FDays
-10.00-9.000
-9.00-8.000
-8.00-7.000
-7.00-6.001
-6.00-5.000
-5.00-4.000
-4.00-3.001
-3.00-2.000
-2.00-1.000
-1.00+0.000
+0.00+1.000
+1.00+2.000
+2.00+3.000
+3.00+4.000
+4.00+5.000
+5.00+6.000
+6.00+7.000
+7.00+8.000
+8.00+9.000
+9.00+10.000

Month by month

00Z bilinear daily maximum, newest first.

Monthn MAE °FBias °F
2026-0825.30 -5.30

Availability

ModelScored period DaysCoverage
GraphCast (GFS init)2026-08-29 → 2026-08-30 2
GraphCast (GFS init)2026-08-29 → 2026-08-30 2

Compared with other models

Paired bootstrap on the days both models cover (90d, 00Z, bilinear, daily maximum). Negative means GraphCast (GFS init) has the lower MAE. "Distinguishable" means the 95 % interval excludes zero.

Other modelCommon days MAE difference °FDistinguishable
ECMWF AIFS Single 2 +2.06 [1.86, 2.26] yes
Aurora (GFS init) 2 -0.48 [-0.60, -0.36] yes
Aurora (IFS init) 2 +0.18 [0.10, 0.25] yes
FourCastNet v2 (GFS init) 2 +2.37 [1.52, 3.22] yes
FourCastNet v2 (IFS init) 2 +2.01 [1.91, 2.11] yes
NCEP GFS 2 +2.66 [1.97, 3.35] yes
GraphCast (IFS init) 2 +0.47 [0.10, 0.85] yes
ECMWF IFS HRES 2 -0.40 [-0.63, -0.17] yes
Pangu-Weather (GFS init) 2 -0.08 [-0.79, 0.63] no
Pangu-Weather (IFS init) 2 -0.84 [-1.11, -0.56] yes

Cite this page

ShortCastCheck, KSAN graphcast_gfs lead 0, methodology v0.2, accessed 2026-08-31, https://castcheck.zifanzhang.com/station/KSAN/model/graphcast_gfs/lead/0/

LongCastCheck (2026). Station-level verification of raw weather-model 2 m temperature forecasts: KSAN (San Diego Lindbergh), model graphcast_gfs, lead day 0. Methodology version 0.2, schema version 0.1, data through 2026-08-30. Accessed 2026-08-31. https://castcheck.zifanzhang.com/station/KSAN/model/graphcast_gfs/lead/0/

Accessed2026-08-31 (data through 2026-08-30; page built 2026-08-31T03:52:06+00:00)

JSON CSV all scores methodology v0.2 licence