Listening for events…
TerraPulse Research

10.94 Billion Spots, One Wrong Sign

Ham radio operators have known for 30 years that the 10 m band opens when the Sun is active. We measured it across two complete solar cycles and found the opposite. Then we figured out why — and it isn't the ionosphere.

TerraPulse Data Lab April 2026 Paper #109
10.94B
WSPR spots, 2004–2026
+0.39
40 m correlation (expected)
−0.40
10 m correlation (surprise)
0 / 10,000
permutations beat observed

Every textbook on high-frequency radio propagation says the same thing: when the Sun is active, the 10-meter band opens. We aggregated 10,935,947,917 WSPR spots across two complete solar cycles to confirm it. The data said no.

Specifically, the data said the opposite. Monthly mean signal-to-noise ratio on the 10 m and 12 m amateur bands gets worse as sunspot count rises — and the effect is large, clean, and statistically airtight. Pearson r = −0.40 on 10 m, r = −0.44 on 12 m, both significant past Bonferroni correction, both surviving every robustness check we threw at them.

Either thirty years of HF propagation theory is wrong, or there is something subtle and instructive happening inside the metric itself. This article is about the second possibility.

The Expected Story

Solar activity follows an 11-year cycle. At maximum, the Sun emits more extreme-ultraviolet light, which ionizes the upper atmosphere more strongly. The peak electron density in the F-layer of the ionosphere goes up. The maximum usable frequency — the highest frequency that will reflect cleanly off the ionosphere instead of leaking out into space — rises with it.

For a ham radio operator, this is the difference between hearing nothing on 10 m and working stations on the other side of the planet with five watts. The 10 m band sits at 28 MHz, well above the typical solar-minimum MUF, so for years at a time it is essentially silent. As the cycle climbs, it comes alive: short-skip across the continent, then trans-oceanic, then long-path DX. The same physics partly suppresses the lower bands — more daytime D-layer absorption on 80 m and 40 m — but the dominant story at HF is that high bands open up at solar maximum.

Translated into a statistical prediction: monthly mean SNR on 40 m, 30 m, and 20 m should correlate positively with sunspot number, and the effect should be even larger on 10 m and 12 m. That is what HF propagation theory says, and that is what every operator on the air during the last cycle felt with their own ears.

The Data

WSPR — the Weak Signal Propagation Reporter network — is a global, citizen-science HF propagation monitor. Thousands of low-power beacon transmitters and software-defined receivers continuously log decoded "spots," each one stamped with a transmitter call, a receiver call, a frequency, a UTC time, and a reported SNR in decibels. It is by some distance the largest public record of real-world HF propagation that exists.

We pulled the entire WSPRnet archive: 258 month-partitioned Parquet files spanning November 2004 through March 2026, totalling 213.8 GB and 10,935,947,917 individual spots. That window covers solar cycles 24 (2008–2019) and 25 (2019–present) — two complete rises and falls of solar activity.

For each month, we computed the mean SNR on each of the eight canonical HF amateur bands (80, 40, 30, 20, 17, 15, 12, and 10 m), then joined that against the SILSO monthly sunspot number from the Royal Observatory of Belgium. The result is a rectangular table of 210 to 219 complete months per band, depending on how often the band had any spots at all. (The high bands — 17 m, 15 m, 12 m — lose a few months during the deepest solar minimum because nothing was decoded on them at all.)

Then for each band we ran a Pearson correlation between monthly mean SNR and monthly sunspot number, plus Spearman as a non-parametric backstop, plus a detrended Pearson with the linear secular trend removed from both series, plus a phase-split with Cohen's d, plus a 0–12 month lag scan, plus Bonferroni correction across the eight bands. Forty minutes of compute on a single workstation.

The Surprise

Six of the eight bands cleared Bonferroni correction. Five of the six landed where they were supposed to: positive correlations on 40 m, 30 m, and 20 m, with 17 m and 15 m showing the same direction more weakly. Standard physics, intact.

The other two were 10 m and 12 m, with the wrong sign.

