Tropical Cyclone: how HazardNet classifies and scores it

Wind-driven coastal hazard — sustained wind above 50 km/h, with the rain it carries.

How the model arrives at this class

The classifier reads the same drivers; the coastal districts concentrate the high scores because the drivers there are genuinely stronger, not because a coastal prior is applied.

Uncalibrated softmax, as above. A high confidence in Tropical Cyclone means the drivers resemble that class, not that a cyclone has been detected.

Nothing above the WATCH level can be published automatically while no calibration map exists, and nothing at all can be published while the pipeline stamps no model version — the alert engine records that as `publication_blocked` rather than issuing the alert.

The independent physics cross-check

The 50 km/h floor means a calm week scores zero on the wind term regardless of rainfall.

Drivers: maximum sustained wind in the horizon (W, km/h) · precipitation accumulated over the horizon (P_total).

clip(x) clamps a term to [0, 1] — max(0, min(1, x)) — which is how every formula in the pipeline bounds its terms. Each term is clipped before it is weighted, so no single driver can run away with a score.

  • Expression: 0.7*clip((W-50)/150) + 0.3*clip(P_total/300)
  • That expression is executed against scripts/physics_severity.py by scripts/tests/test_content_engine.py — this page cannot silently describe a formula the pipeline no longer runs.

What the current run says about Tropical Cyclone

In the run this deployment ships (prediction date 2026-09-16), 3 district-horizon units are classified as Tropical Cyclone: 3 at 7 days.

Highest model severity: Barguna (0.95, 7 days), Satkhira (0.93, 7 days), Bagerhat (0.85, 7 days).

These are classifications from the current run, not a forecast of impact. The model version behind them is not stamped yet, and PRODUCT_SPEC §1.6 keeps publication closed above the WATCH level until one exists.

Season and geography

Typical season: April–May and October–November; the post-monsoon window is the more destructive. This describes when the hazard is climatologically plausible, not when this run flags it.

What this class cannot tell you

  • No track, no storm structure, no surge: the hazard is inferred from district-aggregated weather, so landfall position and timing are not represented.
  • Storm surge — the main killer on the Bangladesh coast — depends on bathymetry and tide, neither of which is an input.
  • The 15-day horizon is inside the range where a numerical weather model still has skill for wind, but the boundary between 'cyclone remnant' and 'strong monsoon wind' is not something this proxy resolves.
  • Confidence bins (Certain ≥ 0.85, Probable 0.70–0.85, Uncertain < 0.70) describe the model's own certainty in the class it chose. They are not accuracy, and no accuracy figure is published because no held-out evaluation has been run on real labels.

Inputs behind it

Ground-truth reports (district, hazard, horizon, date, what was observed) are the only route by which this project can publish skill metrics. The contact page reaches the maintainers.

  • Open-Meteo forecast (wind, rainfall)
  • ERA5-Land daily aggregates
  • BMD bulletins (warnings, ingested as text)

Questions and answers

Is a high Tropical Cyclone severity a prediction of damage?

No. The severity index is the model's continuous score for how strongly the drivers resemble this class, on a 0.00–1.00 scale. It is not a probability, not a percentage, and it does not model exposure. The physics cross-check is a second, independent estimate; where the two diverge, both numbers are shown rather than averaged.

Why is the confidence not a probability of Tropical Cyclone?

The published confidence is the model's own softmax over its eight classes, labelled uncalibrated_model_softmax in the data. It says how certain the classifier is about the class it picked, not how often that class actually materialises. No calibration map has been fitted yet, which is also why nothing above the WATCH level can be published automatically.

Which districts does this page cover?

The district pages cover all 64 districts. This page summarises the districts the current run covers — a run can be partial, and the coverage stamp on the snapshot says exactly how partial, which the status page reports.

Content reviewed 2026-09-16. HazardNet is decision support, not an official warning service — see the methodology for scope and limitations.

Loading the interactive HazardNet application…