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 Francisco Intl · GraphCast (GFS init) · lead day 1

KSFO · graphcast_gfs · lead 1

Target day = initialization date + 1 day. 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
tmax00Zbilinear30d1 1 QC4.64 [4.64, 4.64]0.00-4.64 [-4.64, -4.64]4.64 [4.64, 4.64]0% [0%, 0%]0%0%2026-08-30 → 2026-08-30
tmax00Zbilinear90d1 1 QC4.64 [4.64, 4.64]0.00-4.64 [-4.64, -4.64]4.64 [4.64, 4.64]0% [0%, 0%]0%0%2026-08-30 → 2026-08-30
tmax00Zbilinear365d1 1 QC4.64 [4.64, 4.64]0.00-4.64 [-4.64, -4.64]4.64 [4.64, 4.64]0% [0%, 0%]0%0%2026-08-30 → 2026-08-30
tmax00Zbilinearall1 1 QC4.64 [4.64, 4.64]0.00-4.64 [-4.64, -4.64]4.64 [4.64, 4.64]0% [0%, 0%]0%0%2026-08-30 → 2026-08-30
tmax00Znearest30d1 1 QC1.11 [1.11, 1.11]0.00+1.11 [1.11, 1.11]1.11 [1.11, 1.11]0% [0%, 0%]100%100%2026-08-30 → 2026-08-30
tmax00Znearest90d1 1 QC1.11 [1.11, 1.11]0.00+1.11 [1.11, 1.11]1.11 [1.11, 1.11]0% [0%, 0%]100%100%2026-08-30 → 2026-08-30
tmax00Znearest365d1 1 QC1.11 [1.11, 1.11]0.00+1.11 [1.11, 1.11]1.11 [1.11, 1.11]0% [0%, 0%]100%100%2026-08-30 → 2026-08-30
tmax00Znearestall1 1 QC1.11 [1.11, 1.11]0.00+1.11 [1.11, 1.11]1.11 [1.11, 1.11]0% [0%, 0%]100%100%2026-08-30 → 2026-08-30
tmax12Zbilinear30d2 1 QC6.10 [4.88, 7.31]1.21-6.10 [-7.31, -4.88]6.22 [4.88, 7.31]0% [0%, 0%]0%0%-1.03+0.602026-08-29 → 2026-08-30
tmax12Zbilinear90d2 1 QC6.10 [4.88, 7.31]1.21-6.10 [-7.31, -4.88]6.22 [4.88, 7.31]0% [0%, 0%]0%0%-1.03+0.602026-08-29 → 2026-08-30
tmax12Zbilinear365d2 1 QC6.10 [4.88, 7.31]1.21-6.10 [-7.31, -4.88]6.22 [4.88, 7.31]0% [0%, 0%]0%0%-1.03+0.602026-08-29 → 2026-08-30
tmax12Zbilinearall2 1 QC6.10 [4.88, 7.31]1.21-6.10 [-7.31, -4.88]6.22 [4.88, 7.31]0% [0%, 0%]0%0%-1.03+0.602026-08-29 → 2026-08-30
tmax12Znearest30d2 1 QC2.14 [0.88, 3.39]2.14-1.25 [-3.39, 0.88]2.48 [0.88, 3.39]50% [0%, 100%]50%50%+0.29+0.292026-08-29 → 2026-08-30
tmax12Znearest90d2 1 QC2.14 [0.88, 3.39]2.14-1.25 [-3.39, 0.88]2.48 [0.88, 3.39]50% [0%, 100%]50%50%+0.29+0.292026-08-29 → 2026-08-30
tmax12Znearest365d2 1 QC2.14 [0.88, 3.39]2.14-1.25 [-3.39, 0.88]2.48 [0.88, 3.39]50% [0%, 100%]50%50%+0.29+0.292026-08-29 → 2026-08-30
tmax12Znearestall2 1 QC2.14 [0.88, 3.39]2.14-1.25 [-3.39, 0.88]2.48 [0.88, 3.39]50% [0%, 100%]50%50%+0.29+0.292026-08-29 → 2026-08-30
tmin00Zbilinear30d1 1 QC0.89 [0.89, 0.89]0.00-0.89 [-0.89, -0.89]0.89 [0.89, 0.89]100% [100%, 100%]100%100%+0.112026-08-30 → 2026-08-30
tmin00Zbilinear90d1 1 QC0.89 [0.89, 0.89]0.00-0.89 [-0.89, -0.89]0.89 [0.89, 0.89]100% [100%, 100%]100%100%+0.112026-08-30 → 2026-08-30
tmin00Zbilinear365d1 1 QC0.89 [0.89, 0.89]0.00-0.89 [-0.89, -0.89]0.89 [0.89, 0.89]100% [100%, 100%]100%100%+0.112026-08-30 → 2026-08-30
tmin00Zbilinearall1 1 QC0.89 [0.89, 0.89]0.00-0.89 [-0.89, -0.89]0.89 [0.89, 0.89]100% [100%, 100%]100%100%+0.112026-08-30 → 2026-08-30
tmin00Znearest30d1 1 QC1.80 [1.80, 1.80]0.00-1.80 [-1.80, -1.80]1.80 [1.80, 1.80]0% [0%, 0%]100%100%-0.802026-08-30 → 2026-08-30
tmin00Znearest90d1 1 QC1.80 [1.80, 1.80]0.00-1.80 [-1.80, -1.80]1.80 [1.80, 1.80]0% [0%, 0%]100%100%-0.802026-08-30 → 2026-08-30
tmin00Znearest365d1 1 QC1.80 [1.80, 1.80]0.00-1.80 [-1.80, -1.80]1.80 [1.80, 1.80]0% [0%, 0%]100%100%-0.802026-08-30 → 2026-08-30
tmin00Znearestall1 1 QC1.80 [1.80, 1.80]0.00-1.80 [-1.80, -1.80]1.80 [1.80, 1.80]0% [0%, 0%]100%100%-0.802026-08-30 → 2026-08-30
tmin12Zbilinear30d2 1 QC0.47 [0.01, 0.93]0.47-0.46 [-0.93, 0.01]0.66 [0.01, 0.93]100% [100%, 100%]100%100%+0.53+0.532026-08-29 → 2026-08-30
tmin12Zbilinear90d2 1 QC0.47 [0.01, 0.93]0.47-0.46 [-0.93, 0.01]0.66 [0.01, 0.93]100% [100%, 100%]100%100%+0.53+0.532026-08-29 → 2026-08-30
tmin12Zbilinear365d2 1 QC0.47 [0.01, 0.93]0.47-0.46 [-0.93, 0.01]0.66 [0.01, 0.93]100% [100%, 100%]100%100%+0.53+0.532026-08-29 → 2026-08-30
tmin12Zbilinearall2 1 QC0.47 [0.01, 0.93]0.47-0.46 [-0.93, 0.01]0.66 [0.01, 0.93]100% [100%, 100%]100%100%+0.53+0.532026-08-29 → 2026-08-30
tmin12Znearest30d2 1 QC1.09 [0.48, 1.70]0.61-1.09 [-1.70, -0.48]1.25 [0.48, 1.70]50% [0%, 100%]100%100%-0.09+0.392026-08-29 → 2026-08-30
tmin12Znearest90d2 1 QC1.09 [0.48, 1.70]0.61-1.09 [-1.70, -0.48]1.25 [0.48, 1.70]50% [0%, 100%]100%100%-0.09+0.392026-08-29 → 2026-08-30
tmin12Znearest365d2 1 QC1.09 [0.48, 1.70]0.61-1.09 [-1.70, -0.48]1.25 [0.48, 1.70]50% [0%, 100%]100%100%-0.09+0.392026-08-29 → 2026-08-30
tmin12Znearestall2 1 QC1.09 [0.48, 1.70]0.61-1.09 [-1.70, -0.48]1.25 [0.48, 1.70]50% [0%, 100%]100%100%-0.09+0.392026-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 KSFO, lead day 1, 00Z bilinear tmax+5+2.50-2.5-52026-08-30: -4.64 °F2026-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 (1 days, newest first) · download CSV
Climatological dayError °F
2026-08-30-4.64

