****  BEFORE EVERY RELEASE:  Update ftpfilt/initial_timestamps.tcl !!!  ****

NOTE:  Edit JStrack.tcl and change version number/mod date after
       EVERY CHANGE (well, once/day, anyways).

------------------------------------------------------------------

13 August 2009:  minor updates to menu.tk---added a button to reset the
   window geometry to +0+0 (upper-left).  Something keeps moving mine
   around, and it's annoying me, so.....  Also in menu.tk, added a
   button [exit] (do I really need to explain...no, of course not).
   And I did a bit of rearranging on the top menu bar, too, but kept
   it to a minimum to avoid annoying folks who expect things to be
   where they have been.

17 August 2008:  updates to a few tracker files (all three maps' .tcl
   files and config_user_citylist.tcl) ... organized better, and now
   adds per-map settings.

16 August 2008:  lots of aesthetic changes...toplevel windows (e.g.,
   plot point menus, etc.) that could sometimes go off-screen,
   requiring the user to move them back on-screen, now fix
   themselves.  Text widgets, my dual-listbox selection window,
   etc., now use black/white instead of Tk's usual black/grey.

   Released as 3.0.2.

15 August 2008:  finished TeX version of new docs.  Released as .pdf.

12 August 2008:  minor bug fix...  From Options menu, it was possible to
         configure JStrack to plot the forecast radii but not plot the
         forecast positions.  Now, forecast radii will not be loaded if
         the forecast positions are not loaded.

         Modified some menus and menu-related procs.  Most notably, the
         warning alarms config setup window is now a scrolled text
         widget instead of a big ugly thing with tons of labels and
         entry widgets.

         Updated documentation with new docs (as-is) as of today.

         Released as 3.0.1.

04 August 2008:  IT'S OFFICIAL...I'M CALLING IT VERSION 3.0.0.

04Aug08:  Finally figured out (in one of those instant flashes where
          the whole solution just pops into your head in an instant)
          how to handle plotting city info!

          *NOTE*  This feature is still in its infancy...be patient,
          and send comments, bug reports, etc., to me via e-mail
          (as of now, that's spooky130@cox.net ... if that changes,
          the JStrack web site will be updated with the correct info
          as soon as I can do so).
          
          Added cities/locations from NHC breakpoints.

          Created two new config files:
             1) tracker/config_citydefs.tcl
             2) tracker/config_user_citylist.tcl

          The first defines the actual locations (lat/long).  The
          second allows the user to select which to display by
          commenting/uncommenting lines.  Sorry...nothing fancier
          than that right now.

          Changes to the config_user_citylist file will be seen
          immediately when city/location names are re-plotted.

          Moved plotting of city names to Options menu.  Added option
          to remove city names, too.

          Changed to more visible lettering when satellite imagery
          is loaded onto the chart.

          Modified:  a lot....

06Jul08:  Bug discovered in overlay of satellite imagery over map:  the
          image fragment showing the date/time of the image is placed
          at the x/y coordinate of the bottom of the screen...which, if
          the Y-axis scrollbar is in use, may be right on top of the
          area of interest...OOPS.  *Should* be an easy fix....
          Bug fixed.  File:  lib/loadsatmap.tk
14May08:  Modified size of canvas in default global config...was nice on
          my big monitor...but what about people (like me, now) who are
          using a smaller screen, e.g., a laptop?  Start with something
          that should fit on any reasonably modern screen, and let the
          USER go for a larger win if they want to.

10Dec07:  Modified filt/read_fc.tcl, tracker/lib/storm.tcl, and
   tracker/lib/plot.tk to handle subtropical storms.

ca. 30Jul07 through 02Aug07:  NEAT IDEA...while looking at some satellite
   imagery while running JStrack, it struck me...the satellite imagery
   could, with a bit of effort, be included on the tracking map.  And so,
   it can be now (it's optional).

20Jun07:  (a bit of coding from in the hospital while under the influence
   of marinol, aka medical marijuana...I think I'll stop with this before
   I start making mistakes in the code!):  aesthetic fixes to menu for
   loading/reloading storms (storm names now better identified by year
   than before, and current stuff marked as such...minor coding change,
   big difference in how it looks visually).

   (earlier this morning):  started working on replacing calls to menus
   (all packed with pack .win -in .frame) with variables to facilitate
   switching to "pack .frame.win" (i.e., how the rest of the code will
   eventually all be done).

05Dec06:  Finally starting to feel up to doing more work on JStrack.  I
   will have to limit myself to avoid those blasted "mini-seizures" as
   I call them (in roughly 0.5 seconds, 15--20 extremely bright flashes
   of light---impact is roughly the same as being hit in the face with
   a 2x4).  So, on to figuring out the best way to handle city names on
   the maps...and from there, marking watch/warning areas.

23Jul06:  fixed a problem introduced by NHC data format change (one line
   in the headers ... date format went from, e.g., 2100Z, to "2100 UTC").
   Files modified:  read_fc.tcl

10May06:  added sort for storm files (when loading storms)

27Jan06:  Diagnosed with cancer.  Coding/lack thereof strongly depends on
   how I'm feeling at the time (e.g., chemo + coding == bad juju)

17Oct05:
   * Fixed *PART* of a bug with hyphenated storm names (e.g.,
     twenty-four).  File modified:  filt.tcl.

     REMAINING BUG:  hyphenated storm names are not handled properly
     within JStrack (e.g., try to pull up a point menu w/ button 1
     or an area point list w/ button 3 ... note the error).

21Sep05:
   * Created experimental code for plotting city names...still in
     its infancy...only a few cities, all hard-coded.

08Jul05:
   * Modified 'X' for home location on (printer) ink-friendly map:  now
     red instead of black.
   * Modified ftp.tcl to place standalone-mode ftp window at +0+0 (for
     use under Unix w/ trn ... ummm...I think I meant to say "twm" here (17Aug06))
11Jun05:
   * Updated lib/imagery_links.tcl with new links ... still not sure
     about links to visible satellite imagery---links work fine from
     Mozilla under 'doze, but not from JStrack ... NFI regarding why.

21Sep04:
   * bug-fix on 12Sep04 changes for old storm data (no forecast radii)
     modified:  plot.tk
12Sep04:
   * Raise plotted points above wind and seas radii so they're not
     covered up (was annoying with one point for Ivan)
05Sep04:
   * Moved color defs out of the three map files and into
     $libdir/colors.tcl.  The variables were not configured (i.e.,
     the names in the colors() array) for each map anyways, so what
     is the point of defining them in three places?
   * Modified filt/read_fc.tcl to include 12 ft seas.  Modified storm.tcl
     and plot.tk to plot.  Added color def in colors.tcl.
   * Modified plot.tk and bindings.tk ... now, when you move the mouse over
     wind radii, forecast wind radii, or 12 ft seas radii, the label
     which would normally identify the storm name if you move the mouse
     over a past/current/forecast plot point, now identifies the storm
     name/timestamp and what radii plot you're pointing at
     (e.g., "64 kt wind radii for FRANCES 06/0300Z").
   * Modified plotmenu.tk to properly handle seas radii along with
     wind radii.
03Sep04:
   * Fixed bug in userdata.tk---units not handled correctly for MPH.
   * Fixed bug in plot.tk---wind radii were *NEVER* correct (they are
     now)...OUCH!
   * Fixed ftplib.tcl---several changes:
     1) Most important...only modifies the timestamp file AFTER data
        retrieved
     2) Attempts to send a more friendly anonymous ftp password
        (username@host.domain ... except I don't know a
        non-system-specific way to get the domain name from Tcl yet).
     3) ftp_get sometimes sent an ugly error if $ret didn't exist when
        it tried to return (i.e., crash during the get).  Now checking
        $ftpcrash before return, and returning "" if it crashed.
     4) Added config option for "-mode passive" to openftp command for
        those with firewall problems
