Listening for events…
FEATURE · METEOROLOGY · APRIL 20, 2026
By TerraPulse Lab  ·  8 min read
TerraPulse Research — Paper #32 (V4)

V4: The Precursor Decouples from Cloud-to-Ground Lightning.

We cross-correlated the WSPR 40m tornado precursor with 9.6 million GOES-16 GLM lightning flashes at four spatial scales across twelve outbreak events. The V3 signal reproduces at kmin = −270 minutes when triggered by SPC tornado touchdowns but vanishes at every GLM-lightning-based spatial scale we tested. Neither the QRN hypothesis nor the cell-local D-layer absorption hypothesis is supported. The mechanism is constrained, not resolved.

TerraPulse Data Lab 12 outbreaks • 2021–2024 Source: GOES-16 GLM L2, NOAA SPC
9.6M flashes
GLM L2 across 13 events
15 / 16
GLM scale×band cells NULL
−270 min
V3 signal recovers on V4 subset
2 DISFAVORED
QRN + cell-local D-layer

The Mechanism Question We Inherited

Three papers in the WSPR tornado series established the signal: paper #29 (V1, 165-min precursor on April 2026 CONUS), paper #30 (V2, Mayfield 2021 replication), and paper #31 (V3, 12 outbreaks plus 24 SPC-screened controls, Mayfield + Oklahoma 2024 both replicating, outbreak-vs-dose Welch null). The effect is real and reproduces. But V1–V3 left four candidate mechanisms on the table:

  • D-layer absorption: convective overshoot ionizes the lower ionosphere before the first cloud-to-ground flash.
  • Lightning QRN: radio-frequency noise from lightning crushes WSPR receiver SNR in real time.
  • Sprites / transient luminous events: high-altitude electrodynamics altering the D-region.
  • Sporadic-E: intermittent mid-latitude ionospheric patches, unrelated to convection.

The two mechanisms that are testable with continuous cloud-to-ground lightning data are D-layer absorption and QRN. They predict different timing:

  • D-layer: WSPR depression should precede lightning onset by tens of minutes (convective ionization before the first flash).
  • QRN: WSPR depression should track lightning density in real time at lag zero.

V4 runs this discriminator on 12 of the V3 outbreak events using GOES-16 Geostationary Lightning Mapper Level-2 flash data.

Data: 9.6 Million Flashes

We pulled GLM L2 Lightning Cluster Filter Algorithm data from the NOAA public S3 archive for each event's 72-hour window plus one clean control. 9,594,586 lightning flashes, 132 MB of parquet after filtering to CONUS and extracting only the flash catalog from each 20-second NetCDF scan file. The full pull took ~72 minutes across ~170,000 files.

We then gridded both WSPR spots (from the V3 workspace) and GLM flashes to a joint 1° cell by 15-minute bin grid, stratified by WSPR band (80m, 40m, 30m, 20m). Per-(cell, hour) WSPR SNR residuals were computed against an event-scoped baseline. Directional sanity: on 40m, all 12 outbreaks showed a weakly negative Pearson r between WSPR SNR residual and log-flash-count, confirming the expected sign before any lag analysis.

Three-method pooled overlay: V3 SPC timestamp precedes, V4 GLM cell and event level NULL
Fig. 1. Pooled 40m tornado superposed-epoch curves on the same 12 outbreak events, triggered three different ways. V3 method using SPC tornado touchdown timestamps (thick black) recovers the −270-minute precursor with amplitude −1.68 dB, exceeding the null p95 of 1.59 dB. V4 method using GLM cell-local lightning onset (red) is flat. V4 method using GLM event-level lightning onset (blue) is flat at lag zero, with a spurious dip at lag −360 min that is physics-inconsistent and treated as a chance fluctuation.

The Cross-Correlation at Four Scales

We ran the superposed-epoch analysis with t0 defined four different ways:

  1. Cell-local: per-(1° cell), first 15-min bin where flash_count ≥ 10.
  2. 3×3 neighborhood (~300 km): aggregate lightning over the cell plus its 8 neighbors.
  3. 5×5 neighborhood (~500 km): aggregate over 24 neighbors.
  4. Event-level: single t0 per event = first bin where flash count across all outbreak cells ≥ 100.

