Building a cyclone impact forecaster with only 61 data points
Description and use
A cyclone impact forecaster was built using 61 historical events and real datasets (NOAA, EM‑DAT, 2011 Census) to provide 6‑hour wind intensity forecasts and district‑level population impact estimates, visualized on a 3D globe.
Problem
Responders need district-level exposure estimates for cyclones, but existing tools only show storm tracks.
Outcome
The forecaster achieves an intensity MAE of 3.04 kt versus 3.49 kt for persistence, and an impact log‑MAE of 2.50 versus 2.69 for the historical mean, while providing transparent error bands and relative district rankings.
Workflow
- Pull live storm data from NOAA IBTrACS ACTIVE file (JTWC fixes).
- Predict 6‑hour wind speed change with an XGBoost model using current position, wind, pressure and trends.
- Estimate district impact with a 2‑parameter log‑linear model trained on 61 EM‑DAT records, Census 2011 populations, and areas.
- Render results on a MapLibre GL 3D globe with satellite imagery and terrain, scaling district markers by affected population.
Evidence
I built Cyclone Impact Forecaster to bridge that gap. It combines a 6-hour intensity forecast with a district-level exposure ranking for the North Indian Ocean, rendered on a 3D satellite globe.
An XGBoost model predicts the change in wind speed over the next 6 hours based on current position, wind, central pressure, and their recent trends.
To estimate human impact, I fitted a 2-parameter log-linear model on 61 historical Indian cyclone records from EM-DAT, combined with Census 2011 district populations and areas.
All of this runs strictly on real datasets—IBTrACS (NOAA NCEI) for tracks, EM-DAT (CRED) for the 61 historical impact records, and the 2011 Census of India.
For the intensity model, I used 5-fold cross-validation grouped by storm, beating the persistence baseline across all 5 folds.
- Record date: 2026-10-01T20:41:11.673Z