Sentinel-V7 Deep Hydrological Bi-LSTM
Parent GitHub Repository: https://github.com/abdullah00ashraf/sentinel-hufp-v7
Ecosystem Documentation: Axiyon / Producttolaunch Catalog
Model Summary
Sentinel-V7 Deep Hydrological Bi-LSTM is a specialized recurrent neural sequence model engineered for real-time flood risk scoring and inundated area forecasting. It maps multi-sensor remote sensing inputs (Copernicus Sentinel-1 SAR radar backscatter, digital elevation models, river network proximity, ECMWF GEOGloWS river discharge, and precipitation metrics) to a continuous flood vulnerability metric.
The model is packaged in Keras 3 format along with its fitted Scikit-Learn MinMaxScaler (scaler.joblib), ensuring seamless deployment on edge systems and cloud microservices.
- Architecture: Dual Bidirectional LSTM + Batch Normalization + Spatial Dropout + Dense Regression Core
- Framework: Keras 3 (
keras>=3.0.0) / TensorFlow (tensorflow>=2.15.0) - Inputs: 8 Normalized Hydrological & Radar Features
- Output: Continuous Flood Risk Score
8 Input Telemetry Features
| Index | Feature Key | Unit | Description |
|---|---|---|---|
| 0 | elevation | meters | Hydrographic topographic elevation (ASL) |
| 1 | river_dist | km | Distance to nearest primary river or drainage artery |
| 2 | rainfall_mm | mm | Instantaneous rainfall intensity |
| 3 | runoff_mm | mm | Urban runoff accumulation volume |
| 4 | soil_moisture | fraction [0-1] | Soil saturation percentage |
| 5 | river_discharge | $\text{m}^3/\text{s}$ | Upstream river volumetric flow rate |
| 6 | pop_density | persons/$\text{km}^2$ | Gridded demographic density proxy |
| 7 | sar_vh | dB | Copernicus Sentinel-1 IW GRD SAR backscatter ($VH$ polarization) |
Quickstart & Standalone Inference
Installation
pip install keras tensorflow scikit-learn joblib numpy huggingface_hub
Running Inference via Python
from huggingface_hub import hf_hub_download
import keras
import joblib
import numpy as np
# 1. Download model and scaler
model_path = hf_hub_download(repo_id="abdullahashraf122/sentinel-v7-deep-flood-lstm", filename="bi_lstm_flood_model_v7_deep.keras")
scaler_path = hf_hub_download(repo_id="abdullahashraf122/sentinel-v7-deep-flood-lstm", filename="scaler.joblib")
# 2. Load artifacts
model = keras.models.load_model(model_path)
scaler = joblib.load(scaler_path)
# 3. Predict on raw physical values
# [elevation, river_dist, rainfall_mm, runoff_mm, soil_moisture, river_discharge, pop_density, sar_vh]
raw_features = np.array([[120.0, 1.2, 145.0, 43.5, 0.88, 1250.0, 3500.0, -28.5]])
scaled_input = scaler.transform(raw_features).reshape(1, 1, 8)
risk_score = float(model.predict(scaled_input)[0, 0])
print(f"Predicted Flood Vulnerability Score: {risk_score:.4f}")
Model Training & Provenance
- Training Corpus: Trained over 83.98 Million spatial telemetry samples from
master_flood_intelligence_80m.csv. - Streaming Protocol: Stream-generator with RAM protection and EarlyStopping convergence monitoring.
- Source Subfolder:
HUFP_SENTINEL_V6.
License
Released under the MIT License.