For each of 16 scale×band cells we recorded kmin, min value, bootstrap 95% CI, and a 200-shuffle null p95 threshold. A scale×band cell was classified as D-LAYER (lead by ≥ 30 min, exceeds null), QRN (simultaneous, exceeds null), LAG (after lightning), or NULL (never exceeds null).

Four-scale, four-band k_min matrix showing all NULL at GLM-based scales, precedes at V3 SPC-based
Fig. 2. kmin in minutes for each aggregation scale row by band column. Blue = negative lag (precedes). Red = positive lag. Only the bottom row (V3 SPC-timestamp method) shows a clear precedes classification at 40m, 30m, and 80m. All 16 GLM-based scale×band cells except one return NULL. The single exceedance (event-level 20m, kmin = −345 min) is physics-inconsistent (D-region is transparent at 14 MHz) and falls within the 0.8 false positives expected by chance at α = 0.05 across 16 tests.

The Result: Decoupled

Fifteen of sixteen GLM-based scale×band cells returned NULL on the outbreak pool. The one exceedance was event-level 20m with kmin = −345 min, a direction and band both inconsistent with any physical mechanism that would target the 14-MHz band. At nominal α = 0.05 across 16 tests, 0.8 false positives are expected. One observed, one expected.

To verify this wasn't a methodological drift, we re-ran V3's SPC-timestamp superposed-epoch on the same 12 events. V3's signal reproduced exactly: 40m kmin = −270 min, min −1.68 dB, null p95 1.59 dB, 426 cell-bins contributing. The precursor is on these events. It is not tied to GLM lightning onset at any of the spatial scales we tested.

What This Rules Out

✗ QRN at receiver sites — DISFAVORED
The QRN hypothesis predicts the WSPR depression tracks cell-local lightning in real time, at lag zero. V4 cell-local 40m kmin = +45 min, amplitude −0.32 dB, inside null p95 of 0.41 dB. No correlation, no tracking.
✗ Cell-local D-layer absorption — DISFAVORED
The naive D-layer hypothesis predicts depression preceding first cloud-to-ground flash in the same 1° cell. V4 cell-local and even 500-km-neighborhood tests return NULL across all four HF bands.
Mechanism constraint diagram: QRN and cell-local D-layer ruled out; pre-electrification convective and synoptic regional survive
Fig. 3. Mechanism constraint after V4. Two hypotheses are now disfavored. Two survive as candidates for V5.

What Survives

? Pre-electrification convective physics
GLM only sees optical cloud-to-ground flashes. Cumulus-top overshoot, gravity-wave propagation, and early in-cloud electrification phases produce ionospheric disturbance before the first detectable CG flash. V5 should test with cloud-top IR brightness from GOES ABI or MRMS radar overshoot products.
? Synoptic-scale regional disturbance (> 1000 km)
The precursor may be larger than the outbreak footprint. V4 only tested scales up to 500 km neighborhoods and event-level (typically 300–800 km). Continental-scale aggregation with GNSS TEC maps or SuperDARN HF radar data could reveal a synoptic pattern.
? Non-convective synoptic coincidence
The precursor may correlate with tornado occurrence via a third variable (e.g., strong baroclinic pattern that both produces tornadoes and independently disturbs the ionosphere). Controls matched by synoptic environment rather than by SPC reports could isolate this.

This Is a Constraint Paper, Not a Resolution Paper

V4 eliminates two of the four original candidate mechanisms. The remaining two have specific predictions that future work can test. The precursor is real (V3 replicated), but its causal chain is neither the obvious QRN artifact nor the obvious cell-local ionospheric absorption. Something else is happening.

The most interesting limitation: GLM sees optical flashes from the cloud top. It is blind to the earliest phases of convective electrification, to gravity-wave-driven ionospheric perturbations, and to any ionospheric disturbance larger than the footprint of the local flash array. Those are exactly the phenomena the surviving hypotheses require.

Flash-Level Aftermath Test (Strengthens the 40m Null)

A peer-review concern on V4 was that the 15-minute cell-aggregate grid could smear a pure-QRN aftermath — a fast instantaneous noise spike following each cloud-to-ground flash would be diluted into a 15-min average. To rule this out we ran a targeted flash-aligned analysis at WSPR's native 2-minute cadence on the top-10 flash-dense 1° cells per outbreak, stacking per-band SNR residuals at 2-min lags 0 through +14 min post-flash and comparing to a shuffled-flash-time null.

