[net.misc] Chicago Area Weather System Manual

rjk@mgweed.UUCP (06/10/83)

                    Chicago Area Weather Service for USENET

Background

   The Chicago Area Weather Service (CHIWX) is an effort to provide timely
   weather data to Usenet sites in the Chicago area.  Information is
   provided by the National Weather Service, transcribed onto Amateur Radio
   frequencies in baudot, received and converted into ASCII, then sorted
   into topic groups at UNIX site mgweed in Montgomery Illinois, where it is
   posted to the Usenet.

   Hardware for this system was designed by, and is maintained by engineers
   at MORAD, the Amateur Radio Club (WA9DNZ) at Western Electric in
   Montgomery, Illinois.  Transmissions are received on 147.060 MHz on
   standard Amateur marrow shift (2125 Hz mark, 2295 Hz space) at 45.45 baud
   Baudot.  The receiver is a Motorola "Motran" with a four element yagi
   antenna.  Inquiries may be directed to either Phil Gunsul, WB9AAX
   (we13!mgweed!prg) or Bob Roehrig, K9EUI (we13!mgweed!rjr).

   Software for the system was designed by, and is maintained by Randy King
   (we13!mgweed!rjk).  The "Usenet adapter" simply scans the normal weather
   directories, posting items that haven't been posted.  All articles are
   posted with an 8-hour expiration date maximum.

Buzz Words

   Topic code - analogous to a newsgroup, consists of up to 15 characters
   identifying the subject matter of the weather transmission.  For instance
   CHILFPCHI is the Metropolitan Forecast.  These identifiers are chosen
   either by the NWS or by the unnamed individual that broadcasts this
   information.

   Zulu - refers to Greenwich Mean Time.  Often seen in the aviation weather
   statements as in "...valid until 1400Z...".

Articles

   We are all at the mercy of a government agency (NWS) and the unnamed
   individual who transcribes the various topics onto the airwaves.
   Occasionally, unnecessary garbage will get through.  The host site
   (mgweed) has the ability to discontinue individual topic codes if the
   situation gets out of hand.

   Upon posting of an article, the title is derived from a reasonable name
   found near the top of the incoming data.  If nothing reasonable is found,
   then the topic code will be used in its place.

   The last name of the posting meteorologist will usually be found at the
   end of each article.

   Quite often topic codes, headers, and the actual message data will get
   garbled, usually due to propagation effects, weather noise (electrical
   storms), or locally generated noise.

How it Works - Local Weather (not posted to the net)

   Parallel data is taken from a Heathkit weather station and converted into
   an ASCII string.  The link transmitter sends this string to the host UNIX
   computer every 5 minutes, except during reception of NWS broadcasts.
   This 38-byte string contains all of the information necessary for the
   local statistics.  Statistics provided can be summarized in the following
   display that a user would receive by typing the command "localwx":

        Statistics at Western Electric Montgomery Works

        Period from 00:04:53 thru 10:50:00
        Current stats read 2 minutes ago

        Temperature ---
              Currently  78 F   26 C   +03 F/Hr
                Average  69 F   21 C   (Period)
                   High  78 F   26 C   10:25:00
                     Lo  64 F   18 C   00:54:53
        Barometer -----
              Currently 30.11 inches   +0.01/Hr
                Average 30.05 inches   (Period)
                   High 30.11 inches   10:15:00
                     Lo 30.01 inches   00:04:53
        Wind ----------
              Currently SE  @ 08 MPH   -01 M/Hr
                Average S   @ 04 MPH   (Period)
                   High SE  @ 18 MPH   15:33:54
                     Lo ESE @ 01 MPH   01:14:54

   All of this information is kept in a daily history file (note the
   "Period" statement) and in monthly history files forever.  The weather
   data may be graphically displayed using the "-g" option and any of the
   tplot filters.

   The Physical Plant Engineering group uses this information for
   calculating degree-day units for heating and cooling, for wind
   infiltration calculations, and for predicting physical plant requirements
   for make-up air and boiler startup/shutdown.  There is normally a 6-18
   hour lag from command-to-action on building boilers and compressors, so
   prediction is almost a *must*.

   So far we have a little over a year's worth of history data that can be
   reviewed for the next heating or cooling season.

