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.
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!