Skip to content

Six-hour scalar intensity forecast

IntensityForecastMLP predicts maximum wind six hours after the current anchor. Its five inputs are current, −6 h, and −12 h intensity and the two consecutive six-hour changes. It predicts a signed change added to the current anchor, with the resulting wind clamped nonnegative.

This is a downstream scalar task, separate from the paper's instantaneous wind-field and intensity comparisons.

Data and training

The cache exporter produces historical pretraining splits (2000–2018 train, 2019–2022 validation) and matched train/validation/test records. Historical anchors are IBTrACS; matched anchors are frozen post-hoc correction predictions. Cache metadata preserves the feature scaler and producer provenance.

uv run geo2wf-export intensity-forecast-cache \
  --ibtracs-file /path/to/ibtracs.ALL.list.v04r01.csv \
  --intensity-cache-root /path/to/intensity-cache \
  --intensity-checkpoint /path/to/intensity-correction.ckpt \
  --output-root data/intensity_forecast

uv run geo2wf-train experiment=intensity_forecast_pretrain \
  data.root=data/intensity_forecast

The retained preset trains on the historical pretraining splits with a change-balanced Huber objective. Checkpoints use val/storm_macro_mae_ms.

Evaluate and infer

uv run geo2wf-evaluate intensity-forecast \
  --cache-root data/intensity_forecast \
  --checkpoint /path/to/forecast.ckpt --split test \
  --output logs/intensity-forecast-evaluation.json

Use geo2wf-infer intensity-forecast with the same inputs and a CSV output path for per-record predictions. State whether evaluation uses historical IBTrACS anchors or matched correction-model anchors.

StormSense rollout

The dashboard uses an IBTrACS-pretrained checkpoint recursively: the +6 h prediction becomes an input to the next step, producing +12 h without the observed +6 h wind. This is not a separately trained 12-hour model. Best-track inputs make the displayed results retrospective; real-time advisory inputs would require separate evaluation. The dashboard's external ConvLSTM layer is a different model whose implementation is outside this package.