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 · NCEP GFS · lead day 0

KSAN · 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, gfs-0p25, starting 2026-08-01 — 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
tmax00Zbilinear30d30 1 QC2.93 [2.27, 3.54]1.24-2.91 [-3.54, -2.20]3.32 [2.62, 3.95]10% [0%, 23%]33%47%2026-08-01 → 2026-08-30
tmax00Zbilinear90d30 1 QC2.93 [2.17, 3.53]1.24-2.91 [-3.53, -2.10]3.32 [2.52, 3.91]10% [0%, 24%]33%47%2026-08-01 → 2026-08-30
tmax00Zbilinear365d30 1 QC2.93 [2.15, 3.57]1.24-2.91 [-3.57, -2.07]3.32 [2.48, 3.99]10% [0%, 25%]33%47%2026-08-01 → 2026-08-30
tmax00Zbilinearall30 1 QC2.93 [2.05, 3.60]1.24-2.91 [-3.60, -1.95]3.32 [2.39, 3.97]10% [0%, 26%]33%47%2026-08-01 → 2026-08-30
tmax00Znearest30d30 1 QC5.33 [4.62, 6.07]1.15-5.33 [-6.07, -4.62]5.57 [4.85, 6.35]0% [0%, 0%]3%7%2026-08-01 → 2026-08-30
tmax00Znearest90d30 1 QC5.33 [4.53, 6.00]1.15-5.33 [-6.00, -4.53]5.57 [4.70, 6.30]0% [0%, 0%]3%7%2026-08-01 → 2026-08-30
tmax00Znearest365d30 1 QC5.33 [4.52, 6.11]1.15-5.33 [-6.11, -4.52]5.57 [4.73, 6.41]0% [0%, 0%]3%7%2026-08-01 → 2026-08-30
tmax00Znearestall30 1 QC5.33 [4.39, 6.16]1.15-5.33 [-6.16, -4.39]5.57 [4.61, 6.43]0% [0%, 0%]3%7%2026-08-01 → 2026-08-30
tmin00Zbilinear30d30 1 QC2.14 [1.38, 2.98]1.22+2.03 [1.20, 2.95]2.51 [1.71, 3.23]27% [7%, 47%]50%73%2026-08-01 → 2026-08-30
tmin00Zbilinear90d30 1 QC2.14 [1.37, 3.02]1.22+2.03 [1.18, 2.99]2.51 [1.70, 3.28]27% [6%, 50%]50%73%2026-08-01 → 2026-08-30
tmin00Zbilinear365d30 1 QC2.14 [1.29, 3.08]1.22+2.03 [1.12, 3.06]2.51 [1.64, 3.31]27% [4%, 55%]50%73%2026-08-01 → 2026-08-30
tmin00Zbilinearall30 1 QC2.14 [1.37, 3.08]1.22+2.03 [1.20, 3.08]2.51 [1.69, 3.30]27% [0%, 50%]50%73%2026-08-01 → 2026-08-30
tmin00Znearest30d30 1 QC1.53 [1.01, 2.10]1.00+1.35 [0.70, 2.05]1.83 [1.25, 2.35]33% [13%, 57%]70%97%2026-08-01 → 2026-08-30
tmin00Znearest90d30 1 QC1.53 [1.01, 2.10]1.00+1.35 [0.69, 2.07]1.83 [1.25, 2.36]33% [13%, 55%]70%97%2026-08-01 → 2026-08-30
tmin00Znearest365d30 1 QC1.53 [0.93, 2.16]1.00+1.35 [0.62, 2.15]1.83 [1.21, 2.38]33% [12%, 59%]70%97%2026-08-01 → 2026-08-30
tmin00Znearestall30 1 QC1.53 [0.99, 2.15]1.00+1.35 [0.69, 2.14]1.83 [1.24, 2.38]33% [12%, 57%]70%97%2026-08-01 → 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 NCEP GFS at KSAN, lead day 0, 00Z bilinear tmax+10+50-5-102026-08-01: -2.05 °F2026-08-02: -1.77 °F2026-08-03: +0.34 °F2026-08-04: -0.33 °F2026-08-05: -3.59 °F2026-08-06: -4.2 °F2026-08-07: -2.04 °F2026-08-08: -1.2 °F2026-08-09: -3.13 °F2026-08-10: -4.54 °F2026-08-11: -3.46 °F2026-08-12: -4.34 °F2026-08-13: -4.65 °F2026-08-14: -3.12 °F2026-08-15: -3.61 °F2026-08-16: -1.99 °F2026-08-17: -3.19 °F2026-08-18: -1.64 °F2026-08-19: -0.96 °F2026-08-20: -4.56 °F2026-08-21: -2.86 °F2026-08-22: -1.58 °F2026-08-23: -3.49 °F2026-08-24: -3.31 °F2026-08-25: -4.08 °F2026-08-26: -8.18 °F2026-08-27: -2.49 °F2026-08-28: -1.95 °F2026-08-29: -3.63 °F2026-08-30: -1.65 °F2026-08-012026-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 (30 days, newest first) · download CSV
Climatological dayError °F
2026-08-30-1.65
2026-08-29-3.63
2026-08-28-1.95
2026-08-27-2.49
2026-08-26-8.18
2026-08-25-4.08
2026-08-24-3.31
2026-08-23-3.49
2026-08-22-1.58
2026-08-21-2.86
2026-08-20-4.56
2026-08-19-0.96
2026-08-18-1.64
2026-08-17-3.19
2026-08-16-1.99
2026-08-15-3.61
2026-08-14-3.12
2026-08-13-4.65
2026-08-12-4.34
2026-08-11-3.46
2026-08-10-4.54
2026-08-09-3.13
2026-08-08-1.20
2026-08-07-2.04
2026-08-06-4.20
2026-08-05-3.59
2026-08-04-0.33
2026-08-03+0.34
2026-08-02-1.77
2026-08-01-2.05

