Radio Waves Saw These Tornadoes Coming
2 Hours, 45 Minutes Early.
A 10-day study of the WSPR amateur radio network over CONUS during April 2026 found HF signal depression that begins 165 minutes before confirmed tornado touchdowns, scales with band in the order predicted by D-layer ionospheric physics, and survives a forecaster-lag control test.
The Observation
Amateur radio operators running the Weak Signal Propagation Reporter (WSPR) network transmit and receive weak signals continuously across HF bands, recording millions of path-decodes per day. Each spot records the transmitter, the receiver, the frequency, and the signal-to-noise ratio (SNR) of the decoded signal. Together they form a dense, passive, real-time map of ionospheric propagation over North America.
Storm chasers on YouTube have long observed that their cellular and HF radio links start to degrade as a supercell begins to rotate. The hypothesis, never quantitatively tested at scale, is that severe thunderstorms disturb the lower ionosphere (the D-layer, 60 to 90 km altitude) through convective coupling, lightning, or sprites. If that disturbance is detectable in WSPR data, HF radio could serve as a passive, cheap, distributed early-warning signal for severe weather.
What We Did
We pulled 34.5 million WSPR spots from wspr.live for the 10-day window April 9-19, 2026, covering a particularly active stretch of tornado season. After filtering to spots whose great-circle midpoint falls inside CONUS, 27.5 million spots remained. We aggregated them onto a 1° × 15-minute grid, computed per-(cell, hour-of-day) baseline SNR medians, and looked for cells under active severe weather.
Ground truth came from two sources. The SPC storm reports (3,798 reports: 177 tornadoes, 1,876 hail events, 1,745 wind events) are timestamped at the actual severe weather occurrence. The NWS warnings (1,669 tornado and severe thunderstorm warnings) are timestamped at the moment the forecaster issued the warning. The difference between these two timestamps is a built-in forecaster decision lag that we quantify explicitly.
Three Results
1. Storm cells show depressed WSPR SNR. Comparing cells under active severe weather warnings to matched quiet cells, all eight band × storm-type strata clear Bonferroni significance at α = 6.25 × 10−3. The most populated stratum, 40m × severe weather, shows a median SNR depression of 1.27 dB (95% CI −1.42 to −1.11, Nstorm = 1,343, Nquiet = 122,633, Welch p = 2.6 × 10−72). A null-shuffle calibration over 100 trials caps the maximum Cohen's d under the null at 0.415; the observed maximum is 1.36 (5.8× the p95 null). The signal is not a chance artifact.
2. Effect size follows the physics gradient. Lower HF bands, more absorbed by the D-layer, show larger effects; higher bands, D-layer transparent, show smaller or null effects:
| Band | Frequency | |Cohen's d| | Interpretation |
|---|---|---|---|
| 80m | 3.5 MHz | 1.05 – 1.36 | strongest (most D-layer-sensitive) |
| 40m | 7 MHz | 0.51 – 0.92 | strong |
| 30m | 10 MHz | 0.27 – 0.64 | moderate |
| 20m | 14 MHz | 0.19 – 0.31 | weakest (D-layer transparent) |
This ordering is what you would expect if the mechanism is ionospheric absorption driven by convective disturbance. It is not what you would expect if the effect were simply lightning QRN in receiver audio or a geographic confound. The gradient is the single cleanest piece of evidence that the signal is physically real.
3. The depression precedes storms, not warnings. Using SPC storm-report timestamps (no forecaster decision lag), the 40m band shows statistically significant SNR depression that begins at t = −240 min and reaches its minimum at t = −165 min before tornadoes touch down. 30m hail shows a 120-minute precursor, 30m wind 135 min. Only 5 of 12 strata show statistically significant effects against the null, but every single one of those 5 is classified as "precedes." None aligns, none lags.
Forecaster Decision Lag, Quantified
A harder question: is the "165-minute precursor" a real ionospheric signal, or is it the time it takes a forecaster to look at radar and decide to issue a warning? We ran the same analysis twice, once using NWS warning issue times (which include forecaster lag) and once using SPC event timestamps (which do not).
| Stratum | NWS kmin (min) | SPC kmin (min) | Real precursor |
|---|---|---|---|
| 40m tornado (N = 106) | −195 | −165 | ~165 real, ~30 forecaster |
| 30m hail | +90 | −120 | flipped sign (120 real) |
| 30m wind | +90 | −135 | flipped sign (135 real) |
When we switch from NWS warning timestamps to SPC event timestamps, three strata that looked like "lags" in the warning-based analysis flip sign entirely. The precursor structure was masked by forecaster decision lag. Removing that lag surfaces the underlying ionospheric signal.
Interactive animation (960 frames, 10-day CONUS loop):
→ Open the WSPR + SPC + NWS animated overlay Also available as MP4 (20 MB).What We Cannot Claim
A few caveats are load-bearing. First, this is 10 days of data. The tornado-specific precursor rests on N = 106 events after quality gating. A V2 verification run on historical outbreaks (Joplin 2011, April 2011 Super Outbreak, Moore 2013, Rolling Fork 2023) is the natural next step.
Second, we cannot distinguish several plausible mechanisms: D-layer absorption driven by convective overshoot, sprite or elve electrification, sporadic-E patch formation, or systematic QRN-through-event depression on receivers. The physics-consistent band gradient favors a D-layer mechanism, but favoring is not proving.
Third, the grid is 1°; warning polygons are much smaller. There is spatial mismatch. Fourth, the 80m tornado stratum (N = 20) shows the largest effect amplitude but is power-limited for the lag analysis. The tornado-specific precursor claim rests on the 40m band alone. Fifth, we do not claim causation: we claim a statistically significant correlation with a physically consistent mechanism, and we quantify how much of the timing lead is attributable to forecaster decision lag versus the underlying ionospheric signal.
Why Meteorology Should Care
If the 165-minute 40m precursor holds up on a larger sample, the WSPR network is a nearly-free, passive, distributed sensor for a phenomenon that currently requires Doppler radar networks, balloon soundings, and human forecasters. HF propagation over a continental corridor samples an ionospheric region much larger than a single radar beam. It may carry information the radar cannot see, or that the radar sees only after the storm has already matured.
Amateur radio has spent a century passing short text messages. We think it has been, quietly and continuously, also taking the ionosphere's temperature during severe weather. A historical case-study replication on Joplin 2011 and the April 2011 Super Outbreak is queued; if it confirms, the next question is whether WSPR can usefully be integrated into operational nowcasting.
Reproducibility
All data, code, intermediate artifacts, and the full statistical pipeline live in the wspr-tornado-season-conus-2026 workspace. Every number in this article comes from either data/storm_test.json or data/mechanism_lag_spc.json. The underlying scripts reproduce the result end-to-end. GitHub issues #133 through #141 track every step.