Electronic Seismologist
September/October 1999

Steve Malone
E-mail: steve@geophys.washington.edu
Geophyics AK-50
University of Washington
Seattle, WA 98195
Phone: (206) 685-3811
Fax: (206) 543-0489


The Electronic Seismologist (ES) is gratified to have his e-mail box bursting with mail from his fans. It turns out that there were four messages in the past month, two complaining about a previous column, one trying to sell him some software, and one (he hopes was misaddressed) from someone trying to sell spelling dictionairies (sic) over the Internet. The two messages relevant to this month's column made polite references to the distinctly U.S. bias of his previous article on seismic network processing systems (SRL 70:2, March/April 1999). The ES is chagrined to admit that it is true, but he is next to clueless on the international scene. There are certainly several, if not many, very sophisticated seismic data acquisition and processing systems outside the U.S. Certainly some are older than the ones mentioned as "early" in this previous column, and others are probably much more versatile. Since the ES resides in the soggy, moss-covered Pacific Northwest of the U.S., where written history goes back less than 200 years and Microsoft products are considered "advanced", the ES is at some disadvantage on the global scale.

However, as luck would have it, a contributed column this month will help rescue the ES from his embarrassing provincial position. It seems that in the far northern reaches of Europe (where the rain and gloom is even wetter and darker than the U.S. Pacific Northwest) a couple of Scandinavians, Jens Havskov and Lars Ottemöller, have been busy putting together an earthquake analysis system they call SeisAn for use with the Norwegian National Seismic Network. Combined with the data acquisition and "virtual network" software called SeisNet (full article by Ottemöller and Havskov in SRL 70:5), SeisAn makes a complete package every bit as useful as any other the ES is familiar with.

Being intrigued by the description of SeisAn given in this contributed column, the ES had to try it for himself. Following the instructions given (below) he obtained and installed the software and ran through the very helpful tutorial in only a few hours. While SeisAn does not have a real flashy, colorful interface with lots of bells and whistles, it does have all the basics one would want, is very intuitive, and was quite robust. It seems streamlined for routine processing, yet contains many tools for research projects as well. Not only does it seem to run out of the box on the Solaris-2 system the ES uses, but also it is claimed to run on several other operating systems as well on exactly the same data. And is it international? Along with its buddy SeisNet it seems it is currently being used on three different continents.

Check it out for yourself.


Jens Havskov and Lars Ottemöller
Institute of Solid Earth Physics
University of Bergen
E-mail: Jens.Havskov@ifjf.uib.no


In seismology, a wealth of data-processing programs are available, and a seismic observatory typically makes use of several. A common problem is the lack of a proper database structure which prevents effective use of the data, particularly with data from different sources. A primary goal of SeisAn is to organize data from all kinds of seismic stations into a simple database and to provide most of the tools needed for routine processing. The SeisAn database is a way of organizing data by using the directory and file structure, and is not a relational data system with general access techniques such as SQL, which usually is meant by the term "database." In addition, the intention is to facilitate research tasks by integrating additional programs to work directly on the database.

A second goal is that SeisAn must work in an identical manner under Sun (Solaris-1 and -2), Linux, and MS-Windows, and that data (binary and ASCII) can be moved between the three platforms without any modification.

SeisAn was first developed for the VAX computer in 1988 and in 1990 moved to the Sun and PC. Since then the system has continuously developed due to installation in many different environments. A large number of users has come up with suggestions, improvements, and new programs. Most programs were actually written by others than the authors of this note. Currently there are an estimated 100 sites where SeisAn is used routinely, and SeisAn is distributed by several instrument companies.

Routine Processing of Seismic Data

