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 4

KSAN · gfs · lead 4

Target day = initialization date + 4 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
tmax00Zbilinear30d26 1 QC3.09 [2.31, 3.80]1.35-3.07 [-3.79, -2.26]3.64 [2.72, 4.61]12% [0%, 23%]23%54%-0.03+0.522026-08-05 → 2026-08-30
tmax00Zbilinear90d26 1 QC3.09 [2.23, 3.87]1.35-3.07 [-3.87, -2.17]3.64 [2.62, 4.62]12% [0%, 25%]23%54%-0.03+0.522026-08-05 → 2026-08-30
tmax00Zbilinear365d26 1 QC3.09 [2.21, 3.97]1.35-3.07 [-3.97, -2.14]3.64 [2.59, 4.81]12% [0%, 25%]23%54%-0.03+0.522026-08-05 → 2026-08-30
tmax00Zbilinearall26 1 QC3.09 [2.25, 3.91]1.35-3.07 [-3.91, -2.20]3.64 [2.65, 4.73]12% [0%, 25%]23%54%-0.03+0.522026-08-05 → 2026-08-30
tmax00Znearest30d26 1 QC5.52 [4.62, 6.54]1.35-5.52 [-6.54, -4.62]5.90 [4.77, 7.12]0% [0%, 0%]0%4%-0.84+0.512026-08-05 → 2026-08-30
tmax00Znearest90d26 1 QC5.52 [4.56, 6.65]1.35-5.52 [-6.65, -4.56]5.90 [4.68, 7.20]0% [0%, 0%]0%4%-0.84+0.512026-08-05 → 2026-08-30
tmax00Znearest365d26 1 QC5.52 [4.49, 6.80]1.35-5.52 [-6.80, -4.49]5.90 [4.61, 7.41]0% [0%, 0%]0%4%-0.84+0.512026-08-05 → 2026-08-30
tmax00Znearestall26 1 QC5.52 [4.49, 6.77]1.35-5.52 [-6.77, -4.49]5.90 [4.63, 7.33]0% [0%, 0%]0%4%-0.84+0.512026-08-05 → 2026-08-30
tmax12Zbilinear30d26 1 QC3.25 [2.43, 4.04]1.39-3.24 [-4.04, -2.42]3.84 [2.85, 4.87]8% [0%, 21%]27%46%-0.08+0.502026-08-05 → 2026-08-30
tmax12Zbilinear90d26 1 QC3.25 [2.36, 4.07]1.39-3.24 [-4.07, -2.34]3.84 [2.72, 4.90]8% [0%, 21%]27%46%-0.08+0.502026-08-05 → 2026-08-30
tmax12Zbilinear365d26 1 QC3.25 [2.34, 4.17]1.39-3.24 [-4.17, -2.33]3.84 [2.64, 5.06]8% [0%, 22%]27%46%-0.08+0.502026-08-05 → 2026-08-30
tmax12Zbilinearall26 1 QC3.25 [2.41, 4.11]1.39-3.24 [-4.11, -2.40]3.84 [2.76, 5.01]8% [0%, 22%]27%46%-0.08+0.502026-08-05 → 2026-08-30
tmax12Znearest30d26 1 QC5.63 [4.66, 6.74]1.44-5.63 [-6.74, -4.66]6.05 [4.85, 7.34]0% [0%, 0%]0%8%-0.88+0.482026-08-05 → 2026-08-30
tmax12Znearest90d26 1 QC5.63 [4.62, 6.80]1.44-5.63 [-6.80, -4.62]6.05 [4.78, 7.42]0% [0%, 0%]0%8%-0.88+0.482026-08-05 → 2026-08-30
tmax12Znearest365d26 1 QC5.63 [4.53, 6.99]1.44-5.63 [-6.99, -4.53]6.05 [4.69, 7.65]0% [0%, 0%]0%8%-0.88+0.482026-08-05 → 2026-08-30
tmax12Znearestall26 1 QC5.63 [4.52, 6.90]1.44-5.63 [-6.90, -4.52]6.05 [4.67, 7.58]0% [0%, 0%]0%8%-0.88+0.482026-08-05 → 2026-08-30
tmin00Zbilinear30d26 1 QC2.49 [1.82, 3.20]1.29+2.28 [1.38, 3.16]2.82 [2.11, 3.45]15% [4%, 30%]38%69%-1.09-0.082026-08-05 → 2026-08-30
tmin00Zbilinear90d26 1 QC2.49 [1.75, 3.27]1.29+2.28 [1.32, 3.24]2.82 [2.04, 3.51]15% [5%, 31%]38%69%-1.09-0.082026-08-05 → 2026-08-30
tmin00Zbilinear365d26 1 QC2.49 [1.69, 3.35]1.29+2.28 [1.26, 3.35]2.82 [1.96, 3.55]15% [0%, 32%]38%69%-1.09-0.082026-08-05 → 2026-08-30
tmin00Zbilinearall26 1 QC2.49 [1.74, 3.47]1.29+2.28 [1.26, 3.47]2.82 [2.00, 3.65]15% [0%, 33%]38%69%-1.09-0.082026-08-05 → 2026-08-30
tmin00Znearest30d26 1 QC1.79 [1.31, 2.29]1.24+1.48 [0.75, 2.18]2.10 [1.60, 2.50]31% [13%, 53%]62%81%-0.50-0.042026-08-05 → 2026-08-30
tmin00Znearest90d26 1 QC1.79 [1.24, 2.37]1.24+1.48 [0.69, 2.27]2.10 [1.56, 2.57]31% [11%, 60%]62%81%-0.50-0.042026-08-05 → 2026-08-30
tmin00Znearest365d26 1 QC1.79 [1.19, 2.41]1.24+1.48 [0.60, 2.35]2.10 [1.48, 2.61]31% [10%, 61%]62%81%-0.50-0.042026-08-05 → 2026-08-30
tmin00Znearestall26 1 QC1.79 [1.21, 2.39]1.24+1.48 [0.62, 2.32]2.10 [1.49, 2.63]31% [9%, 67%]62%81%-0.50-0.042026-08-05 → 2026-08-30
tmin12Zbilinear30d26 1 QC2.48 [1.82, 3.15]1.20+2.30 [1.40, 3.12]2.78 [2.13, 3.33]15% [4%, 30%]31%69%-1.08-0.012026-08-05 → 2026-08-30
tmin12Zbilinear90d26 1 QC2.48 [1.79, 3.22]1.20+2.30 [1.36, 3.21]2.78 [2.08, 3.38]15% [5%, 31%]31%69%-1.08-0.012026-08-05 → 2026-08-30
tmin12Zbilinear365d26 1 QC2.48 [1.75, 3.27]1.20+2.30 [1.30, 3.27]2.78 [2.00, 3.44]15% [0%, 32%]31%69%-1.08-0.012026-08-05 → 2026-08-30
tmin12Zbilinearall26 1 QC2.48 [1.71, 3.39]1.20+2.30 [1.28, 3.39]2.78 [1.97, 3.51]15% [0%, 33%]31%69%-1.08-0.012026-08-05 → 2026-08-30
tmin12Znearest30d26 1 QC1.77 [1.35, 2.23]1.18+1.50 [0.78, 2.16]2.06 [1.63, 2.43]27% [11%, 42%]62%81%-0.49+0.012026-08-05 → 2026-08-30
tmin12Znearest90d26 1 QC1.77 [1.30, 2.29]1.18+1.50 [0.72, 2.26]2.06 [1.57, 2.48]27% [7%, 43%]62%81%-0.49+0.012026-08-05 → 2026-08-30
tmin12Znearest365d26 1 QC1.77 [1.26, 2.33]1.18+1.50 [0.64, 2.32]2.06 [1.52, 2.53]27% [6%, 43%]62%81%-0.49+0.012026-08-05 → 2026-08-30
tmin12Znearestall26 1 QC1.77 [1.26, 2.30]1.18+1.50 [0.62, 2.27]2.06 [1.50, 2.49]27% [0%, 43%]62%81%-0.49+0.012026-08-05 → 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 4, 00Z bilinear tmax+10+50-5-102026-08-05: -2.01 °F2026-08-06: -3.42 °F2026-08-07: -3.74 °F2026-08-08: -2.38 °F2026-08-09: -3.57 °F2026-08-10: -3.67 °F2026-08-11: -3.03 °F2026-08-12: -2.92 °F2026-08-13: -3.5 °F2026-08-14: -4.08 °F2026-08-15: -3.95 °F2026-08-16: -1.79 °F2026-08-17: -1.35 °F2026-08-18: -0.5 °F2026-08-19: +0.26 °F2026-08-20: -2.25 °F2026-08-21: -2.8 °F2026-08-22: -1.71 °F2026-08-23: -6.64 °F2026-08-24: -3.2 °F2026-08-25: -2.21 °F2026-08-26: -9.63 °F2026-08-27: -2.56 °F2026-08-28: -0.84 °F2026-08-29: -5.89 °F2026-08-30: -2.5 °F2026-08-052026-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 (26 days, newest first) · download CSV
Climatological dayError °F
2026-08-30-2.50
2026-08-29-5.89
2026-08-28-0.84
2026-08-27-2.56
2026-08-26-9.63
2026-08-25-2.21
2026-08-24-3.20
2026-08-23-6.64
2026-08-22-1.71
2026-08-21-2.80
2026-08-20-2.25
2026-08-19+0.26
2026-08-18-0.50
2026-08-17-1.35
2026-08-16-1.79
2026-08-15-3.95
2026-08-14-4.08
2026-08-13-3.50
2026-08-12-2.92
2026-08-11-3.03
2026-08-10-3.67
2026-08-09-3.57
2026-08-08-2.38
2026-08-07-3.74
2026-08-06-3.42
2026-08-05-2.01

