Changes between Initial Version and Version 1 of v4.1


Ignore:
Timestamp:
01/17/12 12:18:16 (10 years ago)
Author:
branden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • v4.1

    v1 v1  
     1= Earthworm Release Notes V4.1 = 
     2 
     3(January 20, 2000) 
     4 
     5== NEW MODULES == 
     6 
     7=== sac2hypo === 
     8 
     9This program works only under Solaris. It reads the headers of all the SAC files in the current directory and creates a Hypoinverse archive file. This archive file can be used to relocate the event. This program was written some time ago by someone else (I presume Lynn Dietz). It has now been made into an earthworm utility program.   LV 8/12/1999 
     10 
     11=== tide2ew === 
     12 
     13This program works only under NT. It listens to serial line communication from the pucks which collect tide data. It connects to a COM port (given the serial communication parameters from the config file) and asks each puck for its   reading every WaitTime seconds. After NumSamples for an SCN have been collected, a new TYPE_TRACEBUF message is created and written to the OutRing stamped with the SCN code given in the configuration file. Besides creating earthworm messages, this module can write tide readings to the screen and to files. The format of the output files is taken from ATWC.  This program is part of the ATWC contributed software.   LV 8/2/1999 
     14 
     15=== fir === 
     16 
     17This module implements a general-purpose FIR filter for trace data. Low-pass, high-pass, multi-band-pass and notch filters can be specified using simple commands in the configuration file. Filter coefficients are computed using the Remez Exchange algorithm to give an optimal equiripple filter. The filter zeroes are logged on startup. Using the "TestMode" command in the config file, the module will compute coefficients, log the zeroes and then quit. Uses many of the components in the revised decimate module.   PNL 10/27/1999  
     18 
     19=== wave_serverV/Tools === 
     20 
     21Three tools: inspect_tank, read_index and read_struct. These three tools are to help with problems in wave_serverV tank, index and structure files. These are primarily for development work. PNL, 1/12/2000 
     22 
     23=== ring2sac === 
     24 
     25Writes continuous sac files given a list of Station, Component, Network names.  This software is contributed by University of Utah Seismograph Station.   
     26 
     27 
     28== MODIFICATIONS/BUG FIXES TO EXISTING MODULES == 
     29 
     30=== compress_UA/decompress_UA === 
     31 
     32Renamed compression/decompression routines supplied by Boulder Real Time Technologies to brtt_gencompress and brtt_genuncompress. By suggestion from Kent Lindquist -- apparently the official releases of these routines are part of the Antelope software, so using their generic names causes compilation problems whenever Antelope libraries have to be linked in. LV 12/27/1999 
     33 
     34=== trig2disk/waveman2disk === 
     35 
     36 * Modified the sac putaway routine to enable correct creation of SAC files on NT. Since there are (I think) no SAC tools for NT, the OutputFormat should be set to sparc. Care should be taken when transferring files between NT and Solaris (ASCII mode in ftp works best). LV 12/20/1999.  
     37 * Modified to correctly create PCSUDS format files under NT. 
     38 
     39=== carlsubtrig === 
     40 
     41Added the "MaxTrigMsgLen" command to set the size of the buffer used to write TYPE_TRIGLIST2K messages to.  This buffer is allocated at startup (previously, a minimal buffer was allocated on startup, then was realloc'd in 1024 byte increments as necessary). If a triglist message would overflow this buffer, carlsubtrig will stop writing to the buffer, but will continue to write the complete triglist message to its log. It will also send this error message to statmgr:  "incomplete triglist msg sent for eventid:%d". Also, if the event triggered enough subnets such that a wildcard would be added to the triglist message, the wildcard is now written at the beginning of the message instead of the end (just in case that big triglist message would overflow the buffer, the wildcard will always be included!).  LDD 8/6/1999 
     42 
     43=== export_generic/ export_scn === 
     44 
     45Fixed a memory leak in export.c.  Previously, each thread allocated its own working buffer(s).  But when export did a internal restart, it would kill the threads, never freeing the memory. The threads would be restarted, malloc another working buffer...  Enough internal restarts and export would suck up all available memory.  Changed so that all working buffers are allocated in the main thread, before any other threads are started.  All buffers are freed when the program exits.  LDD 9/7/1999   
     46 
     47=== decimate === 
     48 
     49Major revision. Decimate is now a multi-stage filter-decimator. The filter coefficients are computed based on the decimation rate, using the Remez Exchange algorithm. Since each channel requires several buffers to be allocated at startup, channels must be explicitly listed in the config file (no wildcards.) Thus it didn't seem convenient to keep Lucky's cool rewrite rules: Now output SCNs get listed explicitly with the input SCNs. PNL 10/18/1999 
     50 
     51=== read_arc.c === 
     52 
     53(part of libsrc/util) Corrected the reading for coda length (was reading the raw coda; now reads the eqcoda-corrected coda) and added the reading of coda weight. Added codawt to Hpck structure in read_arc.h. PNL, 10/20/1999 Added reading of preferred magnitude fields from the summary line. Added labelpref,Mpref,wtpref to the Hsum structure in read_arc.h. LDD 11/08/1999 
     54 
     55=== wave_serverV === 
     56 
     57Removed "fix4_3.3" from the default target of the makefile. No one should need this program any more; it was only for converting tank structures from an old format to a new one provided by v3.3. PNL, 10/28/1999 
     58 
     59getmenu: Fixed bug that prevented hostname lookup from working on NT. The 
     60   problem was that SocketSysInit() was not being called before the 
     61   hostname lookup occurred. Now you can give getmenu a hostname or and 
     62   IP address (followed by ":portnumber") on NT as well as Unix. 
     63   PNL, 11/19/1999 
     64 
     65export: It was such that if the connection to import broke while a 
     66   message was being sent, that that message would be lost. Fix is 
     67   to save the message until it was sent ok (as per socket return value), 
     68   and re-send the message after closing and re-opening the connection. 
     69   Alex 11/20/99 
     70 
     71arc2trig: Added two optional parameters: 
     72         PrePickTime (default=15) 
     73         PostCodaTime (default=10) 
     74   which specify how much data to save preceding the p-pick, and  
     75   following 
     76   coda cutoff. 
     77   Alex 11/24/99 
     78 
     79statmgr: Changed logit message about "Descriptor file of statmgr not loaded". 
     80   This error is also generated when the EW_INSTALLATION environment variable 
     81   doesn't match instId in statmgr.desc. PNL, 11/24/99 
     82 
     83heli_standalone: Changed GIF file names so they would be the same on local 
     84   and (optional) remote machines, as well as in the HTML file. HTML file 
     85   will now list separate GIFs when less than 24 hours is plotted on one 
     86   GIF. Fixed bug that caused core-dumps when socket debugging was turned on. 
     87   Added optional command to name the HTML file.  PNL, 11/29/99 
     88 
     89carlstatrig: Added LTAtime as a configurable parameter, as requested by 
     90   Tom Murray. Previously this was hardwired to 8 seconds. This is an 
     91   optional parameter, defaults to 8 seconds. PNL, 1/10/00 
     92 
     93hyp2000: New version grabbed from Fred Klein 1/11/00. 
     94     Fixes a bug which had caused a core dump or crash with an error about 
     95   writing to unit 5.  Symptom was known to occur on startup when a 
     96   crustal velocity model file (CRH command) contained a blank line at  
     97   the end.  Now hyp2000 writes an error message an exits. 
     98     Also fixes bugs that are related to shadow cards. Used to write Pmag 
     99   information to summary shadow whether the mag was being calculated or 
     100   not, and wrote Pmag info to phase shadows sometimes when not necessary. 
     101     Also has a new command, FIL, which determines the format of the  
     102   input file set with the PHS command.  It discriminates between hypo71  
     103   phase, *.cod and *.arc files (with and without shadow cards, both old  
     104   and y2000 formats).  It also warns you if you are reading a pre-y2000 
     105   file in y2000 mode, and vice versa.  It sets the correct formats with  
     106   the COP and CAR commands.  The FIL code also senses the 4 different  
     107   summary formats and tells you what the file is, but of course warns you  
     108   that you should not be trying to locate a summary file.  The FIL command 
     109   should be useful interactively, but it is not necessary for real-time 
     110   use.  LDD, 1/11/00 
     111 
     112hyp2000_mgr: Edited makefiles to work with the newest version of  
     113   hyp2000 (new command in new source file).  LDD, 1/11/00 
     114 
     115socket_ew_common.c (in libsrc/utils): accept_ew now sets the new socket 
     116   to nonblocking mode as required for sockets used by socket_ew_common; 
     117   previously it was assumed that this property was inherited from the 
     118   original socket. Most functions now properly react to select() errors; 
     119   previously they were ignored. Most function comments have been updated 
     120   to be more meaningful. Fixed bug in accept_ew where it would close the 
     121   old socket if no connection was accepted without the timeout interval. 
     122   PNL, 1/12/2000 
     123 
     124export: (scn and generic) Export no longer quits when SocketTimeoutLength 
     125   is less than RcvAliveInt; now it sets SocketTimeoutLength to 1500 times 
     126   RcvAliveInt and logs it. (RcvAliveInt is in seconds, SocketTimeoutLength 
     127   is in milliseconds.) Removed some unneeded if's from binEscape() to  
     128   improve efficiency. Moved start of MessageStacker to after successful 
     129   accept_ew call, to reduce number of lapped messages in queue. Removed 
     130   flush of internal queue. Export now uses a timeout for the accept_ew 
     131   call. The interval is the internal heartbeat interval, so statmgr doesn't 
     132   complain when export isn't connected. If a connection is not made in  
     133   the timeout interval, export sends a complaint but otherwise keeps 
     134   listening and beating its heart. When a connection is made, export 
     135   sends a "connected" message only if it complained earlier. This adds 
     136   two new error messages to the descriptor file.  
     137   When export has a problem sending or receiving, it kills the socket 
     138   threads, closes and reopens the socket and tries another connection. 
     139   The MessageStacker does not get killed in the recycling. 
     140   Fixed a bug where BinSize was not being set to zero after a message 
     141   was successfully sent. This bug resulted in one message being resent 
     142   when the SocketSender restarted. PNL 1/13/2000 
     143 
     144wave_serverV: Added optional parameter "ClientTimeout", used in 
     145   serverThread. When no traffic is heard from a connected client in 
     146   this timeout interval, the socket is closed and the serverThread exits. 
     147   Previously, wave_serverV.d stated that this was the function of 
     148   SocketTimeout, which it was not. Fixed bug in shutdown sequence 
     149   where KillThread was being called with uninitialized values. Sometimes 
     150   this would kill the main thread, aborting the shutdown sequence. This 
     151   may have been the cause of Menlo's wave_serverV hanging on shutdown. 
     152   Cleaned up settings of ServverThreadInfo.Status in server_thread.c 
     153   and wave_serverV.h. Small change to index_util.c to add some detail 
     154   to logit error entry in BuildLIndex(). Reformatted comments at head of 
     155   wave_serverV to make them easier to read.  PNL, 1/12/2000 
     156 
     157rcv_ew and vdl_ew:  Both modules have been updated to the newest version of  
     158   rcv and vdl from Dave Ketchum.  BB 1/16/2000 
     159 
     160 
     161CHANGES TO CONFIGURATION FILES and DESCRIPTOR FILES: 
     162****************************************************  
     163carlsubtrig.d: Added "MaxTrigMsgLen nbytes" command to control the size 
     164   of the output buffer. 
     165 
     166carlstatrig.d: 
     167   Added "LTAtime" command to set nominal time of LTA average. This is an 
     168   optional parameter, defaults to 8 seconds. 
     169 
     170carlsubtrig.desc:  Added a new error code for the case when the triglist 
     171   message would overflow the output buffer: 
     172    err: 23  nerr: 1  tsec: 0  page: 10  mail: 20 
     173    text: "Incomplete triglist message sent." 
     174 
     175adsend.desc: Added a new error code: 
     176    err: 7  nerr: 1  tsec: 0  page: 0  mail: 10 
     177    text: "Fewer samples were obtained than requested." 
     178 
     179decimate.d and decimate.desc: Several new commands due to the extensive 
     180    changes in the module. 
     181 
     182heli_standalone: Added optional command to name the HTML file; default name 
     183is "index.html". Added description of optional "Target" command to conf file. 
     184This option was always available, but left out of the working config file. 
     185 
     186export_*.desc: two new error messages to report slow connections. 
     187 
     188wave_serverV.d: optional command ClientTimeout; corrected comments for 
     189  SocketTimeout 
     190 
     191KNOWN BUGS or DEFICIENCIES: 
     192************************** 
     193In Windows NT, the time resolution of sleep_ew() is about 16 msec (one clock 
     194tick).  On Solaris, the resolution is about 10 msec.  This is a problem for  
     195ringtocoax, since packet delays need to be set to a few milliseconds. 
     196 
     197Automatic restarts of adsend (using the "restartMe" line in the descriptor 
     198file) can cause an NT system to hang. Therefore, you should never 
     199use the autorestart feature with adsend, but you should bring down 
     200the entire Earthworm system if adsend needs to be restarted. 
     201 
     202carlsubtrig: Occasionally (once every few months in Menlo Park), the 
     203event id gets reset to zero.  This smacks of a memory clobber, but we 
     204haven't tracked it down yet. This has been observed in v4.0 carlsubtrig 
     205on x86 Solaris. LDD 9/28/1999 
     206 
     207threads functions: The KillThread function on WindowsNT and Solaris 
     208terminate the thread without ensuring that no mutexes are held. If a thread 
     209holds a mutex when it dies, no other thread can get that mutex. PNL 1/12/2000 
     210 
     211The Solaris version of SendMail calls popen to invoke the Mail program. 
     212If the mail program can't be found, Solaris prints the message: 
     213               sh: /usr/ucb/Mail: not found 
     214The SendMail function returns 0 (no error), instead of -1 (error), so the 
     215calling program can't tell that an error occurred.