Skip to content

A unified interface to access tropical cyclone best-track datasets in different formats.

License

Notifications You must be signed in to change notification settings

miniufo/besttracks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

besttracks

tracks plot

1. Introduction

Tropical cyclone (TC) best-track datasets are analyzed, maintained, and hosted by several Regional Specialized Meteorological Centers (RSMCs), agencies, or projects all over the world. These agencies include:

RSMC WNP NEP NAT NIO SIO WSP SAT
JTWC X X X X
CMA X
JMA X
NHC X X
IBTrACS X X X X X X

Unfortunately, different agencies use different data formats. This python-based project besttracks, aims to provide a unified interface to access these datasets in different formats, and organizes them into a unified data structure called TCSet and TC, which are based on pandas.DataFrame that are convient for python users. Simple plot of track and intensity is also easy and some basic statistics are also provided.

Up to now, the datasets from the above agencies are supported. It would be good to add more agencies and more formats. We also provide the parser function for CMA operational forecast data (BABJ format), which is also popular in China.


2. How to install

Requirements besttracks is developed under the environment with numpy (=version 1.15.4), pandas (=version 1.0.3), xarray (=version 0.15.1), matplotlib (=version 3.3.1), and cartopy (=version 0.18.0). Older versions of these packages are not well tested.

Install from github

git clone https://github.com/miniufo/besttracks.git

3. Examples

3.1 Best-track datasets manipulations

Parsing best-track dataset CMA into TCSet would be as simple as:

from besttracks import parse_TCs

# parse dataset from CMA
TCs_CMA = parse_TCs('./CH*.txt', agency='CMA')

# Brief describe the dataset
print(TCs_CMA)

# Plotting all TC tracks
TCs_CMA.plot_tracks()

tracks plot

One can also bin the tracks into gridded statistics (also known as PDF distribution) as:

# binning the tracks into gridded data
TCs_CMA.binning()

binning plot


3.2 A single TC manipulation

Manipulating a single TC is also simple:

# Selecting a single TC
tc = TCs_cma[-1]

# Briefly descibe the TC
print(tc)

# Plot the TC track and intensity
tc.plot()

tc plot


3.3 Timeseries statistics

TCSet also supports statistical analysis over time space. One can plot the timeseries of TC number and accumulated cyclonic energy (ACE) of a TCSet as:

# plot the climatological timeseries of No. and ACE
TCs_CMA.plot_timeseries(freq='annual')

tc plot

More examples can be found at this notebook