Release Notes:  Earthworm Version "working"
Cleaned out after release of v7.3 on 12/23/2008

These notes are for release v7.4 

NEW MODULES:
***********
ew2mseed from ISTI is now in the CVS repository. This was written
by Ilya Dricker of ISTI. This only works on Solaris, Linux, and
Mac OS X. It does compile with cygwin for WINDOZE.   Note there
is no .desc file with this module since it is designed to operate
as a daemon program external from an EW installation. It only
reads from wave_serverV modules.
Paul Friberg 3/10/2010

debias:
Computes a rolling-average for a specified time, subtracts from data to remove 
bias (hence the name).
Scott Hunter 02/24/2010

ewintegrate:
Processes tracebuf packets in any non-empty subset of 3 stages: debias (see 
above), integrate, and high-pass filter.
Scott Hunter 03/02/2010

MODIFICATIONS/BUG FIXES TO EXISTING MODULES:
********************************************
rcv/vdl removed from data_exchange as these are no longer used by USGS NEIC
or anybody else as far as we can tell.
Paul Friberg 4/27/2010

hyp2000_mgr
Added a _GFORTRAN compile directive since g77 is now replaced by gfortran on
some platforms (newer Linux installs). To get hyp2000_mgr to compile, be
sure to set FC=gfortran and to add -D_GFORTRAN compile time flag to GLOBALFLAGS
Paul Friberg 4/27/2010

tankplayer
Allowed tankplayer to play back data faster with new setting:
InterMessageDelayMillisecs
Paul Friberg 3/13/2009

tankplayer
Had a bad check for size of message based on nsamps. This let through bad 
tracebuf packets if there was an error in writing the tank. This is now
limited to tracebuf max size.
Paul Friberg 3/19/2010

wave_serverV
Fixed a ReadBlockData() error for end of tanks read, thanks to Dave Kragness.
I just integrated the code and compile tested. Earthw users tested!
Paul Friberg 3/18/2010

sgram 
Was never made to automatically compile for a windows build. It is now.
Thanks to Jeff Marso for  pointing this one out.
Paul Friberg 3/18/2010

sac2tb (in tankplayer_tools):
Allow (and require, for Windows) output file to be specified as a command line
argument (instead of writing output to stdout); also added a switch to allow
for appending to output file.
Scott Hunter 3/17/2010

localmag:
Added in Matteo Quintiliani feature to have %v for event version
in the directory naming of where ML messages are written.
See the new option:  MlmsgOutDir in the cmd html file.
I just did the cvs merge, Matteo did all the work.
Paul Friberg 3/15/2010

sniffwave:
Now has the ability to show latency of data (Matteo's addition) and
also run for n seconds and show the amount of wave data in a ring. (EW class)
Paul Friberg 6/12/2009
Made it now able to do: sniffwave ringname
which translatest to "wild wild wild wild n". As of
today, "sniffwave ringname y/s" is also possible.
These improvements come after being sick and tired of
typing wild wild wild wild n too many times :)
Paul Friberg 3/15/2010
If WaveMsg2MakeLocal fails, tracebuf is rejected
Scott Hunter 3/19/2010
Allowed SCN and SCNL searches for the same command line as it was before.
Paul Friberg 3/25/2010

copystatus:
Now copies TYPE_STOP and TYPE_RESTART messages since statmgr needed these for
stopmodule actions (especially if statmgr was not monitoring the first ring
in the startstop listing).
Paul Friberg 3/8/2010

statmgr:
When specifying the maximum number of pager or email messages, a negative
value is interpreted as infinity (i.e. no limit) -- USE WITH CAUTION!
Scott Hunter 12/13/2009
Modified the statmgr to log any TYPE_STOP messages received.
Paul Friberg 3/8/2010

startstop:
1) Stop and restart requests are now run in independent threads, so startstop
will still be responsive to further requests no matter how long the stopping 
and/or restarting takes
Scott Hunter 12/13/2009
2) If there is a problem encountered when reconfiguring, instead of aborting,
startstop now proceeds as if no such request had been made.
Scott Hunter 12/13/2009
3) Removed corruption of PATH environment variable & fixed display of paths in 
status
Scott Hunter 01/11/2010
4) Eliminated potential hang of status by having it read process info using
non-blocking reads
Scott Hunter 02/12/2010
5) Should now reliably create its logfile
Scott Hunter 03/01/2010
6) Smarter display of arguments in Unix Status display (i.e. dropping trailing 
.d if that is all that makes line too long; truncating last argument from front, 
replacing dropped chars with <; use trailing > to indicate 1 or more trailing 
arguments not displayed)  Also added optional .d command, maxStatusLineLen.
Scott Hunter 03/04/2010
7) Consolidated unix code for stopping modules; will first try setting a flag 
for the module to self-terminate, then try sending a terminate signal (which
modules can be written to ignore); finally, if new optional .d command 
HardKillDelay is non-0, will use a kill signal which CAN'T be ignored.
Scott Hunter 03/10/2010
8) More consistent Status display between Windows & Unix; in particular,
showing arguments to the right.  Also reports modules that did not properly
start in both as NoExec
Scott Hunter 03/25/2010
9) Better enforcement of column widths in status; allow process name to be
truncated as necessary
Scott Hunter 04/05/2010

