The page content begins here

Legacy Software

Over the years, various software originated at the SED and was subsequently used also by various other groups and individuals. Those packages that are not longer actively maintained, but that may still be of some interest, are archived here.

CollectWaves was written by Manfred Baer as a standalone Java application to retrieve waveforms from seismic stations available via AutoDRM. It is no longer maintained, but still available for download.

The original author can be reached by email here: Manfred Baer

CollectWaves is a standalone Java application which allows to retrieve wave forms of seismic station accessible through AutoDRM. The program is driven by run string parameters and thus can easily be incorporated into automatic wave form processing procedures.

Based on the epicenter coordinates, depth and origin time the program calculates for specified seismic phases the appropriate time window of the wave forms for all available stations. Any number of seismic phases can be specified with a time window (pre phase and post phase time). Travel time calculations are performed by default by the TauP_Time class (H. Philip Crotwell,,  download ) based on the IASPEI91 traveltime tables. However, a user can specify his own traveltime table which may be a flat file (needs input format description) or an other taup model.

Station selection can be chosen by distance range, by an azimuth sector, or by a number of sectors of the full azimuth range in which case only the closest station within each sector is selected.
In case that some AutoDRM's or some specific stations should not be accessed the can be put on a 'black list'.
Since the program keeps a logfile of which stations were already requested, it can be re-started on the same event repeatedly whiteout re-requesting the same station twice.
Some AutoDRM's can not deliver wave forms immediately due to the way the data acquisition and archiving is performed. In many cases this delay is known an can be stored in a file. If CollectWaves knows about these delay times it will wait until this time is elapsed for the whole wave form before sending the corresponding e-mail.

Formatted input/output is done by Henrik Bengtsson' ( printf/scanf for java, which is true C-style (download)

For class documentaion see: CollectWaves doc

When installing CollectWaves be shure you have downloaded TauP and Format classes and these packages are reference in your CLASSPATH.

Using CollectWaves without any options produces a short list of all options.

Options with leading + require an argument, options with leading - are switches not requiring an argument

+epiz epizenter coordinates lat/lon/depth. Must be specified e.g. -91.5/17.0/30.0 for an epicentre at 91.5W and 17.0N at depth 30 km
+orig epizenter origin time: yyyy-mm-dd-hh-mm-ss.sss  (Must be specified)
+host Hostname of the mail server
+send return mail address, also used as senders address; Must be defined 
+afmt format file for reading AutoDRM station file. Must be specified if +afil option set
+afil AutoDRM station file. Default
This link automatically updated and maintained by Waves4U  (Urs Kradolfer)
+amin availability threshold for accepting a station from AutoDRM file. Default: 0.1 (for definition see  Waves4U, Urs Kradolfer)
+bfil file for blacklisted stations or AutoDRM's. e.g. do not request data from CTBTO and station ZUR
+dfmt format file for AutoDRM delay file. Must be specified if +dfil option set
+dfil file with delay times [s] for individual AutoDRM's. Default no delay.
+efmt format file for reading station file for stations allready available. Must be specified if +efil option set. Default: statready.fmt
+efil station file for stations allready available. Default: ./statready.list
+rfmt format file for reading allready requested stations. Default: requested.fmt
+rfil allready requested stations. Default: ./requested.list
+tfmt format file for travel time tables. Must be specified if +tfil option set and travel time table not *.taup
+tfil travel time table. Default: iasp91.taup
+phwi phase window: P,-30,+60:PcP,-50,+120 . Phase names must follow the convention of the travel time tables used. Default P,-30,90
+sect number of sectors to search for closest station. Default no sectors i.e. all stations in the distance range +dist
+aseg select station in azimuth segment +aseg azmin,azmax (clockwise from north)
+dist dmin,dmax distance for stations to be request [deg]. Default 0,30
+prco preferred components e.g. HH,BH,EH,SH,LH. default HH,BH,EH,SH
+m_cc copy request mail to this address; default no copy
+m_id Message ID for AutoDRM request
+m_sc Message source for AutoDRM request (e.g. YourOrganization)
+mlog log mails to this file; default log
+verb verbosity level; default 0
+rc  runtime config file. This file may contain any of the runstring options (one option per line). Options set in the config file are overwritten by options defined in the run string (command line)
-debug program does not send the e-mails

There is an event at 33.6N 24.0E at depth 10km with on July 16, 2002, at 06-56-23.6
The mailing host through which you send your e-mails is 'yourMailHost' (+host),
You want to receive wave forms at the e-mail address 'MyMailAddress' (+send) with a reference ID 'Test1' (+m_id) for all available stations up to a distance of 30 degrees (this is the default!). The wave form time window is (by default) 30 seconds before P-wave arrival with a total duration of 120 seconds:

