Logo Lanfrica

kudam47/drought-early-warning-zimbabwe

Domain:

climate

Record type:

softwaremodel
Creator:
kud
Host:
Spatio-temporal machine learning model (LSTM) for drought early warning in Zimbabwe using rainfall time series and satellite imagery (NDVI, LST, soil moisture, SPI). # Drought Early-Warning System · Zimbabwe A production-grade early-warning platform that forecasts drought conditions across the ten provinces of Zimbabwe using a spatio-temporal LSTM. FastAPI backend, vanilla HTML/CSS/JS frontend, PDF reporting, model retraining, and live-weather validation. **No TensorFlow needed to run.** Inference uses a pure-NumPy implementation of the trained network, so the server starts on any Python 3.10 – 3.14 install on Windows / macOS / Linux. TensorFlow remains an *optional* dependency for the (admin-only) retraining feature. --- ## Folder structure ``` drought_early_warning/ ├── 1_Data/ │ └── zimbabwe_drought_dataset.csv # 15 000 monthly rows · 14 features · 10 provinces · 2010-2025 │ ├── 2_Model/ │ ├── model.ipynb # training notebook (LSTM 64 → 32 + softmax-4) │ └── 2.1_Output/ # artefacts loaded at runtime │ ├── drought_model.keras # original Keras model (reference / retraining) │ ├── model_weights.npz # ★ portable weights used by NumPy inference │ ├── model_config.json # ★ layer configuration for NumPy inference │ ├── scaler.pkl │ ├── label_encoder.pkl │ └── metadata.pkl │ ├── 3_Frontend/ # vanilla HTML / CSS / JS — no build step │ ├── index.html # split-screen login page │ ├── dashboard.html # 8-view dashboard (sidebar shell) │ ├── styles.css # earth-tone design system │ ├── auth.js # session helpers + login wiring │ ├── app.js # all dashboard logic │ └── assets/ │ ├── backend/ │ ├── app.py # FastAPI application │ ├── nn_inference.py # ★ pure-NumPy LSTM forward pass (no TF) │ ├── convert_model.py # one-time: .keras → .npz (needs TF, already run) │ ├── requirement …