Technology

How GeoShake Validates Earthquakes: AFAD & USGS Integration

5 min read By GeoShake Team

When a GeoShake community sensor detects ground motion, how do you know it's a real earthquake and not a passing truck? The answer is GeoShake's multi-source validation system — which cross-references community sensor data against official earthquake catalogs from AFAD (Turkey) and USGS (global).


The Validation Problem

Community sensor networks face an inherent challenge: individual sensors can be triggered by non-seismic sources — construction, traffic, applidence vibrations, even slamming doors. Without validation, these events would generate false alarms, eroding user trust.

GeoShake solves this with a two-level validation approach.


Level 1: Multi-Node Community Validation

When ground motion is detected, GeoShake checks for geographic correlation:

  1. Multiple sensors in the same region must report elevated ground motion within a narrow time window
  2. The timing of detections across sensors must be consistent with seismic wave propagation speeds
  3. Single-sensor triggers are logged but don't generate alerts

This eliminates local noise: a truck passing your house triggers one sensor. An earthquake triggers many sensors simultaneously, with detection time differences matching the known speed of seismic waves.


Level 2: Official Source Cross-Validation

Community detections are then cross-referenced against official earthquake catalogs:

AFAD (Disaster and Emergency Management Authority — Turkey)

  • Turkey's official earthquake monitoring agency
  • Operates a network of seismological stations across Turkey
  • Reports earthquake location, magnitude, and depth
  • GeoShake queries AFAD data to match community detections with official events

USGS (United States Geological Survey)

  • Provides global earthquake data via public APIs
  • Reports significant events worldwide within minutes
  • GeoShake uses USGS as a secondary validation source for global events

The Matching Algorithm

GeoShake's backend (implemented as a Supabase Edge Function) uses a scoring system to match community detections with official reports:

  1. Time window — community detection must occur within a few minutes of the official event time
  2. Geographic proximity — the community detection location must be within a plausible distance of the official epicenter
  3. Magnitude consistency — detected intensity should be consistent with the reported magnitude at the detection distance

Events that match across community sensors AND official sources are classified as validated earthquakes and trigger user alerts with high confidence.


What This Means for Users

High Trust

You can trust GeoShake alerts because they require agreement from both:

  • Multiple independent community sensors
  • At least one official seismological agency

Low False Alarm Rate

The dual-validation system dramatically reduces false positives. Individual sensor triggers, phone falls, and local vibrations don't pass the multi-node + official validation filters.

Fast Detection

Community sensors can detect local events before official reports are published (AFAD and USGS take seconds to minutes for initial reports). The community detection provides speed; the official validation provides confirmation.

Transparency

GeoShake's validation logic is open source. You can inspect exactly how detections are scored and validated.


The Data Flow

Community Sensors → Cloud Backend → Multi-Node Check ──┐
                                                        ├── Validate → Alert Users
AFAD/USGS APIs → Cloud Backend → Official Event Check ──┘
  1. Sensors stream data continuously
  2. Backend detects anomalies across multiple sensors
  3. Backend queries AFAD and USGS for matching official events
  4. Validated events → push notification to app users
  5. Unvalidated triggers → logged for review but no public alert

Why Both Sources Matter

Source Strength Limitation
Community sensors Fast local detection, dense coverage Can trigger on non-seismic sources
AFAD Authoritative for Turkey, precise epicenter Reporting delay (seconds to minutes)
USGS Global coverage, reliable Limited sensitivity for small events outside the US
All three together Fast + accurate + authoritative Comprehensive validated detection

Technical Details

For developers and researchers, GeoShake's validation system:

  • Runs on Supabase Edge Functions — TypeScript-based serverless functions
  • Queries AFAD XML feed and USGS GeoJSON API in real time
  • Uses geographic distance calculation (Haversine formula) for proximity matching
  • Implements configurable thresholds for time window, distance, and magnitude matching
  • Archives all detections (validated and unvalidated) for research purposes

The entire matching codebase is available in GeoShake's open-source repository.


📱 Receive validated earthquake alerts. Download GeoShake — free on iOS and Android.


Related Articles:

Ready to join the network?

Get the GeoShake T1 sensor and start detecting earthquakes at home.

Get GeoShake T1

Share this article:

Get earthquake insights in your inbox

One short email a month — new guides, network updates, real detection stories. No spam, unsubscribe anytime.