QuakeScope model reports

Executed notebooks evaluating the phase pickers and the event classifier ahead of the 2026 re-run. Every figure and table here was produced by the notebook linked beside it.

Reports

2026 launch briefing

Why we are re-running, what the benchmarks and waveforms show, and what it costs

Pickers across five earthquake sequences

Do the three weight sets hold up away from the sequence they were first checked on? Ridgecrest, San Simeon, Monte Cristo, Mendocino 2024 and Monroe WA — four regions, three archives, catalogs from 2003 to 2024.

5 stations per sequence · scored against analyst picks · ~25 min to run

S-recall benchmark, dense Ridgecrest aftershocks

Twenty-one aftershocks in thirty minutes, several separated by seconds, scored against 533 analyst S picks. Includes a per-station breakdown and a matching-tolerance sweep.

8 stations · 4 weight sets · ~5 min to run

Picker smoke test

Does one weight set produce physically sensible picks at all? Record section, per-station waveforms, and an S−P timing check against hypocentral distance. The first thing to run after changing weights.

5 stations · 2 events · ~2 min to run

Ocean-bottom pickers offshore

What the three SeisBench OBS models buy over land models on ocean-bottom data — Cascadia, the Alaska Peninsula, and the Blanco transform — and whether the hydrophone channel earns its place.

3 deployments · 9 OBS stations · 5 models · ~50 min to run

Deploying on ocean-bottom data? The offset diagnosis and station-selection gotchas are written up in obs_deployment_notes.md.

Classifier transfer to Alaska

Does the PNW-trained QuakeXNet separate earthquakes, explosions and surface events in Alaska — and how much does the analysis window placement matter?

32 events · 2 stations · ~30 min to run

What they currently show

The picker. At the shared 0.3 threshold everyone uses, original appears to recover far more S arrivals than the others. That reading is an artefact of the threshold, not a property of the weights.

S recall at a shared 0.3quakescope2026jma_wcoriginalinstanceanalyst S
Ridgecrest0.520.490.730.18298
Mendocino 20240.620.680.740.56113
San Simeon0.750.750.940.7516
Monte Cristo0.420.500.670.5012

Holding the threshold fixed does not hold the operating point fixed. original emits close to twice as many S picks at 0.3, so it sits further along the recall curve and collects both more recall and more extra detections. Matched on pick budget, the three are within a few points and no ordering survives across sequences:

Ridgecrest · S picks emittedquakescope2026jma_wcoriginal
2870.5480.5360.540
3700.6630.6390.628
5350.7750.7770.768
Thresholds belong to the weight set, not to the pipeline. Carrying 0.3 across a change of weights silently moves the operating point and changes catalog completeness with it. Choose the target — a pick budget, an extra-detection rate, a recall floor — then solve for the threshold that hits it, separately for each weight set.

instance — what the 2025 campaign actually ran — is a separate case. On Mendocino it matches the others on budget and is in places the best of the four. On Ridgecrest it never reaches their budgets at all: with its threshold on the floor it emits 246 S picks where the others reach 684 and 832. No threshold recovers that, so it is a ceiling rather than a calibration offset — and the two have opposite implications, since tuning fixes one and cannot fix the other.

Ridgecrest · S picks emittedat 0.02 (floor)at 0.1at 0.3
original832646520
quakescope2026684459291
jma_wc638447279
instance24614998

Ridgecrest is the densest and closest-in sequence here, so this reads as the incumbent weight struggling specifically with heavily overlapping near-field aftershocks, while remaining fine at regional distance.

The three are also not one lineage. original is Zhu et al., trained on Northern California. jma_wc is a different architecture — PhaseNetWC, double the filters per layer — trained on Japanese JMA data, and quakescope2026 is fine-tuned from it. Nothing here descends from original.

Offshore. SeisBench ships three ocean-bottom pickers. PickBlue is a constructor returning the obs weights on either a PhaseNet or an EQTransformer backbone — both four-component, including a hydrophone — while OBSTransformer is OBS-trained but takes only three. Across 138 windows on three deployments the OBS models lead the land models by roughly 5–15 points of detection, and no single one wins everywhere.

Detection ratepickblue
phasenet
pickblue
eqt
obs
transformer
quakescope
2026
original
Cascadia (7D)0.740.790.610.720.65
AACSE (XO)0.780.720.890.780.67
Blanco (X9)0.530.530.510.530.49
The hydrophone is not where the gain comes from. Re-running the four-component model on 94 detected windows with the channel withheld moved mean P confidence by +0.0002 — helping 32 windows, hurting 35. Its sampling rate spans 100 Hz to 10 Hz across these deployments and the effect is indistinguishable from noise at any of them. That obstransformer competes without a hydrophone at all points the same way: the advantage comes from training on ocean-bottom data, not from the fourth channel.

The classifier. QuakeXNet agrees with the Alaska catalog 78% of the time when the analysis window matches the training convention, and 16% when it does not — same events, same waveforms, cut differently. It is deferred for the 2026 campaign on that basis.

Recall is measured against analyst picks, which are not exhaustive. Unmatched model picks are reported as extra detections, never as false positives — in a dense sequence most of them are real earthquakes nobody had time to work through. Which earthquakes count is fixed by the team's curated reviewed-event lists in docs/rerun_2026/; arrivals for those events are then harvested from every archive that located them, restricted to manually reviewed picks. The report's provenance section covers what the catalogs do and do not record. Sample sizes still differ by more than an order of magnitude between sequences — San Simeon rests on 16 S picks against Ridgecrest's 298 — so read the analyst column alongside every recall.

Reproducing

Notebooks live in tutorials/. To rebuild a report:

pixi install --environment tutorials
pixi run -e tutorials install-kernel
pixi run -e tutorials jupyter nbconvert --to notebook --execute …

Full commands are in reports/README.md. Reports are committed pre-rendered, so publishing them needs no data access, no model weights, and no compute in CI.