Coder Social home page Coder Social logo

ayumifuji / stormtracking_gl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ecjoliver/stormtracking

0.0 1.0 0.0 23.96 MB

Automated detection and tracking of atmospheric storms (cyclones) and high-pressure systems (anticyclones), given a series of mean sea level pressure maps.

License: GNU General Public License v3.0

Python 100.00%

stormtracking_gl's Introduction

stormTracking adapted for the Great Lakes

These codes are adapted from the storm tracking algorithm (https://github.com/ecjoliver/stormTracking) for regional applications (e.g., the Great Lakes). Automated detection and tracking of atmospheric storms (cyclones) and high-pressure systems (anticyclones), given a series of mean sea level pressure maps. Developed as an adaptation of similar mesoscale ocean eddy tracking code and with modifications based on collaboration with Rebekah Cavanagh (Dalhousie University).

Code Description

File Description
storm_detection.py Code for the detection of storms given a series of mean sea level pressure maps. The code outputs storm_det_slp.npz
storm_tracking.py Code for the tracking of storms after detection has been performed. The code outputs storm_track_slp.npz
storm_plot.py Code for plotting storm tracks (see figures)
storm_census.py Code for calculating census statistics of tracked storms (see figures)
storm_functions.py Module of supporting functions
plot_det_on_map.py Codes for plotting center points of detected storms (storm_det_slp.npz) over the mean sea level pressure filed.
plot_track_on_map.py Codes for plotting center points of tracked storms (storm_track_slp.npz) over the mean sea level pressure filed.
figures/ Folder containing figures of storm tracks and census plots based on 20CR data

Algorithm

Storms and anticylones are detected as extrema in the mean sea level pressure (slp) field. These extrema are detected following a modified form of the mesoscale ocean eddy tracking algorithm outlined in Chelton et al. (Progress in Oceanogaphy, 2011) and implemented in the eddyTracking code.

The first step is to run the storm_detection.py script which will load in the slp fields, detect extrema (minima for cyclones, maxima for anticyclones). Extrema must lie within a set of pixels no fewer than Npix_min (recommended value: 9). The cyclone/anticyclone position is then recorded as the centre of mass of this neighbourhood of points. The detected positions are then stored in a .npz file.

The next step is to run the storm_tracking.py script which will load in the detected positions and stitch together appropriate tracks. The positions are linked from one time step to the next if they are the nearest neighbours within a search radius given by a maximum storm speed of 80 km/hour. Tracks are further filtered by removing short tracks with a duration 12 hours or less. The tracked storms and anticyclones are then stored in a .npz file.

Notes

The codes were tested for 3-hourly mean sea level pressure maps from ERA-5 reanalysis dataset.

stormtracking_gl's People

Contributors

ecjoliver avatar ayumifuji avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.