**** 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). ------------------------------------------------------------------ 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 ****