From Public wiki of Kevin P. Inscoe
Jump to navigation Jump to search

This site is being migrated from my previous wiki at


I am a trained Skywarn spotter for the National Weather Service.

National Weather Service (NWS) spotters are civilian volunteers who, after taking an online or onsite training course conducted by the NWS (there is a Basic level and an Advances level course sometimes taken together on the same day. Each course is typically three to four hours long) are authorized to report their weather observations directly to the NWS (using a special telephone number or sometimes via ham radio), especially during particularly bad weather conditions. Many times, the fact that something like a tornado has actually formed and touched the ground is first reported to the NWS by trained weather spotters.

See for more information.

Spotter information statement

Skywarn spotters sometimes are requested the NWS to monitor weather conditions if bad weather is anticipated. This is referred to as "spotter activation".

Weather spotter activation means that the NWS is monitoring weather conditions in a particular area and they want trained spotters to be on the alert for monitoring and reporting adverse weather conditions. This is because, with all the instrumentation available to NWS personnel, sometimes the best indications of current severe weather conditions are from people on the ground actually observing these conditions.

To know if your particular area will be requesting activation a bulletin is put out at least daily and often updated throughout the day referred to as the "Hazard Weather Outlook". A sample of one is found at See also Hazardous Weather Outlook.

The HWO product from the NWS is usually only published to the public via the NWS various web sites. Sometimes it is available via FTP access and some weather forecast offices (WFO) will email the daily HWO bulletin to registered trained spotters.

Even if you are not a trained spotter it is still good to know the hazardous outlook of the area where you will be that day.

The part of the HWO that indicates if Skywarn activation is in a block of text titled ".SPOTTER INFORMATION STATEMENT...".

Since my local office does not provide the daily email of the HWO I wanted a way to get a daily email to know if activation was likely that day. A long time ago I used to send this to a text pager I carried.

Notification Script

To that end I wrote a Python 3 to alert me on days that spotter activation may be required based on the NWS HWO product for my forecast office (WFO or WSFO).


I have found the text HWO product to be reliably available via a properly formatted URL.

I can modify my script on a given day to include additional forecasts by the local WFO when I am traveling. Or I can put in the URL below (modify the "issuedby=" in the URL) and change the WFO or simply visit the top site at and put in the zip code or city name for your current location and click down to Hazardous Weather.

Since I spend 10% of my time in Deltona, FL and 90% in Greeneville, TN I monitor both offices statements.

The two offices I monitor are Melbourne, FL coded as "MLB" at and Morristown, TN coded as "MRX" at

The text only HWO for MLB is at

The text only HWO for MRX is at

There is also a RAW text source for MLB but I am not sure how long it will last:



Notice the "issuedby=" in the URL. That is where you would put in the code for your local forecast office. Forecast offices nearest you and their codes can be found at

You will also need to know the "Warning Zone(s)" you are interested in being alerted as some WFO HWO bulletin's contain multiple warning zones in them. An example of this would be the bulletin for Charleston, SC (WFO CHS) at

Note the multiple spotter information statements in a single WFO HWO bulletin:

Beaufort-Coastal Colleton-Charleston-
410 AM EDT Wed Oct 14 2020


Spotter assistance is not anticipated at this time.
Coastal Bryan-Coastal Chatham-Coastal Liberty-Coastal McIntosh-
Coastal Jasper-
410 AM EDT Wed Oct 14 2020

Spotter assistance is not anticipated at this time.
Charleston Harbor-
Waters from South Santee River to Edisto Beach SC out 20 NM-
Waters from Edisto Beach SC to Savannah GA out 20 NM-
Waters from Savannah GA to Altamaha Sound GA out 20 NM, including
Grays Reef National Marine Sanctuary-
Waters from Savannah GA to Altamaha Sound GA from 20 to 60 NM-
Inland Bryan-Inland Chatham-Long-Inland Liberty-Inland McIntosh-
Allendale-Hampton-Inland Colleton-Dorchester-Inland Berkeley-
Inland Jasper-Tidal Berkeley-
410 AM EDT Wed Oct 14 2020

Spotter assistance is not anticipated at this time.

The above warning zones are: SCZ048 through SCZ050 ("SCZ048>050"), GAZ117, GAZ119, GAZ139, GAZ141, SCZ051 ("GAZ117-119-139-141-SCZ051") AMZ330, AMZ350, AMZ352, AMZ354, AMZ374, GAZ087, GAZ088, GAZ099 through GAZ101, GAZ114 through GAZ116, GAZ118, GAZ137, GAZ138, GAZ140, SCZ040, SCZ042 through to SCZ045, SCZ047 and SCZ052 ("AMZ330-350-352-354-374-GAZ087-088-099>101-114>116-118-137-138-140- SCZ040-042>045-047-052-").

Warning zones are usually the states initials followed by the letter "Z" (indicating a zone) an then a three digit number which I believe corresponds to a county FIPS code. For more on FIPS see

Currently I am not parsing all of these warning zones I am merely matching text when I find one in the bulletin. In a future version of the script I will fully parse each warning zones.

The Bash shell script

This script is invoked by cron which in turn sets the environment variable and invokes the Python script.

The script which you will need to customize yourself is at

The output of the script is sent to via email daily at 7:30am local time via cron (in Linux) but you could run it manually or also on Windows or Mac using a scheduler.


This could also be sent to Twitter or other such alerting media.

The Python script

This should not require any modification to work.

The Python script is at

Sample output

For full HWO bulletin for WFO MLB click on

MLB-FLZ041: Spotter activation will not be needed this afternoon and tonight.

For full HWO bulletin for WFO MRX click on

MRX-TNZ012: Spotter activation is not needed at this time.




Observation reports to NWS Skywarn -


17240700 1640322595984697 6144082786866914181 o.jpg

Nexrad Radar

IMG 0003r.jpg

"NEXRAD or Nexrad (Next-Generation Radar) is a network of 158 high-resolution Doppler weather radars operated by the National Weather Service, an agency of the National Oceanic and Atmospheric Administration (NOAA) within the United States Department of Commerce. Its technical name is WSR-88D, which stands for Weather Surveillance Radar, 1988, Doppler. NEXRAD detects precipitation and atmospheric movement or wind. It returns data which when processed can be displayed in a mosaic map which shows patterns of precipitation and its movement. The radar system operates in two basic modes, selectable by the operator: a slow-scanning clear-air mode for analyzing air movements when there is little or no activity in the area, and a precipitation mode with a faster scan time for tracking active weather. NEXRAD has an increased emphasis on automation, including the use of algorithms and automated volume scans. Second generation NEXRAD radar systems will have the capability to optically detect hailstone size down to the square mile." - Intellicast

Details on the NEXRAD system are available in Federal Meteorological Handbook No. 11.

There are additional handbooks (publications) available for download from the Office of the Federal Coordinator for Meteorology (

Four volumes are available:

  • A - System Concepts, Responsibilities, and Procedures
  • B - Doppler Radar Theory and Meteorology
  • C - Products and Algorithms
  • D - Unit Description and Operational Analysis

The official Interface Control Documents (ICDs) contain detailed information on the binary data formats and product specifications.


Public -


Weather Radar Applications -

The netCDF data format ( is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. The Java NEXRAD Viewer allows users to export Level II or Level III radar data into netCDF format for later manipulation using programs such as MATLAB.

Archived data


Storm reports



My code (to be migrated from SVN) is at