Band Pearson r Spearman ρ Detrended r ΔSNR (max−min) Bonf
80 m−0.24−0.25+0.24−0.59 dB
40 m+0.39+0.47+0.63+1.23 dB
30 m+0.30+0.33+0.63+1.02 dB
20 m+0.27+0.35+0.52+0.82 dB
17 m+0.03+0.15+0.34+0.28 dB
15 m+0.10+0.13+0.37+0.44 dB
12 m−0.44−0.49−0.35−2.36 dB
10 m−0.40−0.57−0.31−1.66 dB

Monthly mean WSPR SNR vs. SILSO monthly sunspot number, Nov 2004–Mar 2026, N = 210–219 complete months per band. Bonferroni threshold α/8 = 0.00625.

Between solar minimum and solar maximum, the mean 10 m SNR fell by 1.66 dB (from −13.88 to −15.54 dB). On 12 m it fell by 2.36 dB. On 40 m, in the same months under the same statistical test, mean SNR rose by 1.23 dB. Same network, same archive, same analysis, opposite sign.

Monthly mean WSPR SNR vs sunspot number on 40 m and 10 m, showing opposite slopes
Monthly mean WSPR SNR vs. monthly sunspot number, Nov 2004–Mar 2026. Left: 40 m (7 MHz) responds positively to solar activity, as predicted. Right: 10 m (28 MHz) responds in the opposite direction. Fisher z contrast: z = −8.64, p ≈ 5.7 × 10−18.

The Diagnosis

Before declaring the textbooks broken, we ran five independent consistency checks. Each one tells the same story.

1
Spearman is stronger than Pearson on 10 m. The rank correlation is −0.57 against a Pearson of −0.40. That rules out the boring explanation — a few outlier high-SSN months pulling the line down. The relationship is monotonic and broad, not driven by tail events.
2
The detrending asymmetry. This is the cleanest single diagnostic in the paper. Linear detrending removes secular drift — receiver-network growth, firmware generations, the steady fall in noise floors as software-defined radios got better. On 40 m, detrending takes r from +0.39 to +0.63: removing the slow trend strengthens the cycle signal, exactly what should happen to a real F-layer response that was being obscured by drift. On 10 m, detrending takes r from −0.40 to −0.31: removing the slow trend weakens the anticorrelation. Same operation, opposite consequence. A real ionospheric signal should not behave that way.
3
The 80 m sign flip. Raw 80 m correlates at r = −0.24, which a textbook would attribute to D-layer absorption at solar maximum. After detrending, the 80 m sign flips to +0.24. By the same logic that diagnoses 10 m, we therefore can not claim D-layer absorption from this data — the 80 m signal is at least partly a secular trend, not a clean cycle response. The same diagnostic protocol applied across the band stack.
4
The Fisher z contrast between 10 m and 40 m. A formal test for whether two correlations differ in direction. z = −8.64, two-sided p ≈ 5.7 × 10−18. The two bands do not merely fail to point the same way — they point in opposite directions at a level that is essentially impossible under any null in which they share the same physical response.
5
10,000 permutations. As a non-parametric robustness check, we shuffled the 10 m SNR series ten thousand times against the unshuffled sunspot record and recomputed the Pearson correlation for each. Zero shuffles produced an |r| as large as the observed −0.40. The empirical floor is p ≤ 1 / (B+1) ≈ 10−4. The observed correlation sits 5.9 standard deviations from the null mean.

Each of these checks individually would be circumstantial. Stacked, they say the same thing: the anticorrelation on 10 m and 12 m is real in the data, but it is not coming from the F-layer.

The Explanation: A Selection Effect

The trick is hidden in the phrase "monthly mean SNR." Mean of what, exactly?

The set of WSPR spots that exist in the database is the set of transmissions that successfully decoded. Anything below the decoder floor — roughly −25 to −30 dB — is silently dropped. The denominator of "mean SNR" is the population of paths that completed, and that population is not held fixed across the cycle. It expands and contracts dramatically with band conditions.