java CollectWaves +epiz 33.6/24.0/10 +orig 2002-07-16-06-56-23.6 +m_id Test1 +host yourMailHost +send MyMailAddress

where configfile contains:
+epiz 33.6/24.0/10
+orig 2002-07-16-06-56-23.6
+m_id Test1
+host yourMailHost
+send MyMailAdress



Same as in a, but you want to receive only wave forms of stations in the distance range from 10 to 20 degrees: (see image distance range)

java CollectWaves +rc configfile +dist 10,20



For the event in a) select the closest stations around the epicenter for 12 sectors (one sector will be 30 degrees wide). Only one station per sector will be selected with a distance less than 20 degrees: (see image azimuthal coverage)

java CollectWaves +rc configfile +dist 0,20 +sect 12



For the event in a) request all stations with an azimuth between 210 to 240 degrees: (see image azimuth range)

java CollectWaves +rc configfile +aseg 210,240 



For the event in a) request all stations up to 30 degrees distance with preference on LH channels, accept BH channels if  LH is not available or HH if BH are not available. No SH or EH signals are requested. The time window is set such that surface waves with group velocities between 2.3 and 3.8 km/s are contained. The time window is extended to 50 seconds before and 100 seconds after the slower velocity. Note: the phase naming is defined by the TauP class.


java CollectWaves +rc configfile +phwi 3.8kmps, -50, +120:2.3kmps,-50,100 +prco,LH,BH,HH

File Formats:

+afil, +afmt: Data file with stations, channels, coordinates, AutoDRM e-mail address and availability code:

Assume the following format of the file containing the stations available through AutoDRM:

SLE   HHE av=0.0   47.766    8.4933
SLE   HHN av=0.0   47.766    8.4933
SLE   HHZ av=0.0   47.766    8.4933
ZUR   HHE av=0.0   47.369    8.5810
ZUR   HHN av=0.0   47.369    8.5810
ZUR   HHZ av=0.0   47.369    8.5810

Then the corresponding format description (+afmt) looks like:

StName StComp StAvail StLat StLon

%s %s %*c%*c%*c%f %f %f %s\n

The first line defines the sequence of the variables (their name corresponds to the ones in the class CollecWaves ). The second line is the corresponting C format description to read the data file.  The 3 characters 'av=' in the data file are skipped with %*c.

If your input file looks like:

SLE HHE  47.766    8.4933 0.0
SLE HHN  47.766    8.4933 0.0
SLE HHZ  47.766    8.4933 0.0
ZUR HHE  47.369    8.5810 0.0
ZUR HHN  47.369    8.5810 0.0

The format description is:

StName AutoDRM StComp StLat StLon StAvail
%s %s %s %f %f %f %f\n 

+efil, +efmt: File containing station names for which wave forms are allready on your system:

The first string in this example is the name of the data file containing the wave forms, the trailing date-time. Both informations are not needed in this context, only station name and channel name are needed .

./KP200207160700 SLE    HHE 2002-07-16-07-00-2.005
./KP200207160700 SLE    HHN 2002-07-16-07-00-2.005
./KP200207160700 SLE    HHZ 2002-07-16-07-00-2.005
./KP200207160700 ZUR    HHE 2002-07-16-07-00-2.005
./KP200207160700 ZUR    HHN 2002-07-16-07-00-2.005
./KP200207160700 ZUR    HHZ 2002-07-16-07-00-2.005

The format description is:

StName StComp
%*s %s %s

+dfil, +dfmt: Delay times for AutoDRM's due to the data acquisition and processing system

This file contains names of AutoDRM addresses and delay times [sec]: e.g. 480

The format description is:

AutoDRM delayAutoDRM
%s %s

+tfil, +tfmt:

+bfil: AutoDRM addresses (or parts of them) or station names, one pattern per input line, which shoud be deleted from the AutoDRM list (+afil). No casefolding is performed on the patterns. e.g.:




or putting these values into a configure file:

java CollectWaves +rc configfile


Important License Information:

The CollectWaves is available free under the terms of the GNU General Public License, found in the COPYING file within the distribution. It gives you specific rights to use, modify and redistribute this software. Please be aware of section 2 of the license which specifically prevents you from redistributing this software incorporated, in whole or on part, into to a work, unless that work is also covered by the GNU General Public License. Please see the Free Software Foundation's web site,, for more information. Disclaimer: Portions of this software are copyrighted by the University of South Carolina, Sun Microsystems, Inc.,and other parties.


I agree

If you have any comments or would like to be notified of new versions then send an email to

Manfred Baer

