fieldmesh

Spikes and jumps on real soil#

2026-10-08. Open question Q23 found that §4.2's rate check cannot fire at hourly sampling — it caught none of 1,849 readings ISMN flags as spikes or jumps at the three Tennessee stations — and recommended detecting the shape of a spike rather than the size of a step. That recommendation had not been tested. This note tests it on every SCAN soil-moisture probe in the top 21 cm in the ISMN archive.

Probes 1,797, at every SCAN station, 5–20 cm
Record 11,520 probe-years, hourly; 71.7 million readings ISMN rates good
ISMN events spike (D06) 188,697; negative jump (D07) 5,575; positive jump (D08) 21,251
Tool tools/ismn_spikes.py

An event is a run of flagged readings; a detector catches it if it flags any reading in it, or one either side, because ISMN marks a region. This measures agreement, not accuracy — and the first finding is that for spikes, agreement is the wrong target.

ISMN's "spike" is not a glitch#

The step into a D06-flagged reading has a median of 0.005 m³/m³ — smaller than ordinary hour-to-hour noise. ISMN describes the test as spectrum-based; in the data it behaves like a relative one, firing on wiggles in dry soil, where a 0.005 change is 15% of the reading. Typical D06 readings look like 0.032 0.037 0.038 0.029* 0.036, at 0.03 m³/m³. It does sometimes mark a real dip (0.289 0.287 0.220* 0.286), and any shape detector catches that one. But no glitch detector will "agree" with D06, and none should try.

ISMN's jumps are another matter. The step into a D07 reading is a fall in 5,694 of 5,749 cases, median 0.084; into a D08 reading, a rise in 21,193 of 21,251, median 0.074.

Soil fills fast and empties slowly#

One-hour steps between two readings ISMN rates good, by sign:

count 99th 99.9th 99.99th 99.999th
rises 42.5 million 0.014 0.073 0.176 0.271
falls 27.7 million 0.013 0.032 0.109 0.254

Water arrives by infiltration, which can be fast; it leaves by drainage and evaporation, which are slow. At the 99.9th percentile a fall is less than half the size of a rise. So a cap on falls can be much tighter than any cap on steps — though the extreme tails converge, and some of the healthy-rated extremes are themselves glitches (below).

The candidates#

detector D06 D07 D08 flags on good readings per probe-year median probe probes never flagged share from the worst 5% of probes at 2 h at 3 h
spike ≥ 0.05, out and back in one sample 1% 21% 0% 0.46 0 77% 85% 0.41 0.34
spike ≥ 0.03 2% 22% 0% 1.00 0 62% 75% 0.79 0.69
fall > 0.05 per hour 1% 61% 0% 1.21 0 56% 66% 0.34 0.16
fall > 0.03 per hour 2% 66% 0% 3.20 0.48 37% 52% 0.81 0.39
fall > 0.05 from a steady level 0% 28% 0% 0.29 0 78% 76% 0.15 0.10
rise > 0.17 per hour 0% 5% 12% 0.40 0 55% 48% 0.01 0.00
rise > 0.25 per hour 0% 1% 3% 0.06 0 85% 69% 0.00 0.00
§4.2's rate check today — 0 of 1,849 Tennessee spikes and jumps

A spike leaves both neighbours by at least the threshold, in the same direction, and its neighbours agree to within 30% of the excursion. A fall or rise cap scales with the gap up to three hours; beyond that nothing is decided. "From a steady level" means no rise of 0.02 in the six hours before. The 2 h and 3 h columns re-score every probe at those intervals.

What the shape check finds that ISMN rates good#

The "false" spike flags concentrate on a few probes, so those were inspected. They are sensors that are plainly broken:

probe spikes on good readings what the readings do
Spickard — 5, 10 and 20 cm 371–433 each, 2007 flip between two levels hour by hour: 0.470 0.305 0.468 0.305 0.468 — a bistable logger or channel fault, at all three depths at once
Goshute — 20 cm 818 in five years swing 0.1–0.3 every hour: 0.472 0.427 0.481 0.216 0.463
Orchard Range Site — 20 cm 121 a dead sensor reading 0.000, with occasional 0.265
Mahantango Creek — 10 cm 84, Oct–Nov 2017 alternates 0.000 0.035 0.000 0.035
McAllister Farm, Tennessee — 5 cm the 2026 digital probe 0.135 0.139 0.144 0.304 0.150; 0.098 0.082 0.280 0.029 0.292 — the probe installed in February 2026, in its first summer
Tuskegee — 20 cm 183, winters only dips of 0.03–0.05 that return; the least clear case

ISMN rates every one of these readings good. Why its detector passes them is not established; a plausible reason is that a test judging change against a series' own recent behaviour does not see a sensor that misbehaves all the time. A shape test judges each excursion on its own.

What it recommends#

Recorded in Q23, still open:

Caveats#

Attribution#

ISMN data is used under CC-BY-4.0; this note publishes only derived statistics and short excerpts of individual readings. See ismn-scoring.md for the citations. The SCAN stations are operated by the USDA Natural Resources Conservation Service.

Reproducing#

cd /tmp
python3 -I ~/dev/fieldmesh/tools/ismn_spikes.py ~/Downloads/ISMN_archive_20261008.zip

About an hour: every probe is scored three times, at 1, 2 and 3 hours. The step percentiles and the inspected examples were scratch analyses on the same archive.