The main work of a seismic observatory is to process and organize incoming data from different sources quickly. SeisAn has a simple, time-ordered database and a set of programs for processing the data. SeisAn can navigate in the database to find a given event or do housekeeping (splitting, merging, and deleting events). Once an event has been selected, a large number of options are available, like phase picking, earthquake location, fault plane solution, inserting macroseismic information, etc. Results of the interactive processing are stored back in the database. The signal processing tool can be used to pick phases and amplitudes, correct for instrument response, produce Wood-Anderson seismograms for determining ML, simulate WWSSN SP and LP records, determine azimuth of arrival for three-component stations or arrays (FK analysis), rotate seismograms, display theoretical arrival times for IASP91 phases to help identify global phases, and do spectral analysis. Earthquake location is done by Hypocenter (Lienert and Havskov, 1995). The program can use nearly all common crustal and global phases (8-character ISC codes), locate teleseismic events using the IASP91 model, and use observed azimuth and apparent velocity. The program can therefore be used with all types of input data, whether from single stations or seismic arrays. Hypocenters (and sections) can be plotted with elliptical error ellipses, and interactive selection of epicenters can be done from epicenter maps. There is also an interface to GMT for epicenter plotting. For general work, programs are available for database creation, input and output of large data sets, and conversion and manipulation of waveform data. SeisAn is particularly well suited for merging phase and waveform data from different sources.

The Unix versions of SeisAn have an interface to the signal processing tools, PITSA (included), and SAC2000. The programs are invoked directly from the SeisAn database, and data are automatically converted to the appropriate form for use by these packages.

Research with SeisAn

A general problem of using research-oriented programs is that they do not work directly with a database, and data formats vary. A goal of SeisAn is to provide research programs to work directly with SeisAn. Programs are included for determination of fault plane solutions (single events and composite) using polarities (Snoke et al., 1984). Seismic moment, stress drop, and seismic source radius are determined doing spectral analysis or spectral modeling. The moment tensor of local earthquakes can be determined by inverting the amplitudes of the Pg and Sg waves (Ebel and Bonjer, 1990). The full wave modeling programs integrated with SeisAn were written by Bouchon (1981) and Herrmann (1996), and the ray tracing program is based on WKBJ (Chapman et al., 1988). As an example, the initial modeling for a given event in the database consists of giving one command; all relevant initial parameters are taken from the database, and a plot of the original and model trace is shown. Arrival times can be used to invert for the crustal structure (Kissling et al., 1994). Attenuation can be determined using the coda Q method for local earthquakes (Havskov et al., 1989).

The SeisAn Database

The SeisAn database is built of single-event parameter files (ASCII), called S-files, written in the Nordic format (Havskov, 1990). The files are stored in a treelike structure with monthly and yearly directories, and file names reflect the origin time of the event. Each such tree resides under one named directory (five letters) considered a database, and the system can have any number of databases. Tools are available for creating the database structure, extracting and entering data, moving data between databases, etc. The S-files contain phase readings and derived source information, and there is virtually no limit to what can be stored. The S-file also contains the pointers to the waveform files. Once a database has been created, it can be searched for a large number of parameters (>20). A search can extract parameter data and pointers to the database. Further work on the selected events can then be done directly on the database using the pointers or, if the database is not to be modified, directly on the extracted data, which also can include waveforms.

The waveforms can be stored in the same way as the parametric data in yearly and monthly directory trees. This is needed for large data sets, while for smaller data sets one directory is sufficient. SeisAn automatically finds waveform files associated with an event in both types of structures. The waveform files are stored in binary multichannel files. Tools are available to split, merge, and correct waveform files, which enables the user to combine waveform traces in convenient units.

The instrument response can be defined for each channel of digital data. There are two places in the system where it can be stored. Often the instrument response is part of each channel header in the digital waveform file. However, the instrument response is often not available at the moment the data arrive, or it may be later discovered that the response given in the waveform file is wrong. Calibration information can therefore also be stored in a specified directory, which can contain one response file for each channel and for each time interval for which it is valid. The response information can be given as discrete values of frequency, amplitude, and phase, poles and zeros, or defined by instrumental constants like generator constant, gain, etc. A program is available for easy generation of the response files using any or a combination of the above parameters.