nmxptool - updated version 1.2.4
Matteo Quintiliani 2009-12-22

waveman2disk: Add support for consolidating multiple stations/channels in one
wfdisc file
2010/01/11 Tim Zander
waveman2disk: allowed no logging by running it interactively like this:

	waveman2disk waveman2disk.d n
This effectively allows a user to run waveman2disk outside of an EW environment.
Paul Friberg 2010/03/25

carlsubtrig
Allowed a way to point to the trig_id.d file instead of having it in a stock
location: TrigIdFilename is the new directive. If this is used, the line 
@trig_id.d should be commented out from the .d file
Paul Friberg 2009/08/28

CHANGES TO CONFIGURATION FILES and DESCRIPTOR FILES:
****************************************************

startstop:
Added optional HardKillDelay (# seconds before using method of last resort when
killing a module in Unix) and maxStatusLineLen (maximum of individual module 
status lines)

KNOWN BUGS:
***********

liss2ew:
liss2ew has been observed intermittantly producing malformed
TRACE_BUF messages.  Currently the conditions for causing this problem
are unknown.  Due to this, liss2ew should be treated as suspect.  Use at
your own risk.  JMP 6-18-2003

wave_serverV:
appears not to reply to requests for a single sample of data. I noticed
when testing wave_viewer, that if the start time and end time of a request were
equal (in which case there should be one sample of data) then wave_serverV did
not reply to the request (ASCII request) at all. No Data, No Flags, No Reply,
No Nothing.  It needs to issue a reply to every request.
DavidK 09/25/01

Automatic restarts of adsend (using the "restartMe" line in the descriptor
file) can cause an NT system to hang. Therefore, you should never
use the autorestart feature with adsend, but you should bring down
the entire Earthworm system if adsend needs to be restarted.
LDD 5/31/2000 Comments added to adsend.desc, but leave this warning here!

libsrc/utils/site.c: The strings used for station, channel and network are
required to be fixed length with trailing spaces added to short names. If
the strings given to site_index do not have these trailing blanks, SCN names
will not match. This is not documented anywhere.  PNL 10/15/00


KNOWN DEFICIENCIES:
*******************
ringtocoax:
In Windows NT, the time resolution of sleep_ew() is about 16 msec (one clock
tick).  On Solaris, the resolution is about 10 msec.  This is a problem for
ringtocoax, since packet delays need to be set to a few milliseconds.

threads functions: The KillThread function on WindowsNT and Solaris
terminate the thread without ensuring that no mutexes are held. If a thread
holds a mutex when it dies, no other thread can get that mutex. PNL 1/12/2000

carlsubtrig:
The system time must be set to GMT and ew_nt.cmd must have
TZ=GMT for carlsubtrig to work.  Comments in ew_nt.cmd done 5/25/00. Barbara
	
localmag:
needs GMT set on the system

ew2seisvole:
on NT, exits with horrible crash when system is stopped.

NUMBER OF RINGS LIMITED ON SOLARIS:
Under Solaris 2.6 (and probably other versions as well), the maximum number
of shared memory segments is six. This means that on an out-of-the-box machine
you can only configure six rings. If you try to configure more than that, you
will see a cryptic message from tport_create about too many open files.  The
fix to this problem is to add the following lines to the /etc/system
file, and then reboot the system.

 set shmsys:shminfo_shmmax = 4294967295
 set shmsys:shminfo_shmmin = 1
 set shmsys:shminfo_shmmni = 100
 set shmsys:shminfo_shmseg = 20
 set semsys:seminfo_semmns = 200
 set semsys:seminfo_semmni = 70

This allows for 20 rings.

     Lucky Vidmar (7/6/2000)


TRACEBUF messages.
The definition of `endtime' of the TRACEBUF message is not documented.
Some programmers are taking it as the "expected start time of the next
TRACEBUF packet (if the sample interval is uniform.)" The more accepted
practice is that `endtime' is the time of the last sample of the current
TRACEBUF packet; that is, one sample interval less than the expected
start time of the next TRACEBUF messsage. Using this last definition, if a
TRACEBUF packet has exactly one sample, then its starttime and endtime are
the identical. Clearly this distinction needs to be documented. The file
waveform_format (in the /home/earthworm/DOC directory) gives no specifics
about start or end times.  PNL 1/24/01

