Weather Footprints

Verification › Experiments

Strong gusts: model gusts or 10 m wind?

Finished · 15 November 2026

The question. Which GEFS field best predicts an airport reporting a gust of 50 or 60 mph in a day: the model's gust, its 10 m wind, or either with terrain or season?

Data

Observations: the strongest wind or gust each airport reported each UTC day (METAR/SPECI sknt, gust, peak_wind_gust, after the spike filter), from 101 airports; at least 18 reports with a wind. Forecasts: per member, the strongest value at 00, 06, 12 and 18 UTC (as the live site does), bilinear at the airport.

  • Gust era: summers 2023 and 2024, the only archives with the model's gust field: 17,678 airport-days at day 0, 40 reaching 50 mph.
  • All data: summers 2023–2025 and January–March, October–November 2026: 36,345 airport-days, 327 reaching 50 mph and 79 reaching 60 mph.

Logistic regression, cross-validated by week blocks.

Results, gust era, 50 mph

PredictorBSS day 0AUC day 0BSS day 3AUC day 3
Raw share of members with gust ≥ 50 mph (the old live rule)−0.0460.835+0.0870.757
Logit of that share−0.0030.719+0.0550.587
Mean daily-max gust+0.1170.982+0.0470.952
Mean daily-max 10 m wind+0.1180.968+0.0660.925
Mean gust + mean 10 m wind+0.1070.981+0.0460.945
Mean 10 m wind + elevation + latitude+0.1230.967+0.0820.924

Results, all data, mean daily-max 10 m wind

StepBSS day 0AUC day 0BSS day 3AUC day 3
50 mph+0.3470.977+0.1760.944
60 mph+0.3450.969+0.2190.942
50 mph, + max member+0.3590.978+0.1720.953
60 mph, + max member+0.3490.969+0.1580.949
50 mph, + winter flag+0.3380.975+0.1660.933

Reliability, 50 mph, day 0 (cross-validated):

Chance givenAirport-daysForecast (mean)Observed
under 1 %33,6070.1 %0.1 %
1–5 %1,7452.2 %3.3 %
5–15 %5078.5 %9.1 %
15–30 %21722 %24 %
30–50 %11539 %31 %
50–100 %15475 %71 %

What worked

The ensemble-mean daily-max 10 m wind, one predictor per step and lead: as good as model gusts where both exist, available in every archive (so the winter storms could be used), and well calibrated across the range.

What did not

  • The raw gust share: no skill at day 0 (−0.046) — the members' gusts at four snapshots are not an airport's daily maximum.
  • The logit of the share as a predictor: ranking collapsed (AUC 0.72 at day 0, 0.59 at day 3).
  • Extra predictors: elevation and latitude, a winter flag, the strongest member — small gains in one place, losses in another (the strongest member made 60 mph at day 3 worse: +0.219 → +0.158). Not worth their instability.
  • 70 mph: only 30 airport-days in all the data reached it; too few to fit, so that step keeps its raw member share (capped at the 60 mph chance).

Caveat

At day 3, on the 40 gust-era events, the calibrated chance (+0.078 in production) scored a little below the raw gust share (+0.087). On so few events this is within noise, but it is the first thing the weekly checks should confirm or refute this winter.

What we changed

Live from 15 November 2026: the 50 and 60 mph chances are calibrated this way (production fit: BSS +0.348 / +0.186 for 50 mph, +0.345 / +0.229 for 60 mph, days 0 / 3).

Scripts: scripts/wind/extract.py, evaluate.py, final.py.