ECCC-CMC extra-tropical and tropical cyclone tracking algorithm for NWP
This tracking algorithm is based on code originally developed by:
- Sinclair, M. R., 1997: Objective identification of cyclones and their circulation intensity, and climatology. Wea. Forecasting, 12, 595-612.
E-T cyclones are tracked based on either their minimum central mean sea level pressure (MSLP) or on their maximum values of gradient wind vorticity.
For vorticity-based tracking, cyclones (i.e. vorticity maxima) must reach a given user-specified threshold value. Vorticity fields are smoothed using a Cressman filter to remove (real and ficticious) small scale details and retain only the synoptic scale features.
For pressure-based traking, cyclone centers are determined from filtered MSLP fields. However, it is possible to extract the raw (i.e. unfiltered) minimum central pressure value.
The tropical cyclone tracking algorithm uses the same core than the extra-tropical pressure-based tracking algorithm. However, in order to identify cyclones with tropical characteristics, 4 additional parameters are considered:
a) 850-hPa relative vorticity filtered with a Cressman filter using a 300-km radius b) 250-850 hPa thickness c) Surface (10 m) wind speed d) Low level baroclinicity (noted B) measured in terms of asymetry of the 600-900 hPa thickness field. The definition of B employed follows:
- Sinclair, M. R., 2004: Extratropical Transition of Southwest Pacific Tropical Cyclones. Part II: Midlatitude Circulation Characterisitcs, Mon. Wea. Rev., 132, p. 2149.
Real-time applications using this algorithm can be found on https://meteocentre.com/cyclone-tracking/index_e.html
- CMake 3.12+
Note: cmake_rpn
is included as a submodule. Please clone with the
--recursive
flag or run git submodule update --init --recursive
in the
git repo after having cloned.
Source the right file depending on the architecture you need from the $ECCI_ENV variable. This will load the specified compiler and define the ECCI_DATA_DIR variable for the test datasets
- Example for PPP5:
. $ECCI_ENV/latest/ppp5/inteloneapi-2022.1.2.sh
- Example for CMC network and gnu 7.5:
. $ECCI_ENV/latest/ubuntu-18.04-amd-64/gnu-7.5.0.sh
mkdir build cd build cmake ../ make make package
- CMake 3.12+
- librmn 20.0.0+
Note: cmake_rpn
is included as a submodule. Please clone with the
--recursive
flag or run git submodule update --init --recursive
in the
git repo after having cloned.
mkdir build cd build cmake .. -Drmn_ROOT=[librmn path] -DCMAKE_INSTALL_PREFIX=[install path] make make test make install
To run the test suite (make test), you will have to run the script test/download-dbase.sh
first to import the test database.