Logo Lanfrica

rolandsbarkans/drought-prediction

Domaine:

climateenvironment and energy

Type de record:

modelsoftware
Créateur:
rol
Hôte:
A CNN-LSTM pipeline trained on ERA5-Land reanalysis data to predict monthly drought severity across East Africa at pixel level, reaching 86% accuracy. # Drought Prediction in the Horn of Africa Predicting monthly drought severity across East Africa from ERA5-Land reanalysis data, using a combination of unsupervised labelling, deep learning, and LLM-generated narratives. --- ## What this does There is no ready-made, high-resolution drought label dataset for East Africa, so this project builds one from scratch. A Gaussian Mixture Model and Isolation Forest work together on six monthly climate variables to assign a drought severity score to every land pixel and month from 1980 to 2025. Those scores become three-class labels: normal, moderate, and severe drought. Three supervised models then learn to predict next month's drought class from the labelled history: - a CNN baseline that stacks the past 12 months as channels - a ConvLSTM-UNet that processes the 12-month sequence through a recurrent encoder and a skip-connection decoder - a year-aware ConvLSTM-UNet that also sees the same calendar month from each of the previous 10 years The year-aware model reaches ~86% land-pixel accuracy and a severe-drought recall of 0.73, the highest of the three. Channel ablation shows that near-surface temperature, soil moisture, and potential evaporation drive most of the predictions. Temporal ablation confirms the model leans on the most recent few months while still using longer-term seasonal context. Finally, area-weighted statistics from each monthly prediction are passed to the OpenAI API, which generates short plain-language summaries of where drought is most intense, how persistent it is, and where the model under- or over-predicts. --- ## Project structure ``` drought_prediction.ipynb main notebook — full pipeline end to end requirements.txt dependencies figures/ saved plots (maps, ablation charts, narratives) ``` --- ## Getting started **Prerequisites:** Python 3.9+, Jupyter, a CUDA-capable GPU (optional but recommended for training) ```bash git clone github.com