euler314 commited on
Commit
c388baa
Β·
verified Β·
1 Parent(s): dfe8a5e

Model card: StormFusion-MT v2 + TrackFormer (track-only), WP-2020+ results

Browse files
Files changed (1) hide show
  1. README.md +50 -57
README.md CHANGED
@@ -1,74 +1,67 @@
1
- # Typhoon Predict
 
 
 
 
 
 
 
 
 
 
2
 
3
- Typhoon Predict is an ERA5-conditioned tropical-cyclone track research model. It predicts future cyclone center positions from recent track history and a local atmospheric-state patch. The project is intended for research, experimentation, and reproducible model development.
4
 
5
- ## Model Architecture
 
 
6
 
7
- The model combines:
 
8
 
9
- - A convolutional encoder for storm-centered ERA5 atmospheric patches.
10
- - A bidirectional GRU for recent cyclone track history.
11
- - A fusion multilayer perceptron that combines the atmospheric and track representations.
12
- - Probabilistic output heads that predict the mean and log-scale of future latitude and longitude offsets.
13
- - A latent projection used to create correlated ensemble members for uncertainty-aware forecasts.
14
 
15
- The forecast is generated recursively for multiple lead times. The ensemble represents sampled plausible tracks; the mean track is a summary and should not be treated as a guaranteed path.
 
16
 
17
- ## Training Configuration
18
 
19
- The released experiment uses:
 
 
 
20
 
21
- - ERA5 reanalysis data beginning in 1979.
22
- - Western Pacific basin samples.
23
- - Four historical track steps as input.
24
- - Forecast lead times of 6, 12, 24, 48, 72, 96, and 120 hours.
25
- - Storm-centered patches with an 8 degree half-width at 0.5 degree resolution.
26
- - Chronological split: training through 2015 and validation through 2019.
27
- - Batch size 64, learning rate 2e-4, weight decay 1e-4.
28
- - Up to 80 epochs with early stopping patience of 12 epochs.
29
- - 50 ensemble members for uncertainty sampling.
30
 
31
- The training pipeline normalizes atmospheric variables, extracts storm-centered windows, aligns ERA5 with track timestamps, and uses chronological validation to reduce temporal leakage.
32
 
33
- ## Data Pipeline
 
 
 
 
 
34
 
35
- Training examples require:
36
 
37
- 1. Quality-controlled tropical-cyclone track fixes with timestamp, latitude, and longitude.
38
- 2. ERA5 atmospheric fields covering the same time range.
39
- 3. Storm-centered spatial extraction around each observed cyclone position.
40
- 4. Historical track sequences paired with future positions at the configured lead times.
41
- 5. Chronological train and validation splits.
42
 
43
- Cached patches can be reused to reduce repeated preprocessing and storage overhead during experiments.
44
 
45
- ## Inference
46
-
47
- The local inference script loads a PyTorch checkpoint, prepares the configured input sequence, runs ensemble sampling, and writes forecast points plus an optional HTML map. See run_inference.py and the GitHub repository for the current command-line workflow.
48
-
49
- When live ERA5 data is unavailable, the example inference path uses normalized atmospheric inputs as a software smoke test. Operational or scientific use requires real, correctly aligned atmospheric analysis data.
50
-
51
- ## Minimum System Requirements
52
-
53
- For local inference with the released PyTorch checkpoint:
54
-
55
- - Operating system: macOS, Linux, or Windows
56
- - Python: 3.10 or newer
57
- - Processor: 64-bit CPU with four cores or more
58
- - Memory: 8 GB RAM minimum; 16 GB recommended
59
- - Storage: 2 GB free space for the repository, environment, checkpoint, and generated forecasts
60
- - GPU: not required; CPU inference is supported. Apple Silicon can use MPS when available.
61
-
62
- For faster experimentation, training, or batch inference, use a CUDA-capable NVIDIA GPU with at least 16 GB VRAM. An A100 or H100 is suitable for full training, but is not required to run the released checkpoint.
63
-
64
- ## Model Formats
65
-
66
- The native release format is PyTorch. GGUF is designed primarily for transformer-style language models and is not a suitable interchange format for this custom CNN-GRU probabilistic model. ONNX or TorchScript conversion may be possible, but any converted model must be validated against the native checkpoint for numerical and forecast consistency.
67
 
68
  ## Limitations
69
 