An AutoDRM (Automatic Data Request Manager) is a software package, that allows anyone with access to electronic mail to retrieve data from the site where such an AutoDRM is installed.

Check it out by sending an e-mail to: with the text 'help'. You will then immediately and automatically get more information via e-mail. The Users Guide is also available here.

AutoDRM is now a widely used method to retrieve earthquake information (including waveform data) from seismological observatories. Besides the original 'standard' most AutoDRMs today understand requests in the so-called GSE2.0 format and their response mails are also in this format. The GSE2.0 format was developed by members of the GSE (Group of Scientific Experts at the Conference on disarmament), representatives of the FDSN (Federation on Digital Seismographic Networks), and representatives of the U.S. Geological Survey.

More information about the Swiss AutoDRM can be found in:

Kradolfer, U., AutoDRM - The First Five Years,
Seism. Res. Let., 67, pp. 30-33, 1996.

Kradolfer, U., Automating the Exchange of Earthquake Information,
EOS Trans. Amer. Geophys. U., vol. 74, pp. 442,444-445, 1993.

More information about the general AutoDRM message concept and a detailed description of the formats can be found on the Autodrm documentation page. The GSE2.0 format explained there is also supported by the Swiss AutoDRM.

There are some minimum requirements for all AutoDRM installations, which have been agreed on at several occasions by the seismological community.

The most important issue is, that each AutoDRM must send an answer to the word 'HELP' in the message body. Even if you operate an AutoDRM, where users have to be registered first, such an AutoDRM should respond to a HELP-message and tell the requestor, what has to be done in order to obtain data. Only AutoDRM installations, which fulfill this absolute minumum requirement, are entitled to have an e-mail address of the form autodrm@anyhost.anydomain.

For the 'Basic Message Support' and other minimum requirements, please check the Documentation page and specifically read Chapter 5 starting at page 125 (if you use AcrobatReader) or page 117 if you print this document.

It is especially important, that every AutoDRM returns waveform data in the GSE-format. Any other formats may also be supported, but it has been agreed that even a simple AutoDRM must support the GSE2.0/GSE2.1 format as the main format for all requests, as well as one of the ASCII sub-formats (INT, CM6, or AU6) for waveforms. Any other formats can be supported in addition.

There is a short Users Guide available with examples of request mails for users of AutoDRM.

Documentation on how to install the software is provided further below.

The detailed formats of both the new AutoDRM message format as well as the full description of other formats (such as WAVEFORM, etc.) is available in a document by the GSE (Group of Scientific Experts at the Conference on Disarmament): FORMATS AND PROTOCOLS FOR DATA EXCHANGE (Conference Room Paper 243, Volume 2 Operations, Annex 3). This document is available here as follows:

Issues related to AutoDRM are contained in the chapters 1, 2, 4, and 5. The format description of the GSE2.1 Format (1997) is available as PostScript file here:

The description on how to install the complete AutoDRM package is available in the ASCII file INSTALL_autodrm.readme, and the complete package is available as a compressed UNIX tar-file: autodrm_3.00beta.tar.Z (download and store this file locally on your computer).

The package runs on UNIX-Systems such as HP-UX, SunOS, Solaris, AIX, OSF1, and Linux and includes documentation on how to install the software. An initial version usually is installed within a few minutes.

The software is free, but if you feel it is appropriate, you may consider to pay back by citing one of the articles on AutoDRM, when you publish papers containing results where this software was useful to you:

Kradolfer, U., AutoDRM - The First Five Years,
Seism. Res. Let., 67, pp. 30-33, 1996.

Kradolfer, U., Automating the Exchange of Earthquake Information,
EOS Trans. Amer. Geophys. U., vol. 74, pp. 442,444-445, 1993.

From time to time I do send e-mails about new versions of our AutoDRM software to interested people. Currently, about 25 addresses are on my list; if you would like to receive such messages, please drop me a mail: Urs Kradolfer

Of course, this is usually only interesting to people running an AutoDRM and using our software.

The newest versions of the Swiss AutoDRM are described as follows:

Since 8 September 2003 the AutoDRM software and the documentation files is no longer available via FTP from us; instead, both the software and the documentation can be downloaded directly from our web-pages from the directory

New features of version V3.00beta (19Jul2003):

  • subr. spamcheck added
  • added new rules to subr. spamcheck

New features of version V3.00alpha (29Apr2002 - not widely announced):

  • Modified subr. convtime: check for more parameters in date/time for meaningful values
  • program splitmailfile.f modified (see there)
  • there *must* be a blank between EMAIL and e-mail address
  • code modified and added for anti-spam measures
  • anti-spam measures modified (allow 'BEGIN GSE')
  • in subr. filecheck allow Outlook Express headers...
  • in subr. filecheck allow more Outlook Express headers

