Which weather model is most accurate in San Francisco?
San Francisco, California · daily high temperature in °F · trailing 30 days · refreshed at most every 6 hours
Every day, The Spread archives what each major weather model predicted for San Francisco at 1-, 3-, and 7-day leads, then scores those forecasts against ERA5 reanalysis once the day has happened. This page covers the trailing 30 days (2026-07-12 to 2026-08-11), for daily high temperature.
One day out, ECMWF IFS has been most accurate (typical miss 2.22°F); at three days, ECMWF IFS (2.01°F); at seven days, GEM (Canada) (3.12°F).
The largest standing bias belongs to NOAA AIGFS (AI), which has run warm by about 10.38°F at 3-day lead over this window.
The Spread's own bias-corrected blend scored a 1.44°F typical miss at one day. Its corrections come from the same window it is scored on (in-sample), so read it as a ceiling, not a promise.
The scoreboard
Typical miss (MAE) in °F with the signed bias in parentheses — positive bias means the model ran warm. Days = scored days behind the 1-day number.
| Model | 1-day | 3-day | 7-day | Days |
|---|---|---|---|---|
| ECMWF IFS | 2.2° (+0.7°) | 2.0° (+0.7°) | 3.8° (-1.1°) | 31 |
| GEM (Canada) | 2.4° (+0.8°) | 2.7° (-0.5°) | 3.1° (-1.1°) | 31 |
| DWD ICON | 2.5° (-2.3°) | 2.6° (-2.4°) | — | 31 |
| ECMWF AIFS (AI) | 4.4° (+4.4°) | 4.6° (+4.6°) | 4.6° (+3.9°) | 31 |
| NOAA GFS | 4.4° (+3.8°) | 6.3° (+5.5°) | 6.2° (+5.4°) | 31 |
| UKMO (UK) | 5.0° (+5.0°) | 5.0° (+4.8°) | — | 31 |
| NOAA AIGFS (AI) | 9.7° (+9.7°) | 10.4° (+10.4°) | 9.3° (+8.7°) | 31 |
| NBM (US blend) | 4.6° (+4.2°) | 4.7° (+4.0°) | 4.1° (+2.9°) | 31 |
| Blended (bias-corrected) | 1.4° (-0.0°) | 1.6° (+0.0°) | 2.4° (-0.0°) | 31 |
Method, honestly
Forecasts come from each model's actual archived runs via Open-Meteo's Previous Runs API — what the model said at the time, not a reconstruction. Truth is ERA5 reanalysis daily highs.Rankings cover the models themselves; the two consensus products at the bottom of the table — NBM, which is itself a blend of models, and The Spread's own bias-corrected blend — are shown for comparison, never ranked or named "most accurate" here. The blend's corrections come from the same trailing window it is scored on (in-sample), so treat its score as a ceiling. A rolling 30-day window means these numbers move — that is the point.
Receipts — was the forecast right?
One page per settled date: what every model said as the day approached, what happened, and who was closest.
- Sun Aug 9 13 days out the models said 62–75; it hit 66. ICON led (off 2.5°F); AIGFS ran 16°F hot.
- Sat Aug 8 12 days out the models said 64–75; it hit 62. ICON led (off 0.7°F); AIGFS ran 16°F hot.
- Fri Aug 7 11 days out the models said 66–77; it hit 62. ICON led (off 2.0°F); AIGFS ran 14°F hot.
- Thu Aug 6 10 days out the models said 69–81; it hit 65. ICON led (off 0.4°F); AIGFS ran 10°F hot.
- Wed Aug 5 9 days out the models said 68–83; it hit 66. ICON led (off 0.1°F); AIGFS ran 12°F hot.
- Tue Aug 4 8 days out the models said 66–85; it hit 67. ICON led (off 2.5°F); AIGFS ran 11°F hot.
- Mon Aug 3 7 days out the models said 69–84; it hit 69. ICON led (off 2.2°F); AIGFS ran 14°F hot.
- Sun Aug 2 6 days out the models said 65–81; it hit 72. GEM led (off 0.6°F); GFS ran 11°F hot.
- Sat Aug 1 5 days out the models said 66–81; it hit 71. ECMWF led (off 1.3°F); AIGFS ran 10°F hot.
- Fri Jul 31 4 days out the models said 64–80; it hit 69. ECMWF led (off 1.7°F); AIGFS ran 6°F hot.
- Thu Jul 30 3 days out the models said 64–77; it hit 65. GEM led (off 0.3°F); AIGFS ran 9°F hot.
Other cities
Atlanta, Georgia Boston, Massachusetts Buffalo, New York Charlotte, North Carolina Chicago, Illinois Dallas, Texas Denver, Colorado Houston, Texas London, England Los Angeles, California Miami, Florida Milan, Lombardy Minneapolis, Minnesota New Orleans, Louisiana New York, New York Oklahoma City, Oklahoma Orlando, Florida Phoenix, Arizona Salt Lake City, Utah Seattle, Washington Washington, District of Columbia
The Spread — the forecast spread — is in closed beta. These verification pages are public while the rest is gated.