NOAA Weather Wire Service
Overview
NOAA is the main national weather organization for the United States of America. According to the official website, it conducts research and gathers data
with regard to weather-related topics. They offer many services to the public through their sub-organizations, such as the National Weather Service. One such service is the NOAA Weather Wire Service (NWWS), which is a stream of data that is available via satellite to anyone that has both a receiver and a contract. Due to the expensive nature of satellite transmissions, they have recently begun to offer the service via the Internet. This page is dedicated to resources that may be useful to those that wish to create computer programs that manipulate the NWWS data feed, especially via the Internet.
Signing Up
The U.S. government contracts the weather wire service out to a third-party, which is currently DynCorp IS. As of this writing, it is possible to sign up for a one-time $50 registration fee. The feed is provided via a TCP socket connection to their server. Once you have an account, it is easy to verify service through the use of a dumb client program, such as telnet, to connect to the correct port and watch the incoming data.
Data Format
This table was taken from DynCorp's description of the wire format.
| Field Name | Format | Size | Comments |
|---|---|---|---|
| START_OF_MSG | SOH | 1 | ASCII SOH character (0x01) |
| -- Separator -- | CRLF or CRCRLF | 2-3 | (0x0D,0x0A) or (0x0D,0x0D,0x0A) |
| SEQ_NUM | nnn | 3 | Sequence Number |
| -- Separator -- | CRLF or CRCRLF | 2-3 | (0x0D,0x0A) or (0x0D,0x0D,0x0A) |
| WMO Header | TTAAIIsCCCCsYYGGgg<sBBB> | 17-22 | "s" represents the ASCII space character (0x20) |
| -- Separator -- | CRLF or CRCRLF | 2-3 | (0x0D,0x0A) or (0x0D,0x0D,0x0A) |
| AWIPS_ID | NNNXXX | 6 | NNN represents the priority of the message |
| -- Separator -- | CRLF or CRCRLF | 2-3 | (0x0D,0x0A) or (0x0D,0x0D,0x0A) |
| WMO_TEXT | ASCII Text | ? | Each line ends with either CRLF or CRCRLF. If the message begins with a UGC_CODE line, then the message is using the "UGC PLACEMENT FORMAT 1". If the message begins with a CRCRLF, then the message is using the "UGC PLACEMENT FORMAT 2". |
| END_OF_MSG | CRLFETX or CRCRLFETX | 3-4 | (0x0D,0x0A,0x02) or (0x0D,0x0D,0x0A,0x02) |
The following explanation of the WMO Header format comes from the WMO Message Structure.
| Field | Meaning | Link |
|---|---|---|
| TT | Data Type and/or Form Designators | |
| AA | Geographical and/or Data Type and/or Time Designators | |
| ii | Bulletin differentiation | |
| CCCC | Station ID | |
| YY | Day of Month | |
| GGgg | Time in UTC | |
| BBB | Correction code (optional) |
Additional information about the WMO header and the U.S. national practices concerning it can be obtained from the tables in WMO Manual 386, provided by the NWS.
My Software
I have created a piece of software, called Trident, which connects to the NWWS via the Internet, filters by station, and saves the products to disk. See the Trident web page for more details.
Other Software
Very few products currently exist that manipulate the NOAA internet weather wire feed. DynCorp recommends SkyTap from Marta Systems, Inc. for those that are interested.