SkywarnPlus update

It seems the NWS has NEW warnings for ’ extreme cold ’ and ’ tornados ’ that SkywarnPlus is not aware of. I am trying to update SkywarnPlus. When I run
’ /usr/local/bin/SkywarnPlus/UpdateSWP.py ', I get the response: ERROR: Cannot find SkywarnPlus.py. Make sure this script is in the SkywarnPlus directory '. The script IS in the directory!

The latest SkywarnPlus version is v0.8.1 which was released 6 months ago. If you already have this version, then updating will do nothing for you.

No version of SkywarnPlus beyond the initial release contained any changes to the list of “possible” alerts, so even if you are using an old version, it will make no difference.

The NWS API specification is not accurate and needs to be updated. Until that happens, there is no way for developers such as myself to include support for alerts that technically do not exist.

Click here for a list of all the officially supported alert types, direct from the NWS API.

https://api.weather.gov/alerts/types

Except for ’ Cold Weather Advisory , the others ARE in the API:
https://api.weather.gov/alerts/types
https://www.weather.gov/news/243009-cold-hazard-simplification

I’m confused, you said SWP was missing support for alerts related to “Extreme Cold” and “Tornados”, but SWP fully supports all alert types returned by the above API query.

In other words, there is NO alert listed at https://api.weather.gov/alerts/types that SkywarnPlus does not support.

Which alert are you saying is missing?

The following table was parsed directly from the NWS API response and the SkywarnPlus.py script. As you can see, both lists are identical. SkywarnPlus is therefore not missing any alerts.

API SkywarnPlus
911 Telephone Outage Emergency 911 Telephone Outage Emergency
Administrative Message Administrative Message
Air Quality Alert Air Quality Alert
Air Stagnation Advisory Air Stagnation Advisory
Arroyo And Small Stream Flood Advisory Arroyo And Small Stream Flood Advisory
Ashfall Advisory Ashfall Advisory
Ashfall Warning Ashfall Warning
Avalanche Advisory Avalanche Advisory
Avalanche Warning Avalanche Warning
Avalanche Watch Avalanche Watch
Beach Hazards Statement Beach Hazards Statement
Blizzard Warning Blizzard Warning
Blizzard Watch Blizzard Watch
Blowing Dust Advisory Blowing Dust Advisory
Blowing Dust Warning Blowing Dust Warning
Brisk Wind Advisory Brisk Wind Advisory
Child Abduction Emergency Child Abduction Emergency
Civil Danger Warning Civil Danger Warning
Civil Emergency Message Civil Emergency Message
Coastal Flood Advisory Coastal Flood Advisory
Coastal Flood Statement Coastal Flood Statement
Coastal Flood Warning Coastal Flood Warning
Coastal Flood Watch Coastal Flood Watch
Dense Fog Advisory Dense Fog Advisory
Dense Smoke Advisory Dense Smoke Advisory
Dust Advisory Dust Advisory
Dust Storm Warning Dust Storm Warning
Earthquake Warning Earthquake Warning
Evacuation - Immediate Evacuation - Immediate
Excessive Heat Warning Excessive Heat Warning
Excessive Heat Watch Excessive Heat Watch
Extreme Cold Warning Extreme Cold Warning
Extreme Cold Watch Extreme Cold Watch
Extreme Fire Danger Extreme Fire Danger
Extreme Wind Warning Extreme Wind Warning
Fire Warning Fire Warning
Fire Weather Watch Fire Weather Watch
Flash Flood Statement Flash Flood Statement
Flash Flood Warning Flash Flood Warning
Flash Flood Watch Flash Flood Watch
Flood Advisory Flood Advisory
Flood Statement Flood Statement
Flood Warning Flood Warning
Flood Watch Flood Watch
Freeze Warning Freeze Warning
Freeze Watch Freeze Watch
Freezing Fog Advisory Freezing Fog Advisory
Freezing Rain Advisory Freezing Rain Advisory
Freezing Spray Advisory Freezing Spray Advisory
Frost Advisory Frost Advisory
Gale Warning Gale Warning
Gale Watch Gale Watch
Hard Freeze Warning Hard Freeze Warning
Hard Freeze Watch Hard Freeze Watch
Hazardous Materials Warning Hazardous Materials Warning
Hazardous Seas Warning Hazardous Seas Warning
Hazardous Seas Watch Hazardous Seas Watch
Hazardous Weather Outlook Hazardous Weather Outlook
Heat Advisory Heat Advisory
Heavy Freezing Spray Warning Heavy Freezing Spray Warning
Heavy Freezing Spray Watch Heavy Freezing Spray Watch
High Surf Advisory High Surf Advisory
High Surf Warning High Surf Warning
High Wind Warning High Wind Warning
High Wind Watch High Wind Watch
Hurricane Force Wind Warning Hurricane Force Wind Warning
Hurricane Force Wind Watch Hurricane Force Wind Watch
Hurricane Local Statement Hurricane Local Statement
Hurricane Warning Hurricane Warning
Hurricane Watch Hurricane Watch
Hydrologic Advisory Hydrologic Advisory
Hydrologic Outlook Hydrologic Outlook
Ice Storm Warning Ice Storm Warning
Lake Effect Snow Advisory Lake Effect Snow Advisory
Lake Effect Snow Warning Lake Effect Snow Warning
Lake Effect Snow Watch Lake Effect Snow Watch
Lake Wind Advisory Lake Wind Advisory
Lakeshore Flood Advisory Lakeshore Flood Advisory
Lakeshore Flood Statement Lakeshore Flood Statement
Lakeshore Flood Warning Lakeshore Flood Warning
Lakeshore Flood Watch Lakeshore Flood Watch
Law Enforcement Warning Law Enforcement Warning
Local Area Emergency Local Area Emergency
Low Water Advisory Low Water Advisory
Marine Weather Statement Marine Weather Statement
Nuclear Power Plant Warning Nuclear Power Plant Warning
Radiological Hazard Warning Radiological Hazard Warning
Red Flag Warning Red Flag Warning
Rip Current Statement Rip Current Statement
Severe Thunderstorm Warning Severe Thunderstorm Warning
Severe Thunderstorm Watch Severe Thunderstorm Watch
Severe Weather Statement Severe Weather Statement
Shelter In Place Warning Shelter In Place Warning
Short Term Forecast Short Term Forecast
Small Craft Advisory Small Craft Advisory
Small Craft Advisory For Hazardous Seas Small Craft Advisory For Hazardous Seas
Small Craft Advisory For Rough Bar Small Craft Advisory For Rough Bar
Small Craft Advisory For Winds Small Craft Advisory For Winds
Small Stream Flood Advisory Small Stream Flood Advisory
Snow Squall Warning Snow Squall Warning
Special Marine Warning Special Marine Warning
Special Weather Statement Special Weather Statement
Storm Surge Warning Storm Surge Warning
Storm Surge Watch Storm Surge Watch
Storm Warning Storm Warning
Storm Watch Storm Watch
Test Test
Tornado Warning Tornado Warning
Tornado Watch Tornado Watch
Tropical Depression Local Statement Tropical Depression Local Statement
Tropical Storm Local Statement Tropical Storm Local Statement
Tropical Storm Warning Tropical Storm Warning
Tropical Storm Watch Tropical Storm Watch
Tsunami Advisory Tsunami Advisory
Tsunami Warning Tsunami Warning
Tsunami Watch Tsunami Watch
Typhoon Local Statement Typhoon Local Statement
Typhoon Warning Typhoon Warning
Typhoon Watch Typhoon Watch
Urban And Small Stream Flood Advisory Urban And Small Stream Flood Advisory
Volcano Warning Volcano Warning
Wind Advisory Wind Advisory
Wind Chill Advisory Wind Chill Advisory
Wind Chill Warning Wind Chill Warning
Wind Chill Watch Wind Chill Watch
Winter Storm Warning Winter Storm Warning
Winter Storm Watch Winter Storm Watch
Winter Weather Advisory Winter Weather Advisory

