Highlights
- Many bug fixes and cleaning up underlying code.
- Multiple functions from ``tropycal.tracks.TrackDataset`` were previously inadvertently deleted, and have been restored with this update.
Contributors
tomerburg contributed code to this release. TomerAberbach contributed code reviews to this release.
Specific Bug Fixes
- Some post-tropical cyclones have had their storm type incorrectly assigned as a tropical cyclone in ``realtime.RealtimeStorm.get_realtime_info()``. This has been changed to "Post-Tropical Cyclone".
- Storm plotting functions are split between dashed lines for non-tropical cyclones and solid lines for tropical cyclones. The immediate timestep before a TC forms was plotted with a solid black line, but has been changed to a thin black line.
- When adding invest handling capability for Tropycal v0.3, a case that wasn't considered is a tropical cyclone which became post-tropical, then re-assigned as an invest to monitor the potential for re-transitioning into a tropical cyclone. The resulting unintended behavior was for Realtime objects to re-assign those as active tropical cyclones, even though no operational products are produced for such cases. This bug fix reassigns any post-tropical cyclone that has not been tropical for 18+ hours as an invest.
- Realtime objects now delete invests after 9 hours of inactivity, vs. 18 hours for tropical cyclones. In the future this can be optimized further to automatically delete invests that were re-classified as tropical cyclones.
- When reading in JTWC data into a Realtime object, the "TY" typhoon storm type is reassigned to "HU" (hurricane) for continuity purposes between different basins. For some data sources, a Super Typhoon "ST" storm type is included, which was previously not accounted for, resulting in an incorrect classification as an extratropical cyclone. This bug fixes ensures super typhoons are also reassigned to a "HU" storm type.
- When plotting a RealtimeStorm object via ``realtime.RealtimeStorm.plot()``, the displayed name treated invests and post-tropical cyclones equally. This has now been fixed such that invests will have their names displayed following invest naming conventions (e.g., "Invest 91L"), while post-tropical cyclones that have been re-designated as invests retain their original name (e.g., "Tropical Storm Peter").
- Central Pacific storms can now have their previous operational forecast data (from the a-deck) accessed.
- The function ``tracks.Storm.sel()`` only accepted hard int or float types, and crashed if any other variation of int or float types (e.g., numpy.int32) were input. This bug fix ensures any type of integer or float, including all numpy variations, can be accepted as arguments.
- Several functions from tracks.TrackDataset were discovered to have been inadvertedly removed in a PR last year, and were re-added:
- ``tracks.TrackDataset.to_dataframe()``
- ``tracks.TrackDataset.climatology()``
- ``tracks.TrackDataset.season_composite()``