Sentinel-V7 Deep Hydrological Bi-LSTM

GitHub Repository License: MIT

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.

Downloads last month
27
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results