North Atlantic Tropical Cyclone Benchmark from IBTrACS + ERA5 (2000–2024): ML‑Ready Dataset, Trained Models, and Evaluation Metrics.
收藏资源简介:
IBTrACS + ERA5 Tropical Cyclone Benchmark (North Atlantic Basin, 2000–2024) Project Overview AI-Driven Predictive Modeling of Global Hurricane Trajectory and Intensity under Climate Change using multi-source spatio-temporal data. This repository combines: IBTrACS: Global hurricane tracks (positions, intensities, metadata) ERA5: High-resolution climate variables (10 m u- and v-wind, 2 m temperature, mean sea level pressure, sea surface temperature, and total precipitation) Key highlights: ML-ready benchmark: 8,290+ observations (2000-2024) at 6-hour cadence with multi-horizon targets Trained models included: XGBoost for track forecasting (±6/12/24h) and RI classification with evaluation metrics Complete pipeline: Data engineering → feature engineering → model training → reproducible evaluation Research-grade: Storm-level splits, baseline comparisons, and comprehensive documentation Track Forecasting Task: Predict storm position (latitude, longitude) at 6, 12, and 24-hour lead times using atmospheric features, historical motion, and oceanic conditions. Model: XGBoost regressors trained separately for longitudinal (Δx) and latitudinal (Δy) displacement with early stopping and storm-level temporal validation. Forecast Skill Improvement: | Horizon | Best Baseline (Median) | XGBoost (Median) | Improvement ||------------|-------------------------------|----------------------------|-------------------|| +6 h | 33.47 km | 33.34 km | +0.4% || +12 h | 97.98 km | 79.79 km | +18.6% || +24 h | 280.10 km | 201.34 km | +26.1% | Test set (2022–2024): 1,984 forecasts at +6h | 1,729 at +12h | 1,285 at +24h Key Achievements: Near-operational accuracy: Median error of 25.46 km at +6h approaches NOAA National Hurricane Center 24-hour track standards (110–150 km for Atlantic storms). Progressive skill gains: +26% improvement over persistence at +24h demonstrates the model captures atmospheric steering beyond simple extrapolation. Interpretable features: Top predictors include motion persistence (dx_6h, speed_6h), environmental steering (u10, v10), and oceanic influence (sst_c), achieving 201 km mean error at 24h. Robust generalization: Healthy Val/Train gaps (1.5–2.2x) confirm reliable performance on unseen 2022–2024 storms. Computational efficiency: Predictions take seconds versus hours for dynamical models, enabling rapid ensemble generation and sensitivity analysis. Rapid Intensification (RI) Classification Task: Predict whether a storm will intensify ≥30 kt within the next 24 hours. Model: XGBoost binary classifier with class balancing, probability calibration, and storm-level temporal splits to prevent leakage. Performance (Validation: 2019–2021 | Test: 2022–2024): | Metric | Validation | Test ||--------------|---------------|---------|| AUROC | 0.907 | 0.813|| AUPRC | 0.333 | 0.236|| Best F1 | 0.43 | 0.30 || Precision | 0.34 | 0.25 || Recall | 0.58 | 0.37 || Brier | 0.033 | 0.042|| ECE | 0.040 | 0.027| Key Achievements: Excellent discrimination: AUROC of 0.813 on unseen storms, comparable to operational NOAA systems. Reliable probabilities: ECE of 0.027 indicates near-perfect calibration—predicted probabilities match actual RI occurrence rates. Strong rare-event detection: Captures 37% of RI events (5% base rate) while maintaining operational precision—outperforming persistence and climatology baselines. Dataset Overview This benchmark combines IBTrACS hurricane tracks with ERA5 climate variables, producing ML-ready datasets for forecasting and classification tasks. Temporal & Spatial Coverage Years: 2000–2024 Cadence: 6-hourly (00:00, 06:00, 12:00, 18:00 UTC) Region (North Atlantic TC basin): 0°–50°N, 100°W–10°E Data Sources IBTrACS v04r01: Storm positions (lat/lon), WMO 1-min sustained wind (wmo_wind), minimum pressure (mslp), storm ID, basin, and metadata ERA5 Reanalysis: 10 m u-wind (u10) 10 m v-wind (v10) 2 m temperature (t2m) Mean sea level pressure (msl) Sea surface temperature (sst) Total precipitation (tp) ML-Ready Tables merged_ibtracs_era5_2000_2024_clean.parquet – Clean intermediate table combining IBTrACS + ERA5, with harmonized coordinates, units, and storm-level keys; useful for custom target engineering. model_ready_2000_2024_v2.parquet – Master benchmark table with multi-horizon intensity (wmo_wind_next6/12/24), track (lat/lon_next6/12/24), rapid intensification (ri_24h), and lifecycle targets. outputs/tasks/*.parquet – Slim task-specific subsets for quick modeling and benchmarking. DATA_DICTIONARY.md / model_ready_2000_2024_v2_dictionary.csv – Detailed column definitions, units, and descriptions. Formats Parquet: ML-ready tables NetCDF4: Raw ERA5 reanalysis data (not included due to size; downloadable from Copernicus CDS) This structure allows multi-horizon forecasting, rapid intensification classification, and lifecycle analysis with clean, reproducible, and consistent features across all storms. Why this dataset Data engineering you can trust: raw → clean → merged → model-ready → task-ready, with consistent time, coordinates, and identifiers. Forecast targets included: 6 / 12 / 24-hour horizons (e.g., wmo_wind_next6, lat_next24). Clear tasks: intensity regression, track regression, RI classification (24 h), and lifecycle classification. Reproducible: simple scripts, dictionary, and task splits designed for baseline and advanced models. Tasks & targets All tasks are derived from the 6-hour master cadence; 12 h and 24 h targets are computed by shifting forward multiple steps. Intensity Forecast (regression) Targets: wmo_wind_next6, wmo_wind_next12, wmo_wind_next24 (knots). Typical metrics: MAE / RMSE (kt), skill vs. persistence/CLIPER-style baselines. Track Forecast (regression) Targets: lat_next{6,12,24}, lon_next{6,12,24} (degrees). Typical metric: great-circle error (km) via haversine. Rapid Intensification (classification) Target: ri_24h (1 if Δwind ≥ 30 kt over 24 h; else 0). Typical metrics: AUROC, AUPRC, F1 (with class imbalance reporting). Lifecycle (classification) Targets: categorical/end-state flags (e.g., dissipates, extratropical transition) and/or lifecycle_stage where applicable. Storm-level splits (train/val/test) and sample weights are included to avoid temporal leakage and handle imbalance. See DATA_DICTIONARY.md for exact column names. Quickstart import pandas as pd import numpy as np Load the master table: df = pd.read_parquet("outputs/model_ready_2000_2024_v2.parquet") print(f"Dataset shape: {df.shape}") print(f"First 12 columns: {list(df.columns[:12])}") print(f"\nSplit distribution:\n{df['split'].value_counts()}") Train/validation/test splits: train = df[df["split"] == "train"] val = df[df["split"] == "val"] test = df[df["split"] == "test"] Intensity baseline (+6h): cols = ["storm_id","iso_time","wmo_wind","wmo_wind_next6"] tmp = df[cols].dropna() y = tmp["wmo_wind_next6"].to_numpy() yhat = tmp["wmo_wind"].to_numpy() # persistence mae = np.mean(np.abs(y - yhat)) print(f"Persistence MAE (+6h): {mae:.2f} kt") Track baseline (+12h) using haversine: R = 6371.0 # km def haversine(lat1, lon1, lat2, lon2): """Calculate great-circle distance using Haversine formula""" p = np.pi / 180 dlat = (lat2 - lat1) * p dlon = (lon2 - lon1) * p a = np.sin(dlat/2)**2 + np.cos(lat1*p) * np.cos(lat2*p) * np.sin(dlon/2)**2 return 2 * R * np.arcsin(np.sqrt(a)) cols = ["lat", "lon", "lat_next12", "lon_next12"] tt = df[cols].dropna() err_km = haversine(tt["lat"], tt["lon"], tt["lat_next12"], tt["lon_next12"]) print(f"📍 Median great-circle error (+12h): {np.median(err_km):.1f} km") print(f" Mean error: {np.mean(err_km):.1f} km") print(f" P95 error: {np.percentile(err_km, 95):.1f} km") RI classification target distribution: print(f"\n🌪️ Rapid Intensification (RI) Target Distribution:") print(df[["storm_id", "iso_time", "ri_24h"]].head(10)) print(f"\nRI class balance:\n{df['ri_24h'].value_counts(normalize=True)}") Data Engineering & ML Pipeline 1. Raw Ingestion IBTrACS v04r01: storm positions, WMO wind, pressure, basin, metadata ERA5: climate variables (u10, v10, t2m, msl, sst, tp) collocated at 6-hourly storm fixes 2. Cleaning & Normalization Standardized keys (storm_id, iso_time, lat, lon) Unit harmonization, coordinate normalization, duplicate removal 3. Feature & Target Engineering Forecast targets: intensity (wmo_wind_next6/12/24), track (lat/lon_next6/12/24) RI-24h flags and lifecycle labels Horizon masks and storm-level splits, sample weights for imbalance 4. ML Modeling Track forecasting: XGBoost, LSTM, spatio-temporal models RI classification: tree-based, logistic regression Baselines: persistence, climatology, wind-advection, ensemble methods 5. Export & Reproducibility Master table: outputs/model_ready_2000_2024_v2.parquet Intermediate: outputs/merged_ibtracs_era5_2000_2024_clean.parquet Task subsets: outputs/tasks/*.parquet Recreate with: python scripts/build_dataset.py python scripts/add_targets.py Data sources & attribution IBTrACS v04r01 — International Best Track Archive for Climate Stewardship (NOAA/NCEI). ERA5 — Copernicus Climate Change Service (C3S) via ECMWF. See DATA_DICTIONARY.md for the exact list of variables included from each source. Licensing Code: Licensed under the [MIT License]. Processed Data: Licensed under [CC-BY 4.0]. Versioning & DOI Dataset version: v2 (covers 2000–2024). DOI: 10.5281/zenodo.17239540 Cite this dataset @dataset{mehedi_ibtracs_era5_tc_benchmark_2000_2024_v2, author = {Saifur Rahman Mehedi}, title = {IBTrACS + ERA5 Tropical Cyclone Benchmark (2000--2024), v2}, year = {2025}, publisher = {Zenodo}, doi = {10.5281/zenodo.17239540}, url = {https://doi.org/10.5281/zenodo.17239540}} FAQs Why 6 h if some targets are 12/24 h? The native cadence is 6 h; 12/24 h targets are computed by shifting the 6-hour series forward by 2/4 steps. What is wmo_wind_next6? It's the IBTrACS WMO 1-min sustained wind value 6 hours ahead of the current fix, used as the intensity-forecast target. How do I avoid leakage? Use the provided storm-level split; don't mix fixes from the same storm across train/val/test. Intended use & ethics This dataset is for research and education in climate science and ML. Forecasts derived from this dataset should not be used for real-time hazard guidance without official sources (e.g., JTWC/NOAA). Always disclose uncertainties and limitations. Maintainer Saifur Rahman Mehedi — issues and questions welcome via the repository's issue tracker.



