Pirate-Weather / pirateweather

Code and documentation for the Pirate Weather API
Apache License 2.0
670 stars 29 forks source link

Thunderstorms and Severe Weather #235

Open cloneofghosts opened 6 months ago

cloneofghosts commented 6 months ago

Describe the feature

I was thinking about this the past few days but it would be nice if the API could forecast Thunderstorms. I know that DarkSky didn't include a thunderstorm icon but they did always say to have it defined in case it ever got implemented.

For the forecasts you could probably use a combination of Lifted Index and CAPE to show the icon and probably for the current conditions as well? HRRR subhourly doesn't have Lifted Index or CAPE and there is #212 but it seems like there is no datasets available.

The one thing I'm not 100% on is how to show the icon. For hourly it would make sense if LI/CAPE is above the threshold with precipitation > 0.02 and probability >30% or do we want to show it for a lower probability amount? For the daily icon should it still be based on average LI/CAPE or would it be if there are thunderstorms predicted at any point during the day show the icon?

Acknowledgements

cloneofghosts commented 1 month ago

@alexander0042 Haven't heard anything on this one since I created it back in May. I'm assuming this is on the list but low priority?

alexander0042 commented 1 month ago

I think this is a great idea, and I've added it to the 2.4 docket! Thunderstorms are a pretty big issue, and so I can imagine this being a popular thing to parse out. Mulled it over last night and came up with this approach:

  1. Check CAPE in NBM/ GFS
  2. Check if there's precipitation. If rain + high (>1000?) CAPE , then thunderstorm, otherwise no.

The other option would be to include reflectivity or something, which HRRR subhourly has; however, it's not as clear of a thunderstorm indicator as using CAPE from NBM/GFS.

Since this requires a new weather elements (CAPE, reflectivity?) I've classified it for 2.4, after the self hosting release. I'm also thinking if we're processing CAPE anyway, it might as well be possible to display the raw data, maybe by allowing 2.4 or something in the version flag?

cloneofghosts commented 1 month ago

As far as I'm aware Lifted Index and CAPE are the two main indicators for thunderstorms and could be added to the version=2 flag.

I would use the standard precipitation calculation and if LI/CAPE meets a certain threshold then show the thunderstorm icon (thunderstorms can happen when its snowing). I'm not really sure what exactly the thresholds should be but I'm sure there's a resource or something out there which we could reference for this.

I didn't mention this here but maybe while we're adding thunderstorms we could add Hail at the same time? I remember you saying that its something the models include so should be easy to add but correct me if I'm wrong.

alexander0042 commented 1 week ago

Thanks for moving this (and hail) to 2.5! It's definitely something I want to do soon, and the data is mostly there, just needs some wrangling.

As part of the self hosting stuff, I have to move my ingest scripts to the unified versions, and I'm going to add in the CAPE extraction as part of that, which is the key step to get it live. Just for reference, I'm thinking of:

cloneofghosts commented 1 week ago
  • Hail (use "CICEP" precipitation type), good to have done before winter!

Would that affect the existing sleet precip type/condition? I don't think there is an translation for Hail anywhere in the existing translations so it would need to be added. Could also add Freezing Rain too if you wanted to.

alexander0042 commented 1 week ago

That makes more sense, I forgot about Dark Sky for a second there. Along those lines, I think we keep Freezing Rain ("CFRZR") as sleet and add Hail ("CICEP") as a 2.0 icon. For the text/ translations, it wouldn't be too tricky to add the single word; however, it's probably better to just use a little text compatibility shim to start out with

cloneofghosts commented 1 week ago

Didn't Darky Sky list hail as an icon that might be defined in the future along with thunderstorm and tornado? On the website under icon there is text saying that hail and thunderstorm could be added in the future.

Adding to the translation module is pretty easy but the issue is we don't have translations for it. We could either hide it behind a flag temporarily, always show it in English or machine translate it so its at least in their language.