How it Works - Regional Weather (posted to the net)

   The Chicago area broadcasts are converted to ASCII from baudot and are
   sent to the host between local weather statistics.  Once these
   transmissions have captured the host link, the local weather statistics
   are buffered in the memory of the link transmitter until the NWS
   broadcasts are done.

   A typical transmission as received by Usenet:

   ---------------------
   Newsgroup chi.weather
   ---------------------

   Article 811 of 814, Fri 07:02.
   Subject: [Fri 06:53] CHICAGO METROPOLITAN FORECAST
   Path: sys (WA9DNZ @ Western Electric, Montgomery)
   (18 lines) More? [ynq]

   FQUS1 KCHI 101025

   CHICAGO METROPOLITAN FORECAST
   NATIONAL WEATHER SERVICE CHICAGO IL
   5 25 AM CDT FRI JUN 10 1983

   TODAY...SCATTERED THUNDERSTORMS THIS MORNING..OTHERWISE PARTLY SUNNY
   AND WARM. HIGH IN THE LOWER 80S BUT LOWER NEAR THE LAKE. LIGHT VARIABLE
   WINDS.

   TONIGHT...PARTLY CLOUDY. A 30 PERCENT CHANCE OF THUNDERSTORMS. LOW
   IN THE MIDDLE 60S. LIGHT SOUTHERLY WINDS.

   SATURDAY...PARTLY SUNNY WARM AND HUMID WITH A 30 PERCENT CHANCE OF
   THUNDERSTORMS. HIGH IN THE MIDDLE 80S.

   $$
   VERMOCH

   Some of the other topics that are posted (sic)...

   DAILY PSI REPORT
   WEATHER CALENDAR FOR CHICAGO IL OHARE AIRPORT
   HOURLY TEMPERATURES
   UPPER AIR FALLOUT DATA FOR ESDA
   CHICAGO METROPOLITAN FORECAST
   NEARSHORE MARINE FORECAST
   LAKE MICHIGAN WATER LEVEL
   RADAR SUMMARY
   ILLINOIS SEVERE WEATHER OUTLOOK
   NATIONAL FLOOD SUMMARY
   TROPICAL WEATHER OUTLOOK...NORTH OF EQUATOR AND EAST OF

   The link transmitter is a locally-designed general purpose microprocessor
   system based on the Motorola 6809.  Code is written in assembler or C.

How it Works - UNIX End

   The normal "getty" is replaced by a process called "getwx" for the
   dedicated weather port.  This process opens the line, conditions it for
   weather reception (termio parameters) and is typically blocked in a read
   loop.  As data comes in, it is checked for the presence of a "header".
   This header is guaranteed to look something like this:

             ZCZC CHILFPCHI

   When a header is detected, getwx changes to (or creates) a directory by
   that name (e.g. CHILFPCHI) and creates a data file by the name of
   "MoradNNNNNNNNN", where N... is UNIX time, in seconds, since the EPOCH.
   This pretty much guarantees unique file names.  While the file is being
   written, its mode is 644.  When complete, its mode is 664 so that the
   Usenet interface knows that the file is available for posting.

   A "weather" program can be invoked by any user which presents weather
   data in a sort-of-Netnews format.  No user-history is kept (.newsrc), so
   you get all of the available weather every time.

   An expire demon runs every hour to remove files that have exceeded their
   expiration time.  Each topic code has its own expiration time based on
   how often the NWS sends it out.

   The Usenet interface runs every half hour, posting new data to the
   "chi.weather" group.  A log is kept in each topic directory of which
   files have been posted.  Before the log is re-written, the directory is
   scanned and files that have been removed by the expire demon are deleted
   from the Usenet log.

Usenet Administrative Tips

   1) You should be running 2.10 news.  There are pre-2.10 bugs in the
      expire program that prevent expired articles from being deleted.  In
      the case of the weather system, you could get a lot of old data lying
      around real fast.
   2) You should run the news expire program every four hours or less with
      options that make it look only at the weather stuff.  This has about
      as much overhead as a "cc" run.  Put this line in your
      /usr/lib/crontab:

   45 2,6,10,14,18,22 * * * su news -c "/usr/lib/news/expire -n chi.weather"&

   A copy of 2.10 news is available from we13!mgweed!rjk if you need it.
   This version compiles on the PDP11, 3B20S, and the VAX.  A multi-
   directory UUCP system by Tom Truscott (rti!trt) is also available for the
   asking.  It is much more reliable than other UUCP systems, and has
   considerably less overhead.

   For those of you subscribing to the SA Registry @ ihnp4!action, you can
   get the L.sys info for we13 and take both of the above packages from:

             /usr/spool/uucppublic/rjk/news.tar

             /usr/spool/uucppublic/rjk/uucp.cpio-c

   Mail sent to rjk will be unanswered from June 10 through August 1, due to
   absence.