The 40m result reinforces the primary V4 verdict: across 21,292 flash-aligned observations and 2,531 background windows, the delta-SNR residual stays within +0.2 to +0.5 dB at every post-flash lag, comfortably inside the 1.4 dB null p95. There is no lag-zero spike, no decaying tail — nothing a QRN mechanism would produce at WSPR's native resolution.

Flash-level aftermath curves at 2-minute cadence: 40m, 30m, 20m, 80m post-flash lag stacks
Fig. 4. Delta SNR residual vs post-flash lag at WSPR's native 2-min cadence, stacked on top-10 flash-dense cells per event. 40m (primary precursor band) stays flat within the null band across all 8 post-flash lags. 20m likewise null. 30m shows a non-canonical persistent depression peaking at lag +6 min. 80m insufficient data (nighttime band, daytime storms).
Band N flash-aligned Delta range (dB) Null p95 (dB) Verdict
40m21,292+0.21 to +0.511.40NULL
30m6,154−1.74 to −0.960.31NON-CANONICAL
20m45,490−0.16 to +0.03NULL
80mINSUFFICIENT

The 30m Anomaly: A V5 Hook

The one result that does not fit the null story is 30m. Across 6,154 flash-aligned observations it shows a persistent 1 to 2 dB SNR depression that peaks at lag +6 minutes and decays slowly, exceeding its 0.31 dB null p95. But the timing is wrong for QRN: a radio-frequency noise mechanism would produce an instantaneous lag-zero spike and then decay, not a delayed peak six minutes after the flash. This is flagged as a limitation, not a retraction of the primary 40m verdict.

Three candidate explanations for V5 to disentangle: (i) post-flash ionospheric ringing driven by in-cloud electrification that GLM does not see, (ii) 10-MHz single-hop F-layer disturbance propagating to WSPR path midpoints hundreds of kilometers from the flash itself, or (iii) selection bias from restricting the stack to top-10 flash-dense cells per event. The V4 DECOUPLED verdict stands for the primary 40m band; 30m opens a new question.

V5 Roadmap

  1. NOAA MRMS / GOES ABI overshoot detection: defines convective onset from cloud-top brightness temperature, not from first CG flash.
  2. GNSS TEC / SuperDARN HF radar: tests synoptic-scale ionospheric aggregation above 1000 km.
  3. Non-tornadic severe weather: does the precursor appear on derechos, heavy hail days, or non-tornadic MCS events?
  4. 40m single-hop skip geometry: the 40m band reflects at specific F-layer heights; testing whether the precursor correlates with ionosonde foF2 trends would distinguish F-layer from D-layer mechanisms.

Where The Four-Paper Arc Lands

Paper Claim Evidence
#29 V1165-min precursor on 40m10-day CONUS, d=−0.51, p=2.6e−72
#30 V2Replicates on Mayfield 20217 historical outbreaks, Mayfield d=−0.447
#31 V3General to tornadic convection12 outbreaks+24 SPC-screened controls, Δd CI straddles zero
#32 V4Decouples from GLM CG lightning9.6M flashes, 15/16 GLM scale×band NULL, V3 signal recovers

Each paper narrowed the claim. V1 made a bold assertion. V2 replicated it. V3 walked it back to "tornado-activity-general." V4 ruled out two mechanisms. This is replication working. The precursor is real, the discipline of narrowing is honest, and the remaining mechanism search is well-defined.

Reproducibility

All code and data live in the wspr-tornado-v4-mechanism workspace. GLM fetch, joint grid, four-scale cross-correlation, V3-method reproduction, and verdict JSON are committed. GitHub issues #156 through #164 track each stage with its own numerical audit. All numbers in this article trace to data/v4_verdict.json, data/v3_method_on_v4_events.json, or one of the per-scale lag-correlation JSONs.

Paper #32 accepted 2026-04-20. PMA draft, Mike R1 ACCEPT (4 non-blocking minors), combined PMA polish + Dana copyedit. Data: wspr.live, NOAA GOES-16 GLM, NOAA SPC archive. All times UTC.

Live Feed