Skip to main content
Help us improve Python packaging – donate today!

Tropical Cyclone Detection and Tracking

Project Description

Warning, this project is in Alpha, it will be hard to get working and you can’t trust the documentation!

The main aim of this project is to develop an algorithm to detect and track tropical cyclones in the C20 Reanalysis Project. The algorithm will then be run against these data looking for trends in the time range of the data, from 1871 to 2013. Currently the algorithm uses vorticity maxima to locate potential candiates for cyclones, and tracks these maxima using a neareat neighbour approach from time frame to time frame. These tracks are then matched to best tracks from the IBTrACS catalogue, which it is hoped will allow for automated categorisation of these tracks (and the corresponding cyclones) through a machine learning technique: Support Vector Machines (SVMs).

Installing and Running

The project is hosted on PyPI, and can be installed using:

pip install stormtracks

The code is hosted on github. Documentation can be found over at python hosted.

To run the analysis, you will first need to download some C20 Reanalysis data and the ibtracs data (download_2005.py):

import stormtracks.download as dl

# Data will be saved to ~/stormtracks/data/
dl.download_ibtracs()
# N.B. one year is 4.2 GB of data! This will take a while.
# It will download 3 files, two with the wind velocities at ~sea level (u9950/v9950)
# and Pressure at Sea Level (prmsl).
dl.download_full_c20(2005)

To run some analysis (run_analysis_2005.py):

import datetime as dt

import pylab as plt

from stormtracks.c20data import C20Data, GlobalEnsembleMember
from stormtracks.ibtracsdata import IbtracsData
from stormtracks.matching import match, good_matches
from stormtracks.tracking import VortmaxFinder, VortmaxNearestNeighbourTracker

import stormtracks.plotting as pl

# Create a wrapper for the C20 Reanalysis data.
c20data = C20Data(2005)
c20data.first_date()
# Plot PSL for 1st of Jan 2005.
pl.raster_on_earth(c20data.lons, c20data.lats, c20data.psl)
plt.show()

# Plot vorticity for 1st of Jan 2005.
pl.raster_on_earth(c20data.lons, c20data.lats, c20data.vort)
plt.show()

# Load IBTrACS data for 2005.
ibtracs = IbtracsData()
best_tracks = ibtracs.load_ibtracks_year(2005)

# Run the analysis for 2005.
gdata = GlobalEnsembleMember(c20data, ensemble_member=0)

vort_finder = VortmaxFinder(gdata)
vort_finder.find_vort_maxima(dt.datetime(2005, 6, 1), dt.datetime(2005, 7, 1))
tracker = VortmaxNearestNeighbourTracker()
tracker.track_vort_maxima(vort_finder.vortmax_time_series)

# Match the generated tracks agains the best tracks.
matches = match(tracker.vort_tracks_by_date, best_tracks)
gms = good_matches(matches)

for gm in gms:
    pl.plot_match_with_date(gm, None)
    plt.show()

Release history Release notifications

History Node

0.5.2.7

History Node

0.5.2.6

History Node

0.5.2.5

History Node

0.5.2.4

History Node

0.5.2.3

History Node

0.5.2.2

History Node

0.5.2.1

History Node

0.5.2.0

History Node

0.5.1.9

History Node

0.5.1.8

History Node

0.5.1.7

History Node

0.5.1.6

History Node

0.5.1.5

History Node

0.5.1.4

History Node

0.5.1.3

History Node

0.5.1.2

History Node

0.5.1.1

History Node

0.5.1.0

History Node

0.5.0.9

History Node

0.5.0.7

History Node

0.5.0.6

History Node

0.5.0.5

History Node

0.5.0.4

History Node

0.5.0.3

History Node

0.5.0.2

History Node

0.5.0.1

History Node

0.5.0.0

History Node

0.4.1

History Node

0.4.0

History Node

0.3.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

This version
History Node

0.3

History Node

0.2

History Node

0.1.6

History Node

0.1.5

History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
stormtracks-0.3.tar.gz (193.7 kB) Copy SHA256 hash SHA256 Source None Aug 5, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page