The SeisAn waveform format is simple to write and read in ForTran and difficult in C. It is not particularly modern nor flexible, and there has been consideration given several times to replacing it. However, there is no wish to invent yet another waveform format, and of existing popular formats none seems ideal. SEED is complicated, and readers and writers are not currently available on all platforms. GSE is a nice format and can easily be read on all platforms since it is purely in ASCII. However, it is very inefficient for large data sets. SUDS seems to have lost momentum and is mainly supported on PC's. SAC and CSS are single-channel file formats which we do not consider practical or efficient in the simple SeisAn database, and they are not much used on PC's.

SeisAn thus continues with the same format, and we hope something ideal will come up. On the other hand, for the user it might not make much difference since, so far, SeisAn has been able to accommodate all kinds of input data with a suitable conversion routine. The only disadvantage is that the user may need to provide that conversion program, though SeisAn conversion programs are provided for many existing formats.

The Nordic parameter data format, used as keyed elements in the database, is also starting to present some limitations. This is particularly the case in the accuracy that can be given to some parameters (e.g., a reading can be given only to 0.01 sec). Currently there is no alternative. The closest available format is GSE, which does not have the flexibility and content needed. The working group on parameter formats under IASPEI (JH, chairman) has for several years tried to propose a new parameter format, but so far without success. Now the ISC and NEIC are trying to come up with a modified GSE format to suit all needs (Ray Willemann, personal communication). If successful, that might also be used by future versions of SeisAn instead of the Nordic format.

Apparently SeisAn is the only freely available processing system with a database containing all data and operating on several computer platforms in an identical manner. This is surprising considering the huge effort put into programming in seismology and the many very sophisticated analysis programs available.

How to Get SeisAn

SeisAn (version 7.0) is available from ftp://ftp.ifjf.uib.no or http://www.ifjf.uib.no/IFJ/Seismologi/software/software.html. SeisAn is distributed as a compiled version (source code included) for Solaris-1 and -2, Linux, and MS-Windows. Most programs are written in ForTran, with a few in C. SeisAn does not require any commercial software. For graphics printing, a PostScript printer is needed. A test data set and a tutorial is included with the distribution. Because of the large size of the compiled version (PC: 25 MB, Unix: 40 MB) it may be too slow to download directly. A free CD with SeisAn for all computer platforms can be obtained from the authors.


Bouchon, M. (1981). A simple method for calculating Green's functions for elastic layered media, Bull. Seism. Soc. Am. 71, 959-972.

Chapman, C.H., J.-Y. Chu, and D.G. Lyness (1988). The WKBJ seismogram algorithm, in Doornbos, D.J. (ed.), Seismological Algorithms, Academic Press, London, 47-74.

Ebel, J.E. and K.-P. Bonjer (1990). Moment tensor inversion of small earthquakes in southwestern Germany for fault plane solutions, Geophys. J. Int. 101, 133-146.

Havskov, J. (1990). Replace the Hypo 71 format, Bull. Seism. Soc. Am. 80, 1,043-1,045.

Havskov, J., S. Malone, D. McCloug, and R. Crosson (1989). Coda Q for the state of Washington, Bull. Seism. Soc. Am. 79, 1,024-1,038.

Herrmann, R.B. (1996). Computer programs in seismology. Manual, Saint Louis University.

Kissling, E., W.L. Ellsworth, D. Eberhart-Phillips, and U. Kradolfer (1994). Initial reference model in local earthquake tomography, J. Geophys. Res. 99, 19,635-19,646.

Lienert, B.R.E. and J. Havskov (1995). A computer program for locating earthquakes both locally and globally, Seism. Res. Lett. 66, 26-36.

McGuire, R.K. (1976). EQRISK, Evaluation of Earthquake Risk at a Site, United States Department of the Interior, Geological Survey, Open File Report 76-67, 90 pp.

Snoke, J.A., J.W. Munsey, A.G. Teague, and G.A. Bollinger (1984). A program for focal mechanism determination by combined use of polarity and SV-P amplitude ratio data, Earthquake Notes 55, 15.

SRL encourages guest columnists to contribute to the "Electronic Seismologist." Please contact Steve Malone with your ideas. His e-mail address is steve@geophys.washington.edu.

Posted: 23 September 1999
Updated URL's: 25 February 2003