# @gaia/cyclone-forecast

FGN-class **direct tropical-cyclone prediction** (Phase 175.4).

| Module            | Phase     | Contents                                                                                                                                                                    |
| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `functional_head` | 175.4.1.1 | Joint cyclone functional: prob-of-cyclone, centre, Vmax, MSLP, RMW, R34/R50/R64 quadrants, eye flag — with softplus/sigmoid range constraints and R34≥R50≥R64 monotonicity. |
| `trajectory`      | 175.4.1.2 | Transformer decoder over the past 24 h track + backbone latent → Gaussian position-increment distribution, with stochastic trajectory sampling (track cone).                |
| `losses`          | 175.4.1.3 | Combined loss: Haversine position, Huber Vmax/MSLP, soft-binned Saffir-Simpson cross-entropy, Brier formation; Gaussian trajectory NLL.                                     |
| `atcf`            | 175.4.1.4 | NHC ATCF a-deck writer (BASIN/CY/time/TAU/Lat/Lon/Vmax/MSLP/dev-level + 34/50/64 kt wind-radii lines).                                                                      |
| `integration`     | 175.4.1.5 | Adapters: `@oya/drones` no-fly cone + hunter tasking, `@cybele/construction` Rankine-vortex asset-hardening alerts, `@veritas/news` bulletin generator.                     |
| `geo`             | —         | NumPy + differentiable Torch Haversine distance.                                                                                                                            |

Training 175.4.1.3 to "replicate the published FGN NHC landfall-skill win over
HAFS/HWRF" needs the operational archive and is **not** locally actionable; the
combined objective it optimises is implemented and unit-tested (overfit-a-track
tests prove the head and trajectory model train end-to-end).

```bash
cd libs/gaia/cyclone-forecast && python3 -m pytest tests/ -q
```
