Edition 2026-09-16 The Ledger Archive API RSS Weather Trader
Milepost
1108

TheForecast Post

A chronicle of American weather and climate  ·  Wednesday, 16 September 2026

The Ledger

What we said, and what happened

Every forecast this network publishes for a station with an hourly report is compared against that report once the valid time has passed, and the residual is written down. This is the whole file, published whether or not it flatters.

Pairs scored
633,439
2026-08-17 → 2026-09-16
Temperature MAE
2.955°F
all leads, both models
Stations
78
with enough samples to rank
Excluded
2
data defects, not misses

Skill by lead

Mean absolute error grows with lead time; the useful question is how fast. Every cell is printed with the number of pairs behind it, because a tidy value drawn from forty samples is not a measurement.

0123412345678day
NDFD NBM mean absolute temperature error, °F

Temperature (°F)

Lead NDFD MAENDFD bias NBM MAENBM bias pairs
Day 1 2.27 -0.02 2.23 -0.12 68,091
Day 2 2.47 -0.06 2.42 -0.16 65,834
Day 3 2.73 -0.08 2.63 -0.17 63,334
Day 4 2.96 +0.04 2.85 -0.17 60,980
Day 5 3.25 +0.06 3.12 -0.12 58,585
Day 6 3.54 +0.13 3.42 -0.05 56,174
Day 7 3.82 +0.27 3.66 -0.04 43,716
Day 8 3.96 -0.08 25,530

6-hour precipitation (in)

Lead NDFD MAENDFD bias NBM MAENBM bias pairs
Day 1 0.02 +0.00 15,603
Day 2 0.02 +0.00 28,228
Day 3 0.02 +0.00 23,811
Day 4 0.02 -0.01 27,058
Day 5 0.02 -0.01 25,871
Day 6 0.02 -0.01 24,709
Day 7 0.02 -0.01 23,546
Day 8 0.02 -0.01 22,369

Where the guidance leans

Mean absolute error says how far a forecast lands from the report; the signed mean says which side. A bias is not an error a reader has to accept — it is one they can correct for. Red runs warm, blue runs cool.

StationBias °F  MAE °Fpairs
YKM +2.55
3.91 5,255
NBG +2.51
3.00 5,824
MHL +2.18
3.33 5,741
GRB +2.10
3.46 5,800
EED -1.99
3.25 5,823
HHR -1.98
3.10 5,809
PDT -1.98
3.62 5,858
XNI +1.96
3.92 5,858
DLF -1.78
2.72 637
CMX +1.65
3.01 5,571
PHX -1.63
3.36 5,858
TVC +1.50
3.22 5,858
AVL -1.37
2.36 5,854
SHR -1.36
4.21 5,619
APN +1.31
2.94 5,858
BIH -1.15
3.39 5,857
TXK -1.14
2.90 5,858
BOI -1.12
4.10 5,858

Showing the 18 most-biased of 78 stations with at least 200 scored pairs.

Our misses

The largest temperature residuals in the file, one row per event. A bad forecast is re-issued every cycle until its valid time passes, so the raw list repeats the same miss a dozen times; the cycles column says how many runs carried it, which is the difference between one bad run and a model that stayed wrong for two days. They are printed for the same reason the rest of the file is.

StationModelValid Worst leadForecast ObservedResidual Cycles
HVENBM/NDFD 2026-09-01 00:00Z day 8 92.2 62.6 +29.6 57 of 60
SHRNBM/NDFD 2026-09-14 00:00Z day 6 58.2 87.1 -28.9 46 of 60
HVENBM/NDFD 2026-08-31 00:00Z day 8 96.2 69.8 +26.4 56 of 59
HVENBM/NDFD 2026-08-31 18:00Z day 8 89.0 62.6 +26.4 59 of 59
SJTNBM/NDFD 2026-08-28 00:00Z day 7 99.0 73.0 +26.1 55 of 55
MVHNBM/NDFD 2026-09-11 18:00Z day 7 71.9 46.4 +25.5 39 of 59
EEDNBM/NDFD 2026-09-07 00:00Z day 8 103.9 79.0 +24.9 55 of 60
CNKNBM/NDFD 2026-09-13 00:00Z day 8 86.3 62.1 +24.2 60 of 60
INWNBM/NDFD 2026-08-30 00:00Z day 7 98.0 73.9 +24.1 50 of 57
LITNBM/NDFD 2026-08-27 00:00Z day 8 94.9 71.1 +23.8 53 of 53
BOINBM/NDFD 2026-09-05 00:00Z day 5 79.1 55.9 +23.2 47 of 60
XNINBM/NDFD 2026-08-31 18:00Z day 8 83.9 60.8 +23.1 56 of 59

Method, and reach

ASOS reports at :53 and the forecast is stamped on the hour, so a forecast is paired with the nearest observation within 30 minutes and otherwise left unscored.

The ledger begins when the residuals began being written down. The upstream history store keeps a rolling forty cycles, so nothing before that date can be recovered at any price — the table deepens from here rather than reaching backwards.

A residual that cannot be believed is not a miss. 2 rows were excluded here as a data defect rather than a forecast error — a forecast outside the range of anything its own station has ever reported is a broken number, and publishing it as the month's worst miss would blame a forecaster for a decode bug.

Machine edition: /api/v1/ledger.json. Built 2026-09-16T18:25:21Z.