Post

AtmosphericX - NOAA Weather Wire Service (GUIDE)

AtmosphericX - NOAA Weather Wire Service (GUIDE)

What is NOAA Weather Wire Service (NWWS)?

The NOAA Weather Wire Service (NWWS) is one of the fastest official NWS dissemination systems for textual weather alerts and warnings. It provides rapid access to real-time weather information, alerts, and warnings in text format, serving broadcasters, emergency managers, alerting services, and the public. NWWS distributes products issued by local NWS Weather Forecast Offices and National Centers.

NWWS supports both Internet-based (NWWS-Open Interface) and satellite-based (SBN/NOAAPORT Channel 201) delivery methods. Using both sources is recommended for optimal reliability, achieving over 98% product availability. As the quickest NWS dissemination method for text alerts and warnings, NWWS ensures timely and dependable delivery of critical weather information. You can request access by going here.

Source: Weather.gov

Setting Up AtmosphericX with Your NWWS Account


Once you have your account set up, you will need to configure the configurations.json and find the section called noaa_weather_wire_service. In this section, you will need to fill in your account credentials as shown below:

1
2
3
4
5
6
7
{
    "credentials": {
        "username": "YOUR_USERNAME_HERE", // Your NWWS username
        "password": "YOUR_PASSWORD_HERE", // Your NWWS password
        "display": "YOUR_DISPLAY_NAME_HERE" // Your display name for NWWS (This can be anything but make it appropriate)
    }
}

After inputting the correct information given to you from the two emails you received, you will need to reload AtmosphericX.

Warning: DO NOT share your NWWS credentials with anyone. This is a private account and should be treated as such. If you suspect that your account has been compromised, please contact NWWS support immediately. Additionally, disable national_weather_service in the configurations.json file to prevent unwanted console spamming for having two primary sources of alerts enabled at the same time.

What format should I use for NOAA Weather Wire Service? [Raw Vs. XML (CAP)]

The choice between using raw text parsing or XML (CAP) for NOAA Weather Wire Service (NWWS) depends on your project’s requirements. Raw text products are typically delivered first and are ideal if you need to process alerts as quickly as possible. XML (CAP) products, while easier to parse and offering richer metadata, are typically delivered slightly later than raw text products (often by 10 to 30 seconds) though this can vary depending on NWS infrastructure and traffic. For most users, raw text parsing is sufficient for timely alerting, while XML (CAP) is best suited for advanced applications that benefit from structured data and do not require immediate processing.

This setting can be changed in the configurations.json in the project directory. Below is an example of how to set the nwws settings in the configurations.json file:

1
2
3
4
5
{
    "noaa_weather_wire_service": {
        "xml_alerts": false // Set to true if you want to use XML (CAP) alerts (default is false) [DO NOT COPY]
    }
}

Should I use UGC Polygons?

If you are not using CAP XML alerts, enabling ugc_polygons allows AtmosphericX to map alerts to detailed UGC-based shapefiles, providing more precise geographic information. This is useful for advanced filtering or map visualizations. However, processing these polygons can increase memory and CPU usage. If you do not require detailed mapping or geographic filtering, it is recommended to leave this option disabled for optimal performance.

1
2
3
4
5
{
    "noaa_weather_wire_service": {
        "ugc_polygons": false // Set to true if you want to use UGC Polygons (default is false) [DO NOT COPY]
    }
}

Text Products vs XML (CAP) Products


Common Alerting Protocol (CAP)

Some alerts may also be sent in XML format using the Common Alerting Protocol (CAP). CAP is an open standard for exchanging emergency alerts and public warnings between alerting technologies. It provides a structured, XML format that enables easier integration, automation, and interoperability across different projects. In practice, the XML (CAP) version of an alert typically arrives 10 to 30 seconds after the raw text message, offering enhanced metadata and compatibility for advanced applications. However, with AtmosphericX, this is not in use by default as most information can be parsed from the raw text message.

Raw Text Products

