Where arrivals land in a refined window, and what it costs¶
Measured on the 28 PNR S-windows in tutorial/data/events/, cut with the published
Magna workflow — window opens at 80% of the Pg–Sg time, then refined to the 1st
and 99th percentiles of the cumulative squared-amplitude integral.
“Position” below is where the 50%-energy point falls, as a fraction through the refined window.
The distribution¶
50%-energy position |
energy centroid |
|
|---|---|---|
median |
40.8% |
44.3% |
range |
3.1% – 72.0% |
8.5% – 66.7% |
below 20% |
25% of windows |
— |
It is strongly distance-dependent, and that is the part worth internalising:
Epicentral distance |
50%-energy position |
|---|---|
< 6 km |
3% – 36% (mostly under 20%) |
> 10 km |
32% – 72% |
The mechanism is the window definition, not the physics. The window opens at a fixed fraction of the Pg–Sg time, so at short distance — where Pg–Sg is around 1 s — it opens essentially on the S arrival, and the coda fills the rest. The energy is front-loaded. At larger distance the window opens well before S, so the arrival lands nearer the middle.
What it costs¶
Energy recovered on those same windows (estimated / true):
n = 28 |
adaptive |
flat |
FFT |
|---|---|---|---|
median |
0.988 |
0.989 |
1.006 |
worst |
0.559 |
0.563 |
0.791 |
below 0.6 |
4% of traces |
4% of traces |
0% of traces |
Regenerate with python tools/measure_docs.py write --field.
The worst are at position < 8%, and near-source: UR.AQ04 (0.9 km), UR.AQ05 (3.3 km), UR.AQ03 (6.0 km).
Worst case: 0.56 of the true energy, so sqrt(0.56) = 0.75× in amplitude,
which is −0.12 in log10(Omega) and about 0.08 magnitude units on Mw for
that station.
The paper quotes a standard deviation of 0.13 m.u. for spectral Mw, and
station Mw values are combined by median across stations — so this does not
move the event Mw, but it inflates the scatter and it biases systematically in
one direction rather than randomly.
Adaptive and flat weighting agree to within 1% on every trace here, which is
what should happen: the residual is taper shape, and both use the same tapers.
A discrepancy between them on real windows would point at a weighting bug, not
at the tapers — see the σ² units gotcha in
../choosing-a-transform.md.
Consequences taken¶
MultitaperEstimator.adaptiveandTransformConfig.adaptivedefault to True, matching whatmtspecdid.studies/magna_2020_paper.tomlpinsadaptive = trueexplicitly, so a changed default cannot silently alter what that file means. Whether the published run actually used it is unverified —mtspecdefaulted to on, and the manuscript does not say.Neither weighting is unbiased — 0.56 at worst, and that is taper shape, not a defect. Two ways out, both opt-in:
center=Trueremoves the position dependence outright, and the FFT with a light taper holds 0.79 at worst without needing to roll the record.
Open¶
Whether mtspec and this implementation agree numerically on real windows is
untested and needs the legacy environment — that is the §5.2.6 three-way
comparison. Synthetic records already agree with Prieto’s multitaper
(mtspec’s successor, same lineage) to within 0.3% under both weightings, so
the open question is specifically about real data.
Still compare near-source stations first, since that is where any remaining divergence would show.