New Modules
Modifications/ Bug Fixes to Existing Modules
Changes To Configuration Files And Descriptor Files
Known Bugs
Known Deficiencies
NEW MODULES: *********** data_sources/nmxptool Version 1.1.7 of Matteo Quintiliani of INGV contributed this very useful module which can talk directly to NAQS and produce gap free nanometrics data (provided there are no gaps at the source) into Earthworm rings. Paul Friberg 2007/12/15 seismic_processing/eqassemble Contributed by Peter Lombard of UCB. This module is an alternate head of the EW megamodule pipeline for doing hypocentral locations. Its a new variant that can mimic how earthquake processing is handled in the CISN codes. Paul Friberg 2007/10/12 tankplayer_tools/tanksniff - show a sniffwave output of a tanks contents. Saves you having to run tankplayer just to view the content. Paul Friberg 2007/08/28 tankplayer_tools/tankcut - a way to cut out a section of a tankplayer tank using a start time and end time or duration. Paul Friberg 2007/08/28 tankplayer_tools/dc2tank - a way to pull data from the DMC data center using DHI (requires Java to be installed and DHI2mseed.jar with accompanying files). Builds a tank file given a SCNL list and a start time and or end time. Paul Friberg 2007/08/28 tankplayer_tools/tr2dump - dump tankplayer tank as ASCII info to stdout (only in makefile.nt and makefile.ux currently) Ron Bakerian 2007/07/18 tankplayer_tools/ms2tank - new miniseed tank writer that works on Windows, Mac OS X, Linux, Solaris. Paul Friberg 2007/07/17 tankplayer_tools/ring2tank - suck tracebufs out of a ring and write them directly to a tank for later playback. Tested on Solaris, Windows and Mac OS X. Paul Friberg 2007/05/20 tankplayer_tools/smb2tb - take SMB format and convert to tanks. SMB format is from the Trinidad Soufrier system (part of the Carribean Tsunami work). Ron Bakerian 2007/06/15 MODIFICATIONS/BUG FIXES TO EXISTING MODULES: ******************************************** glass/rayloc_ew upgraded from hydra_proj by Paul Friberg and Mitch Withers respectively. This upgrades these modules to the latest versions December 2007 hyp2000/hyp2000_mgr - Fred Klein upgraded all of the hyp2000 to be compilable using the GNU fortran 77 compiler. This allows hyp2000 to work on Linux and Mac OS X. Paul Friberg integrated the new hyp2000 into hyp2000_mgr for Linux. 2007/12/17 k2ew_tcp v2.43 Modified the code to handle a dual modem and serial data stream case better when the ForceBlockMode is turned on. This mode also requires that status requests be turned off and a new k2 firmware version be installed for it to work. Paul Friberg 2007/12/17 sniffwave Modified the output to show the TRUE datatype (s2,i2,i4,s4) rather than the one converted to by WaveMsg2MakeLocal(). Paul Friberg 2007/12/14 WaveMsg2MakeLocal() in libsrc/util/swap.c was improperly using a long and assuming it was 4 bytes in length. On some operating systems a long can be 8 bytes. I patched the function to use int's instead. Paul Friberg 2007/12/14 pick_ew Fixed a bad use of long (where int should have been used) that caused long ints to be 8 bytes for the data samples on Linux OS. At the same time I put an assertion error inside SwapLong() of swap.c to throw a fatal error message to stderr if the sizeof(long)=4 bytes assumption is violated. Paul Friberg 2007/12/14 wave_serverV Added in Ron Bakerian's sqlite3 implementation for managing gaps and overlapping data that previously got dropped by wave_serverV. This feature needs .d entries to be activated. See the updated docs. Paul Friberg 2007/11/30 sac2tb (in archiving/tankplayer_tools) Fixed a bug where a location code of "" was not being converted to "--", the default blank location code. Paul Friberg 2007/11/13 q3302ew lib330 was updated by Quanterra to solve some issues. The earthworm copy of this was updated and q3302ew uses this new version. Paul Friberg 2007/10/24 display/heli_ewII Jean-Michel Douchain pointed out that the IndexFile config setting was not working. I fixed it in this new version. Paul Friberg 2007/10/24 archiving/tankplayer_tools/sac2tb Matteo Quintiliani of INGV modified sac2tb so that it will read both SAC files written in Sparc and Intel byteorder. Previously it only handled SPARC (motorola byte order). Paul Friberg 2007/10/22 Fixes to many export modules as per Alex Nercessian recommendation: This short variable is found in the files: export_actv/export_actv.c: char processor[15]; export/export.c: char processor[15]; export/export_scn_pri.c: char processor[15]; ringdup/ringdup.c: char processor[15]; Made them all 17 or in some cases 20 to be safe. Paul Friberg 2007/09/20 import_gen_pasv: was using a bad way to strncpy the module ID such that errors could happen and the module could fail at startup. Paul Friberg 2007/09/18 remux_tbuf: modified to use a common code base for the remuxing since I reused it in a number of tankpayer_tools modules. Paul Friberg 2007/08/28 localmag: space for saveXMLdir not malloc'ed. Fixed using strdup. Mitch Withers 2007/07/20 wave_serverV: data_type's in tanks were turning up with blank values! There was a serious memory alignment bug in calls to WaveMsg2MakeLocal() - fixed, and the return of WaveMsg2MakeLocal() was checked for bad values, but the return which was being reported was the previous packet, not the bad one - fixed, Added more details about datatype to the error warnings for bad packets. Paul Friberg 2007/05/28 gmew: Fixed a bug reported by Ali Moeinvaziri of Utah.A qsort() call had some args switched! This caused some segfaults and was seen as far back as v6.2! Thanks to Ali for this catch. Fixed by Paul Friberg 2007/05/15 sgram: sgram.c had a number of fgets() calls that had a bad specification of the size of the char * array. This has been fixed. A new version is available. Bug reported by Alex Nercessian, Fixed by Paul Friberg 2007/05/15 k2ew_com,k2ew_tcp: Added a CtrlHandler (Windows only) to catch/ignore user logoff events so that k2ew console windows will survive user logouts when Earthworm is started with startstop_service. Also modified to log a descriptive message instead of a numeric value for handled signals. Changed version to v2.42. 2007/05/09 Lynn Dietz file2ring: Added optional command-line argument to be supplied as any positive integer. File2ring does sequence%256 before handing the sequence to transport, so an ever-increasing integer can be used as the sequence# argument for repeated invocations of file2ring. This feature can be used to implement Earthworm-style messages and heartbeats from non-Earthworm scripts. Remember to keep a seperate sequence counter for each used within each script. If the sequence# argument is ommitted, file2ring will load the message in transport with sequence=0. 2007/08/02 Lynn Dietz naqs2ew: Added three new Nanometrics instrument types: Taurus,Apollo,Trident305. These instruments will now be properly identified in log messages. 2007/10/02 Lynn Dietz eqprelim: Added new config command "ReportCoda" to control whether coda information is written to output. If ReportCoda=0, no coda info will be written, even if some exists at the time the event is reported. If ReportCoda is non-zero, coda information that exists at the time of report will be included. Default is ReportCoda=1 which is the previous default behavior. The new command is optional. 2007/11/29 Lynn Dietz CHANGES TO CONFIGURATION FILES and DESCRIPTOR FILES: **************************************************** 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