70
- This is a research model, not an operational warning system. Forecast quality depends on the training data, basin coverage, input alignment, preprocessing, and model calibration. It should not replace official meteorological agencies or emergency-management guidance.
71
-
72
- ## License and Attribution
73
-
74
- Review the repository license and source-data terms before redistribution or commercial use. ERA5 data is provided by the Copernicus Climate Change Service and follows its applicable terms.
 
1
+ ---
2
+ license: mit
3
+ library_name: pytorch
4
+ pipeline_tag: time-series-forecasting
5
+ tags:
6
+ - tropical-cyclone
7
+ - weather-forecasting
8
+ - pytorch
9
+ - era5
10
+ - ibtracs
11
+ ---
12
 
13
+ # StormFusion-MT & TrackFormer β€” tropical-cyclone forecasting
14
 
15
+ Two research checkpoints for tropical-cyclone forecasting. Each predicts, at 20 six-hourly lead
16
+ times (6–120 h), a 17-dim state per lead: east/north storm motion (km), max wind (kt), central
17
+ pressure (hPa), radius of max wind (km), and 34/50/64-kt wind radii in four quadrants.
18
 
19
+ **Research models β€” not an operational warning system. Do not use for evacuation, aviation,
20
+ maritime, or emergency decisions.**
21
 
22
+ | model | params | inputs | training data |
23
+ |---|---|---|---|
24
+ | StormFusion-MT v2 | 3.3M | ERA5 patches + track history | WP, 2000+, 1,337 storm-centered windows |
25
+ | **TrackFormer** | 21M (fp16, 43MB) | **track history only (no ERA5)** | all basins, 1980+, 84,150 windows |
 
26
 
27
+ Weights and full reproducible code (dataset builders, training, eval) are in the GitHub repo:
28
+ **https://github.com/yu314-coder/typhoon-predict** (`models/`).
29
 
30
+ ## Results β€” WP 2020+ held-out test (lower is better)
31
 
32
+ | model | track km | vmax kt | pres hPa | rmw km | radius km |
33
+ |---|---|---|---|---|---|
34
+ | StormFusion-MT v2 (3.3M, ERA5) | 729 | 24.2 | 21.6 | 16.2 | 31.8 |
35
+ | **TrackFormer (21M, no ERA5)** | **720** | **22.1** | 21.2 | **12.9** | 31.5 |
36
 
37
+ **Key finding:** a track-only model that never sees ERA5 **matches or beats** the full ERA5
38
+ model on every metric. The expensive ERA5 atmospheric patches add little over past-track history
39
+ plus more storms. Across experiments the pattern was consistent: **data diversity > engineered
40
+ features > parameters** β€” a 17.7M ERA5 model overfit and did *worse* than the 3.3M one.
 
 
 
 
 
41
 
42
+ ## Architectures
43
 
44
+ - **StormFusion-MT v2** β€” separate inner/outer ERA5 conv encoders keeping a 3Γ—3 grid of spatial
45
+ tokens, track/environment token encoders, a temporal Transformer context, learned + sinusoidal
46
+ lead-time queries, cross-attention decoding, and multi-task state / log-scale heads.
47
+ - **TrackFormer** β€” the same decoder design, track-only: a 40-dim track-history projection β†’
48
+ Transformer context (d_model 384, 8 heads, 4+6 layers) β†’ lead queries β†’ dual heads. No
49
+ atmospheric inputs.
50
 
51
+ ## Usage
52
 
53
+ See the GitHub repo for `model_v2.py` / `train_track.py`, the checkpoints, and normalization
54
+ stats. Inputs are per-feature standardized (stats saved with each checkpoint / dataset);
55
+ multiply predictions by `TARGET_SCALE = [100,100,35,20,50] + [50]*12` for physical units.
 
 
56
 
57
+ ## Data
58
 
59
+ IBTrACS v04r01 best tracks (NOAA NCEI) and ERA5 reanalysis (Copernicus/ECMWF). Obtain the source
60
+ data under its own access and licensing terms.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
 
62
  ## Limitations
63
 
64
+ - Absolute track error (~720 km averaged over 6–120 h) is far from operational quality.
65
+ - The real ceiling is storm **diversity** (~13k storms have ever existed); larger models overfit.
66
+ - Wind-radius labels are sparse; no calibration or comparison against official agency forecasts.
67
+ - Pre-satellite track/intensity labels are lower quality.