11Aug04:
   * Tried and failed to duplicate problems that at least two users
     seem to be having with ftp udpates (updates appear to fail at
     random times even when the ftp program downloads and processes
     the data).
   * Modified initial_timestamps.tcl to use a single variable for
     setting the reference time.
   * Modified jstrack.tcl to use a range for updates (looked
     horrible when I ran it, as it was before, on the Windows box).
     Details are now tracked via a comment line (or lines...)
09Aug04:  Modified capture_window.tk to put storm names on captured plot.
          Can also specify a storm name on command line and warp the
          mouse to that point---idea being to put the latest coords in
          the ptrloc string (i.e., the string that shows the lat/long
          of the current mouse position).
04Aug04:  Fixed (recent) bug in read_fc.tcl---typo caused reading of
          forecast positions to fail
02Aug04:  Added "catch { destroy .nhcinfo }" to tk_nhc_adv_view in
          plotmenu.tk
24May04:
   * Added user-provided patch (which I'd meant to do earlier!) from
     Paul Stroud that adds two items to the plot menu (the one that pops
     up when you click on a plotted point for a storm):
        * "Remove from map" - (you guessed it) removes the storm
        * "Storm History" - displays the storm's history.
     These shortcuts are so useful and so nice, I can't imagine why I
     didn't think of it...but I'm glad Paul did!

17May04:
   * Satellite imagery/image loops WORKING (and rather nicely, IMNSHO!).
   * Bug fix:  For forecast positions, storms forecast to be extratropical
     were not being plotted as such.

16May04:
   * Added links page (text box so users can cut/paste into a web
     browser) with NOAA/SSD links.
   * Continued work on satellite imagery (image loops & tweaks)

15May04:
   * Added example code from the Tcler's Wiki---captures the entire
     window to a GIF (or other format, with mods to the procedure) image,
     which can then be printed by an external program (or used to
     automatically update a web page).  NOTE:  REQUIRES the Img extension.
   * Using the above, added an item to the file menu to dump the main
     window to an image.
   * Satellite imagery....  Still images working.  Now just need to write
     the code to handle the loops.  NOTE:  REQUIRES the Img extension.
     Also requires Http package (contained in Tcl as of 8.x, possibly
     earlier---tested with Tcl/Tk 8.3).

10May04:  failed attempt at adding watch/warning box

09May04:
   * After consolidating all of my TODO notes to one single list, code
     re-org is now the LOWEST priority, except where it makes other
     changes from the list easier to manage.
   * CONFIG SECTION:  bug-fixes....
   * CONFIG SECTION:  now maintain a DEFAULT config in defaults.tcl and
     in an array.  CHANGES to this config are saved in options.tcl
     and/or $jstrackrc.


05May04:
   * Stupid grammatical error (typo or brain fart) in config.tcl fixed
   * STARTED:  code that directly accesses the canvas (.c) moved to
               canvas.tk (except for bindings.tk and plot.tk)

10Apr04:
   * Bug (text-only/menu):  item 8 doesn't work
     FIXED:  wasn't sourcing $libdir/ss_global.tcl from
     jstrack-text_only.tcl

   * ANNOYING:  with only one storm loaded, DO NOT pop up the dialog
     asking which storm you want a history of (etc.) with only that
     one storm listed...JUST GET ON WITH IT.....

15Sep03:
   * Added "CAT x" to warnframe for hurricanes.  I should have had this
     in from day one....  Files modified: plot.tk and stlib.tcl
   * Fixed yesterday's Tcl/Tk 8.4 patch to *NOT* run unless using
     Tcl/Tk 8.4 or higher.
   * Changed title bar on JStrack to reflect version number (and
     modification date, if beyond a released version) ... and changed
     it right back....  This would break scripts that rely on the window
     name (e.g., for xwd ... --> web page on storm updates).
     MOVED to line above pointer location.  Also moved name/web page.
     Files modified:  jstrack.tcl and lib/misc.tk (comment out access to
     canvas object that's no longer created)

14Sep03: Release PATCH to JStrack 2.0.2
   * Fixes for MacOS X (or anyone else using Tcl/Tk 8.4)
   * Files modified:  jstrack.tcl, plotmenu.tk, winfilt.tk

05Jun03:  Released JStrack 2.0.2
05Jun03:
   * Fixed bug (Windows only) in jstrack.tcl ... if closed with the 'X'
     button, left a wish83 process hanging around....
   * Applied same fix to autoconfig.tcl, ftpfilt/initial_timestamps.tcl,
     and ftpfilt/ftp.tcl.
   * Modified timestamp in ftpfilt/initial_timestamps.tcl (no need
     to make everyone download Ana data when she's already in the
     tracker/storms directory!).
   * Added ftpfilt/autoftp.tcl to distribution and (for Windows) as
     a desktop icon/start menu item.

23Apr03:  Released patch:  JStrack 2.0.1

23Apr03:
   * Fixed bug in read_any.tcl:  $lname was always lowercase before...but
     is ending up uppercase now.  Breaks things in Unix, but not Windows.

22Apr03:
   * Fixed bug in filt.tcl that appears to have been introduced in 2.0
     (except that it *WORKED* then!), where no data would be found when
     processing incoming data.

     Why this worked before, and not now, is definitely not something
     that makes sense.

   * Fixed bug in filt.tcl that WAS introduced in 2.0, where paths.tcl
     could not be found when filt.tcl called via procmail (relative
     path ... ../paths.tcl ... but where is the current directory?).
     Set to cd to location of filt.tcl and go from there.

17Oct02 2100L:  JStrack 2.0.0 released.  Now back to fixing the web page!

   NOTE:  This release changes EVERYTHING.  If you're installing over
   an old release, I strongly advise you to rename the old directory,
   install the new version, and update/patch IF/as needed.

July02 -- 17Oct02:
   * For Windows users:  setup.exe file which does (or should do)
     100% of the setup for JStrack ... unless you're installing over
     an old version where you've modified the layout...i.e., where
     everything goes.  Then, for some parts, you've got to modify
     paths.tcl to fix the paths.

     NOTE:  If you don't already have Tcl installed, this setup will
     require you to have an Internet connection open so it can download
     and install Tcl/Tk 8.3 for you.

   * Old storm data:  captured from NHC/TPC archival data.  Storm
     positions only.  Dates back to 1851.

   * Old storm data (still by year) now stored in $storms/old/YEAR/...
     instead of $storms/YEAR/...   ...  with so many years worth of
     old data, having each year's directory in the $storms directory
     got severely out of control.....

   * For the text-only interface:  having data back to 1851 is going
     to cause major headaches in the menu.  IF YOU USE THE TEXT-ONLY
     INTERFACE, I STRONGLY ADVISE YOU NOT TO INSTALL THE OLD STORM DATA!

   * Complete reorg of code.  100% modification.  Lots of re-writes, too.

   * Several bug fixes (mostly minor annoyances, but still!)....

   * new config file:  paths.tcl ... takes care of most config

   * new config script:  autoconfig.tcl ... builds paths.tcl (or at
     least, as much of it as it can figure out)

   * New ftp-based updates ... REQUIRES TclLib 1.3 or better.

     NOTE:  There *WAS* a problem with the ftp updates---sometimes,
     when the connection was closed, it would cause Tcl/Tk to crash.
     Based on notes on TclLib, it looks like this was due to a known
     bug involving using update from within the TclLib proc that
     displays status messages ... after (per that info) switching to
     "update idletasks" instead of just "update", it seems OK after
     many tests (far more than had been required to see this happen
     many times over).  If not, i.e., if it just *HAPPENS* to have
     suddenly started to behave at the same moment when I changed the
     code, updating from within JStrack might crash JStrack.  If you
     run into this problem, please e-mail me at jstrack@cox.net or
     j.graham@ieee.org and let me know.

   * New format for filter---does real sorting on data based on when
     the advisory was written (proper handling of corrections even if
     they arrive at the local system out of order).  Old data files
     will still work---they just won't be sorted (i.e., the data is
     assumed to be in the right order).

   * New FEATURES:
     * when the mouse moves over a plotted point, a label identifies
       the storm's name (or TD number), the timestamp, forecast/outlook
       status (if applicable), and if a hurricane, the strength (cat).

   * Modified sysconfig.tcl to provide better handling of jstrackrc
     under Windows (user-specific).  Also modified jstrack*.tcl to
     read jstrackrc in the current (JStrack) directory (if it exists,
     and if $jstrackrc != "jstrackrc") FIRST, and THEN read $jstrackrc
     if IT exists.
   * Modified jstrack.tcl, plot.tk, and menuproc.tk (et al?) to
     provide better handling of window resizing
   * Modified sysconfig.tcl and jstrack.tcl:  99% of all defaults
     now set in paths.tcl and options.tcl, not sysconfig.tcl.
   * Modified track.tk (now jstrack.tcl) and track.tcl (now
     jstrack-text_only.tcl) to move most code to lib directory
   * Renamed:  track.tk --> jstrack.tcl
               track.tcl --> jstrack-text_only.tcl

05Jun02:
   * Modified plot.tk ... some code cleanup
   * Started on new filt/read_any.tcl (not finished or tested yet)
     to get a good timestamp for sorting incoming data

02Nov01:
   * Modified menu.tk, menuproc.tk, track.tk, and plot.tk ... bug fixes
     for printer-friendly color scheme (oh, yeah, white on white isn't
     exactly visible, is it?  DOH!).  Oh, and I made the 'X' for the
     user's home location bigger and easier to see either way.

01Nov01:
   * Modified east_coast_js.tcl, gulf_cab2_js.tcl, large_js.tcl,
     menu.tk, and track.tk to add printer-friendly (i.e., less ink
     and thus less expensive to print!) color scheme

05Aug01:
   Modified read_any.tcl to fix bug in display of NHC data---would not
   display entire data at times (lsearch in wrong list ... twice).

24 Mar 2001:
   Thanks to Ed Hunt, discovered a bug in update.tcl where new storm
   data was not being properly reloaded.  Modified update.tcl and
   squashed the bug.  New tweaks to update.tcl (reload data for
   any storm updated whether displayed or not---optional, not default)
   may be coming.

15 Mar 2001:
   * Modified plotmenu.tk and track.tk, and created bindings.tk.
   * Modified coords.tcl to do some bug fixes:
       * typos:  max_lat, min_lat (second 't' missing on each)
       * get_latt and get_long now format return value using %0.2f
   * Modified images/gulf_cab2_js.tcl ... added ybase(34), changed max_latt
   * Modified images/east_coast_js.tcl ... added ybase(48), changed max_latt
   * Modified images/large_js.tcl ... added ybase(52), changed max_latt
   * Modified bindings.tk and track.tk ... added coords of mouse pointer
   * Modified track.tk ... added $show_ptrloc (for coords of mouse ptr)
   * Modified menu.tk ... added option for $show_ptrloc
   * Modified menuproc.tk ... added code to save value of $show_ptrloc
   * Modified sysconfig.tcl ... added default/comments for $show_ptrloc
   * Modified plot.tk ... fixes in images/*.tcl broke arrows for cases
     where a storm is off of the chart.  Fixed....
   * Modified global.tcl and misc.tcl ... added stfile() (path/filename
     for storms in memory ... to be used in following bug fix).
   * Bug fixed:  when changing maps, the storm data is lost, and I have
     to reload the storm.  This only happens for storms from previous
     years (which aren't in $storms/name.trk).
   * Modified menu.tk and menuproc.tk ... Finished "Merge Storm Data"


21 Sep 2000:
   * Modified plot.tk:
     1) fixed bug:  if plotting forecast positions for past storm
        positions, the category number (if a hurricane) was not removed
        when the forecast positions were (i.e., you'd have a bunch of
        numbers just sitting there in the screen)
     2) fixed bug:  the triangle for a tropical depression in the
        forecast positions was botched...I must have forgotten to fix
        this one when I fixed it for the current/past positions.

21 May 2000:
   * Modified sysconfig.tcl, menu.tk, and menuproc.tk to support Native
     printing from Windows
   * Modified sysconfig.tcl, menu.tk, menuproc.tk, and filt.tcl to
     support loading storm updates directly from a file (calling
     filt.tcl).  Also fixed bug in filt.tcl that screwed it up under
     Windows (when it called read_fc.tcl).
   * Created stlib.tcl, modified plot.tk, plotmenu.tk, storm.tcl,
     track.tcl, track.tk, and user.tcl to change (most) direct
     references to $stinfo(...) to use procedure calls.  The few
     remaining direct accesses to $stinfo(...) have been streamlined
     to use foreach {...} $stinfo(...) { break }.
   * Modified stdlib.tcl and plot.tk to move some of the access to
     $forecasts(...) to procs (as with $stinfo(...)).

30 October 1999:
   * Modified plot.tk to fix triangle for TD in forecast plot.
   * Modified menuproc.tk, misc.tcl, and plot.tk to remove a lot of
     old, commented-out code.

20 October 1999:
   * Modified track.tk to show new URL (purl.org).  Oops...missed this
     when I setup the persistant URL.

   * Modified menuproc.tk to show URL, period....

14 October 1999:
   * Modified plot.tk to put storm type in .warnframe (the bar with each
     storm's name displayed, with a proximity warning, if applicable)

29 September 1999:
   * Modified east_coast_js.tcl, gulf_cab2_js.tcl, and large_js.tcl to
     source coords.tcl as $libdir/coords.tcl ... Thanks to Jan Depner
     for pointing out this goof on my part.
   * Modified permissions on interp.tcl ... somehow ended up set to 600.

14 September 1999:
   * Modified plot.tk:  { return } at line 260 replaced with { continue }
     (was aborting plotting of forecast wind radii after any one went off
     the chart...and since the array is read in more or less random
     order.....  At least this way, the ones that are on the map will be
     handled properly.

****  Wed 25 Aug 1999:  JStrack 1.31 released as patch to 1.30 ****

25 August 1999:

   * Modified track.tk, track.tcl, and misc.tcl ... if you try to load a
     storm from the command line (or from the command line within JStrack)
     for which there is no storm.trk file, instead of crashing, just give
     a warning message.  Also added the new mreload command to reload
     multiple storms at once.

23 August 1999:

   * Modified filt/read_fc.tcl ... the badly-written regexp that pulled
     out the timestamp failed when the NHC used a slightly different
     format (``23/0900Z...INLAND'').  Fixed that.

19 August 1999:

   * Modified plot.tk to put timestamp in bar w/ storm name (.warnframe.$nm)
   * Modified update.tcl to add auto_load mode for new storms (if
     auto_load_new is set to a non-zero value, don't ask, just load new
     storms)
   * Modified update.tcl to run update_prog after new storms loaded

18 August 1999:

   * Modified update.tcl to do an update before running update_prog

****  Sun  4 Jul 1999:  JStrack 1.30 released ****
4 July 1999:

   * Decision finally made:  no GIFs included in dist.  They're just
     too slow, and thus aren't worth saving a few bytes in the dist.
     I might still eventually include them as an alternate image set,
     so the capability to switch between image types is left in place.

   * Modifications made to Tcl code for loading images.  Before, when
     a new image was loaded, it had to be read from disk each time.  For
     the bitmaps, this is the majority of the time for loading images.
     Granted, it's not much...but on a slower system, it could still be
     significant.  Now, we shift the burden to the system's memory and
     keep images in memory once loaded.  A quick check here shows that
     the difference between one image loaded and all three loaded is
     only about 540 kB.

16 June 1999:

   * Added command-line switch for maps:  -map gulf (etc.), e.g.,
     ./track.tk -map gulf thirteen

     Use either "overall" or "full" for the full map, "east" for the map
     of the East coast, or "gulf" for the map of the Gulf coast.

   * Fixed error when processing lines like the following from the
     probabilities:

        MPCO 093N 799W     1  1  2  4  8

     The leading zero in 093 caused problems for expr.  0xx is octal,
     and 093 is not a valid octal number (there is no '9' in base 8).


31 May 1999 (after another nice break!):
   * Modified listbox for loading storms---now puts a nice gap between
     current year's storms and those from past years

   * The old maps have been deleted...period.....

   * When loading images, display a message telling the user exactly
     what is going on...so it doesn't look like JStrack is stuck or
     something.

   * Modified track.tk to be switchable between the .gif and .bmp
     versions of the maps (FROM CONFIG FILE).  Actually, the capability
     was already there---it just had to be used.  :-)

     UPDATE (16 June):  The GIFs really are slow...I'm seriously
     considering not including the GIFs by default.  After the bitmaps
     are gzipped for distribution, they don't make enough of a difference
     in the file size to be worth having a new user annoyed by the slow
     startup.  It's annoying me, I know that!

   * Cleanup of code for Saffir-Simpson scale (elimination of duplicate
     code, etc.)


26 Sep 1998:
   * When one or more forecast positions went off the map, JStrack
     wasn't plotting any of the wind radii...fixed this.

24 Sep 1998:
   * When running *_prog (to sound external alarms, etc.), do *NOT* fork
     into background.  Doing so results in one of those alarms not going
     out because the sound card is busy.  Instead, just run it.  Yes, this
     slows down JStrack...but on the other hand, better that than to have
     a wake-up alarm fail because the sound card is busy!

23 Sep 1998:
   * Detailed info plot now uses scrollbar.  Also added reminder that
     the 48 and 72 hour positions are subject to error (warning quoted
     from NHC Forecast/Advisory).

   * Along the same lines, changed the color for the 48 and 72 hour
     positions on the chart (used $color(b3box)) to set it apart from
     the rest.

   * Also, since the 48 and 72 hour forecasts don't include wind radii
     for hurricane force winds (at least, not all the time), now include
     markers on forecast positions to indicate storm strength (category),
     just like on normal plotted points.

22 Sep 1998:
   * Modified filter (read_fc.tcl) to use the extended outlook (up to
     72 hours).

   * Modified text boxes to use fixed-width font (default set in track.tk,
     can be reset in config files).

   * Modified the big 'X' over home---changed font to {Helvetica 18 Bold}.

   * Modified plot.tk:  'X' for extratropical storm, cat n text, and
     percent probability on prob. plot now use $color(b3box) (which is
     basically just designed to stand out, so it works)

18 Sep 1998:
   * filt.tcl now leaves a comment in storm.pr if it doesn't have a
     city (or other location) that was listed.
   * Reviewed locations missing from city.list for 1998 to date...not
     too bad....

17 Sep 1998:
   * New addition to probabilities plot (was always there...just added
     the ability to use it)---plot TOTAL probability (last column in
     NHC probabilities).  Also modify other columns to indicate time
     range more specifically.


16 Sep 1998:
   * Fixed a bug in read_fc.tcl that prevented storm data for storms
     that are *WAY* out in the Atlantic from being recognized (problem
     in one of the regular expressions that search for the data).

1 Sep 1998:

   * Added ability to split the new maps into two bitmap images per map
     (bitmaps are much faster to load...they're also much, much larger).
     As of now, the old maps will no longer be supported....

   * Multiple bug fixes dealing with handling of new maps (well, more
     to the point, starting JStrack with the *OLD* maps)

   * Modification---new (optional) scale on forecast positions uses
     the top 10% of the scale for red, and divides the remaining 90%
     by 3 for the other ranges.

   * Funny how tracking a storm when it really counts tends to produce
     new features and bug fixes, isn't it?

****  Sun 30 Aug 1998:  JStrack 1.3 (pre-release version) uploaded ****

NOTE:  This is *NOT* the final JStrack version 1.3 (well, it might not
be)!  This is being released to give folks a glimpse of JStrack's new
look....  The final version of the new maps will either be the ones in
this pre-release version *OR* the same maps, with some names of locations
added.  Nothing else will change (except that I'll need to re-calibrate
the X/Y coords vs latt./long. conversions).

30 Aug 1998:
   * Bug fix---when user asks to plot the probabilities for a given storm
     location, and then selects never mind, JStrack would still display
     part of the color scale and its menu.  FIXED

   * Bug fix---when button 3 binding was used, the point_menu toplevel
     was placed at the location where button 3 was pressed, not just
     offset from the location of the selected point for the storm, as
     it should be.  FIXED

   * Continue work on JStrack to handle new maps....  JStrack now allows
     multiple maps to be used, *AND* you can change maps while running
     JStrack.  Really cool!  May need to recalibrate once the final maps
     are in place (assuming these aren't the final maps---the only
     difference, if I use it, will be names of locations).

27 Aug 1998 through _______:
   * Work with Ron Murphy to build new maps for JStrack and work on
     JStrack to handle those maps.

****  Sat 22 Aug 1998:  JStrack 1.2 (NOT BETA ANYMORE) released ****

22 Aug 1998:
   * Much needed improvements...when plotting probabilities:

      1) if no probability data found, tell the user!
      2) if user wants to, change color-coding to get a better
         picture of the range (e.g., when plotting 72 hour probs.,
         they're almost always, if not always, period, under 20 percent,
         and thus always blue ... this would tell JStrack to cover the
         range of probs actually used, as opposed to insisting on using
         the full 0 to 100 percent.)

   * Fixed typos in saffsimp.tcl and saffsimp.tk (``5 feet of less''
     corrected to ``5 feet or less'').

   * Changed all expr statement from [expr a + b] to [expr {a + b}]
     (same result, but faster with Tcl 8's bytecode compiler).

9 Jul 1998:
   * Bug fix in menuproc.tk ... was not setting $w in the binding for
     mouse button one in the procedure that builds the listboxes for
     selecting the storm(s) to load.  Result---if the value of $w
     changed (e.g., if you used the mouse and invoked another binding,
     activated any button that used $w, etc.), things got really,
     really strange.....

24 May 1998:
   * Resumed work after a nice break...again...sort of......

   * Was going to re-write the code handling the majority of the storm
     data...but it works as is, and the re-write wouldn't really gain
     anything in terms of speed or memory...and I don't see any real
     changes in this area, so for now, leave it as is.  (``Don't fix it
     if it ain't broke.'')

   * Modified sysconfig.tcl to include auto_update w/ default setting.

   * Changed default value of auto_update from 0 to 1.

   * Work on install/setup/configuration program started.

****  Sun 15 Feb 1998:  JStrack beta 1.16 released (no patch...)  ****
15 Feb 1998:
   * Resumed work after a nice break....

   * Replaced interp.tcl with my most current version.

   * Fixed bug:  if no storm files (*.trk) were found in the storms
     directory, the program would abort.

   * Text-only version is now capable of loading storms from previous
     years.

   * Text-only menu now has links to the NHC data and the
     Saffir-Simpson chart

#####
#####                       .
#####                      /|\
#####                       |
#####  1998  ---------------'
#####
#####  1997  ---------------.
#####                       |
#####                      \|/
#####                       `
#####

7 Sep:
   * Patched bug in display (plain-text and GUI) of Saffir-Simpson
     scale.  A cut/paste error resulted in the wrong wind speeds
     showing up for all but cat 1 storms.

   * yet another fix to filt.tcl found, courtesy of a temporary WX-ATLAN
     outage (which had me get data for Erika from the NHC web page,
     which exposed the error...).  When reading the timestamp for
     probabilities and position estimates (I assume...it was coded the
     same way, and should show the same bug), filt.tcl was getting the
     line for the timestamp wrong.  Modified filt.tcl to look two lines
     below the line with the storm's name, which should eliminate any
     problems with header lines (normally always above the storm name)
     that are in one source's text and not another's.

****  Sat  6 Sep 1997:  JStrack beta 1.15 released as patch to 1.14  ****
6 Sep:
   * filt.tcl wasn't aggressive enough in finding the start of the data,
     and wasn't handling data directly from the NHC's web page very well
     (in some cases, it simply rejected it).  Now it goes line by line
     until it either gets past the header (i.e., it isn't going to find
     it) or it finds what it's looking for.

****  Thu  4 Sep 1997:  JStrack beta 1.14 released as patch to 1.13  ****

4 Sep:
   * Changed colors for map on canvas from Tk's default black on gray85
     to black on white.  This seems to make it more readable.

   * Fixed bug in binding for button 3 ... worked as long as %X (X coord
     for event) equals [.c canvasx %X] (X coord for event *ON CANVAS*),
     and the same for %Y and [.c canvasy %Y].  Otherwise, gave completely
     bogus results.  Oops....

   * Fixed yet another bug in the same binding....  The x/y coordinates
     for the event (%X and %Y) are the coordinates on the root window,
     not on the canvas widget (i.e., the display area), so the conversion
     needed to subtract the rootx and rooty for the canvas itself to get
     to the real x/y coords on the screen for the event, and then convert
     to canvasx/canvasy.

   * While debugging this, I used a rectangle indicating the area that
     was selected with the mouse click.  This turned out to be nice to
     have, so I cleaned up that bit of the code and left it in.  :-)

   * Another new item for the button 3 binding---if one of the points
     in the region is the latest position for that storm name, this is
     indicated next to the timestamp.  Note that, in cases where the
     same storm's name and number (e.g., ERIKA and tropical depression
     SIX), and the latest position for Erika as TD #6 (SIX) is in the
     enclosed region, it will be marked as the latest position for SIX.
     It isn't perfect, but until I add some direct mapping from tropical
     depression number to storm name (which is needed in several other
     areas, too), it'll have to do.

   * Fixed filter---50 KT wind radii are now read from file.

   * Modified plot.tk---wind radii plots are now color-coded:

         yellow = tropical storm strength
         red = hurricane strength

31 Aug:
   * Replaced old bindings for Delete (to imitate BS) with more portable
     and more general-purpose bindings

30 Aug:
   * Based on timed tests, abandoned conversion to C...  Short
     summary...it isn't faster (at least, not with Tcl/Tk 8.0,
     which now uses a byte compiler with scripts for added speed).

30 Aug through .... :
   * Started work on converting portions of JStrack's more basic procs
     to C.  When completed, this will be an *OPTIONAL* enhancement to
     JStrack.  If the shared library isn't available, JStrack will use
     the script-based code.  NOTE:  The C code is *NOT* (for now) using
     any of the Tcl 8.x extensions, but the results are being tested
     under both Tcl 8.0 and Tcl 7.6.

     PRO:  The end result will be much faster where C code is involved.

     CON:  To use this feature, the C code will have to be compiled,
           by the user, into a shared library, which can then be loaded
           by Tcl/Tk.

****  Fri 22 Aug 1997:  JStrack beta 1.13 released as patch to 1.12  ****

22 Aug:
   * Patched track.tk to work (I hope) with Tcl/Tk 8.0.  The change here
     is in the coordinates for the key at the bottom of the screen.  The
     rest *SEEMS* to work ok.

   * YIKES!!!  A bit of hard-coded test data was still in plotmenu.tk!
     Fixed that.....

****  Sun 17 Aug 1997:  JStrack beta 1.12 released (no patch...)  ****

17 Aug:
   * Updated docs, web pages, etc.

16 Aug:
   * Fixed bug in wipeclean (cleans chart).  When reloading a storm from
     a past year, it failed to remove the directory portion from the
     storm's name (e.g., it tried to remove data for 1996/EDOUARD,
     instead of EDOUARD).

   * Finally figured out how to test for cases where the forecast track
     takes the storm within x nautical miles of the user's home coords.
     In fact, it was pretty easy---there's a Tk/canvas function that
     does the work for me...I just didn't know it.  :-)

4 Aug:
   * Added better color code (the ranges are the same as those for
     the NHC's charts) for probabilities plots.  The color coding
     looks like this:

     red:         >= 99% (i.e., basically, it's there now)
     orange:      between 50% and 98% (inclusive)
     yellow:      between 20% and 49% (inclusive)
     light blue:  < 20%


****  Sun  3 Aug 1997:  JStrack beta 1.11 released (no patch...)  ****

3 Aug:
   * Documentation updated and re-built.

   * Added the ability to plot the wind radii for forecast positions.
     This is automatically done when you plot wind radii for the most
     recent position (i.e., auto_radii == 1), and is now part of the
     point menu.

   * Added the option of using a larger chart.  To use the larger chart,
     no action is required---it's the default.  To use the smaller chart,
     set use_large_chart to 0 (zero) in sysconfig.tcl.  The big chart
     isn't drastically larger, but it's as big as I could make it with
     my display (1280x1024).

     NOTE:  the larger chart is an enlarged version of the smaller one,
     and the process of enlarging the image may have added some distortion
     to the coordinates.  As far as I could determine through testing, I
     managed to reduce the errors to less than 0.1 degree (probably more
     like 0.05 degree), which is well within reasonable limits, IMHO.
     The alternative is to use a smaller range (i.e., right now, the
     coordinates are fixed at every 5 degrees---to reduce the error any
     further, it'd probably need to be fixed at every 2 degrees, which
     would get pretty ugly).

     DOCS UPDATED 3 Aug.

2 Aug:
   * Added the ability to recognize cases where the storm's track file
     has been updated, but there was not a full advisory (i.e., one or
     more position estimates came in, but that's it).  A different
     external program can be run for position estimates, as defined by
     the pos_est_prog variable.
     DOCS UPDATED 3 Aug.

26 Jul:
   * Added buttons to detailed info (selected from the popup menu for
     a given position for the storm) to immediately pull up the NHC
     forecast/advisory, advisory, discussion, or probabilities.

19 Jul:
   * Added new binding to canvas:  mouse button 3 now pulls up a list of
     nearby storm positions, sorted by timestamp (except when covering
     two months---that won't look right, but that's a generic problem in
     how the timestamps are handled).  Selecting *ONE* of these times and
     then using the "Get Selected Data" button pulls up the menu for that
     storm position.  This is something that, IMHO, was badly needed for
     cases where storm positions overlap, etc...  Trying to click on the
     exact spot that pulled up the menu could get *REALLY* annoying!

     DOCS UPDATED 3 Aug.

   * Eliminated one of JStrack's more annoying habits....  When the
     point_menu (popup menu for a given storm position) is active, and
     the user has moved it out of the way, don't move it back to its
     original position after selecting something!  This was due to
     calling the point_menu procedure again, instead of a new proc. to
     update the buttons' configurations.  Now we do the latter, as it
     really should have been from day one.

   * Fixed problem in filt.tcl with probabilities---it didn't know to
     look for "GULF xxN xxW ....", and was interpreting this as it would
     the entries that end up with coordinates in the form
     "TAPA 171N 618W ..." , which is actually 17.1N and 61.8W ....
     There will probably be more cases like this, and I'll have to fix
     them as they happen.

   * Fixed bug introduced with subdirectories under $storms:  the
     supporting data (e.g., name.pr, name.adv, etc.) under that
     directory was not being referred to.

     TODO:  The plain-text interface to the whole set of procs
            for reading NHC text stinks....  May not get it fixed
            in this release, but it needs to be fixed!

   * Fixed bug introduced with adding arrows for stuff that goes off
     the chart---when an individual storm was removed, its arrows
     weren't (until the whole chart was wiped clean).

   * New mods to filt.tcl---has a listing of cities (city names
     formatted as in NHC Probabilities data) and coords.  If the
     location is a city name, rather than absolute coordinates,
     JStrack tries to look up the data (well, filt.tcl sources this
     file when it starts up, and looks in the resulting array).  As
     a result of doing this, danny.pr quadrupled in size....  This
     should give a much better picture of the probabilities.

18 Jul:
   * New (minor) feature---the ability to run an external program when
     storm data is automatically reloaded by JStrack.  If the user
     defines $update_prog correctly, it can also pass the name of the
     storm ($nm for all lowercase, $name for all uppercase) to the
     program.  The (commented out) examples in sysconfig.tcl describe
     how to do this.

     DOCS UPDATED 3 Aug.

****  Sun 13 Jul 1997:  JStrack beta 1.10 released as patch from 1.9  ****
13 July:
   * No longer discards data when a storm goes extratropical---this
     seemed like a good idea at the time, but as it turns out, it
     REALLY wasn't....  Now plotting an additional storm type, ET
     (extratropical), as an X.
   * Same logic---when a storm goes off the chart, do not discard the
     data.  Yes, it'll be displayed incorrectly at the edge of the chart,
     but at least it's displayed.
   * In detailed summary (puts_st_info), if storm is extratropical,
     change $type from "ET" to "Extratropical storm"
   * Added "X  Extratropical Storm" to key below chart
   * Added big red arrow indicating that a storm has moved off the chart.
     Tested for each direction, as well as old data (i.e., to make sure
     I didn't mess up the coordinates conversion in general).

****  Tue  8 Jul 1997:  JStrack beta 1.9 released as patch from 1.8  ****
4 July:
   * Fixed bug in loading of (for example) 1996/* or 1995/* (this WORKED
     before!)
   * NEW CONFIG VAR:  auto_update
   * Completed for auto_update:
     1) Set JStrack to use this w/o manually sourcing the file and
        manually doing the init.
     2) Add the option to the user's config file
     3) Set the default to OFF
     4) Add the option setting to the options menu
     5) Add the ability to save this option when saving the user's config.

3 July:
   * Added new feature from track.tk (see 2 July) to track.tcl.  It may
     not be as useful here, but what reason is there not to include it?
   * For GUI version only (so far...):  added ability for tracker to
     watch for newly-updated storm data files (both for new storms and
     updated storms).  If the storm file is new, the user is asked if
     they want to load the storm's data.  If it's updated and the storm
     is currently loaded, the storm is reloaded automatically (with a
     message to the user indicating this).  If the storm's data is
     updated, but the storm isn't loaded, nothing is done---though this
     may want to change....

     NOTE:  THIS IS INCOMPLETE---THE FOLLOWING NEEDS TO BE DONE TO
     COMPLETE THIS OPTION:

     6) Document it....
     7) Add it to the plain-text version

2 July:
   * New feature for track.tk (might add this to track.tcl, too, though
     I don't see it as being as useful there):  can now auto-load storms
     directly from the command line, e.g.:

     ./track.tk                       [no storm auto-loaded]
     ./track.tk ana                   loads $storms/ana
     ./track.tk ana 1996/josephine    ditto ... plus $storms/1996/josephine

****  Tue  01 Jul 1997:  JStrack beta 1.8 released as patch from 1.7  ****
1 July:
   * Oops....  Somewhere along the line, a bug was introduced into
     st_hist with respect to the storm's course....
   * Patched read_any.tcl to adapt to (slightly) modified NHC format,
     which resulted in no forecast data being found, even when it was
     there.

****  Mon  30 Jun 1997:  JStrack beta 1.7 released as patch from 1.6  ****
30 June:
   * Patched filt.tcl and read_fc.tcl to adapt to new WX-ATLAN format
   * Patched read_any.tcl to adapt to new WX-ATLAN format
   * Patched menuproc.tk to allow past storm data to be stored in
     storms/year (e.g., storms/1995, storms/1996, etc.).  NOTE:  this
     *REQUIRES* that the year be completely ``spelled'' out, i.e.,
     storms/96 won't work).  It also won't work (w/o modifications)
     past the year 2999.  I don't think that's likely to be a problem,
     though....  :-)

23--30 June:
   * New documentation available in HTML, PostScript (crude) and text
     format.  Eventually, the PostScript format will be the result of
     typesetting the docs with TeX.  I haven't gotten that far, though,
     so for now it's the result of using Chimera on the HTML version.
     NOTE:  THIS DOCUMENTATION IS *NOT* COMPLETE!!!  But it's a start,
     and it's at least better than what I had before....

****  Thu   5 Jun 1997:  JStrack beta 1.6 released as patch from 1.5  ****

5 June:
   * Replaced unknown() in interp.tcl with a modified version of the
     real version from Tcl 7.6p2 (modified to allow history, etc., even
     when running from a script).  This also fixed a bug in interp.tcl
     that caused problems with first call to bgerror.

   * verbose_history no longer does anything (due to the above change),
     so references to it removed from save_config, menu, and help info.

****  Sat  31 May 1997:  JStrack beta 1.5 released as patch from 1.4  ****

31 May:
   * Changed offset of submenu for viewing NHC advisory data for a
     plotted position of a storm---the offset before wasn't really
     enough, and it almost looked (if you weren't watching closely)
     like nothing happened.

   * Changed offset of screens showing detailed information / references
     for the Saffir-Simpson display.  This wasn't as much of a problem as
     for the above, but it does look better, and keeps things consistent.


****  Tue  27 May 1997:  JStrack beta 1.4 released...no patch from 1.3  ****

26 May:
   * Added filter (within filt.tcl) to read NHC probabilities data---now
     written to $storms/$name.pr
   * Added ability to plot the probabilities (24 hour, 36 hour, 48 hour,
     or 72 hour) for the storm as INDIVIDUAL PLOTS RELATIVE TO THE CURRENT
     POSITION (i.e., not using a polygon for the swath), with the following
     color code:
         SkyBlue:  probability <= 33%
         Yellow:   probability <= 66%
         Red:      probability >  66%
     The probability is then placed to the left and above the point
     (which, btw, is represented as a diamond).

25 May:
   * Added display of Saffir-Simpson scale to both text-only and GUI
     mode.  Includes the ability to get a more detailed description of
     the typical damage expected by each storm category.
   * Added ability to plot/remove all wind radii for storm(s)
   * Added ability to plot home coordinates and save them directly to
     system's $libdir/sysconfig.tcl (assuming appropriate permissions)
     and/or to $HOME/.jstrackrc

24 May:
   * Re-organized some of the code (i.e., which file various
     procedures were in, etc.)
   * Info menu item now just a plain old button
   * Info window now uses text widget due to random problems
     with the message widget

****  Sun  18 May 1997:  JStrack beta 1.3 released...no patch from 1.2  ****

18 May:
   * Modified tracker to handle position estimates (which were added
     to the filter on 17 May)
   * Fixed problem with canvas re-sizing that was introduced when
     the legend was added)
   * Some general code-cleanup (minimal, but it hit most files)
   * Cleaned up in st_hist (storm history chart)

8 May to 18 May: improved filter for NHC data, documentation and web
   page changes, etc.

8 May:  better interpreter (thanks to Brent Welch), and command-line
   history (more or less) UNIX-style

****  Sat  3 May 1997:  JStrack beta 1.2 released as patch to beta 1.1  ****
   Changes:
      track.tk:   added legend to bottom of screen

****  Sat  3 May 1997:  JStrack beta 1.1 released as patch to beta 1  ****
   Changes:
      menuproc.tk:  fixed geometry calcs for popups
      userdata.tk:  fixed geometry calcs for popup
      menu.tk:  fixed geometry calcs for saved config
                fixed PostScript output to use the correct proc. (ps_out)
                changed $env(HOME)/.jstrackrc to $jstrackrc (sysconfig.tcl)
      track.tcl:  changed $env(HOME)/.jstrackrc to $jstrackrc (sysconfig.tcl)
      track.tk:   changed $env(HOME)/.jstrackrc to $jstrackrc (sysconfig.tcl)
      sysconfig.tcl:  defined jstrackrc as $env(HOME)/.jstrackrc
                      added comments describing variables

****  Sun 27 Apr 1997:  JStrack beta 1 released  ****

