The Spread

Which weather model is most accurate in Charlotte?

Charlotte, North Carolina · daily high temperature · trailing 30 days · refreshed at most every 6 hours

Every day, The Spread archives what each major weather model predicted for Charlotte 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-06 to 2026-08-05), for daily high temperature.

One day out, ECMWF AIFS (AI) has been most accurate (typical miss 1.26°F); at three days, ECMWF AIFS (AI) (1.2°F); at seven days, ECMWF AIFS (AI) (2.92°F).

The largest standing bias belongs to GEM (Canada), which has run warm by about 4.76°F at 1-day lead over this window.

The Spread's own bias-corrected blend scored a 1.03°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) 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 AIFS (AI) 1.3° (-0.0°) 1.2° (-0.6°) 2.9° (-1.0°) 30
NOAA AIGFS (AI) 1.6° (+0.6°) 2.7° (-1.6°) 3.8° (-1.7°) 30
DWD ICON 1.9° (+0.4°) 3.3° (+0.6°) 30
ECMWF IFS 2.0° (+0.8°) 2.1° (-0.1°) 3.4° (+1.2°) 30
UKMO (UK) 2.1° (+1.8°) 3.0° (+1.6°) 30
NOAA GFS 2.6° (+2.4°) 4.8° (+3.9°) 6.8° (+5.6°) 30
GEM (Canada) 4.9° (+4.8°) 2.6° (-1.0°) 4.1° (-0.0°) 30
NBM (US blend) 1.6° (-0.1°) 2.0° (-0.7°) 3.3° (+1.4°) 30
Blended (bias-corrected) 1.0° (+0.0°) 1.5° (+0.0°) 2.6° (+0.0°) 30

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 2 8 days out the models said 85–90; it hit 86. AIGFS led (off 0.4°); ICON ran 4° cold.
  • Sat Aug 1 7 days out the models said 79–87; it hit 86. AIFS led (off 1.2°); GEM ran 6° hot.
  • Fri Jul 31 6 days out the models said 85–94; it hit 88. AIFS led (off 0.0°); GEM ran 4° hot.
  • Thu Jul 30 5 days out the models said 84–92; it hit 84. ECMWF led (off 0.4°); GEM ran 6° hot.
  • Wed Jul 29 4 days out the models said 85–94; it hit 88. ECMWF led (off 0.8°); GEM ran 6° hot.
  • Tue Jul 28 3 days out the models said 89–98; it hit 91. ECMWF led (off 0.8°); AIFS ran 4° cold.

Other cities

Atlanta, Georgia Boston, Massachusetts Buffalo, New York Chicago, Illinois Dallas, Texas Denver, Colorado Houston, Texas Los Angeles, California Miami, Florida Minneapolis, Minnesota New Orleans, Louisiana New York, New York Oklahoma City, Oklahoma Orlando, Florida Phoenix, Arizona Salt Lake City, Utah San Francisco, California 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.