Closed SorooshMani-NOAA closed 8 months ago
For now I added the ability to read lead times prescribed in a json file for different storms, by passing the path to the file as --leadt-times
command line argument.
The file format is:
{ 'StormName1': { 'ALnumber': '<nhc_code>', `leadtime`: { 0: '<YYYYMMDDHH>', 12: '<YYYYMMDDHH>', ... } }, ... }
In the json file provided by the NHC, some storms might have multiple lead time entries due to multiple landfalls (e.g. Irere 2011). For now we just take the first landfall for perturbations.
~It looks like the code is actually ignoring the JSON and calculates the landfall time based on the first on land point (NaturalEarth continent shape)~ Actually it's getting storms based on the nhc code (e.g. al022019
)
So as mentioned in the earlier comment, in storms with multiple landfalls, the first landfall is picked up for lead time. https://github.com/oceanmodeling/ondemand-storm-workflow/blob/dd9019bfe0e90ec18e19c47c9a4be2921a29eb8c/singularity/info/files/hurricane_data.py#L76-L77
Since we moved to predefined landfall times for the storms of interest, for now we can mark this as closed. Missing landfall times are still calculated the old way!
Currently the approach to find 48 hours before landfall for perturbing the storm is to take the US shape (from NaturalEarth features) and intersect it with the storm track. The reasoning behind this is that storms might have multiple landfalls and the current workflow is focused on storms landfall on the US.
However, there are cases that the storm track doesn't actually coincide with the US at all, but come very close. As a remedy, we added a fix to check the landfall with another country's polygon if it doesn't intersect US. Still this might fail, so we might want to consider using another method, like finding closest approach point or something like that.
Also the country to check can become an input parameter.