QuakeScope — Seismogram Reading & Epicenter Lab
Why this project?
Every earthquake report in the news — the magnitude, the "epicenter X km off the coast" — is the product of a specific, beautifully mechanical procedure that almost nobody has ever performed. Seismologists read seismograms: wiggling traces that record ground motion over time. The S–P interval (the gap between the first fast P-wave and the later, shaking S-wave) is a clock that tells you exactly how far away the earthquake is, and the amplitude of the biggest swing tells you how strong it was. Combine readings from three stations and the distance circles intersect at one point — the epicenter. This is the classic classroom lab, but here it is interactive, with your own live feedback on a map.
What is it?
QuakeScope is a self-contained seismograph-reading lab. It generates realistic synthetic seismograms for three stations recording the same synthetic earthquake. You pick the P and S arrivals and the amplitude on each trace, the app converts those readings into a distance and a Richter magnitude, and it trilaterates the epicenter on a map. Toggle Show answer to check how close your estimate landed to the true hypocenter.
How does it work?
Each seismogram is synthesized by superimposing three phases with arrivals determined by distance:
- P-wave: fast compressional wave, modeled at ~6.1 km/s — the first small, sharp onset.
- S-wave: slower shear wave at ~3.6 km/s — the second, much larger shaking. The S–P gap grows with distance.
- Surface wave coda: long-period, high-amplitude tail that carries the "strongest swing" used for magnitude.
A little random noise is layered in so the onsets aren't trivially obvious. Distance is computed with an S–P lookup table (inverse of the travel-time curves). Magnitude uses the local (Richter) magnitude relation M ≈ log₁₀(A) − 1.02 + 3.0·log₁₀(d/100), where A is ground-motion amplitude in microns and d is distance in km. Trilateration solves for the point minimizing squared residual distances to all three stations (a Gauss–Newton refinement of a circle-intersection estimate).
How to use it
- Pick a scenario (or hit New earthquake for a fresh random one) and set the noise level.
- On each seismogram, click the trace to place the P pick (cyan) at the first onset.
- Then click again to place the S pick (amber) where the big shaking starts.
- Drag the purple amplitude handle up/down to the peak of the strongest swing.
- Press Locate — the map draws a distance circle around each station and marks your estimated epicenter.
- Toggle Show answer to reveal the true epicenter and see your error in km.
- Use the travel-time curve panel to double-check a distance: click a point and read the S–P gap vs distance.
Take it further: