Open burlen opened 3 years ago
Zarzycki, C. M., & Ullrich, P. A. (2017). Assessing sensitivities in algorithmic detection of tropical cyclones in climate data. Geophysical Research Letters, 44(2), 1141–1149. https://doi.org/10.1002/2016GL071606
The idea is to isolate the minimum amount of tempest code needed to detect tc's. we'll copy this code into teca and wrap it in a function that is called with one time step worth of data to process from teca_algorithm::execute
. The returned data from this function will include a set of lat lon positions of the tc candidates. these will be put into a teca table, with additional columns for time and time step. It's OK to add other data to this table as needed.
Looking at tempest's current DetectNodes.cpp
you need to grab the body of the for loop starting at line 552 ending at line 988. copy this block of text and paste into a file called teca_tempest_util.cpp
Also copy any function defined in DetectNodes.cpp
that are called from the loop, and the necessary #includes. You can remove any #includes that are not needed. If the copied code calls other functions from other tempest files, copy those functions as well. These could go into other "util" files if needed. the idea though is to grab only what's actually called.
This earlier paper about tempest describes the detector in more detail than the above which cites this in its methods section https://gmd.copernicus.org/preprints/gmd-2016-217/gmd-2016-217.pdf
We probably need to consider both.
Port a TC detector for use on CPU and GPU. One option is a port of the existing TC detector another is the TE detector. https://climate.ucdavis.edu/tempestextremes.php https://github.com/ClimateGlobalChange/tempestextremes/blob/master/src/nodes/DetectNodes.cpp