A set of criteria for identifying tropical cyclones from a set of cyclone tracks
This repository contains a pip installable command line script and python function for applying the WCSI criteria to a set of cyclone tracks. Also included are a set of scripts and functions to reproduce the analysis and figures from the paper describing the method (to be submitted).
git clone https://github.com/Huracan-project/wcsi.git
cd wcsi
pip install .To apply the WCSI criteria to your tracks, you can run the command line script
wcsi filename_in filename_outwhere filename_in is the name of a file that can be loaded with huracanpy.load
This will create two files
- filename_out.nc - The subset of tracks that are WCSI, with an
is_tcvariable added that marks the WCSI points - filename_out.parquet - A summary table of all the input tracks showing which track IDs were identified as WCSI or not
Various different filters and thresholds can be applied. Run
wcsi --helpTo see the full set of options
Note that the script assumes you have certain named variables in your file
- The cyclone phase space parameters named as
cps_b,cps_vtl,cps_vtu relative_vorticitywithpressureas a vertical coordinate
If you want to rename variables without creating a new file, you can use the python function instead
To apply the WCSI criteria to tracks using the python function you can follow the example below
import huracanpy
from wcsi import nature
# Load tracks with huracanpy
tracks = huracanpy.load("filename_in")
# Apply WCSI criteria
wcsi_tracks, summary = nature.wcsi(tracks)
# Save the tracks and summary table
huracanpy.save(wcsi_tracks, "filename_out.nc")
summary.to_parquet("filename_out.parquet")As with the command line script, various different filters and thresholds can be applied. Run
from wcsi import nature
help(nature.wcsi)to see the function documentation.
This repository contains all the code needed to reproduce the results in the paper. To do that, first download the ERA5 and JRA3Q tracks, and the summary table from zenodo. To produce these files I have already run
# Apply WCSI criteria to ERA5 and JRA3Q tracks
wcsi ERA5_all.nc ERA5_WCS --intensification_threshold=None
wcsi ERA5_WCS.nc ERA5_WCSI
wcsi JRA3Q_nolat-tcident.nc JRA3Q_nolat-tcident_WCSI
# Create table summary tracks by filter and matching across datasets
python -m wcsi.scripts.add_nature
# Add a nature tag to the ERA5 tracks
python -m wcsi.scripts.combine_summariesThen, to recreate the figures in the paper
- Download and subset IBTrACS (
wcsi.scripts.ibtracs_subset) - Create a file with MSLP at maximum intensity matched across different datasets (
wcsi.scripts.matched_lmi) - Run the scripts in
wcsi.plot
