Reproducibility code for multi-event Sentinel-1 flood mapping using adaptive Otsu thresholding, Leave-One-Event-Out validation, and machine learning in the Niger-Benue confluence, Nigeria.
# Multi-Event Sentinel-1 Flood Mapping Reproducibility Repository
This repository contains the reproducibility workflow for the manuscript:
**Multi-Event Sentinel-1 Flood Mapping Using Adaptive Otsu Thresholding and Machine Learning in the Lokoja–Bassa–Kogi Sector of the Niger–Benue Confluence**
The public code is intentionally limited to the analytical pathway reported in the manuscript. Superseded experiments, deep-learning development, temporary runtime-recovery cells, author-specific Google Drive paths, and exploratory cartographic code are excluded.
The manuscript study-area map was prepared separately in **ArcGIS Pro** and is not generated by this repository.
## Repository scope
The notebook reproduces the reported analytical workflow:
1. Environment and configuration
2. Sentinel-1 preprocessing and acquisition matching
3. Predictor construction and grid harmonisation
4. Reference-sample preparation
5. Leave-One-Event-Out (LOEO) partitioning and spatial blocking
6. Event-specific adaptive Otsu benchmark
7. Random Forest, XGBoost, and LightGBM development comparison
8. Independent held-out evaluation and full-area LightGBM inference
9. Paired Otsu-LightGBM statistical comparison
10. Full-area flood mapping and spatial agreement
11. Held-out TreeSHAP interpretation
12. Post-selection sensitivity analyses
13. External NEMA flooded-location corroboration
14. Reproducibility audit and manuscript outputs
## Main code
`reproduce_flood_mapping_study.ipynb`
This is the single public analytical notebook. It uses repository-relative paths and does not require access to the authors' Google Drive.
## Reproducibility levels
> **Core public data layout.** For browser-upload portability, the two compact processed tables are stored at the repository root: `loeo_12predictor_table.csv` and `otsu_heldout_predictions.csv`. The notebook also remains compatible with the `data/processed/` layout if the files are supplied through an external archive.
### Level A: Core nu …