tropycal.tracks.TrackDataset

class tropycal.tracks.TrackDataset(basin='north_atlantic', source='hurdat', include_btk=False, interpolate_data=False, **kwargs)[source]

Creates an instance of a TrackDataset object containing various cyclone data.

Parameters
  • basin (str) –

    Ocean basin(s) to load data for. Can be any of the following:

    Name

    Source(s)

    ”north_atlantic”

    HURDAT2, IBTrACS

    ”east_pacific”

    HURDAT2, IBTrACS

    ”both”

    HURDAT2 (“north_atlantic” & “east_pacific” combined)

    ”west_pacific”

    IBTrACS

    ”north_indian”

    IBTrACS

    ”south_indian”

    IBTrACS

    ”australia”

    IBTrACS* (special case)

    ”south_pacific”

    IBTrACS

    ”south_atlantic”

    IBTrACS

    ”all”

    IBTrACS

  • source (str) –

    Data source to read in. Default is HURDAT2.

    • hurdat - HURDAT2 data source for the North Atlantic and East/Central Pacific basins

    • ibtracs - ibtracs data source for regional or global data

  • include_btk (bool, optional) – If True, the best track data from NHC for the most recent years where it doesn’t exist in HURDAT2 will be added into the dataset. Valid for “north_atlantic” and “east_pacific” basins. Default is False.

  • interpolate_data (bool, optional) – If True, interpolates all storm data to hourly. Default is False.

Other Parameters
  • atlantic_url (str, optional) – URL containing the Atlantic HURDAT2 dataset. Can be changed to a local txt reference file. Default is retrieval from online URL.

  • pacific_url (str, optional) – URL containing the Pacific HURDAT2 dataset. Can be changed to a local txt reference file. Default is retrieval from online URL.

  • ibtracs_url (str, optional) – URL containing the ibtracs dataset. Can be changed to a local txt reference file. Can be a regional or all ibtracs file. If regional, the basin should match the argument basin provided earlier. Default is retrieval from online URL.

  • catarina (bool, optional) – Modify the dataset to include cyclone track data for Cyclone Catarina (2004) from McTaggart-Cowan et al. (2006). Default is False.

  • ibtracs_hurdat (bool, optional) – Replace ibtracs data for the North Atlantic and East/Central Pacific basins with HURDAT data. Default is False.

  • ibtracs_mode (str, optional) – Mode of reading ibtracs in. Default is “jtwc”.

    • wmo = official World Meteorological Organization data. Caveat is sustained wind methodology is inconsistent between basins.

    • jtwc = default. Unofficial data from the Joint Typhoon Warning Center. Caveat is some storms are missing and some storm data is inaccurate.

    • jtwc_neumann = JTWC data modified with the Neumann reanalysis for the Southern Hemisphere. Improves upon some storms (e.g., Cyclone Tracy 1974) while degrading others.

Returns

Dataset – An instance of Dataset.

Notes

This object contains information about all storms in a basin, as well as methods to analyze the dataset and to retrieve individual storms from the dataset.

The following block of code creates an instance of a TrackDataset() object and stores it in a variable called “basin”:

from tropycal import tracks
basin = tracks.TrackDataset()

With an instance of TrackDataset created, any of the methods listed below can be accessed via the “basin” variable:

storm = basin.get_storm(("katrina",2005))

For IBTrACS datasets, please refer to IBTrACS for pros and cons of each mode of IBTrACS data available.

Note

  1. If using basin="both", this combines the North Atlantic and East/Central Pacific HURDATv2 data into a single TrackDataset object. As of Tropycal v0.5, this now merges cross-basin storms (i.e., North Atlantic to East Pacific) which were reclassified with a new East Pacific ID into single Storm objects.

  2. If using basin="australia", source="ibtracs", since IBTrACS doesn’t provide an Australia-only basin file by default, this will fetch the full global IBTrACS data and filter storms to only those that existed in the Australia basin.

Methods Summary

TrackDataset.ace_climo([plot_year, ...])

Creates and plots a climatology of accumulated cyclone energy (ACE).

TrackDataset.analogs_from_point(point, radius)

Retrieve historical TC tracks surrounding a point.

TrackDataset.analogs_from_shape(points[, ...])

Retrieve historical TC tracks within a bounded region.

TrackDataset.assign_storm_tornadoes([...])

Assigns tornadoes to all North Atlantic tropical cyclones from TornadoDataset.

TrackDataset.climatology([climo_bounds])

Create a climatology for this dataset given start and end seasons.

TrackDataset.download_tcr(storm[, save_path])

Downloads the NHC offical Tropical Cyclone Report (TCR) for the requested storm to the requested directory.

TrackDataset.filter_storms([storm, ...])

Filters all storms by various thresholds.

TrackDataset.get_season(year[, basin])

Retrieves a Season object for the requested season or seasons.

TrackDataset.get_storm(storm)

Retrieves a Storm object for the requested storm.

TrackDataset.get_storm_id(storm)

Returns the storm ID (e.g., "AL012019") given the storm name and year.

TrackDataset.get_storm_tuple(storm)

Returns the storm tuple (e.g., ("Dorian",2019)) given the storm id.

TrackDataset.gridded_stats(request[, ...])

Creates a plot of gridded statistics.

TrackDataset.hurricane_days_climo([...])

Creates a climatology of tropical storm/hurricane/major hurricane days.

TrackDataset.plot_TCtors_rotated(storms[, ...])

Plot tracks of tornadoes relative to the storm motion vector of the tropical cyclone.

TrackDataset.plot_analogs_from_point(point, ...)

Plot historical TC tracks surrounding a point.

TrackDataset.plot_analogs_from_shape(points)

Plot historical TC tracks surrounding a point.

TrackDataset.plot_season(year[, domain, ax, ...])

Creates a plot of a single season.

TrackDataset.plot_storm(storm[, domain, ...])

Creates a plot of a single storm.

TrackDataset.plot_storms(storms[, domain, ...])

Creates a plot of multiple storms.

TrackDataset.plot_summary(time[, domain, ...])

Plot a summary map of past tropical cyclone and NHC potential development activity.

TrackDataset.rank_storm(metric[, return_df, ...])

Ranks storm by a specified metric.

TrackDataset.search_name(name)

Searches for hurricane seasons containing a storm of the requested name.

TrackDataset.search_time(time[, ...])

Searches for all storms active during the requested time.

TrackDataset.season_composite(seasons[, ...])

Create composite statistics for a list of seasons.

TrackDataset.storm_ace_vs_season(storm[, ...])

Retrives a list of entire hurricane seasons with lower ACE than the storm provided.

TrackDataset.to_dataframe()

Retrieve a Pandas DataFrame for all seasons within TrackDataset.

TrackDataset.wind_pres_relationship([storm, ...])

Creates a climatology of maximum sustained wind speed vs minimum MSLP relationships.