During our latest Cold Weather event in NJ, SkywarnPlus detected a warning, but over-the-air it was blank ( silence ). All we heard was the added suffix ’ in effect for Somerset County.

Which is 100% normal and expected behavior when the NWS pushes out an arbitrary, undocumented alert type over the API that is not officially included as a possible alert type in the API specification.

Once again, SkywarnPlus is only able to support alert types that are explicitly defined in this list. If SkywarnPlus receives an alert that is not defined in that list, then it will not be able to find an audio file in it’s library for that alert, because it is impossible to pre-record audio files for alerts that are not officially listed or documented anywhere.

The NWS continues to create/change alerts without updating the API, and there is nothing I can do about that.

Thanks Mason. I appreciate your time invested in this. I am not familiar with Python. Is there a way to have a 'default ’ message like ’ Weather Warning ’ when there is no match?

You’d have to do quite a bit more than drop an extra line or two in the script for that since a lot of the logic revolved around deciding on a priority level for the alert based on the words it contains, etc.

I’d love to get around to a new release of SkywarnPlus that has options to use a local text-to-speech software such as asl3-tts/piper rather than pre-recorded audio files, or at least then an audio file is not available it would do this as a backup.

This is in a list of other major upgrades I’d like to make, but I became a father 7 months ago and my priorities are completely different now. I don’t really have spare time to work on these things anymore. Maybe some time in the future.

First of all, Congratulations! I too am getting older, and backing off on my commitments to the local club and repeater. For now, I simply changed the suffix to ’ weather statement in effect for Somerset county '. At least if the alert is blank, it still makes sense!