New features of version V2.99 (12May2001):

  • Variable 'wrongtask' is now reset, if taskline contains an illegal character (avoid infinite loop)

New features of version V2.98 (23Mar2001):

  • Modified and Configure for Solaris 5.6
  • Modified writewaves4u_local.f: removed unneeded variables

New features of version V2.97 (21Mar2001):

  • If a line in a request mail contains one of the following characters <>;$ or if the line starts with '-' write an error message and go to the next line
  • Magnitude_TypeList is now given to subroutine writebulletin and is also correctly read in the main program. So, file writebulletin_local.f has changed!
  • The scripts and in the ~/adm directory were modified, so that they also work properly if the current working directory (.) is not in the PATH

New features of version V2.96 (18Feb2001):

  • Configure script now also works if current directory ( . ) is not in the PATH
  • Subr. checkfordifferentmail modified: program diff is not in /bin/diff under Linux
  • AutoDRM e-mail address is now also included in the file ~/adm/autodrm.rc - therefore this file has changed (added one line)

New features of version V2.95 (08Aug2000):

  • writewaves4u_local was missing in the distribution

Major new features of version V2.94 (03Jun2000):

  • Allow parallel processing of requests; see new file
  • GSE-format has two meanings: 1) for the way of how AutoDRMs 'speak' to each other and 2) how waveform- or bulletin data is sent. Now we introduce separate variables for these cases (waveformformat & bulletinformat). This requires changes in the subrs. writewaveform and writebulletin !
  • Subr. ftphandler modifified: if 'INTER' is set, send file to pub-Directory of the anonymous ftp-account
  • Subr. getmsgid modified: read until BEGIN is found, not only until end of header. For compliance with the S/MIME standard. Thanks to David Salzberg, CMR.

New features of version V2.9 (17Jun98):

  • Operating systems Linux and OSF1 added in subr. init
  • Substitution of logcial 'gse2format' by character*10 gseformat to accomodate for future formats
  • Added the feature to request data types bulletin, origin, arrival, etc.

New features of version V2.84 (14Nov97):

  • Filesize of sent mails is now computed using an awk-script, thus making it independent from UNIX-platforms (allowing also for HP-UX 10.2).

New features of version V2.83 (4May97):

  • Subr. TIMECLEAR was not part of the code; now it is.
  • Automatic determination of operating system improved for Solaris 5.5 and higher.
  • Subr. FTPHANDLER modified, so that temporary files are automaitcally removed.
  • All code modified for usage on Linux and using the g77-compiler.
 AutoDRM - New Developments / Problem Reports The format description of the new GSE2.1 Format is available as PostScript file here:

If you experience problems with our AutoDRM software, please send a description of the problem to Urs Kradolfer.

codeco3 is a software package for waveform conversion on UNIX platforms, developed by Urs Kradolfer, Karl Koch and Klaus Stammler; see the schematic below.

It supports the conversion from the following input formats: GSE1.0 (intv, int(x), cmp6, cmp7, cmp8; each with 0, 1st or 2nd differences), GSE2.0 (int, cm6, cm7, cm8), SAC-binary, SAC-ascii, MiniSEED (4096-blocks), CSS (2.8/3.0).
The supported output formats are: GSE1.0 (intv, int, cmp6, cmp7, cmp8; each with 0, 1st or 2nd differences), GSE2.0 (int, cm6, cm7, cm8), SAC-binary, SAC-ascii, Mini-SEED (4096-block Steim1-compressed data records - only if separate executable is available), CSS (2.8/3.0).

You may get this software as a compressed tar-file by clicking on the following link:


      INPUT                                    OUTPUT
     <<<<<<<                                   >>>>>>
    ------------                            ------------
   | GSE1.0/2.x |  >----            ---->  | GSE1.0/2.x |
    ------------        \          /        ------------
                         \        /
    -----------           \      /          -----------
   | SAC (A/B) | >-------- \    / ------>  | SAC (A/B) |
    -----------           \      /          -----------
    ------------          /      \          ------------
   | CSS2.8/3.0 | >------- /    \ ------>  | CSS2.8/3.0 |
    ------------          /      \          ------------
                         /        \
     --------           /          \        -------
    | mSEED  | >--------            ---->  | mSEED |
     --------                               -------

This is still a test-version, which has been tested on HP-UX, Linux, SunOS, and Solaris, using Fortran 77 and Fortran90. If you experience any problems, please report them to Urs Kradolfer.
However, only limited support can be given, since some of the supported formats have been modified without proper documentation.