All data from verified open sources. No fabricated numbers. All weights are proposals awaiting field validation.
The proposed tectonic risk model was empirically tested against 10 real Bangkok sinkhole sites. The hypothesis was rejected (p=0.45). Fault proximity has no predictive power for Bangkok sinkholes β every point in the city is 110β130 km from the basin-bounding faults. 6 of 7 factors have been discarded. Only fβ (differential subsidence across fault blocks) remains pending β not yet tested. See full validation β
| Symbol | Meaning | Source |
|---|---|---|
Rbase | Existing SinkAlert risk score (rainfall, soil, InSAR, incident history, pipe leakage) | Current production model |
Tmod | Tectonic modifier β multiplies base risk by 1.0β2.0Γ depending on fault/quake factors | NEW β proposed v2 enhancement |
wi | Weight for factor i (0β1, sum = 1.0). Calibrated by domain expert. | Proposed: see table below |
fi | Normalized risk factor i (0β1, where 1 = maximum risk) | Computed from real geodata |
Closer to a fault trace = higher fracture density = higher sinkhole risk. Inverse linear decay from 500 km buffer.
More micro-earthquakes = more active fracturing. KDE of M3+ events weighted by magnitude-distance decay.
Higher slip rate = more dynamic fracture system = more ongoing void creation and fracture reactivation.
Fault-bounded blocks settling at different rates = fracture reactivation in progress. Segment InSAR by CPFZ fault traces, compute delta.
bangkok_subsidence_feature.tif (InSAR). Bangkok subsidence ranges 10β30 mm/yr with spatial variation. Overlaying the 18 CPFZ fault traces would reveal differential block movement. Next step: intersect InSAR with fault GeoJSON. Source: existing SinkAlert InSAR data + GEM fault geometry
Normal (extensional) faults = crust pulling apart = tension cracks open = highest risk. Strike-slip = shear = moderate. Reverse (compressional) = closure = lowest.
Higher extraction = greater pressure drop = faster fracture reactivation = higher sinkhole risk. Bangkok pumps ~2 million mΒ³/day from deep aquifers.
Points directly above mapped CPFZ lineaments (within 500 m buffer) get maximum score. Elsewhere gets baseline. Refined by OneGeology WMS bedrock type query.
| Factor | Weight | Rationale | Data Maturity |
|---|---|---|---|
| fβ β Distance to fault | 0.25 | Most direct spatial proxy for fracture density. Faults are permanent geological features. | READY GEM data downloaded |
| fβ β Quake density | 0.15 | Indicates active fracturing. Bangkok has only 1 event in 26 years β low weight locally. | READY USGS API integrated |
| fβ β Slip rate | 0.10 | Important but data-missing for Thailand. Weight is placeholder until DMR data fills in. | MISSING DMR data needed |
| fβ β Differential subsidence | 0.20 | Direct physical signal: block settling = fracture reactivation. Strongest evidence link. | NEXT InSAR Γ faults intersection needed |
| fβ β Slip type | 0.10 | Modulates risk. Dextral strike-slip = moderate (0.6). Normal = high (1.0). | READY GEM slip_type field |
| fβ β GW extraction | 0.10 | Human trigger. Strong correlation with subsidence. Proxy via InSAR until DGR data arrives. | PROXY InSAR as stand-in |
| fβ β Bedrock fracture zone | 0.10 | Binary: directly above CPFZ vs not. 500 m buffer from fault traces. | READY GEM fault buffer |
| Factor | Raw Value | fi | wi | Contribution |
|---|---|---|---|---|
| fβ β Fault distance | ~118 km to nearest CPFZ trace | 0.764 | 0.25 | 0.191 |
| fβ β Quake density | 1 quake in 200 km radius, 26 yrs | 0.02 | 0.15 | 0.003 |
| fβ β Slip rate | Unknown (null in GEM) | 0.00 | 0.10 | 0.000 |
| fβ β Diff subsidence | ~5 mm/yr delta (estimated) | 0.10 | 0.20 | 0.020 |
| fβ β Slip type | Dextral strike-slip | 0.60 | 0.10 | 0.060 |
| fβ β GW extraction | Central BKK (high zone) | 0.40 | 0.10 | 0.040 |
| fβ β Fracture zone | Not directly above CPFZ | 0.20 | 0.10 | 0.020 |
| Tmod = Ξ£(wi Γ fi) | 0.334 | |||
| Enhanced Risk R = Rbase Γ (1 + Tmod) | Rbase Γ 1.334 | |||
Interpretation: At this central Bangkok location, tectonic factors add ~33% to the base risk score. The dominant contributors are fault proximity (fβ) and slip type (fβ ). If this location had Rbase = 65 (moderate risk from rainfall/soil/InSAR), the enhanced score becomes 65 Γ 1.334 β 87 (elevated to high risk).
| Factor | Value | fi | wi | Contribution |
|---|---|---|---|---|
| fβ β Fault distance | 0 km β directly on CPFZ trace | 1.000 | 0.25 | 0.250 |
| Tmod (other factors unchanged) | 0.393 | |||
| Enhanced Risk | Rbase Γ 1.393 | |||
Interpretation: Directly on a CPFZ trace adds ~39%. If that same Rbase = 65 applies, enhanced score = 65 Γ 1.393 β 91. This is a meaningful upgrade for identifying high-risk zones.
| File | Size | Description | Status |
|---|---|---|---|
/root/sinkalert/data/tectonic/gem_active_faults.geojson |
11.7 MB | GEM Global Active Faults β 16,195 features worldwide | DOWNLOADED |
/root/sinkalert/data/tectonic/thailand_faults.geojson |
131 KB | Thailand subset β 194 fault traces (91 sinistral, 75 dextral, 27 normal, 1 reverse) | EXTRACTED |
/root/sinkalert/data/tectonic/thailand_earthquakes.geojson |
92 KB | USGS β 130 M3+ events in Thailand region (2000β2026) | DOWNLOADED |
/root/sinkalert/data/tectonic/tectonic_modifier.py |
β | Computation script (to be written) | PENDING |
| Aspect | Current (v1) | Enhanced (v2) |
|---|---|---|
| Risk factors | Rainfall, soil moisture, InSAR subsidence, incident history, pipe leakage | All v1 factors + 7 tectonic factors |
| Score range | 0β100 | 0β200 (v1 score Γ tectonic multiplier up to 2.0Γ) |
| Bangkok average modifier | N/A | 1.10β1.35Γ (most of city is 110β200 km from nearest CPFZ trace) |
| Fault-proximate modifier | N/A | 1.35β1.50Γ (within 50 km of a CPFZ trace) |
| On-fault modifier | N/A | 1.50β2.00Γ (directly above a mapped CPFZ lineament) |
| Data sources | CHIRPS, SoilGrids, Sentinel-1 InSAR, news mining, BMA pipe data | All v1 sources + GEM GAF-DB, USGS, DMR, DGR |
| Update frequency | Daily (rainfall), monthly (InSAR) | Static for faults (geological), weekly for quakes, monthly for subsidence delta |
| # | Action | Effort | Impact | Phase |
|---|---|---|---|---|
| 1 | Write tectonic_modifier.py β compute Tmod grid from fault proximity + quake KDE |
2 hrs | HIGH | NEXT |
| 2 | Intersect InSAR subsidence with CPFZ fault traces β produce fβ delta map | 1 hr | HIGH | NEXT |
| 3 | Add tectonic risk layer to GIS Risk Map (Leaflet GeoJSON overlay) | 2 hrs | MEDIUM | NEXT |
| 4 | Request DMR fault slip rate data + DGR groundwater extraction data | Admin | MEDIUM | LATER |
| 5 | Retrain XGBoost model with tectonic features added to training data | 4 hrs | HIGH | LATER |
| 6 | Field validate: compare enhanced scores with actual DMR sinkhole incident locations | Ongoing | CRITICAL | LATER |
All data sourced from verified open datasets. Weights are proposed defaults β final calibration requires field validation against real sinkhole incidents.
β Back to Tectonic Research |
SinkAlert Dashboard