Error distribution

Distribution of the signed daily error in °F for NCEP GFS at KSAN, lead day 4-10 to -9 °F: 1 day-9 to -8 °F: 0 days-8 to -7 °F: 0 days-7 to -6 °F: 1 day-6 to -5 °F: 1 day-5 to -4 °F: 1 day-4 to -3 °F: 8 days-3 to -2 °F: 8 days-2 to -1 °F: 3 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| 2.86 · P90 |e| 4.99 °F-100+10 °Fn = 26 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.001
-9.00-8.000
-8.00-7.000
-7.00-6.001
-6.00-5.001
-5.00-4.001
-4.00-3.008
-3.00-2.008
-2.00-1.003
-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-08263.09 -3.07

Availability

ModelScored period DaysCoverage
NCEP GFS2026-08-05 → 2026-08-30 26
NCEP GFS2026-08-05 → 2026-08-30 26
NCEP GFS2026-08-05 → 2026-08-30 26
NCEP GFS2026-08-05 → 2026-08-30 26

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 26 -0.39 [-1.20, 0.44] no
GraphCast (IFS init) 25 -2.69 [-3.63, -1.69] yes
ECMWF IFS HRES 20 -2.71 [-4.20, -1.16] yes
Persistence (baseline) 26 +0.09 [-0.70, 0.86] no

Cite this page

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

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

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