Error distribution

Distribution of the signed daily error in °F for GraphCast (GFS init) at KSFO, lead day 1-5 to -4.5 °F: 1 day-4.5 to -4 °F: 0 days-4 to -3.5 °F: 0 days-3.5 to -3 °F: 0 days-3 to -2.5 °F: 0 days-2.5 to -2 °F: 0 days-2 to -1.5 °F: 0 days-1.5 to -1 °F: 0 days-1 to -0.5 °F: 0 days-0.5 to 0 °F: 0 days0 to 0.5 °F: 0 days0.5 to 1 °F: 0 days1 to 1.5 °F: 0 days1.5 to 2 °F: 0 days2 to 2.5 °F: 0 days2.5 to 3 °F: 0 days3 to 3.5 °F: 0 days3.5 to 4 °F: 0 days4 to 4.5 °F: 0 days4.5 to 5 °F: 0 daysdashed: P50 |e| 4.64 · P90 |e| 4.64 °F-50+5 °Fn = 1 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
-5.00-4.501
-4.50-4.000
-4.00-3.500
-3.50-3.000
-3.00-2.500
-2.50-2.000
-2.00-1.500
-1.50-1.000
-1.00-0.500
-0.50+0.000
+0.00+0.500
+0.50+1.000
+1.00+1.500
+1.50+2.000
+2.00+2.500
+2.50+3.000
+3.00+3.500
+3.50+4.000
+4.00+4.500
+4.50+5.000

Month by month

00Z bilinear daily maximum, newest first.

Monthn MAE °FBias °F
2026-0814.64 -4.64

Availability

ModelScored period DaysCoverage
GraphCast (GFS init)2026-08-30 → 2026-08-30 1
GraphCast (GFS init)2026-08-30 → 2026-08-30 1
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 1 -0.68 [-0.68, -0.68] yes
Aurora (GFS init) 1 -2.00 [-2.00, -2.00] yes
Aurora (IFS init) 1 -3.67 [-3.67, -3.67] yes
FourCastNet v2 (GFS init) 1 +3.23 [3.23, 3.23] yes
FourCastNet v2 (IFS init) 1 +2.31 [2.31, 2.31] yes
NCEP GFS 1 -2.56 [-2.56, -2.56] yes
GraphCast (IFS init) 1 -0.11 [-0.11, -0.11] yes
ECMWF IFS HRES 1 -4.46 [-4.46, -4.46] yes
Pangu-Weather (GFS init) 1 -2.00 [-2.00, -2.00] yes
Pangu-Weather (IFS init) 1 -2.18 [-2.18, -2.18] yes
Persistence (baseline) 1 +4.64 [4.64, 4.64] yes

Cite this page

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

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

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