The data model#
A parsed record is a BestTracks bundle of three frames:
observations (one row per fix), storms (one row per storm), and remarks
(free-text notes).
The tidy observations frame#
column |
meaning |
|---|---|
|
stable id, |
|
year and IMD serial number of the system |
|
|
|
cyclone name (blank for unnamed / older systems) |
|
observation time (UTC, |
|
position (°N, °E) |
|
Dvorak CI / T-number |
|
estimated central pressure (hPa) |
|
maximum sustained surface wind (knots) |
|
pressure drop / ΔP (hPa) |
|
ordered category: |
|
outermost closed isobar pressure (hPa) & diameter (°) |
|
0-based fix index within the storm |
|
QC flags (see Data quality) |
The xarray Dataset#
Laid out like IBTrACS:
a ragged track becomes a 2-D (storm, step) grid. Per-fix variables span both
dims; storm-level metadata (name, basin, year, …) are storm coordinates.
ds = bt.to_xarray()
ds.sel(storm="2020-001")["wind"].max() # Amphan peak intensity
ds.where(ds.basin == "ARB", drop=True) # Arabian Sea storms only
IMD intensity grades#
grade |
name |
sustained wind |
|---|---|---|
|
Depression |
17–27 kt |
|
Deep Depression |
28–33 kt |
|
Cyclonic Storm |
34–47 kt |
|
Severe Cyclonic Storm |
48–63 kt |
|
Very Severe Cyclonic Storm |
64–89 kt |
|
Extremely Severe Cyclonic Storm |
90–119 kt |
|
Super Cyclonic Storm |
≥ 120 kt |