ClimateGlobalChange/tempestextremes

Clarification on Matching ERA5 and IBTrACS Cyclone Tracks in TempestExtremesV2

Closed this issue · 4 comments

In your article in GMD about TempestExtremesV2 you mention matching tropical cyclone tracks obtained via tracking using ERA5 data and IBTrACS. I am curious about how the tracks from ERA5 were matched with those in IBTrACS as I have to do something similar. Could you provide any information or guidance on this topic?

Thanks,

Keith

We did this analysis in both Zarzycki and Ullrich (2017) and Zarzycki et al., 2021.

In the CyMeP repo is the (admittedly unorganized/unclean) NCL that was used to do that. @stella-bourdin may have Python to do this as part of her recent paper.

Essentially, you have to decide exactly how you want to match the tracks. You can either match each 6-hourly point and call the fraction of IBTrACS points that match TempestExtremes points your hits or you go storm by storm and define some minimum criteria to define that entire storm as a hit (e.g., if >=1 point along that track matches, the entire storm is a hit). The former more heavily weights storms that live longer (not ideal) but the latter obviously provides a pretty low bar for a hit (i.e., you could score extremely well matching only 1 out of 50 points during a TC lifecycle). We applied the former in ZU17 and the latter in Z21. Depending on your "reference" dataset, you may want to consider filtering low-quality or weak events if desirable, although this should be explicitly noted in any documentation.

In practice, we've actually found there to be minimal different when using either approach to compare two datasets (i.e., one that scores highly with one strategy scores highly with the other).

Thank you! This is helpful. I’ll try out both methods and report back how they worked.

Hello,
I am arriving late, but I indeed have code to do that, that I used for our tracker intercomparison paper.
The code is here:
https://github.com/stella-bourdin/dynamicoPy/blob/main/dynamicopy/tc/matching.py
Don't hesitate to contact me via email if you want more information, as I am not closely monitoring GitHub...
Stella

Thanks Stella. I worked out a semi automated approach that involved comparing the Hausdorff distance between candidate matches and then me going in an doing some sanity checking.