Wind Methodology
How the wind values shown on address, wind explorer, and PDF weather reports are derived — and how to read them honestly.
The one-sentence version
StormAuditor estimates the peak wind gust at an address by starting from the NWS analysis of record (URMA) and adjusting it with nearby measured evidence — airport-grade station gusts and measured storm reports — using a distance-weighted objective analysis, then reports the result as an estimate with its supporting evidence.
How SAWE-2 works
The current engine (SAWE-2.17) uses a two-pass Barnes/Koch objective analysis on top of the URMA gridded background:
- Background weight: the correction denominator carries a fixed background-confidence term (0.25 on convective days, 1.0 otherwise) — StormAuditor's parameter, following the optimal-interpolation principle (Daley 1991) of retaining weight on the official analysis where nearby instrument support is thin.
- Observations: ASOS/AWOS station gusts plus measured, non-station-sourced Local Storm Reports — station-sourced reports are deduplicated so the same instrument never counts twice.
- Adaptive radius: the influence radius follows the storm regime — broad for tropical and synoptic events, tighter for organized convection, tightest for isolated cells — with scales calibrated empirically against held-out measurements.
- Evidence cap: the correction never exceeds the largest error measured by an instrument close enough to carry weight, so far-away readings are never transplanted onto an address.
- Anomaly guard: a reading of 100+ mph counts only when an independent instrument within 50 miles measured at least 80% of its value that day, in every weather regime.
How it is verified
The engine is validated leave-one-station-out: each station's measured gust is hidden, the engine estimates that location from everything else, and the estimate is compared to the hidden measurement. The validated formula is exactly the one that ships — the greater of the local analysis value and the regional analysis field plus the capped two-pass observation correction. Validation cases are storm-active station-days over the trailing two years, all seasons; cases are never selected on the target station's own reading, and any co-located feed within 2 miles of the target is excluded from the evidence.
Engine changelog: SAWE-2.17 (Aug 2026) — an analysis value is described as the value at the property only when it comes from the property's own analysis grid cell or a field sample within 2 miles; anything farther is used as an interpolated background and labeled that way. Earlier in August 2026 — the extreme-reading rule became corroboration-only: any measured gust of 100+ mph must be supported by an independent instrument at 80% of its value within 50 miles that day, in every weather regime (archive-classified tropical days were previously exempt). The blind verification below was run under that earlier version and re-run on the shipped SAWE-2.17 formula in October 2026 (2,398 held-out station-days, mean absolute error 6.4 mph).
What affects precision — the same factors any gridded-analysis product carries, disclosed rather than hidden: complex terrain can differ from its 2.5-km analysis cell, areas with fewer instruments lean more on the gridded analysis, and radar-derived evidence is sharpest near a NEXRAD site. Every report shows which evidence backed its value and from how far, so these factors are visible case by case instead of averaged away.
Current verification statistics (SAWE-2, blind LOSO, all-season)
Latest blind leave-one-station-out run (n = 763 held-out station-days, August 2024 – August 2026, all seasons):
- Mean absolute error 6.4 mph; median error 4.3 mph.
- 81% of estimates within 10 mph of the hidden measurement — blind accuracy competitive with published station-dependent analysis errors of 3–6 mph RMSE on non-blind stations.
- Strong-wind detection: the smoothed gridded analysis by itself captures only 45% of real 40+ mph station-days; the engine recovers 65% of them.
- Frequency bias 0.95 — the engine flags almost exactly as many 40+ mph days as actually occur, neither inflating nor missing wholesale.
- Critical success index 0.50, versus 0.40 for the raw grid and 0.41 for a nearest-stations baseline.
- By design the engine stays conservative on the most extreme readings — a 60+ mph estimate is more likely understated than overstated.
Statistics are refreshed whenever the engine or the validator changes.
How to read a wind value
Every number is an estimate at the property coordinates, not an on-site measurement. Every value is produced from the analysis background plus nearby measured gusts under the published, versioned methodology. See Wind Report by Address, the statewide Wind Explorer, and Limitations. The measured station gusts the engine uses can be viewed day by day on the Storm Map Dashboard's free Stations layer.
Primary source documentation
Every dataset StormAuditor uses is public and officially documented — verify any layer at the source:
- NWS MRMS documentation — the Multi-Radar Multi-Sensor system behind MESH radar-estimated hail size, with the algorithm lineage in Witt et al. (1998), Weather and Forecasting 13(2), doi:10.1175/1520-0434(1998)013<0286:AEHDAF>2.0.CO;2.
- NOAA NCEP RTMA/URMA products — the real-time and un-restricted mesoscale analyses that serve as the NWS analysis of record for surface wind.
- NOAA HRRR model — the High-Resolution Rapid Refresh fields that supplement recent dates.
- NWS ASOS program — the automated airport-grade surface observing network supplying measured gusts (with AWOS operated under FAA standards).
- SPC severe weather reports and NWS Local Storm Reports — spotter, public, and emergency-management reports of hail and wind.
- NCEI Storm Events Database — the official post-storm federal record.
- FEMA disaster declarations (Data.gov) — federal recognition of major events.