The raw text products are the primary source of alerts and warnings from NWWS. These products are sent in a raw text format and contain all the essential information about weather events, such as event type, affected areas, timing, and impact details. Raw text products are preferred for their speed and reliability, as they are typically delivered faster than XML (CAP) alerts.

Understanding and Parsing XML (CAP) Products

The XML (CAP) products are structured in a way that allows for easier parsing and integration with other systems. They contain detailed metadata about the alert, including event type, affected areas, timing, and impact details. While XML (CAP) products are more complex than raw text products, they provide a richer set of information that can be useful for advanced applications.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<alert xmlns="urn:oasis:names:tc:emergency:cap:1.2">
    <identifier>urn:oid:2.49.0.1.840.0-KEEPALIVE-13987</identifier>
    <sender>w-nws.webmaster@noaa.gov</sender>
    <sent>2025-07-07T16:25:46-00:00</sent>
    <status>Test</status>
    <msgType>Alert</msgType>
    <scope>Public</scope>
    <code>IPAWSv1.0</code>
    <note>This is only a test for monitoring of vital dissemination systems.</note>
    <info>
        <language>en-US</language>
        <category>Met</category>
        <event>Test Message</event>
        <responseType>None</responseType>
        <urgency>Unknown</urgency>
        <severity>Unknown</severity>
        <certainty>Unknown</certainty>
        <eventCode>
            <valueName>SAME</valueName>
            <value>NWS</value>
        </eventCode>
        <eventCode>
            <valueName>NationalWeatherService</valueName>
            <value>TST</value>
        </eventCode>
        <effective>2025-07-07T16:25:46-00:00</effective>
        <expires>2025-07-07T16:35:46-00:00</expires>
        <senderName>NWS</senderName>
        <description>Monitoring message only. Please disregard.</description>
        <instruction>Monitoring message only. Please disregard.</instruction>
        <web>http://www.weather.gov</web>
        <parameter>
            <valueName>AWIPSidentifier</valueName>
            <value>KEPWBC</value>
        </parameter>
        <parameter>
            <valueName>WMOidentifier</valueName>
            <value>NZUS91 KWBC 071625</value>
        </parameter>
        <parameter>
            <valueName>BLOCKCHANNEL</valueName>
            <value>CMAS</value>
        </parameter>
        <parameter>
            <valueName>BLOCKCHANNEL</valueName>
            <value>EAS</value>
        </parameter>
        <parameter>
            <valueName>BLOCKCHANNEL</valueName>
            <value>NWEM</value>
        </parameter>
        <area>
            <areaDesc>Montgomery</areaDesc>
            <geocode>
                <valueName>SAME</valueName>
                <value>024031</value>
            </geocode>
            <geocode>
                <valueName>UGC</valueName>
                <value>MDC031</value>
            </geocode>
        </area>
    </info>
</alert>

Above is an example of a CAP alert. It contains important metadata such as the identifier, sender, sent time, status, message type, scope, and more. The info section contains details about the alert, including the event type, urgency, severity, certainty, effective time, expiration time, sender name, description, instruction, and web link. The area section provides information about the affected area and its geocode identifiers.

Understanding and Parsing Raw Text Products

The raw text message format that NOAA Weather Wire Service (NWWS) sends out can be quite complex if you are not familiar with the structure of a typical weather alert. Below is an example of a raw text message that you might receive from NWWS with brief explanations of each part:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
+ This is the WMO header which contains the WMO ID, the forecast office ID, and then the product type (AWIPS).
+ In this case, the WMO ID is "WHUS43", the forecast office ID is "KIWX", and the product type is "CFWIWX".
791 
- WHUS43 KIWX 061900
- CFWIWX

