
The three wavefronts spread at distinct speeds → arrivals always in P → S → surface order at every station.

The interval is the diagnostic measurement for distance.
Read more → Lecture 14 §3
Subtract the P arrival time from the S arrival time at one station:
Solving for hypocentral distance:
For average crust (, km/s):
— the textbook rule of eight.

Slower velocity contrast → steeper slope → small velocity-model errors → large distance errors.

Vertical-component polarity resolves the ambiguity.


Read more → Lecture 14 §3e
Given a candidate hypocenter , predict the P arrival time at every station:
Two key properties:
This decomposition is what Geiger's 1912 algorithm exploits.
Read more → Lecture 14 §4
Define the residual at observation :
Minimize the misfit:
Iterative: linearize about , take a least-squares step, repeat.
Read more → Lecture 14 §5

When two earthquakes are close together, the difference of their arrival times depends only on the difference of their coordinates — velocity-model errors cancel.
Waldhauser2000 — double-difference algorithmHauksson2012 (SoCal), {cite:t}Shelly2016 (Long Valley), {cite:t}Ross2019 (San Jacinto)A station at km records s, s, with , , .
A 25 km focal depth is consistent with a deep intra-slab event in the subducting Juan de Fuca plate — the same regime as the 2001 6.8 Nisqually earthquake.
Did anyone in this room feel Nisqually? Stories from across the Puget Lowland — things falling off shelves at home, bricks tumbling off the State Capitol — are exactly the ground-motion data this lecture’s methods turned into a hypocenter the same morning.
Read more → Lecture 14 §6
ObsPy and PNSN dataRead more → Lecture 14 §11
Zhu2019PhaseNet: U-Net trained on 600,000 NCEDC waveforms; ~96% precision on PMousavi2020EQT: hierarchical attention; hundreds of microearthquakes detected with one-third of typical networksSun2023PhaseNO: multi-station Fourier neural operatorWilcock2025: detect offshore earthquakes invisible to onshore networksZhu2023DASRead more → Lecture 14 §8
Crowell2024GFAST: geodetic algorithm avoids magnitude saturation at 7Read more → Lecture 14 §7
ML pickers achieve ~95% precision on data that look like their training data.
Munchmeyer2022Read more → Lecture 14 §9
If the velocity model used instead of km/s (same ), how would the calculated change?
For an event km from the closest station, do you trust the single-station more, or the multi-station triangulated epicenter?
With only teleseismic stations, which of is best constrained, and which is most degenerate?
Read more → Lecture 14 §10
NASA's InSight lander (2018–2022) carried a single three-component seismometer (SEIS) to Elysium Planitia.
The same physics that locates a Puget Sound earthquake located the InSight S1222a marsquake (, May 2022).
You don't need to write a phase picker from scratch. The lab uses ObsPy, a high-level Python library where one line gets you a seismogram:
from obspy.clients.fdsn import Client
st = Client("IRIS").get_waveforms("UW", "SEP", "*", "BHZ",
t1, t1 + 600)
What matters for this lecture:
The physics is what we are testing. The Python is the medium.
Next: Earthquake Phenomena II — magnitude and seismic moment
Read the full lecture: Lecture 14 — Earthquake Phenomena I
Live PNSN earthquakes:
pnsn.org