Error distribution

Distribution of the signed daily error in °F for NCEP GFS at KSAN, lead day 0-10 to -9 °F: 0 days-9 to -8 °F: 1 day-8 to -7 °F: 0 days-7 to -6 °F: 0 days-6 to -5 °F: 0 days-5 to -4 °F: 6 days-4 to -3 °F: 9 days-3 to -2 °F: 4 days-2 to -1 °F: 7 days-1 to 0 °F: 2 days0 to 1 °F: 1 day1 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| 3.13 · P90 |e| 4.54 °F-100+10 °Fn = 30 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.001
-8.00-7.000
-7.00-6.000
-6.00-5.000
-5.00-4.006
-4.00-3.009
-3.00-2.004
-2.00-1.007
-1.00+0.002
+0.00+1.001
+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-08302.93 -2.91

Availability

ModelScored period DaysCoverage
NCEP GFS2026-08-01 → 2026-08-30 30
NCEP GFS2026-08-01 → 2026-08-30 30

Compared with other models

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

Other modelCommon days MAE difference °FDistinguishable
ECMWF AIFS Single 30 -1.04 [-1.83, -0.32] yes
Aurora (GFS init) 2 -3.14 [-3.71, -2.57] yes
Aurora (IFS init) 3 -2.26 [-2.49, -1.82] yes
FourCastNet v2 (GFS init) 2 -0.29 [-1.83, 1.25] no
FourCastNet v2 (IFS init) 3 -0.28 [-0.65, 0.45] no
GraphCast (GFS init) 2 -2.66 [-3.35, -1.97] yes
GraphCast (IFS init) 28 -2.67 [-3.39, -1.89] yes
ECMWF IFS HRES 25 -2.61 [-3.13, -1.98] yes
Pangu-Weather (GFS init) 2 -2.74 [-4.14, -1.34] yes
Pangu-Weather (IFS init) 3 -3.10 [-3.50, -2.31] yes

Cite this page

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

LongCastCheck (2026). Station-level verification of raw weather-model 2 m temperature forecasts: KSAN (San Diego Lindbergh), model 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/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