Listening for events…
FEATURE · RESEARCH · PRE-REGISTERED NULL · APRIL 16, 2026
By TerraPulse Lab  ·  7 min read
TerraPulse Research — Paper #25

Can WSPR Detect Commercial Aircraft? A Pre-Registered Test That Couldn't Run.

We collected 5.3 million WSPR spots and 934,000 ADS-B aircraft positions across 24 hours and three transatlantic station pairs. Every WSPR bin had at least one aircraft in it. The control group had zero members. The test returned NaN.

TerraPulse Data Lab Accepted: April 13, 2026 Reviewer pipeline: Elise → Mike → Dana
5.3M
WSPR spots (24h)
934K
ADS-B positions
9,886
unique aircraft
100%
crossing-bin saturation (2/3 pairs)

The Prior Question

The Godfrey WSPR-MH370 hypothesis claims that disturbances in WSPR (Weak Signal Propagation Reporter) station-pair data can be used to retroactively trace the path of Malaysia Airlines flight 370 across the southern Indian Ocean in 2014. The claim has attracted major public attention without controlled evaluation.

Before any responsible evaluation of that hypothesis against the historical record, we have to answer a prior question: can WSPR detect commercial aircraft at all, against ground truth, on a recent date with full ADS-B coverage and full WSPR archive coverage?

If the answer is no, the hypothesis is dead regardless of how compelling post-hoc pattern matches look. If the answer is yes, we have a reference signature for what an aircraft crossing actually looks like in WSPR data. This is the only honest starting point.

Pre-registration

All methods were locked in a pre-registration document committed to Git on 2026-04-10 before any data was pulled. Hypothesis, data sources, station-pair selection criteria, statistical tests, significance threshold, seed, and decision rule — all specified up front. Five subsequent deviations (upstream data-source changes, window shift, integer bin-guard rounding) are logged with dates and reasons in the paper's §10.

What We Collected

WSPR: 5.3M spots / 134.3 MB via db1.wspr.live ClickHouse, 24h window 2026-04-12 17:12 → 2026-04-13 17:12 UTC
ADS-B: 933,870 state vectors from adsb.fi, 1,440 one-minute sweeps, 99.93% success, 4 tiled 250 NM circles (US East Coast, Newfoundland, Ireland/UK, Western Europe)
Station pairs: top 3 by spot count on paths passing within 50 km of the 50°N 30°W NAT waypoint — SP3VSS→EI4JJB (Poland→Ireland), IU0JJD→WA2TP (Italy→NYC), RL3DF→LA1ZM (Russia→Norway)

Result Table

Pair ADS-B hits Bins Crossing bins Welch p Perm p
SP3VSS→EI4JJB8,724202202 (100%)NaN1.0
IU0JJD→WA2TP51,423158158 (100%)NaN1.0
RL3DF→LA1ZM01440 (0%)NaN1.0

Welch's t-test requires both groups to have at least one observation. For pairs 1–2 the control group (non-crossing bins) is empty. For pair 3 the treatment group is empty.

The Crossing Walls

The crossings aren't a trickle — they're a continuous wall. The IU0JJD→WA2TP path (Italy to New York, 6,908 km) crosses southern European airspace, the UK flight information region, and the US Northeast corridor. At any given moment, hundreds of aircraft are within 25 km of this great circle near its endpoints.

IU0JJD→WA2TP SNR residual with crossing overlay — solid red wall
Fig. 1. IU0JJD→WA2TP. Blue line: WSPR SNR residual, 2-min bins. Red vertical lines: aircraft crossings within 25 km of the great circle. The red forms an unbroken wall spanning all 24 hours — no non-crossing bins exist.
SP3VSS→EI4JJB SNR residual with crossing overlay
Fig. 2. SP3VSS→EI4JJB (Poland→Ireland). Dense red covers active WSPR hours (roughly 04:13–15:13 UTC). The 1,657 km intra-European path traverses the core of European en-route airspace.
RL3DF→LA1ZM SNR residual — no crossings
Fig. 3. RL3DF→LA1ZM (Russia→Norway). No red lines — the path falls entirely outside our four ADS-B polling tiles, so no state vectors were collected along it regardless of actual traffic.

Why Saturation Happened

The pre-registration estimated 50–200 discrete crossing transits per day, implicitly assuming aircraft would cross the great-circle path transiently (perpendicular transit, one event per aircraft). The actual geometry differs in two ways:

  1. Parallel tracking. Many aircraft fly along or parallel to the great-circle path for extended periods. A 25-km perpendicular tolerance captures anyone on nearby airways. An aircraft following a North Atlantic Organized Track route stays inside the envelope for hundreds of kilometers — dozens of state-vector hits per aircraft at 60-second polling.
  2. Endpoint convergence. Near the stations themselves (dense European and North American airspace), the great circle passes through terminal maneuvering areas. Cross-sectional traffic density here vastly exceeds the mid-ocean rate the pre-registration was calibrated against.

The Mid-Atlantic Blind Spot

ADS-B ground truth is structurally unavailable over the mid-Atlantic (roughly 50°W to 20°W) because community ADS-B depends on volunteer ground receivers with ~370 km line-of-sight range at FL350. The nearest receivers (Newfoundland, Iceland, Ireland) leave ~2,000 km of open ocean without coverage. Satellite ADS-B (Aireon via FlightAware/Spire) covers the gap but requires paid commercial access outside this study's budget.

What the Null Result Still Tells Us

We report this honestly as inconclusive — the test could not be executed, so we don't claim WSPR does or doesn't detect aircraft. But the saturation finding has an indirect implication for post-hoc retrospective studies.

If air traffic is so dense that virtually every WSPR bin on a transatlantic path contains crossing events, then any correlation between SNR anomalies and "aircraft presence" may be trivially true — not because WSPR detects aircraft, but because aircraft are always present. Post-hoc analyses that identify SNR anomalies and retroactively associate them with aircraft presence face this same problem: on busy corridors, every anomaly will have a nearby aircraft by chance.

What a Better Test Would Look Like

A revised pre-registration could address saturation:

  • Narrower tolerance — 5 km perpendicular distance targeting only aircraft on the Fresnel zone
  • Altitude filtering — restrict to aircraft above FL300, excluding traffic unlikely to interact with ionospheric skip paths
  • Quieter corridors — polar or oceanic station pairs with sparser traffic than the busiest corridor on Earth
  • Satellite ADS-B — eliminates both saturation near shore and the mid-ocean blind spot
  • Continuous crossing-density metric instead of binary crossing/non-crossing classification

These require a new pre-registration and are outside the scope of this study.

Reproducibility

All code, data, and intermediate artifacts live in the wspr-aircraft-detection workspace. Pre-registration is locked. Every generated artifact carries a .meta.json provenance sidecar (git SHA + input hashes). Seed: 42. Pipeline entry point: python -m scripts.run_pipeline.

Paper #25 accepted 2026-04-13 through Elise → Mike (R1 major revision: 15 issues addressed; R2 minor: 1 issue) → Dana (copyedit: 12 fixes). Data: db1.wspr.live, adsb.fi. All times UTC.

Published paper

The full scientific paper, with methods, tables, and references.

Live Feed