Change Log¶
Version 0.4 (Alpha) - April 29, 2015¶
- Tidy up code
- Improve installation procedure
- Work on reproducibility (through virtualenv)
- Get all tests working
Version MSc_Dissertation (Alpha) - August 28, 2014¶
- Implementing SGD training/matching against IBTrACS data
- Look into different classifiers: SGD/QDC/cutoff etc.
- Plot all figures for dissertation
Version 0.3 (Alpha) - August 15, 2014¶
- Implementing SGD training/matching against IBTrACS data
- Improve worker crash handling in pyro_cluster
- Improve documentation
- Run for 20 years worth of analysis on UCL computers
- Fix bugs with Pyro code
- Fix up tests
Version 0.2 (Alpha) - July 18, 2014¶
- Abstract out tracking code and have first shot at implementing a Kalman filter based tracker
- Implement StormtracksResultsManager that can be used for saving/loading results to disk
- Improve pyro_cluster code to the point where it is usable (speedups of 10x using 15 UCL computers)
- Add logging to pyro_cluster code to aid debugging
- Handle lons/lats consistently - always use -180 to 180 in code
- Add some functional/bug tests
- PEP8 test all code in tests
- Document most classes/functions (and add a coverage check in documentation)
- Make names more consistent in code
- Fix some bugs
Version 0.1 (Alpha) - July 10, 2014¶
- Download and load of IBTrACS and C20 Reanalysis data
- Vorticity tracking (nearest neighbour) in place
- Matching of vorticity to best tracks
- Plotting of output on world maps
- pyro_cluster proof of concept working
- Make installable through PyPI
- Add structure for documentation
- Proper settings file that is easy to modify and stored in ~/.stormtracks
Version 0.0.X¶
- Experimented with a range of ways of tracking tropical cyclone:
- Adapting Qinling Wu’s eddy detection algorithm
- Used a modified voronoi segmentation scheme to partition up ocean
- Then used a region shirinking technique to localise and detect eddy centres
- Made sure that the Okubu-Weiss paramater was satisfied for the eddy centres
- It wasn’t overly suitable for tracking hurricanes:
- There are typically ~1000s of eddies in the ocean, whereas there will only be ~ 100s of pressure minima
- Through min pressure:
- Found to be hard to track pressure minima from one timestep to the other
- After talking to Kevin Hodges (Reading University) this approach was abandoned for tracking
- However lot of the code developed (e.g. finding Radius of Outermost Closed Isobar - ROCI) may still be useful
- Code is located in cyclone.py
Settled on tracking vorticity maxima
- Look at Kevin Walsh’s Fortran algorithm for cyclone tracking and take some ideas (and an implementation of a 4th order vorticity algorithm)
- Ran algorithm against C20 data and found Katrina/Wilma in 2005 data
Get Kevin Hodges TRACK code building (but don’t manage to get it running against data)
- Downloaded C20 u9950/v9950, prmsl fields for vorticity/pressure
- Full data sets used, i.e. that contain each ensemble member separately
- This is better than the mean for tracking features (according to Chris Brierley and Kevin Hodges)
- Kevin Hodges recommended using an average of wind fields
- Plot a variety of different data fields to get a feel for data:
- e.g. vorticity with best track overlayed
- Speed up some of the analysis:
- c functions for vorticity calculations
- Basic analysis:
- pressure min, vorticity max etc.
- Look into parallelising analysis:
- Settled on Pyro4 library for remote python execution
- Set up a basic manager/worker system and tested on UCL computers
Experiment with Support Vector Machine (SVM) implementation in sckikit-learn
Implement a basic Kalman filter and check that it is producing reasonable data
Smoothing and upscaling of vorticity/pressure data