Technical Information
Methods, data sources, and technical specifications used by Intensity Lab.
Geographic Coverage
Supported region: latitude 28–50°N, longitude 125–113°W (Western US and northern Mexico), covering California, Nevada, Oregon, and the Mexican states of Baja California and Sonora. Custom location queries outside this region will be rejected.
Data Source: USGS ShakeMap
All automated event reports are derived from USGS ShakeMap data. ShakeMap produces a spatial grid of estimated instrumental intensity (PGA, PGV, MMI) by interpolating from seismometer recordings and applying regional ground-motion models.
Intensity Lab downloads the ShakeMap grid for each event and uses
scipy.interpolate.RegularGridInterpolator to
estimate MMI at each gazetteer site. ShakeMap data improve over time as more seismic station
records and Did You Feel It?
reports are incorporated.
In addition to interpolated city estimates, Intensity Lab also ingests the ShakeMap station list
(stationlist.json) to obtain
observed MMI values directly at seismic stations. Unlike gazetteer city values,
station MMI is not interpolated — it is calculated directly from the ground motion recorded at
each instrument using the Worden et al. (2012) GMICE (PGA or PGV to MMI conversion), or
from the intensity value reported by ShakeMap if available. Station observations are
identified on maps with a diamond marker (♦) to distinguish them from the circle markers
used for gazetteer cities.
stationlist.json for
the event. This file is typically present for M3.5+ events in California and other well-instrumented
networks. For smaller events, events in sparsely instrumented regions, or events where ShakeMap
was generated without a station list, the Stations view will indicate that no observed data are
available. In those cases, the Cities view (ShakeMap interpolated) remains the best available
estimate of shaking at named locations. Intensity Lab does not synthesize or model station MMI
— if no observed recordings are available, none are shown.
GMICE: PGA to MMI Conversion
When converting GMPE output (PGA) to MMI, Intensity Lab uses the Worden et al. (2012) Ground-Motion–to–Intensity Conversion Equation (GMICE). PGA is expressed in %g (percent of gravitational acceleration).
The conversion uses a two-branch piecewise linear formula in log space:
MMI values are clamped to the range [1, 10]. This conversion is consistent with the approach used by USGS ShakeMap for instrumental intensity.
ShakeMap Interpolation Method
USGS ShakeMap provides MMI values on a regular geographic grid. To estimate MMI at a specific named location (gazetteer site), Intensity Lab uses bilinear interpolation:
- Download the ShakeMap grid file (XML format) for the event.
- Extract the MMI field and its latitude/longitude axes.
- Construct a
RegularGridInterpolatorover the grid. - Query the interpolator at each gazetteer site coordinate.
Sites outside the ShakeMap grid boundary receive a default MMI of 1.0 (not felt). Grid resolution varies by network and event — typically 0.01° for California events.
Site Selection for Intensity Reports
After ShakeMap interpolation, Intensity Lab applies display rules to determine which gazetteer sites appear in event reports and on the homepage featured event card.
Primary rule: All sites with interpolated MMI ≥ 4.0 (Light shaking or stronger) are included, ranked by MMI descending. This threshold is why the displayed cities are not simply the nearest ones to the epicenter — a distant city on soft soil may appear while a closer city on hard rock does not.
Minimum sites rule: If fewer than 3 sites exceed the MMI 4.0 threshold (common for small or deep events), the list is padded with the nearest gazetteer sites by epicentral distance until at least 3 sites are shown. These padding sites may have MMI below 4.0.
Coverage boundary: Only sites within the ShakeMap grid extent are evaluated. Sites outside the grid boundary receive a default MMI of 1.0 and are excluded from the ranked list.
Seismic station display: The same MMI ≥ 4.0 and minimum 3-site rules apply to seismic stations when the Stations view is selected. If fewer than 3 stations exceed the threshold, the nearest recorded stations are shown as padding, regardless of their MMI level.
stationlist.json.
Intensity Lab does not estimate or infer station values.
Vs30: Site-Specific Soil Conditions
Vs30 is the time-averaged shear-wave velocity in the upper 30 meters of the Earth's surface, measured in m/s. It is the primary proxy for local site amplification in GMPE calculations: softer soils (low Vs30) amplify shaking; hard rock (high Vs30) attenuates it.
Data source priority for each site:
- CGS Geology — California Geological Survey geology-based map via SCEC UCVM (California sites)
- Wald Topography (UCVM) — Topographic slope proxy via SCEC UCVM (Nevada, Oregon, northern Mexico)
- Wald Topography (USGS) — USGS global Vs30 raster (Wald & Allen 2007) fallback
- Default (760 m/s) — Rock-site reference when no data is available
The API exposes site-specific Vs30 for any location in the supported region:
GET /api/v1/vs30?lat={lat}&lon={lon}
Ground Motion Prediction Equations (GMPEs)
GMPEs are empirical equations fit to large databases of recorded ground motions. They predict PGA (and other parameters) as a function of earthquake magnitude, source-to-site distance, and site conditions. Intensity Lab uses four NGA-West2 models:
| Key | Authors | OpenQuake Class |
|---|---|---|
| ask14 | Abrahamson, Silva & Kamai (2014) | AbrahamsonEtAl2014 |
| bssa14 | Boore, Stewart, Seyhan & Atkinson (2014) | BooreEtAl2014 |
| cb14 | Campbell & Bozorgnia (2014) | CampbellBozorgnia2014 |
| cy14 | Chiou & Youngs (2014) | ChiouYoungs2014 |
GMPE calculations are implemented via GEM OpenQuake
(openquake.hazardlib). PGA output is converted to
MMI using the Worden et al. (2012) GMICE.
Required Input Parameters
Each GMPE requires earthquake source parameters, distance metrics, and site characterization. Many of these are not directly reported by USGS for smaller events; the table below documents every parameter, the value used, and the source or justification.
| Parameter | Symbol | Value Used | Source / Rationale |
|---|---|---|---|
| Moment magnitude | M | Event magnitude | USGS ComCat |
| Fault rake | λ | 0° (strike-slip) | Default for uncharacterized Western US faults |
| Fault dip | δ | 90° (vertical) | Conservative for uncharacterized faults |
| Hypocentral depth | h | Event depth, or 10 km | USGS ComCat; 10 km default if unknown |
| Rupture width | W | 10(0.32M − 1.01) | Wells & Coppersmith (1994) all-mechanism scaling |
| Top of rupture depth | Ztor | max(0, h − W/2) | Estimated from depth and rupture half-width |
| Joyner-Boore distance | Rjb | Epicentral distance | Point-source approximation (haversine) |
| Rupture distance | Rrup | √(Rjb2 + h2) | Hypocentral distance (3-D Pythagorean) |
| Horizontal distances | Rx, Ry0 | 0.0 | Not applicable; no rupture-plane geometry available |
| Shear-wave velocity | Vs30 | Site-specific | UCVM (CGS / Wald), USGS raster, or 760 m/s default |
| Vs30 measured flag | — | False | All values are model estimates, not field measurements |
| Depth to Vs = 1000 m/s | Z1.0 | ASK14 regression from Vs30 | Abrahamson et al. (2014), Eq. 31 |
| Depth to Vs = 2500 m/s | Z2.5 | CB14 regression from Vs30 | Campbell & Bozorgnia (2014), Eq. 33 |
Fault Geometry: Rake and Dip
Distance Metrics: Rjb and Rrup
Rupture Width and Ztor
Basin Depth Parameters: Z1.0 and Z2.5
Email Notifications
Registered users can opt into two types of automated email notifications. All intensity estimates are computed and stored for every qualifying event regardless of notification delivery — data is always viewable on the website after logging in.
Site-Specific MMI Report
Regional Event Summary
Notification Thresholds
Each notification type has an independent MMI threshold:
- Site-specific reports: sent when the ShakeMap-interpolated MMI at your registered location is ≥ IV (Light — generally felt indoors).
- Regional summaries: sent when the highest estimated MMI across all monitored communities is ≥ V (Moderate — felt by everyone, minor damage possible).
Events below these thresholds are still fully processed and all intensity data remains accessible on the website and via the API. No email is generated for events that do not reach the threshold.
API Access
The Intensity Lab API is available at /api/v1/. Public endpoints (earthquake list, event detail, site intensities) require no authentication.
The POST /api/v1/ground-motion/ endpoint for on-demand queries at custom coordinates requires a JWT bearer token. Create a free account to get started.
About Intensity Lab
Questions or feedback? Submit feedback. For more about the project, see the About page.