+ This is the MND (Mass News Disseminator) Broadcast Instruction Line, which may include phrases such as:
+ "BULLETIN - EAS ACTIVATION REQUESTED"
+ "BULLETIN - IMMEDIATE BROADCAST REQUESTED"
+ "URGENT - IMMEDIATE BROADCAST REQUESTED"
+ These phrases indicate the urgency and dissemination instructions for the message. The use of "EAS ACTIVATION REQUESTED" or "IMMEDIATE BROADCAST REQUESTED" is coordinated with state and local emergency communications committees. "BULLETIN" and "URGENT" follow media conventions to signify urgency and are used by the NWS only in weather related products. 
+ (See: https://www.weather.gov/media/pah/WeatherEducation/3-wxproducts.pdf)


- Coastal Hazard Message
- National Weather Service Northern Indiana
- 300 PM EDT Sun Jul 6 2025

+ This is the VTEC & UGC header with contains the location identifiers, status of an event, forecast office, event type, event prefix, identifier, and the start and end times of the event.
+ In this case, we are looking at the UGC Code of INZ103-MIZ277, which indicates the zones affected by the alert. 
> Tip: If the UGC contains codes like `INZ103>105-MIZ001-MIZ005`, it means the alert covers all zones 
+ from INZ103 (Northern La Porte) through INZ105 (Eastern St. Joseph) in Indiana, as 
+ well as MIZ001 and MIZ005 (such as Marquette) in Michigan. 
+ This notation indicates a range of affected areas rather than just individual zones.

- INZ103-MIZ277-070300-

+ The next line contains the VTEC header...
+ NEW - This indicates that this is a new event. (Possible values: NEW, EXA, CAN, CON, EXP, EXT, UPD)
+ BH - This indicates the type of event, in this case, a Beach Hazard
+ S - This indicates the significance of the event, in this case, a Statement. (Possible values: W, A, S, E, I)
+ 0003 - This is the event number, which is used to track the event.
+ 250706T2300Z - This is the start time of the event in UTC
+ 250707T2100Z - This is the end time of the event in UTC (May appear as 00000000000Z, if the event has no end time until further notice)

- /O.NEW.KIWX.BH.S.0003.250706T2300Z-250707T2100Z/
Northern La Porte-Southern Berrien-
300 PM EDT Sun Jul 6 2025 /200 PM CDT Sun Jul 6 2025/

+ Tagline
- ...BEACH HAZARDS STATEMENT IN EFFECT FROM 7 PM EDT /6 PM CDT/

+ This is the description of the event

- THIS EVENING THROUGH MONDAY AFTERNOON...
- * WHAT...High wave action, strong currents, and dangerous swimming
-   conditions expected. Waves 1 to 3 ft building rapidly to 3 to 4
-   ft late this afternoon and evening, diminishing to 1 to 3 feet 
-   Monday evening.
- * WHERE...In Indiana, Northern La Porte county. In Michigan, 
-   Southern Berrien county.
- * WHEN...From 7 PM EDT /6 PM CDT/ this evening through Monday 
-   afternoon.
- * IMPACTS...Strong currents can pull swimmers into deeper water 
-   and high waves can sweep people off piers.
- PRECAUTIONARY/PREPAREDNESS ACTIONS...
- Remain out of the water to avoid hazardous swimming conditions.
- Do not venture out on piers.

+ This is the location of the event, which is used to identify the area affected by the alert. 
+ This is an example and does not represent this alert at all. (Location not accurate)

- LAT...LON 3017 8998 3000 9020 3001 9024 3006 9037
-       3031 9024
- TIME...MOT...LOC 2023Z 211DEG 13KT 3008 9024 

+ This is where raw text parsing comes in handy for finding certain keywords. Especially when it comes
+ tagging certain information such as "RADAR INDICATED", "OBSERVED", "POSSIBLE", "DESTRUCTIVE", "LIFE THREATENING", etc.

- SOURCE...Radar.
- IMPACT...High wave action and dangerous swimming conditions.
- WATERSPOUT...POSSIBLE
- HAIL...<.75IN
- WIND...>34KTS

+ End of statement, please be aware that some stanzas may have multiple products in them so it's important to parse the message correctly and find multiple products inside of a single stanza. 
-- $$

Tip: While shorthand like INZ103>105 is not part of the official UGC format, it may be used informally to indicate a range of zones from INZ103 through INZ105.

This post is licensed under CC BY 4.0 by the author.