Hilly and mountainous watersheds (such as the Rishi Ganga & Alaknanda Gorges in Chamoli District, Uttarakhand, and the Western Ghats of Kerala) are acutely vulnerable to catastrophic flash floods, cloudbursts, and debris surges.
Traditional regional flood forecasting systems fail in mountainous terrain for three reasons:
- Lack of Hyper-Local Spatial Resolution: Regional forecasts predict rain across broad administrative districts (e.g. 500+ km²), missing localized cloudbursts that dump 100+ mm/h over a single 4 km² tributary gorge.
- Topographic Runoff Velocity: Steep mountain slopes (>25°–40°) accelerate surface runoff, reducing warning lead times from days to 15–40 minutes.
- Severe Cellular Blackouts: Rugged gorges and landslide incidents frequently sever cellular towers and power grids, rendering cloud-dependent systems blind when warnings are most critical.
This prototype delivers a full-stack, offline-resilient Early Warning System (EWS) combining:
-
IMD Doppler Weather Radar & AWS Feeds: Instantaneous convective rainfall rates (
$mm/hr$ ) and cumulative 3-hour precipitation. - ISRO Bhuvan CartoDEM Geoportal Data: Digital Elevation Models (DEM), slope gradient angles, and Landslide Hazard Zonation (LHZ).
- ESP32 LoRaWAN Edge Hardware Sensors: Battery-powered capacitive soil moisture probes and ultrasonic river stage gauges transmitting over 865 MHz LoRa mesh networks without relying on cellular infrastructure.
- AI Random Forest Prediction Engine: 10-estimator ensemble evaluating non-linear multi-source features to output continuous risk probabilities (0–100%), lead-time countdowns, and classification into Low, Medium, High, or Critical.
- Interactive Mapping Dashboard & Evacuation Dispatcher: High-contrast GIS terrain map, ward-level telemetry cards, and an automatic audio-visual evacuation siren modal triggered on Critical risk.
+-----------------------------------------------+
| Multi-Source Data Ingestion |
+-----------------------------------------------+
| | | |
v v v v
+-----------+ +-----------+ +-----------+ +-----------+
| IMD | | ISRO | | ESP32 | |Historical |
|Radar & AWS| | Bhuvan | | LoRaWAN | | Disaster |
| (mm/hr) | | CartoDEM | | Edge Mesh | | Catalog |
+-----------+ +-----------+ +-----------+ +-----------+
| | | |
+--------------+------+-------+--------------+
|
v
+---------------------------+
| Preprocessing & Normalizer|
| - Soil saturation index |
| - Gravitational shear |
| - Runoff propensity |
+---------------------------+
|
v
+---------------------------+
| AI Random Forest Engine |
| - 10-Tree Voting Ensemble|
| - Gini Feature Weights |
| - Lead-Time Countdown |
+---------------------------+
|
v
+---------------------------+
| Evacuation Alert Manager |
| - Low / Medium / High |
| - CRITICAL EVACUATION |
+---------------------------+
|
v
+---------------------------+
| Vite + React GIS Dashboard|
| - Leaflet Topo Choropleth|
| - Audible Warning Siren |
| - SOP & Evacuation Routes|
+---------------------------+
The prototype models 5 micro-catchment wards along the Rishi Ganga / Alaknanda drainage network:
| Ward ID | Ward Name | Elevation | Slope | LoRa Node | Historical Recurrence | Evacuation Assembly Point |
|---|---|---|---|---|---|---|
ward-1 |
Raini Upper Ridge | 2,420 m | 38.5° | ESP32-RG-01 |
4.2 yr cycle (8 events) | Raini Peak Helipad (2,650m) |
ward-2 |
Tapovan Valley Confluence | 1,890 m | 22.0° | ESP32-RG-02 |
5.1 yr cycle (6 events) | Tapovan Higher Terrace Ground (2,050m) |
ward-3 |
Joshimath Sub-Ward B | 2,150 m | 29.4° | ESP32-RG-03 |
6.0 yr cycle (7 events) | Auli Ropeway Upper Terminal Camp (2,500m) |
ward-4 |
Vishnuprayag River Bed | 1,375 m | 14.5° | ESP32-RG-04 |
7.5 yr cycle (5 events) | Ghat Temple High Rock Platform (1,510m) |
ward-5 |
Helang Valley Corridor | 1,460 m | 18.2° | ESP32-RG-05 |
10.0 yr cycle (3 events) | Helang Govt Inter College Plateau (1,620m) |
Flash runoff velocity surges exponentially once soil pore pressure reaches field capacity. The system models runoff propensity (
Where:
-
$I_{\text{rain}}$ : Radar-calibrated rain rate ($mm/hr$ , up to 100 mm/h for cloudbursts) -
$S_{\text{soil}}$ : Volumetric soil moisture percentage ($0-100%$ ) -
$\theta_{\text{slope}}$ : Topographic slope gradient in degrees from ISRO CartoDEM
The engine executes 10 decision trees with feature subspace randomization:
- Evaluates
$f_{\text{rain}}$ ,$f_{\text{cumulative3h}}$ ,$f_{\text{soil}}$ ,$f_{\text{slope}}$ ,$f_{\text{landslide}}$ , and$f_{\text{waterstage}}$ . - Classification thresholds:
- Low Risk (< 30%): Normal operations, green indicator.
- Medium Risk (30–54%): Advisory watch, amber indicator.
- High Risk (55–74%): Elevated standby, warning orange indicator.
-
Critical Risk (
$\ge 75%$ ): Immediate evacuation directive, pulsing red emergency strobe, audible siren dispatch.
- Dynamic Lead Time: Calculates time-to-peak surge based on distance from ridge, slope velocity, and rainfall intensity (
$15 - 45\text{ mins}$ during cloudbursts).
The system defines production-grade IoT sensor payloads designed for remote mountain gorges:
- Microcontroller: ESP32-WROOM-32 with deep-sleep power management.
- RF Transceiver: Semtech SX1262 (IN865 Band: 865.0 - 867.0 MHz).
- Spreading Factor / Bandwidth: SF10, 125 kHz BW (long range in steep rocky defiles).
- Sensors:
- Capacitive Soil Moisture Sensor (Corrosion-resistant, 0–3.3V analog).
- JSN-SR04T Waterproof Ultrasonic Distance Sensor (River stage height).
- Tipping Bucket Pulse Counter (0.2 mm / tip rain gauge).
- Power: 3.7V 3400mAh 18650 LiFePO4 battery paired with 5W solar panel.
- Packet Structure:
{
"devEUI": "00-80-E1-AA-001",
"nodeId": "ESP32-RG-01",
"rssi": -98,
"snr": 3.4,
"batteryMv": 3950,
"soilMoisturePct": 88.5,
"waterLevelCm": 235.0,
"rainRateMmHr": 92.0,
"gatewayId": "GW-CHAMOLI-RIDGE-01"
}| Endpoint | Method | Description |
|---|---|---|
/api/health |
GET |
Health check, active nodes, current scenario |
/api/wards |
GET |
All 5 micro-catchment wards with predictions & sensor states |
/api/wards/:id |
GET |
Detailed telemetry and geomorphic profile for a single ward |
/api/predictions |
GET |
Latest Random Forest classification across all wards |
/api/ingest/lora |
POST |
Ingest simulated ESP32 LoRaWAN sensor payload |
/api/ingest/imd |
POST |
Ingest IMD Doppler weather radar rainfall update |
/api/ingest/bhuvan |
POST |
Ingest ISRO Bhuvan slope stability / hazard index |
/api/telemetry/packets |
GET |
Live streaming LoRa packets and node RSSI/SNR metrics |
/api/historical |
GET |
Past flash flood disaster catalog (2021 Chamoli, 2013 Kedarnath) |
/api/simulate/scenario |
POST |
Trigger preset (normal, monsoon_moderate, cloudburst_critical, custom) |
For future production integration with Python and GIS pipelines:
server/ml_future/train_rf_model.py: Complete Python script using Scikit-LearnRandomForestClassifierwith 100 estimators, feature importances, and classification report.server/ml_future/requirements.txt: Python package specifications (scikit-learn,geopandas,shapely,rasterio,fastapi).
- Node.js (v18+)
- npm (v9+)
From the root directory:
# Install backend dependencies
npm.cmd --prefix server install
# Install frontend dependencies
npm.cmd --prefix client installStart both backend and frontend concurrently:
npm.cmd run devOr start individually in separate terminals:
# Terminal 1: Backend Server (runs on http://localhost:5000)
npm.cmd --prefix server run dev
# Terminal 2: Vite React Frontend (runs on http://localhost:3000)
npm.cmd --prefix client run dev- Open
http://localhost:3000in your web browser. - Under Scenario Presets:
- Click "Normal Conditions": Observe Low Risk (<30%), emerald indicators, quiet river stages.
- Click "Monsoon Heavy Rain": Observe Medium/High risk elevation (~60%), increased rainfall and water stage.
- Click "Catastrophic Cloudburst":
- Triggers instant CRITICAL FLASH FLOOD & DEBRIS SURGE EVACUATION DIRECTIVE.
- Audio siren beacon can be played or muted via the top right controller.
- View safe assembly points, evacuation routes, and the SDRF checklist.
- Check the terminal console to inspect color-coded ingestion and pipeline logging.
- Switch to "Live Parameter Sliders" to test custom combinations of rainfall (mm/h), soil moisture (%), and river stage (cm).