[aprssig] Generating Weather Alerts from NWR
Eric H. Christensen
eric at aehe.us
Tue Jun 9 01:08:56 EDT 2020
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
I've wanted a way to transmit weather alert packets on APRS, locally, without the need for an Internet connection (think disaster conditions or other situations where having an Internet connection is just too hard) or if/when the WXSVR is unavailable. I really like the idea of using APRS as a common operating picture of what's happening around you and seeing real-time weather alerts on your screen is a great safety feature. After talking it over with a friend of mine, I think I've come up with an idea that might just work (again, specifically for local use).
If a station had some sort of receiver listening to the local NOAA Weather Radio (NWR)[0] then they would receive the Specific Area Message Encoding (SAME)[1] alert for many (most, all?) of the advisories that we care about in real-time, over the air. Decoding the SAME packet looks something like this:
ZCZC-ORG-EEE-PSSCCC+TTT-JJJHHMM-LLLLLLLL
Where:
ZCZC is the header
ORG is the type of originator of the message (EAS, CIV, WXR, PEP)
EEE is the event type
PSSCCCC is the geographic code (FIPS) (up to (and including?) 31 FIPS codes can be included)
TTT is the purge time
JJJHHMM is the origination time of the advisory
LLLLLLLL is the originator of the message
Parsing all that information (omitting the header and originator type) we have all the information needed to create our alert message[2][3].
CWAPID:NWS-TTTTT:DDHHMMz,ADVISETYPE,zes{seq#
Where:
CWAPID is the NWS office and product code (LLLLLLLL and EEE)
TTTTT is the type of message (ADVIS,WARN ,WATCH) (EEE)
DDHHMMz is the expiration date-time group (factored based on JJJHHMM and TTT)
ADVISETYPE is the advisory type (SVRTSM, etc) (EEE)
zes is the geographic code used to identify the county/area (PSSCCC)
seq# is the sequence number (factored based on JJJHHMM)
We can even generate bulletins that can be transmitted using plain language for people to read (think "NWS has issued a Tornado Warning for Orange Co until 19:30.").
I'm not sure if anyone has worked on or thought of doing this but it doesn't seem too difficult to do. My friend Kevin, N8VNR, has started a project[4] that decodes the SAME alert once it has been received using Multimon-ng. Using this code, all that would need to be done would be to map the FIPS codes to the county (and marine) codes and create a table that defines what each event code (EEE) should be (TTTTT and ADVISETYPE). Of course, there would need to be some sort of method for transmitting these packets onto RF as well as checking their validity prior to their release (lint anyone?).
Again, this is in keeping APRS local, so with NWR broadcasts only covering a few counties at a time, each station would be self-limiting and full control over what areas and event types should be given.
Thoughts?
73,
Eric WG3K
[0] https://www.weather.gov/nwr/
[1] https://web.archive.org/web/20190621022301/https://www.nws.noaa.gov/directives/sym/pd01017012curr.pdf
[2] http://www.aprs.org/doc/APRS101.PDF (Page 74)
[3] http://www.aprs-is.net/wx/
[4] https://github.com/nivex/dsame
-----BEGIN PGP SIGNATURE-----
Version: ProtonMail
wsFcBAEBCAAGBQJe3xllAAoJEIB2q94CS7PRDn4QAMxW71Bw/2JqpuX7J59u
k4hLv8JEeo/yBvUdYmXsk4fw+FHNzW6diacAfqh9wa3/ZJaByffyrM0HnVnE
7iuw7Fcy4m1drIYwNnxrO5tITFlBKjaXcB7BLt2sGMB8FR4O0hj09HcoAY+u
Wpd/+9FHWOkSoPYHrjOKZ6xDIU6ULCQN4W1po1L7geDSBUTYSHt6d6AIZSE7
1fIkWKuwnIPRn1dR3vqEqn9hkVA+zi+4Zmpo1k0RGBlmoGmWWX0NcN4LXHnx
zTAuyYgaGFvG6qY4FypP10FkF6feRPWNgRii8BxE3Lpbsbvt1IGMCr6GyUiU
rZoXypTAAKw1i92yggglFJOgB2I05Aj9L6s3Uhl7R2Zecz7Cvzx9m0z063LX
FCVS0Fiqvz7KiNgvvxNqHQIJ7FH45Y2kal8fV7LVhtQJGpTZpGWZpEYwcnyC
skawPgoqnmhbvqSAXeUpe7946WhkO22AbaKT2hMolxe/hQM8RQIteKXBD0f/
0fWFac51upVUsKraroXvaGdqe3pke8JqSZenKT7mt6jjEhKBD8XdUC2cc3iE
G/8RtHHx6gJCjC0tp7Uv2dUMjZLrc2TfDl/84i1JD471T7wqFcAlsNnDklqb
F0gSv2w56cxubMF6aguiGuwWunUuK7hmimDsVNyei7mHafKtsL/iOMceupuv
Bnoh
=nnSY
-----END PGP SIGNATURE-----
More information about the aprssig
mailing list