Changes between Version 8 and Version 9 of v7.5


Ignore:
Timestamp:
01/16/12 08:53:33 (10 years ago)
Author:
branden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • v7.5

    v8 v9  
    6565 
    6666=== adsendxs === 
    67 Adsendxs is a rewrite the old adsend module that works with newer model DAQ hardware and 
    68 GPS receivers. Here are some features of adsendxs: 
    69 - Runs on National Instruments X-series DAQ modules, which come in PCI Express and USB 
    70   versions. 
    71 - Uses the NI-DAQmx API, rather than the legacy NI-DAQ API. 
    72 - Not tested on Linux.  The NI drivers may or may not be Linux compatible. 
    73 - Obtains accurate time from an inexpensive Trimble !ThunderBolt E GPS Disciplined Clock. 
    74 - Seismic amplitudes are scaled the same as the older adsend program, to ensure 
    75   compatibility with existing downstream software. 
    76 - Runs at a user-configurable sample rate.  Tested at sample rates up to 2000 sps. 
    77 - Periodically updates the O/S clock, using time from Trimble GPS. 
    78 Will Kohler 7/24/2011 
    79  
     67Adsendxs is a rewrite the old adsend module that works with newer model DAQ hardware and GPS receivers. Here are some features of adsendxs: 
     68 *  Runs on National Instruments X-series DAQ modules, which come in PCI Express and USB versions. 
     69 * Uses the NI-DAQmx API, rather than the legacy NI-DAQ API. 
     70 * Not tested on Linux.  The NI drivers may or may not be Linux compatible. 
     71 * Obtains accurate time from an inexpensive Trimble !ThunderBolt E GPS Disciplined Clock. 
     72 * Seismic amplitudes are scaled the same as the older adsend program, to ensure compatibility with existing downstream software. 
     73 * Runs at a user-configurable sample rate.  Tested at sample rates up to 2000 sps. 
     74 * Periodically updates the O/S clock, using time from Trimble GPS. 
     75 * Will Kohler 7/24/2011 
    8076 
    8177== MODIFICATIONS/BUG FIXES TO EXISTING MODULES == 
    8278 
    8379=== carlsubtrig === 
    84 Added in !CoincidentStaTriggers option to squash triggers of telemetry spikes. This was 
    85 done for the Azores network but could be applicable elsewhere. 
    86 Note that I also added a version number to the program which is stored in the log file 
    87 AND also echoed to the command line if no args are provided. All EW modules should do this. 
    88 Paul Friberg July 19, 2011 (with testing help from Ruben Luis). 
    89 On August 18, 2011, I added !IgnoreCoincident to ignore the coincident check if more than a 
    90 specified number of subnets triggered coincidentally. The idea being that a telemetry glitch 
    91 would not cross more than this number of subnets. 
     80 * Added in !CoincidentStaTriggers option to squash triggers of telemetry spikes. This was done for the Azores network but could be applicable elsewhere. 
     81 * Note that I also added a version number to the program which is stored in the log file AND also echoed to the command line if no args are provided.  *  All EW modules should do this. 
     82 * Paul Friberg July 19, 2011 (with testing help from Ruben Luis). 
     83 * On August 18, 2011, I added !IgnoreCoincident to ignore the coincident check if more than a specified number of subnets triggered coincidentally. The idea being that a telemetry glitch would not cross more than this number of subnets. 
    9284 
    9385=== hypoinverse 1.3 upgrade === 
    94 Note that the docs have changed and one command (ZTR has 2 args 
    95 instead of one). This new version is really 1.35 and allows hypoellipse 
    96 features which have now been integrated in. 
    97 Fred Klein did all the code, Paul Friberg integrated with EW and checked it in. 
    98 July 18, 2011 
     86 * Note that the docs have changed and one command (ZTR has 2 args instead of one). This new version is really 1.35 and allows hypoellipse 
     87features which have now been integrated in.  
     88 * Fred Klein did all the code, Paul Friberg integrated with EW and checked it in. 
     89 * July 18, 2011 
    9990 
    10091=== binder_ew === 
    101 Added a new option no_S_on_Z which is a simple flag to 
    102 not allow S phases to be associated with picks on vertical 
     92 * Added a new option no_S_on_Z which is a simple flag to not allow S phases to be associated with picks on vertical 
    10393component channels. This option is off by default. 
    104 Thanks to Barry Hirshorn for the idea from binder_agl. 
    105 Paul Friberg 07/04/2011 
     94 * Thanks to Barry Hirshorn for the idea from binder_agl. 
     95 * Paul Friberg 07/04/2011 
    10696 
    10797=== restart === 
    108 Now accepts multiple pids for restart instead of just one! 
    109 I made the configfile option a flag (-c) too. 
    110 Usage: restart [-c config_file]  [ ...] 
    111 Paul Friberg 06/28/2011 
     98 * Now accepts multiple pids for restart instead of just one!  
     99 * I made the configfile option a flag (-c) too. Usage: restart [-c config_file]  [ ...] 
     100 * Paul Friberg 06/28/2011 
    112101 
    113102=== tankcut === 
    114 Fixed the -e option, which apparently never worked! 
    115 Paul Friberg 06/10/2011 
     103 * Fixed the -e option, which apparently never worked! 
     104 * Paul Friberg 06/10/2011 
    116105 
    117106=== localmag === 
    118 Stefan and I fixed the windows compilation which produced bogus numbers and never got 
    119 a magnitude (despite running fine). The issue was a output array was filled with 
    120 garbage numbers (not zeroed). While this was easy to solve (zero the array 
    121 before calling convertWave()), it was not easy to find! 
    122 Also, later we added the new configuration option !ChannelNumberMap 
    123 to map numbered channels to letter code orientations. 
    124 New version is 2.1.4 (DOES NOT EFFECT ANY UNIX build of this) 
    125 Paul Friberg & Stefan Lisowski 06/08/2011 
    126 Later on added in capability to  for Z channel mags, via optional allowVerticals 
    127 New version after allowVerticals is 2.1.5 
    128 Paul Friberg 06/30/2011 
     107 * Stefan and I fixed the windows compilation which produced bogus numbers and never got a magnitude (despite running fine). The issue was a output array was filled with garbage numbers (not zeroed). While this was easy to solve (zero the array before calling convertWave()), it was not easy to find! 
     108 * Also, later we added the new configuration option !ChannelNumberMap to map numbered channels to letter code orientations. 
     109 * New version is 2.1.4 (DOES NOT EFFECT ANY UNIX build of this) 
     110 * Paul Friberg & Stefan Lisowski 06/08/2011 
     111 * Later on added in capability to  for Z channel mags, via optional allowVerticals 
     112 * New version after allowVerticals is 2.1.5 
     113 * Paul Friberg 06/30/2011 
    129114 
    130115=== sniffring === 
    131 added in a -n option to allow  NO FLUSHING of messages if you want to see all 
    132 the messages in a ring at a given instant you can use this new feature. 
    133 Paul Friberg 06/01/2011 
     116 * added in a -n option to allow  NO FLUSHING of messages if you want to see all the messages in a ring at a given instant you can use this new feature. 
     117 * Paul Friberg 06/01/2011 
    134118 
    135119=== tankplayer === 
    136 Fixed a bug where no heartbeats were issued if the Directory Scanning mode was 
    137 used to playback data. 
    138 Paul Friberg 04/29/2011 
     120 * Fixed a bug where no heartbeats were issued if the Directory Scanning mode was used to playback data. 
     121 * Paul Friberg 04/29/2011 
    139122 
    140123=== eqassemble === 
    141 modified main tport_getmsg loop such that messages received with return codes 
    142 GET_OK, GET_MISS, and GET_NOTRACK are all processed.  Previously, only msgs 
    143 returned with GET_OK were processed. Msgs with GET_MISS and GET_NOTRACK returns 
    144 were essentially ignored; only the return code was logged. 
    145 Lynn Dietz 04/01/2011 
     124 * modified main tport_getmsg loop such that messages received with return codes GET_OK, GET_MISS, and GET_NOTRACK are all processed.  Previously, only msgs returned with GET_OK were processed. Msgs with GET_MISS and GET_NOTRACK returns were essentially ignored; only the return code was logged. 
     125 * Lynn Dietz 04/01/2011 
    146126 
    147127=== nmxptool === 
    148 updated nmxptool to version 2.0.0 
    149 Matteo Quintiliani 01/24/2011 
     128 * updated nmxptool to version 2.0.0 
     129 * Matteo Quintiliani 01/24/2011 
    150130 
    151131=== sniffwave === 
    152 added in tracebuf2.1 detection capability display (to show a conversion factor instead 
    153 of data quality flags). This is fully backward compatible with all prior 
    154 versions. 
    155 Kevin Frechette 01/12/2011 
     132 * added in tracebuf2.1 detection capability display (to show a conversion factor instead of data quality flags). This is fully backward compatible with all prior versions. 
     133 * Kevin Frechette 01/12/2011 
    156134 
    157135=== localmag === 
    158 Fixed a case where if multiple wave_serverV's were listed, only the first one 
    159 was ever polled for data (the rest were marked as duplicates). 
    160 Paul Friberg 01/12/2011 
     136 * Fixed a case where if multiple wave_serverV's were listed, only the first one was ever polled for data (the rest were marked as duplicates). 
     137 * Paul Friberg 01/12/2011 
    161138 
    162139=== export_generic === 
    163 any linux module using PTHREAD_STACK set to 8192 can possibly segfault on 
    164 64-bit linux (unreliably). The thread stack size was increased to 81920 
    165 for Linux #ifdefined statement and all problems went away. This was not 
    166 tested on Solaris or Windows or Mac OS X. 
    167 Paul Friberg 12/02/2010 
     140 * any linux module using PTHREAD_STACK set to 8192 can possibly segfault on 64-bit linux (unreliably). The thread stack size was increased to 81920 
     141for Linux #ifdefined statement and all problems went away. This was not tested on Solaris or Windows or Mac OS X. 
     142 * Paul Friberg 12/02/2010 
    168143 
    169144=== misc === 
    170145tankplayer tools, wave_probe, dumpwave, cleandir, glass, startstopservice 
    171 On Windows, added kom.obj to link so that the new kom dependency to logit 
    172 is taken into account. 
    173 Stefan Lisowski 11/11/2010 
     146 * On Windows, added kom.obj to link so that the new kom dependency to logit is taken into account. 
     147 * Stefan Lisowski 11/11/2010 
    174148 
    175149tankplayer tools, ew2mseed, dumpwave, getmenu 
    176 On Solaris and Unix makefiles, added kom.o to link so that the new kom 
    177 dependency to logit is taken into account. 
    178 Matteo Quintiliani 11/4/2010 
    179  
    180 === enlo_report === 
    181 Added parameter !EnableLongFileName in the configuration file of menlo_report. 
    182 It enables writing arc/sum files with format DATETIME_ID_VER.SUFFIX 
    183 (i.e. 201011040932_0000097658_2.arc) 
    184 Matteo Quintiliani 11/4/2010 
     150 * On Solaris and Unix makefiles, added kom.o to link so that the new kom dependency to logit is taken into account. 
     151 * Matteo Quintiliani 11/4/2010 
     152 
     153=== menlo_report === 
     154 * Added parameter !EnableLongFileName in the configuration file of menlo_report. 
     155 * It enables writing arc/sum files with format DATETIME_ID_VER.SUFFIX (i.e. 201011040932_0000097658_2.arc) 
     156 * Matteo Quintiliani 11/4/2010 
    185157 
    186158=== eqcoda === 
    187 Increased buffer size to 512 bytes for reading a line from the station file. 
    188 Same behaviour of pick_ew. 
    189 Matteo Quintiliani 8/25/2010 
     159 * Increased buffer size to 512 bytes for reading a line from the station file. 
     160 * Same behaviour of pick_ew. 
     161 * Matteo Quintiliani 8/25/2010 
    190162 
    191163=== sniffwave === 
    192 Fixed a misleading print statement when !WaveMsg2MakeLocal() failed on a SCNL, it 
    193 showed possible spaces in the SCNL that were not really there. 
    194 Paul Friberg 8/19/2010 
     164 * Fixed a misleading print statement when !WaveMsg2MakeLocal() failed on a SCNL, it showed possible spaces in the SCNL that were not really there. 
     165 * Paul Friberg 8/19/2010 
    195166 
    196167=== fir === 
    197 Added !QueueSize optional parameter to increase the default from 100 
    198 Added !SleepMilliSeconds optional parameter to decrease the default from 500ms 
    199 Paul Friberg 8/18/2010 
     168 * Added !QueueSize optional parameter to increase the default from 100 
     169 * Added !SleepMilliSeconds optional parameter to decrease the default from 500ms 
     170 * Paul Friberg 8/18/2010 
    200171 
    201172=== statmgr === 
    202 *Bugfix You can now comment out the line that includes an email addres 
    203         so nobody gets emailed by statmgr, and you don't need to put a 
    204         fake email address in to get statmgr to start. This is the 
    205         behavior that is desccribed in the config file. Fix by Paul Friberg 
    206         201006 
     173 * Bugfix You can now comment out the line that includes an email addres so nobody gets emailed by statmgr, and you don't need to put a fake email address in to get statmgr to start. This is the behavior that is desccribed in the config file.  
     174 * Fix by Paul Friberg 201006 
    207175 
    208176=== sniffwave === 
    209 - Removed hundredths of second from values of latency. 
    210 - Changed the SCNL line output format in order to increase the readability. 
    211   Now each field falls nearly at same column. 
    212 - Quality fields are now displayed in hexadecimal. 
    213   Before non-ASCII characters were improperly printed to the terminal. 
    214 - Distinguished output for gaps and overlaps. 
    215 Matteo Quintiliani 6/22/2010 
     177 * Removed hundredths of second from values of latency. 
     178 * Changed the SCNL line output format in order to increase the readability. Now each field falls nearly at same column. 
     179 * Quality fields are now displayed in hexadecimal. Before non-ASCII characters were improperly printed to the terminal. 
     180 * Distinguished output for gaps and overlaps. 
     181 * Matteo Quintiliani 6/22/2010 
    216182 
    217183=== ew2mseed === 
    218 Removed -D_SPARC from CFLAGS line of makefile.sol. This flag prevented 
    219 proper byte-swapping on Solaris for little-endian (Intel) platform. 
    220 Ilya Dricker 5/05/2010 
     184 * Removed -D_SPARC from CFLAGS line of makefile.sol. This flag prevented proper byte-swapping on Solaris for little-endian (Intel) platform. 
     185 * Ilya Dricker 5/05/2010 
    221186 
    222187=== ew2mseed === 
    223 *Bugfix to prevent overflow in printing of location code 
    224 *Fixed a condition of a bogus 'FULLY in THE GAP' return from waverserver. 
    225  Now if waverserver insists that the request is fully in the gap, but the 
    226  requested startTime is more than 12 hours AFTER the current time, we redefine 
    227  the waveServer FLAG is 'REQUEST-AFTER-THE-TANK' 
    228 Ilya Dricker 5/19/2010 
     188 * Bugfix to prevent overflow in printing of location code 
     189 * Fixed a condition of a bogus 'FULLY in THE GAP' return from waverserver. Now if waverserver insists that the request is fully in the gap, but the 
     190 requested startTime is more than 12 hours AFTER the current time, we redefine the waveServer FLAG is 'REQUEST-AFTER-THE-TANK' 
     191 * Ilya Dricker 5/19/2010 
    229192 
    230193=== trig2disk === 
    231 Postproc external script is now launched with tow arguments : 
    232 date (YYYYMMDD) and time (HHMM) of the processed event. 
    233 Change by Frederic Randriamora. 
    234 Jean-Marie Saurel 27/12/2010 
     194 * Postproc external script is now launched with tow arguments : date (YYYYMMDD) and time (HHMM) of the processed event. 
     195 * Change by Frederic Randriamora. 
     196 * Jean-Marie Saurel 27/12/2010 
    235197 
    236198=== gmew === 
    237 Added ability to recognize ACTIVATE_MODULE messages to initiate processing; also 
    238 added ability to override the set of spectral periods to be processed. 
    239 Scott Hunter 05/18/2011 
    240  
    241 === startstop === 
    242 Fixed writing of empty error messages 
    243 Scott Hunter 5/17/2011 
    244  
    245 === startstop === 
    246 Restored ability of unix versions to control modules by id; made Windows version 
    247 of this more robust 
    248 Scott Hunter 6/22/2011 
     199 * Added ability to recognize ACTIVATE_MODULE messages to initiate processing; also added ability to override the set of spectral periods to be processed. 
     200 * Scott Hunter 05/18/2011 
     201 
     202=== startstop === 
     203 * Fixed writing of empty error messages 
     204 * Scott Hunter 5/17/2011 
     205 
     206=== startstop === 
     207 * Restored ability of unix versions to control modules by id; made Windows version of this more robust 
     208 * Scott Hunter 6/22/2011 
    249209 
    250210=== statmgr === 
    251 Now allows for up to 10 mailservers; when mail is sent, each is tried in order 
    252 until one works. 
    253 Scott Hunter 6/29/2011 
    254  
    255 === startstop === 
    256 Uses new transport call to clear ring flag requesting termination of a process 
    257 Scott Hunter 6/29/2011 
    258  
    259 === startstop === 
    260 Changed to reflect changes to transport library 
    261 Scott Hunter 7/8/2011 
     211 * Now allows for up to 10 mailservers; when mail is sent, each is tried in order until one works. 
     212 * Scott Hunter 6/29/2011 
     213 
     214=== startstop === 
     215 * Uses new transport call to clear ring flag requesting termination of a process 
     216 * Scott Hunter 6/29/2011 
     217 
     218=== startstop === 
     219 * Changed to reflect changes to transport library 
     220 * Scott Hunter 7/8/2011 
    262221 
    263222=== pick_ew_analysis === 
    264223I have made very significant changes to the first version. Here is a short list of the main: 
    265 1.      Windowed or full-screen - This allows larger traces 
    266 2.      Multiple and prioritized waveform sources - One may have multiple waveform sources. The app will automatically select one according to the required station and time interval 
    267 3.      List of available stations and time intervals for each source - This allows checking if a waveform source carries the data that we need. Similar to get menu but extended to other waveform sources. 
    268 4.      Reads data from wave/Winston servers, tank files (SCNL only), and mini-seed files - I included the latter to be able to check data from continuous archives. 
    269 5.      On-screen indication of available data for each station within requested time interval - There is a small check after each station to let the user know that there is data available for the requested time interval. 
    270 6.      Facilitated automatic setting of the request time interval based on availability of the sources - I included a button to automatically set the start and end times according to the time interval available from the sources. In case of waveservers it sets the end time to NOW-1 minute (I think) and NOW-21 minutes. 
    271 7.      Indication of incorrect date/time settings - Characters turn red if you make an obvious mistake or swap start and end times 
    272 8.      Zoom-in and pan buttons as well as drag-to-zoom - Swarm like waveform browsing is really cool to find details. 
    273 9.      Missing parameters from pickew are included: !NoCoda, !RestartLength and !MaxGap - I had some requests for this, particularly the nocoda 
    274 10.  Tooltips with the pick and coda texts  
    275 11.  Tooltips with the causes for failed picks - Same as before. 
    276 2011-07-06 Ruben S. Luis (commited to svn by Stefan) 
     224 * Windowed or full-screen - This allows larger traces 
     225 * Multiple and prioritized waveform sources - One may have multiple waveform sources. The app will automatically select one according to the required station and time interval 
     226 * List of available stations and time intervals for each source - This allows checking if a waveform source carries the data that we need. Similar to get menu but extended to other waveform sources. 
     227 * Reads data from wave/Winston servers, tank files (SCNL only), and mini-seed files - I included the latter to be able to check data from continuous archives. 
     228 * On-screen indication of available data for each station within requested time interval - There is a small check after each station to let the user know that there is data available for the requested time interval. 
     229 * Facilitated automatic setting of the request time interval based on availability of the sources - I included a button to automatically set the start and end times according to the time interval available from the sources. In case of waveservers it sets the end time to NOW-1 minute (I think) and NOW-21 minutes. 
     230 * Indication of incorrect date/time settings - Characters turn red if you make an obvious mistake or swap start and end times 
     231 * Zoom-in and pan buttons as well as drag-to-zoom - Swarm like waveform browsing is really cool to find details. 
     232 * Missing parameters from pickew are included: !NoCoda, !RestartLength and !MaxGap - I had some requests for this, particularly the nocoda 
     233 * Tooltips with the pick and coda texts  
     234 * Tooltips with the causes for failed picks - Same as before. 
     235 * 2011-07-06 Ruben S. Luis (commited to svn by Stefan) 
    277236 
    278237== CHANGES TO CONFIGURATION FILES and DESCRIPTOR FILE == 
    279238 
    280 Environment Variable expansion in .d files 
    281 Added file environment/earthworm_commonvars.d for declaring "Earthworm Common Variables" 
    282 It is now possible to declare variables like ${...} within .d configuration files 
    283 Matteo Quintiliani 11/4/2010 
     239 * Environment Variable expansion in .d files 
     240 * Added file environment/earthworm_commonvars.d for declaring "Earthworm Common Variables" 
     241 * It is now possible to declare variables like ${...} within .d configuration files 
     242 * Matteo Quintiliani 11/4/2010 
    284243 
    285244 
     
    291250== LIBRARY CHANGES == 
    292251 
    293 Added a tport_flush call to the transport library; acts as if tport_getmsg were 
    294 called repeatedly until no more messages were found, but doesn't incur the 
    295 overhead of returning the messages (which would get ignored anyway). 
    296 Scott Hunter 5/18/2011 
    297  
    298 Changed default mail program used by !SendMail for MacOSX 
    299 Scott Hunter 5/20/2011 
    300  
    301 Added a tport_detachFromFlag call to support change in flag: instead of 
    302 a single value, it now records all individual process IDs put to it 
    303 (until TERMINATE is put to it, which effectively replaces the list) -- 
    304 this prevents the flag from being changed before the target process 
    305 reads it (which is now possible, due to making the stop & restart 
    306 commands multi-threaded).  tport_getflag now yields TERMINATE if that 
    307 has been put; if it hasn't but the process's own ID is in the list, that 
    308 is returned; otherwise, 0 is returned.  tport_detachFromFlag is now used 
    309 to remove a value from the list (what used to be done by putting a 0). 
    310 Scott Hunter 6/29/2011 
    311  
    312 In order to support legacy modules not using the new transport library, 
    313 SHM_HEAD was restored to its original form, and the new list-of-IDs flag 
    314 is kept in a distinct ring which is only used for this purpose.  Processes 
    315 that do not use the new library will be communicated with via the old flag 
    316 field (which has the original overwriting issue, but now contention is only 
    317 between legacy modules). 
    318 Scott Hunter 7/8/2011 
    319  
    320 Modified transport library so if a module using the new library is run with 
    321 a startstop built against the transport library using the original flag 
    322 representation, module will use the old style flag.  Also modified to allow 
    323 key for flag ring to be specified in earthworm.d (named FLAG_RING). 
    324 Scott Hunter 7/19/2011 
    325  
    326 Modified getutils to provide a version of !GetKey (!GetKeyWithDefault) which 
    327 takes a default value to return if the specified key does not exist; modified  
    328 transport to use this new function to avoid error messages when FLAG_RING is 
    329 not defined (and a default value is used). 
    330 Scott Hunter 7/25/2011 
     252 * Added a tport_flush call to the transport library; acts as if tport_getmsg were called repeatedly until no more messages were found, but doesn't incur the overhead of returning the messages (which would get ignored anyway). Scott Hunter 5/18/2011 
     253 
     254 * Changed default mail program used by !SendMail for MacOSX. Scott Hunter 5/20/2011 
     255 
     256 * Added a tport_detachFromFlag call to support change in flag: instead of a single value, it now records all individual process IDs put to it 
     257(until TERMINATE is put to it, which effectively replaces the list) -- this prevents the flag from being changed before the target process 
     258reads it (which is now possible, due to making the stop & restart commands multi-threaded).  tport_getflag now yields TERMINATE if that 
     259has been put; if it hasn't but the process's own ID is in the list, that is returned; otherwise, 0 is returned.  tport_detachFromFlag is now used 
     260to remove a value from the list (what used to be done by putting a 0). Scott Hunter 6/29/2011 
     261 
     262 * In order to support legacy modules not using the new transport library, SHM_HEAD was restored to its original form, and the new list-of-IDs flag 
     263is kept in a distinct ring which is only used for this purpose.  Processes that do not use the new library will be communicated with via the old flag 
     264field (which has the original overwriting issue, but now contention is only between legacy modules). Scott Hunter 7/8/2011 
     265 
     266 * Modified transport library so if a module using the new library is run with a startstop built against the transport library using the original flag 
     267representation, module will use the old style flag.  Also modified to allow key for flag ring to be specified in earthworm.d (named FLAG_RING). 
     268Scott Hunter 7/19/2011  
     269 
     270 * Modified getutils to provide a version of !GetKey (!GetKeyWithDefault) which takes a default value to return if the specified key does not exist; modified  transport to use this new function to avoid error messages when FLAG_RING is not defined (and a default value is used). Scott Hunter 7/25/2011