Station forecasts vs reality
The question this site answers first: you were forecast X; what did you actually get? For every station we score, every day, we take what each forecast said before the day began and put it next to what the station officially recorded.
1. The truth: the official NWS daily record
The observed high, low and precipitation are the station's official NWS daily climate record (the same numbers as its CLI climate report), taken from RCC-ACIS. The day is the station's local standard-time calendar day, midnight to midnight; during daylight saving time that runs 1 a.m. to 1 a.m. on the clock. A trace of rain counts as dry; measurable rain is 0.01" or more. The record usually lands the next morning, and the board is rebuilt every hour, so a day is scored as soon as its official numbers exist. If the NWS corrects a value later, the score is recomputed.
2. Which forecast counts: issued by 12Z, N days ahead
Forecasts are revised all day, so "what did NBM say?" needs a rule. For a target day D and a lead of N days, we take the last issue of each forecast at or before 12Z (7–8 a.m. Eastern) on day D−N. "Same morning" (N = 0) is the forecast you would have read at breakfast on the day itself; "the day before" (N = 1) is what you read the previous morning; and so on to a week ahead. Every source is held to the same clock. Same-morning lows are not scored, because by 12Z the overnight low has usually already happened.
3. The forecasts
- National Blend of Models (NBM): NOAA's calibrated blend and the baseline every other source is compared with. Its station highs and lows come directly from native maximum/minimum GRIB grids, sampled at the nearest grid cell with decoded precision retained for scoring (NWS 12-hour max/min windows); its rain comes from the blend's daily QPF. Temperature labels show tenths. NBM grid uploads must be available by the 12Z decision cutoff; text bulletins are not used for temperature scoring.
- NWS forecast (NDFD): the official forecast from local NWS offices, read from the National Digital Forecast Database grids.
- HRRR-MOS and RRFS-MOS: our own statistical post-processing of NOAA's HRRR and new RRFS models at about 2,400 ASOS stations (see HRRR-MOS). They are scored only from issues archived as they were published, starting September 19, 2026, never from re-runs.
- Classic MOS: LAMP, GFS MOS (MAV), NAM MOS (MET) and DWD MOSMIX.
- WN2-MOS: our statistical post-processing of Google WeatherNext 2's ensemble mean at the featured stations. For each station and lead it is fitted to the official record from WN2's 6-hourly 2 m temperature, rain, sea-level pressure pattern and 500 mb height, on the local standard day, weighting recent weeks most and refitting daily. It is scored from its first live issue, October 2, 2026, never from re-runs.
- ECMWF ensemble (EPS mean): each of the 50 members' own daily high and low (from the model's max/min temperature, not its 2 m snapshots) at the station's nearest land point, on the local standard day, averaged across members. A day the run does not span end to end — the issue day of a 06Z or 12Z run, and the day the run ends in — is not scored.
- Raw models: ECMWF IFS (HRES), GFS, the GEFS ensemble mean, DWD ICON, Canada's GEM, the UK Met Office, the raw HRRR and RRFS, and AI models (ECMWF AIFS, Google WeatherNext 2), each sampled at the station from its 2 m temperature (daily max/min) and precipitation.
- Persistence: "the same as the last complete day on the books when the forecast was made". Any forecast worth reading should beat it.
Some sources run on slightly different day definitions (NBM and the NAM/GFS MOS use NWS 12-hour max/min windows; models use their output intervals). We score them all against the same official calendar day, because that is the number people see and the number markets settle on. A source that defines the day differently pays for it in the score, as it would in practice.
4. The stations
Featured stations (about 60) are the major airports and city sites where we carry every source and rain amounts. The network is every ASOS station with an official daily record that our MOS covers, about 1,200, scored on the National Blend, HRRR-MOS, RRFS-MOS, GFS, ECMWF HRES, GEFS mean and ECMWF EPS mean. Missing forecasts or observations remain unscored.
Some older Weather Trader global archives retained only 48 hours of forecasts. They contribute complete daily windows within that span, with later leads left missing. Historical paired-case counts therefore vary by model and lead; each comparison displays its actual sample.
The four national raw model products are extracted from Weather Trader's archived global grids at each station's nearest land cell. Incomplete historical GEFS intervals are recovered directly from NOAA's original member GRIBs, with member identities and forecast periods checked. HRES uses the operational forecast on ECMWF's published 0.25° open-data grid; EPS uses 50 perturbed members, excluding HRES. GEFS includes its control and 30 perturbed members. Daily ensemble highs and lows are the average of each member's own daily extreme, with decoded temperature precision retained through scoring. Native 3- or 6-hour extreme intervals are grouped by midpoint onto the local standard calendar day, without daylight saving changes. These intervals can shift the assembled day's boundaries by up to three hours; that difference is recorded in station provenance. Partial days, missing intervals and incomplete members are excluded. At most one unavailable ensemble member is tolerated. Availability remains an explicitly estimated conservative lag where the original publication timestamp is unavailable.
5. The numbers
- Miss: forecast minus observed. Positive means the forecast was too warm (or too wet).
- Average miss: the mean absolute error over a window (7, 30 or 90 days).
- Bias: the mean signed miss, the forecast's lean.
- Within 2°: the share of station-days a temperature forecast landed within 2°F. For rain, the share of rain/no-rain calls that were right.
- vs NBM and vs persistence: 1 − (this forecast's average miss ÷ the baseline's), on exactly the same station-days. +10% means a tenth smaller misses than the baseline; negative means worse. Because sources cover different stations and periods, these matched comparisons, not the raw averages, are the fair way to rank sources with different coverage.
6. Horizons
The same rules run from the nowcast (same morning) through tomorrow and the days after it to a week ahead, so every source's baseline skill is known at every horizon. Weeks 3–4, monthly and seasonal outlooks (CPC and the seasonal models) will be scored against the same station record as they are added.
7. Caveats
- A single day is an anecdote. Read the 30- and 90-day boards for skill; read the daily map for stories.
- A storm near midnight can put rain on a different day than a forecast's window did. Rain amounts are noisier than temperatures for this reason.
- Forecast feeds occasionally miss an issue; that station-day is then left out for that source rather than filled from another run.
8. Quality control of the official record
Every score depends on the observation it is checked against, and the official record occasionally carries a bad value: a sensor fault or a keying error. Most big misses, though, are real busts (a sea breeze that never arrived, a thunderstorm outflow), and hiding those would defeat the purpose of the site. So an official value is held out only on two independent pieces of evidence:
- it misses the consensus of the forecasts (NBM, HRRR-MOS, RRFS-MOS, NWS, ECMWF, LAMP, GFS MOS) by 8°F or more, and
- the station's own hourly METAR reports for the same standard-time day disagree with it (the official high may sit up to 6°F above the highest hourly report, since the official value catches short peaks, but not more than 3°F below it; the low the mirror image), and the reports sit closer to the forecasts than the official value does.
A value the station's own reports back up is never held, however badly the forecasts missed it. Where there are no hourly reports to check, only an extreme value (15°F or more off the forecasts, and 12°F or more unlike the misses at neighbouring stations within 150 km that day) is held. Rain totals of 4" or more that no forecast put above 0.10" are held for review. Values outside physical limits, or a low above the high, are always held.
Held values are not scored. They are shown struck through on the station page and listed below. The checks run on every hourly build, so an official correction clears the hold automatically.
Loading the current holds…
Global models
The global-model standings score the large-scale pattern rather than station weather.
G1. The Standings metric: Day-5 pattern score
The headline number is the anomaly correlation coefficient (ACC) of 500 hPa geopotential height over the Northern Hemisphere, 20–80°N, multiplied by 100. It is the standard measure centres use to track medium-range skill: how well a forecast places the ridges and troughs that steer the weather, relative to climatology.
f = forecast, a = verifying analysis, c = climatology, w = latitude (area) weight
100 is a perfect pattern forecast. By convention a score below 60 is no longer a useful synoptic forecast, and the lead time where a model crosses 60 is its useful-forecast limit. Scores are also computed for Day 1–10 and for seven regions (Northern Hemisphere, Arctic, North Pacific, North America, North Atlantic, Europe, Asia).
G2. One common truth, and home field
Every model is graded against the same verifying analysis: ECMWF's operational analysis. Centres usually verify against their own analysis, which makes cross-centre comparisons unfair. One truth removes that, with one exception we flag openly. ECMWF HRES plays at home (marked HOME): it is graded against an analysis produced by the same system, which gives it a small advantage, especially at short leads.
G3. Games, windows and freshness
Each model run (00Z and 12Z) is a game. A run's Day-5 score exists five days after it starts, so the latest results always describe a run from five days ago. Rolling windows ("last 30 days") are measured by verification date and end at the most recent verification, so a late pipeline never silently shrinks the sample. Data is rebuilt every hour.
G4. Elo ratings
On every game, each pair of models that both verified plays a match: the higher Day-5 score wins, and scores within 0.05 are a draw. Ratings start at 1500 and update with the standard Elo expectation. The K-factor of 32 is divided across the field, so one game moves a rating by at most about 32 points however many models play:
ΔR_A = 32 × Σ_B (S_AB − E_AB) / (n − 1)
Elo rewards consistently beating the field, not a high average: a model that beats everyone narrowly every day outrates one that alternates big wins and big losses. The Power Rankings sort by Elo. A model with no runs in the last three days is shown as OFF, its rating frozen and its rank removed.
G5. Records, wins, streaks, form and awards
- W–L: head-to-head results against every other model, summed over games.
- Wins: games a model finished first outright. Busts: games it finished last.
- Streak: consecutive games with a winning (W) or losing (L) head-to-head night, meaning it beat, or lost to, most of the field.
- Last 10: finishing positions in the model's last ten games.
- Awards use the last seven days. Forecaster of the Week: most wins. Bust of the Week: largest single shortfall below the field average. Photo Finish: the narrowest winning margin. Biggest Climber: largest Elo gain. Long Ball: best 30-day Day-10 score.
- AI vs Physics: every same-game matchup between an active AI model and an active physics model in the last 30 days.
G6. Known caveats (read before you tweet)
- Ensemble means are flattered. Averaging many members smooths away unpredictable detail, which ACC rewards. Ensemble means (ECMWF ENS, AIFS ENS, WeatherNext) are labelled, and the Power Rankings can be filtered to compare single runs with single runs.
- Sample sizes differ. Models join the board when their archive starts; WeatherNext 3's record begins June 2026. Head-to-head records only count games both models played.
- One field, one level. 500 hPa height measures the large-scale pattern, not rain, wind or surface temperature. Surface skill is scored separately (below).
- Resolution and grids. All forecasts are compared on a common verification grid, which removes most fine-scale detail and can slightly favour smoother models.
G7. Humans vs Machines vs Money: daily highs
Point forecasts of the daily high temperature at U.S. stations, verified against the official settlement value of the daily-high contracts (°F). The scores are mean absolute error by lead day. Each source is scored on every station-day it forecast, so samples are not identical. NWS gridded forecasts (NDFD, the human-edited product) publish to Day 7.
The market is treated as a forecaster. Its forecast is the expected value of the price-implied probability distribution across the daily-high contract ladder, taken one day before. It is compared on the same station-days with the National Blend, a multi-model consensus, ECMWF HRES and the GEFS mean. "Closest on the day" counts the station-days on which each source was nearest the observed high, splitting ties.
G8. Hurricane League
Hurricane scores follow National Hurricane Center verification conventions, computed from NHC's public ATCF files:
- Only synoptic initial times (00, 06, 12, 18Z) count, and the system must be a tropical or subtropical cyclone in the best track at both the initial and the verifying time.
- Track error is the great-circle distance (n mi) between forecast and best-track positions. Intensity error is in knots of maximum sustained wind.
- Only early (interpolated) guidance is scored: what forecasters actually had when writing the advisory.
- Each aid is compared with NHC's official forecast (OFCL) on the same cases. Skill is measured against the CLIPER5/SHIFOR5 no-skill baseline. An aid needs at least 10 cases to be ranked.
- The best track is preliminary until NHC's post-season reanalysis.
- ECMWF guidance is not distributed in the public aid files, so it cannot be scored here yet.
Sources and credit
Official daily highs, lows and precipitation: the NWS climate record via the NOAA Regional Climate Centers' Applied Climate Information System (RCC-ACIS). Station guidance: the National Blend of Models, NDFD and LAMP from NOAA/NWS; GFS and NAM MOS via the Iowa Environmental Mesonet MOS archive; DWD MOSMIX from DWD open data. HRRR-MOS and RRFS-MOS are produced by Weather Trader from NOAA HRRR and RRFS output. RRFS, HRRR, GFS, AIGFS, the National Blend of Models and the NDFD archive from the NOAA Open Data Dissemination program (AWS); ECMWF IFS and AIFS from ECMWF open data (CC-BY-4.0). Basemap © OpenStreetMap contributors via Protomaps, served by Forecast Eagle. Model data from ECMWF, NOAA/NCEP, DWD, Environment and Climate Change Canada, the UK Met Office and Google DeepMind (WeatherNext). Hurricane forecasts and best tracks: NOAA National Hurricane Center (ATCF). Daily-high contract prices and settlements: ForecastEx. Verification computed by the Weather Trader pipeline. Forecast Scores is independent and not endorsed by any of these organisations.