The gap between two waves is a distance
Drag P and S onto any three records.
Place P and S on a record and the map draws how far away the quake broke.
- station
- this week's quakes, USGS
- your epicenter
Pick the Waves
Times are UTC.
Record list requested.
Keyboard: Tab to a P or S handle, arrows move it one sample (0.2 s), Shift with an arrow moves ten, Delete lifts it. Pinch, the buttons or Ctrl with the wheel zoom.
Where It Broke
Three stations with both picks fix a point. Tap a record to place P, then tap again to place S.
This Week's Quakes
The past week's quakes: requested from USGS.
How It Is Computed
- The records. Each strip is the vertical broadband channel (BHZ) of one Global Seismographic Network station, networks IU and II, requested from the IRIS/EarthScope FDSN service as miniSEED and decoded from Steim-2 compression when the site is built. The decoder checks every record against the last-sample constant Steim stores in it. Each trace is band-passed from 0.05 to 2 Hz with causal second-order Butterworth sections, kept at 5 samples a second, and runs from two minutes before USGS's origin time, rounded down to the minute, for 27 minutes.
- The gap. The P wave outruns the S wave, so the gap between their onsets grows with distance. For each station the page finds the distance whose ak135 S−P time equals the gap you picked, interpolating linearly between the table's whole degrees and solving by bisection:
S(Δ, z) − P(Δ, z) = tS − tPΔ is in degrees of arc on a sphere of radius 6371.0088 km, and it is the circle's radius. Until a solution exists, circles assume a 15 km source. - The point. With three or more stations, the locator searches the whole sphere on a 2° grid at each of the five table depths (0, 15, 35, 50 and 100 km) for the point that minimizes
Σi [ (S − P)ak135(Δi, z) − (tS,i − tP,i) ]²then refines the three best basins at 0.25° and 0.05° and finishes with Gauss–Newton steps in local kilometers, Geiger's 1912 method. The origin time is the mean of each P pick minus its ak135 P travel time. The 95% ellipse is σ²(JᵀJ)⁻¹ from the last step, scaled by √5.991, with σ² never taken below 1 s². - The receipt. USGS's epicenter is drawn only after your solution exists, and reported as the great-circle distance from yours.
- The auto-picks. On a copy high-passed at 0.5 Hz, a short-term over long-term energy ratio (1 s over 10 s; Allen 1978) finds each P, and Akaike's information criterion (Maeda 1985) places the onset. A P-only location then guides a search for S within 40 s of its expected time on a long-period copy. They suggest a starting place; the receipts below say how far they land from USGS.
Why there is no magnitude
A magnitude needs each instrument's response removed, an amplitude read on a standard instrument, and a correction for distance. These traces are band-passed counts with the response left in, so a magnitude computed from them would be a guess. USGS's magnitude is on its event page, one link away from the answer.
Limits
- One velocity model for the whole planet. ak135 averages oceans, shields and subducting slabs; a wave that runs down a cold slab arrives seconds early, and the page cannot know it.
- Depth is coarse. The tables carry five depths, and at 20–90° the S−P gap barely changes with depth, so depth is the least certain number shown.
- The great quakes broke for over a minute along hundreds of kilometers of fault. The first P onset marks where rupture began, which is what USGS's epicenter marks too.
- Vertical component only. S shows more clearly on the horizontal components; the vertical carries both waves on one trace.
- No ellipticity correction (under 1 s at these distances) and no station elevation correction.
Receipts
Every row is a test in the repository; pnpm test prints the numbers.
| Check | Published or expected | This build |
|---|---|---|
| ak135 P at 30°, 15 km deep | 6 min 7.98 s | 367.98 s |
| ak135 S at 30°, 15 km deep | 11 min 5.36 s | 665.36 s |
| Interpolation between whole degrees, 25–80° | error bound | ≤ 0.016 s |
| Berlin to Tokyo, great circle | 8,941 km | 8,916.1 km (0.3%) |
| Steim-2 record, IU.KEV, checked by hand | last sample −1220 | −1220 |
| Butterworth gain at the corner | 1/√2 = 0.7071 | 0.7071 |
| Planted quakes, six stations | 0 km | 0.00 km |
| Picks placed at ak135 times from USGS's origin, three real station sets | under 1 km | 0.00 km, all three |
| Auto-picks located, three events | 80 km target | 209, 325 and 544 km: missed |
The auto-picker misses its 80 km target on all three events, because its S picks on the vertical component land up to 40 s off. The misses are pinned in test/receipts.test.ts so they cannot grow. Picks by eye do better; that is the point of the page.
Sources
- Seismograms. IRIS/EarthScope Data Management Center; Global Seismographic Network, networks IU (Albuquerque Seismological Laboratory and USGS, doi:10.7914/SN/IU) and II (IRIS/IDA, doi:10.7914/SN/II). Open data, retrieved October 6, 2026 from the EarthScope FDSN dataselect service; band-passed, decimated and stored as 16-bit integers here.
- Origins and this week's quakes. U.S. Geological Survey, Earthquake Hazards Program, ANSS Comprehensive Catalog and GeoJSON summary feeds. Public domain, retrieved October 6, 2026.
- Travel times. B. L. N. Kennett (2005), Seismological Tables: ak135, distributed by IASPEI; model from Kennett, Engdahl and Buland (1995), Geophysical Journal International 122, 108–124. Machine-readable copy from TauP (LGPL-3.0); 202 of 202 rows checked against the PDF.
- Method. L. Geiger (1912), Probability method for the determination of earthquake epicenters from the arrival time only, Bulletin of St. Louis University 8. R. V. Allen (1978), Automatic earthquake recognition and timing from single traces, Bulletin of the Seismological Society of America 68, 1521–1532. N. Maeda (1985), A method for reading and checking phase times in autoprocessing system of seismic wave data, Zisin 38, 365–379.
- Coastlines. Made with Natural Earth, 1:110m land. Public domain.
Every source with its URL, retrieval date and rights: sources.json.