Picture the 10 m band during a typical solar-minimum month. The MUF is well below 28 MHz and the band is, in propagation terms, dead. Almost nothing trans-continental gets through. The handful of spots that do exist come from short-path ground-wave contacts and sporadic-E openings — geometries that are not gated by the F-layer at all. By construction, these are short, strong signals. Reported SNRs in the −5 to −10 dB range are normal. The mean of that small population is high.

Now picture the same band in a peak month of cycle 25. The MUF has climbed past 28 MHz. The band has opened. Hundreds of stations on every continent start trying contacts that were impossible the year before — and a great many of those new contacts are weak, marginal, near-MUF, long-path attempts that just barely scrape the decoder floor. The total number of successful spots grows by more than an order of magnitude. The mean SNR of the now-much-larger reported population falls toward the floor, because most of the new entrants are by definition weak.

This is a generic property of any threshold-gated metric. When you average a quantity that has a hard lower cutoff and no upper cutoff, and you let the population that contributes to the average expand, the mean must move toward the cutoff. The 10 m band is genuinely more open at solar maximum — the spot count proves it — but the arithmetic mean of the SNR distribution drops, because the population shifted faster than the per-path quality improved.

The 40 m band does not suffer from this because 40 m is open in every phase of the cycle. The same path is available at solar minimum and solar maximum; the population of contributing transmitter–receiver pairs is roughly stable; the cycle response shows up cleanly in the mean. The difference between 40 m and 10 m is not the physics. It is whether the band toggles between dead and alive.

Why It Matters

WSPR is increasingly used as a data source in space-weather and climate work. With more than 1010 spots in the public archive, it is an enormously valuable record of real-world HF propagation, and it has already been used to detect traveling ionospheric disturbances, solar-eclipse propagation effects, and storm-time corridor degradation. The temptation to just regress monthly mean SNR against any solar or geomagnetic index is obvious.

Don't — not on a band that toggles between dead and open across the cycle. Any such regression on raw 10 m, 12 m, or even 15 m mean SNR will mix a genuine F-layer response with an opposite-sign selection artifact whose amplitude is comparable to the real signal. The two effects can have the same order of magnitude and opposite signs, which is exactly the worst case: a confident, statistically significant, completely backwards conclusion.

Three remediations work. Any analysis that uses WSPR mean SNR as an ionospheric proxy on the high bands should pick at least one:

A
Station-pair conditioning. Restrict the analysis to a fixed set of transmitter–receiver pairs that were active across the entire window. This holds the population of paths constant and removes the population-shift bias by construction.
B
Path-geometry conditioning. Restrict to short paths (under ~1000 km) where ground-wave and sporadic-E propagation dominate in all phases of the cycle. The DX-attempt selection bias is removed because there are no DX attempts in the sample.
C
Use spot count, not mean SNR. The number of successfully decoded spots per unit time is monotonically increasing in band openness and does not suffer from the thresholded-mean problem. The cost is that spot count is confounded with network growth, so it needs its own detrending or normalization by total active stations.

We are flagging this as a methodological note for any future WSPR analysis on the TerraPulse platform — including our own. The earlier storm-corridor paper uses path-geometry conditioning (POLAR vs. EQUAT corridors) and per-storm event windows, so it is not subject to this bias. Anything we do next on raw mean SNR over multi-year windows will need at least one of (A), (B), or (C) baked in from the start.

The Bottom Line

Solar maximum opens the 10 m band. The textbooks are right. The WSPR data confirms it — in spot count, in path length distributions, in everything except the one metric that sounds the most natural to compute. "Average signal-to-noise ratio" turns out to be exactly the wrong number to look at, because the population it averages over expands with the very effect you are trying to measure.

The interesting thing about a clean null result — or in this case, a clean wrong-sign result — is that it forces you to look at how the metric was constructed instead of what the metric "says." Ten and a half billion spots is a lot of data. It will tell you the truth, but only if you ask the right question.

Read the Paper

Data Sources for This Article

WSPRnet raw spot archive (258 monthly Parquet files, 213.8 GB)
SILSO sunspot number (Royal Observatory of Belgium)
TerraPulse PostgreSQL store
Polars + SciPy aggregation pipeline

All data and analysis scripts are open source at github.com/isenbek/terrapulse

Live Feed