Changelog#

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

v1.3.1#

Fixed#

  • calc.density with crop=True will only crop the region outside of where there are tracks rather than all empty longitudes/latitudes

v1.3.0#

Added#

  • Include missing accessor functions

    • get_beta_drift and add_beta_drift

    • plot_fancyline

  • plot.tracks and plot.density can be placed on existing axes if they are explicitly passed to the function

  • Load tracks from the Imperial College Storm Model (IRIS)

  • huracanpy.infer_track_id to generate a track ID from unique combinations of variables. e.g. “year” and “storm number in year”.

    • Also add as an option to huracanpy.load

  • Can use huracanpy.load with a list of files

  • huracanpy.concat_tracks to concatenate tracks while keeping the track_id as a unique identifier

Changed#

  • Reduced unnecessary warning messages

  • Always use var_name as the accessor keyword for choosing a specific variable. Previously some functions used varname

  • track density kde function integrates to the total number of points being passed, so that numbers are reasonable.

Fixed#

  • Consistent use of track_id in delta calculations

  • Correctly convert units in category functions

  • Always do the beta_drift calculation with wind speed in metres per second

  • Allow requesting other time components than year/month/day/hour from add_time_components, consistent with info.time_components

  • get_azimuth was calling the wrong function

  • Correctly use wind in “knots” and pressure in “hPa” when using pre-calculated pressure-wind relations (“holland”, “z2021”) in tc.pace

  • Use a lower precision datetime64 when times are outside the default representable range

v1.2.0#

Added#

  • Modify huracanpy.load to load TRACK files with timesteps instead of dates (e.g. track_calendar=("1940-01-01", 6) to specify start time and timestep length in hours)

  • Add “Old HURDAT”/ECMWF track data reader

  • Add function to compute azimuth

  • Allow huracanpy.sel_id to be used to select multiple track IDs

Changed#

  • Update python versions supported (python 3.9-3.13, changed from 3.8-3.12)

v1.1.0#

Added#

  • Support for WiTRACK text files in huracanpy.load

  • Beta-drift computation (along with RMW support within distance function)

  • Full documentation incuding new examples

  • kde option for densities

  • Reference track set option for matching

  • Basin definitions from E. Sainsbury’s papers

Fixes#

  • Accessor was not behaving in the right way when the object was modified after the accessor’s first call;

  • Allow for ISO time to be called “isotime” in csv/parquet

v1.0.0#

Added#

  • xarray Dataset accessor (hrcn)

  • Extra keyword arguments to huracanpy.load

    • rename

    • units

    • baselon

  • sel_id function to select a single track by track_id from a Dataset but faster than using groupby

Changed#

  • Simplified module namespaces

    • utils.{module}.{function} -> info.{function}

    • diags.{module}.{function} -> calc.{function} or tc.{function}

    • subset.trackswhere -> trackswhere

  • Simplified function naming

    • plot_ prefix removed functions in plot module

  • Modified arguments to load

    • keyword tracker renamed source to reflect not all tracks are from trackers, e.g. IBTrACS or statistical-dynamical downscaling models

    • Use ibtracs_subset to determine whether the subset is online or not, removing ibtracs_online keyword

    • When filename is specified for an online IBTrACS dataset, save the downloaded data to that file, rather than using ibtracs_clean=False and a default filename

  • Use a single matching function assess.match for 2 or more datasets instead of assess.match_pair and assess.match_multiple

  • Remove get_ from functions in info. Instead this syntax is used to differentiate get_ and add_ functions in the hrcn accessor

  • Split info.get_land_or_ocean into is_land and is_ocean

  • Renamed tc.sshs_cat to tc.saffir_simpson_category and tc.pres_cat to tc.pressure_category

  • Improved support for calculations with units (using metpy style functions)

  • Updated IBTrACS data

Removed#

  • add_info argument from huracanpy.load

  • add_all_info function. Instead use add_ functions on hrcn accessor

  • get_time. Functionality already covered by pandas.to_datetime

Fixed#

  • huracanpy.info.season now works with cftime.datetime