The Java section shows earthquakes deepening beneath the island, thinning out near
250 km and reappearing between 500 and 650 km. The gap reflects a less seismically active
part of the slab.
The Sumatra section is shallower, with few events below about 300 km. The large event
at 81 km is the 2009 Padang earthquake (M7.6), within the descending slab.
The Flores section includes the 1996 Flores Sea earthquake (M7.9) at 587 km. In the Molucca Sea, two slabs dip in opposite directions, towards Sulawesi and Halmahera,
forming an inverted V in the earthquake distribution.
Data limits
Many shallow depths are defaults assigned when the location is poorly constrained.
This dataset has 10,021 events at exactly 33 km, 7,678 at 10 km and 3,214 at 35 km.
Those repeated values produce horizontal rows in the sections. The deepest events are
generally better constrained.
Detection has improved as monitoring networks expanded. A gradual rise in counts can
therefore reflect better coverage as well as changes in earthquake activity.
The regional catalogue includes M4.5 and above within 90°–145°E, 15°S–12°N; elsewhere the
threshold is M6. Counts across that boundary are not directly comparable. Circle sizes
indicate magnitude on a compressed scale, rather than representing energy proportionally.
How it is drawn
The globe uses d3.geoOrthographic on two canvases. One holds land and plate boundaries;
the other redraws earthquakes as the timeline changes. A coarser coastline is used while dragging.
Earthquake coordinates are stored as unit vectors in typed arrays and rotated directly
for each frame. Dots are grouped by colour and opacity to reduce draw calls. Quaternion
rotation keeps the grabbed point beneath the pointer as the globe turns.
The sections calculate each event’s distance along and across a great-circle path.
Coastlines and plate boundaries supply the land bars and trench markers.
Data
| File | Source | Notes |
|---|
quakes.json | USGS ComCat, FDSN event service | 61,526 events, 1973 to September 2026, packed as integer columns (about 420 kB gzipped) |
land.json | Natural Earth 1:50m via world-atlas | 1:110m copy used while dragging |
plates.json | Bird (2003), PB2002 | Plate boundaries, coordinates rounded to 0.01° |
The whole pipeline is one keyless script, node scripts/earthquakes/build.mjs, which caches the raw downloads so that re-runs are offline.