Seisan 7.2
Seisan 7.2
Seisan 7.2
Version 7.2
Editors
September 2001
ii
List of contents
1. INTRODUCTION ............................................................................................ 1
1.1 Latest Changes.......................................................................................................................... 1
1.2 Information about SEISAN online ............................................................................................ 4
3. INSTALLATION ........................................................................................... 11
3.1 Unix (SOLARIS and Linux) ..................................................................................................... 12
3.2 Windows (95, 98 and NT) ........................................................................................................ 15
3.3 Database directories for your own system, MAKEREA....................................................... 17
3.4 Default parameter files for the main programs .................................................................... 17
3.5 Color settings .......................................................................................................................... 18
3.6 Compiling SEISAN programs................................................................................................. 19
3.7 Program Version...................................................................................................................... 19
3.8 Setting general SEISAN defaults, SEISAN.DEF.................................................................... 20
3.9 Format description in parmater files ..................................................................................... 21
4. USING SEISAN............................................................................................ 22
4.1 Short user guide ...................................................................................................................... 22
4.2 Getting data into the database ............................................................................................... 26
4.2.1 System with digital data.................................................................................................. 26
4.2.2 System without digital data ............................................................................................ 27
4.2.3 Database security ............................................................................................................ 27
4.2.4 Data base tools, content and checks............................................................................. 28
4.2.5 High accuracy in SEISAN................................................................................................ 28
4.3 Interactive work with earthquake locations, EEV command............................................... 29
4.4 How EEV works ....................................................................................................................... 30
4.5 EEV Windows driver program: SEISAN ................................................................................ 39
4.6 System response..................................................................................................................... 43
4.7 Working with catalogs ............................................................................................................ 44
4.8 Printing ..................................................................................................................................... 45
4.9. General Work with SEISAN ................................................................................................... 45
8. Acknowledgments.................................................................................... 231
INDEX............................................................................................................. 248
1
1. INTRODUCTION
The SEISAN seismic analysis system is a complete set of programs and a simple database for
analyzing earthquakes from analog and digital data. With SEISAN it is possible using local and
global earthquakes to enter phase readings manually or pick them with a cursor, locate
events, edit events, determine spectral parameters, seismic moment, azimuth of arrival from
3-component stations and plot epicenters. The system consists of a set of programs tied to
the same database. Using the search programs it is possible to use different criteria to search
the database for particular events and work with this subset without extracting the events.
Most of the programs can operate both in a conventional way (using a single file with many
events), or in a database manner. Additionally, SEISAN contains some integrated research
type programs like coda Q, synthetic modeling and a complete system for seismic hazard
calculation.
The data is organized in a database like structure using the file system. The smallest basic
unit is a file containing original phase readings (arrival times, amplitude, period, azimuth, and
apparent velocity) for one event. The name of that file is also the event ID, which is the key to
all information about the event in the database. Although the database in reality only consists
of a large number of sub-directories and files (all of which the user has access to), the
intention is that by using the surrounding software, the user should rarely need to access the
files directly, but rather do all work from the user’s own directory. Test data and a tutorial (see
section 5) are supplied with the system.
The programs are mostly written in Fortran, a few in C and almost all source codes is given, so
the user should be able to fix bugs and make modifications. The programs have been
compiled and linked with system compilers and linkers on SUN, GNU compiler on Linux and
Digital Visual Fortran 5.0 under Windows. SEISAN runs under Sun Solaris (Solaris 2.x or
SunOS 5.x), SunOS (Solaris 1.x or SunOS 4.x), Linux, Windows95/98, and Windows
NT/2000. No format conversion is needed to move data files (binary and ASCII) between the
systems.
This manual resides in the directory INF (see below), when the system has been implemented
on your computer. The file is called seisan_7.1.pdf (Adobe PDF).
The SEISAN system is built of programs made by many different individuals without who it
would never have been possible to make SEISAN. Acknowledgement is made throughout this
manual where appropriate or in the acknowledgement section at the end. SEISAN now
contains so many programs that when a new version is released, it is not possible to check all
the options in all programs and we rely on the user to help finding the bugs, please report!
Version 7.2
There are no fundmental changes except that a new library (rea.for) has been created to
handle parametric data. The new library is so far only used in a few programs, but all new
developments will use it to finally get a more uniform way of handling parmatric data (S-
files).
Wadati diagram: Through EEV, a graphical Wadati diagram can be displayed to help find
bad readings and get a quck esitimate of Vp/Vs.
Grid search: A new option in HYP (through EEV) makes it possibe ot locate using grid
search for single events.
High accuracy: Most programs and parameter files (input and output) have been modified to
be able to work with 1 ms and 1 m accuracy. A special flag must be set in SEISAN.DEF.
Select has more options now, like phases and station hypocentral distance.
Mag program has more options for comparing spectral parameters for individual channels
and an improved inversion for Ml has been added.
Resp program has been updated and can run in a loop when many response curves are to
be made. The GSE2 PAZ output has been modified. The reading routine for GSE2 PAZ has
been changed accordingly.
Extract has been modified to also take waveform files directly as input (instead of s-file
only), and can be used as conversion program between SEISAN, GSE and SAC formats. It
is also possible now to create ground motion output.
Spec has been modified to also be able to calculate near surface attenuation.
Cplot is a new program for plotting continuous data located in several continuous data
bases. (SUN only)
A small programmers guide section has been added to this manual with a few sample
programs on how to do basic SEISAN operations.
W_emap is a new Windows based program for plotting maps and hypocenter information.
Qlg is a program to invert local and regional data for QLg based on the decay of spectral
amplitudes, average or tomographic inversion is possible.
Autosig: The former findp has been renamed to autosig, and has been substantially
extended. Besides automatic P phase and coda reading, the program now is capable of
determining source parameters and magnitudes.
Finally, we have added something which is not programs. Realizing that the background
information for many routine operations are not always readily available, we have started
adding application notes giving more background for some of the procedures and programs
used in SEISAN. For this issue we have one note on hypocenter location and one on
spectral parameters and attenuation.
Version 7.1
New waveform reading routines giving support for reading several waveform formats
automatically (SEISAN, GSE and SAC). The programs which can use the new routines are
programs: APPEND, AUTOPIC, AUTOREG, CODAQ, FK, MULPLT and SPEC,
3
RESP extensions:
Create GSE files
Calculate response as Frequency Amplitude Phase or Poles and Zeros
Waveform data can be stored in compressed form and will automatically be decompressed
in a new TMP directory
Extract waveform data (EXTRACT) in SEISAN, GSE or SAC format from SEISAN database
Interface to a new GMT mapping utility (non SEISAN product from UiB)
SunOS version no longer supported and distributed, however SEISAN can probably still be
compiled under SunOS
HYP can use multiple starting depths, good to avoid local minimum
HYP can locate using a range of models and will find the model giving the lowest rms
Version 7.0
SEISAN homepage
Here you can find information on the latest changes in SEISAN, access the online manual,
download the software and much more.
ftp.ifjf.uib.no ( or 129.177.55.4)
Login: ftp
Password: <your email address>
There are 2 mailing lists, which are set-up to improve the exchange of information and
questions on SEISAN. We strongly recommend that all users subscribe to the SEISAN list.
The lists are:
[email protected]
[email protected]
seisan seisan-help
Who is on the SEISAN experts who are willing to
SEISAN users
list? help others
Information on upgrades, bugs
Purpose of the As SEISAN user, you can send your
and other related topics will be
list questions or problems to this list
sent to this list
You can obtain help from the majordomo list-server by sending the message:
help
5
2. STRUCTURE OF SEISAN
2.1 Directories
The whole SEISAN system is located in subdirectories residing under the main directory
SEISMO. For more details, see section 3 on installation. The system contains the following
main subdirectories:
In the following, the above subdirectories will mostly be called directories to avoid always
referring to SEISMO. All directories use capital letters, however this only makes a difference
in the Unix versions. The directory structure is used as a tree like structure for quick access to
individual files in the REA directory, which therefore will appear as a simple database to the
user. The next section is a description of the database directories; the other directories are
described in section 7. Figure 1 shows the tree structure of SEISAN.
Figure 1. Structure of SEISAN. Note that BERGE under WAV is optional and DELET (not shown)
under REA has a similar directory structure as e.g. NAO.
SEISMO
1996
CAT 1995 1996
01 02 12
01 02 12 01 02 12
The database of SEISAN consists of the two directories REA and WAV. The REA directory
and its subdirectories contain readings and source information while all waveform data is
normally in the directory WAV (see 2.2.2) with no subdirectories. Optionally WAV can also be
divided into a similar subdirectory structure, see 2.2.2, which is useful when storing continuous
data in particular. The DELET database contains all events deleted from any of the databases
(here BERGE/BER and NAO). Filenames are identical between all platforms.
The REA directory contains phase readings and derived source information like hypocenters,
fault plane solutions etc. The REA directory has one or several subdirectories corresponding
to separate databases (see Figure 1 for an example with two databases). The database
names can have between 3 and 5 characters. If less than 5 characters are used, the character
‘_’ is added in the file system to make it 5. The user does not have to put the ‘_’ when running
a program, they will be added by the software. If a directory is made manually, the ‘ –‘ must be
put in. It is assumed that the default database is always present in the system. The name of
the default database is given by an environmental variable (see section 3.1), however if not
set, it will default to AGA for agency. Here, BER will be used as an example throughout the
manual. A database has a duplicate storage of the events. For quick reference and interactive
work the events are stored in single files (S-files) in yearly directories and monthly
subdirectories. When new data is entered into the database, it comes in as individual event
files. However, once the interactive work has finished, the single event files are overwritten
with the final location and additionally stored in monthly files, which are only changed when
updating (UPDATE command, see section 6.7). The monthly files, called CAT-files for catalog,
are stored separately in the CAT directory and primarily used for quick searching and backup
for the single files. In addition to the event data, there is also a LOG directory in each database
to keep a log of the data processing, see 6.7.
The structure for the single file storage is as follows (Windows example):
Each event contains original phase readings in the Nordic format (Appendix 1) which includes
file names of all corresponding waveform files. One event is one file. Each event has an ID
line. The ID line contains a unique ID, which will follow the event through all COLLECT and
SPLIT operations (see section 6.5 and 6.6). The ID line also contains status information about
the event like last action, when it was updated etc. The ID-number can be fixed, which is
useful if data is taken out from the database, processed on another computer and later put
back into the database, since otherwise the ID of an event might be changed and the existing
file would not be overwritten. An example of an S-file name is 27-1112-11L.S199401.
The S-files are used as input for the location program and, when making a permanent update,
also for output, see 6.1. The letter in front of the "." indicates the event type and can be L, R or
D for local, regional or distant event respectively. It is the same indicator as given in the
7
header line of the S-file, see the Nordic format. The remaining numbers give (in order) day, hr,
min, sec, year and month.
As mentioned above, the system can contain many other databases, which may function
exactly like the BER directory. A data base can be used to store a subset of data or data from
different networks. Data can be moved between databases or in and out of the databases, for
details, see description on EEV (43 and 4.4).
SEISAN, since version 7.1, works on various waveform formats including SEISAN, GSE
and SAC. The SEISAN format is described in Appendix 2, while for a format description of
GSE and SAC the user is referred to GSETT-3 (1997) and Goldstein (1999), respectively.
The GSE reading routines are based on the codeco routines written by Urs Kradolfer, Klaus
Stammler and Karl Koch. The different formats can be used in parallel by several programs.
With MULPLT for example it is possible to plot data in the three formats at the same time.
Other formats can be added by adding reading routines and adding the respective calls to
LIB/wave.for.
In general it is recommended to keep the waveform data in one format only, mainly for
simplicity and maintenance reasons. There may be different arguments for or against one or
the other format depending on the user’s preferences and requirements. SAC and GSE are
widely used formats and therefore may be attractive. SEISAN is a multi-trace binary format
with direct read access to individual traces. The SEISAN format is probably your best choice
if your main processing system is SEISAN. SAC is a single trace binary or ASCII format with
a large number of header parameters. The SAC format is widely used in research oriented
programs. GSE is a multi-trace ASCII waveform format that includes various sub-formats. It
is widely used for data exchange. Although the GSE format can keep any number of traces,
it is recommended to include no more than 3 traces in a single file depending on the number
of samples, since when reading a particular trace, the whole file may have to be read.
The WAV directory contains files with digital waveform data. The directory normally has no
subdirectories or any other organization. However, in case of large databases, WAV can be
subdivided, see below. In addition any directory can contain waveform data, it has to be
specified in SEISAN.DEF (section 3.8). The amount of data that can be stored is only limited
8
by the disk size. The analysis system will always look in WAV for particular files if they are not
in the user’s own directory. Waveform files will automatically be transferred to WAV on initial
registration into the database (see MULPLT). Registration is the process of automatically
creating an S-file in the database with the name of the waveform file and header information.
Phase pickings are done later. See section 6.2.
There is normally no requirement for particular filenames for the waveform files in WAV or
elsewhere, however many programs will make file names like:
With the abbreviations yyyy: year, mm: month, dd: day, hh: hour, mm: minute, ss: second,
T: file type indicator (normally S), NETWO: maximum 5 letter network code and nnn:
number of channels.
WAV database: In case a large number of waveform data is stored, it might be an advantage
to also split up the WAV directory in subdirectories. This is done in the same way as in the
REA directory, e.g. waveform files for BER from July 1994 would be found in
WAV/BER__/1994/07. Programs that use waveform files will automatically search, in order,
the current directory, WAV and the monthly WAV directory. When storing in the WAV
database, it is a requirement that the waveform names start with either yymm (like
9902) or yyyy-mm (like 1999-02). Waveform files created on Windows and Linux version
7 or newer cannot be read on older SEISAN versions.
The SEISAN binary waveform format is explained in Appendix 2. The files are written and read
with the same Fortran statements on all platforms, however the internal structure and byte
order are different. As of SEISAN version 5.1, files written on either machine can be read on
the other and there is no need for any conversion when the binary waveform files are moved
between Sun, Linux and Windows.
Waveform files can be stored in compressed format. The compression must be done by the
user. Programs that access the compressed waveform files copy the file to the TMP directory,
and uncompress there. The uncompressed file remains afterwards and will be found the next
time one of the programs is looking for the same waveform file. The contents of the TMP
directory has to be deleted manually. On Unix, you may automatically delete the content of the
TMP directory by a cronjob, see manual pages on crontab. On Unix the compression formats
supported include gzip, compress, bzip2 and zip. So far, no automatic decompression is
supported on Windows (will be put in).
Continuous data
In SEISAN continuous data has no special format. Continuous data is simply ordinary
waveform files that follow each other in time. In order to treat the data as continuous, a list of
these files are made with DIRF and an application program can then use that list to work with
the data. Currently two programs have special options for continuous data. The MULPLT
program will plot data from several files as if it was one file in one continues trace and the
RESAMP program will resample the data from several files and put it into one output file.
If large quantities of data have to be stored, it is recommended to use the WAV database
9
structure. If e.g. data is to be stored from 3 different stations, create 3 databases under
WAV with the name of the stations (program MAKEREA). If the continuous data consist of
20-minute files, this would mean about 2200 files pr month, which is a reasonable number.
Any reading database can get access to any one of these files provided the file with the
event has been registered in the readings database and the continuous database has been
defined in SEISAN.DEF in DAT. A direct access to the continuous data can also be made by
creating a readings database with the same name as the waveform station date base and
make one S-file per waveform file. This can be done with AUTOREG. It is then possible to
access any one file in the continuous database from EEV and continues plots can be made.
A program CPLOT (Unix only) can plot data from several continuous data bases and extract
data from selected time windows.
A description of the different file types is given below with typical names. Most names must be
exactly as specified, other can be given names. However it is VERY important that no name
including full path is more than 80 characters long. Until now this has not been a problem,
however it has to be considered when SEISAN is installed.
The basic unit is a file in the Nordic format, (see Appendix 1). For practical purposes 3
descriptive names are used for Nordic files:
S-file: Single event file with phase readings, with or without source parameters such as
location and magnitude. In the database these files are named with the extension: .Syyymm
This is the standard type of file in e.g. the BER__/1998/08/. An example is 11-1234-
11L.S199808.
CAT-file: A catalog file containing many S-files with location or just a catalog of hypocenters, a
compact file, see below. This is the standard type of file in e.g. the /REA/BER/CAT directory.
An example is 199801.CAT. This file format is also output from several programs like SELECT
and COLLECT. There is a blank line between events.
Compact file: This is a CAT-file with only the source information. One event is represented
with one line, (the header line in the S-file). There is no blank line between events. A compact
file can be generated by either COLLECT or COMPACT.
SEISAN waveform file: Waveform data can be stored in SEISAN, GSE and SAC format, see
section 2.2.2. An example of a name is 1992-01-11-2233-22S.BERGE_011.
Response file: File giving the response of a given channel at a given station. They are
generated with the RESP program, see description of CAL directory, section 6.31. This is the
standard type of file in the CAL directory. An example of a name is ODDA_S__Z. 1999-05-01-
0000.
File listing: This is just a file with a list of numbered files. The file name is ALWAYS filenr.lis,
and it is generated with the DIRF program, see 6.8.
Index file: This file contains a listing of absolute paths to a series of S-files. The index file can
be used as input instead of the CAT-files to several programs. Several programs generate
index files as e.g. select and eev. The index file has the same format as the filenr.lis files
described above and can be generated with the dirf command using S-files. The index file
10
1 \SEISMO\REA\TEST_\1993\09\29-2228-26D.S199309
2 \SEISMO\REA\TEST_\1994\06\16-1841-57D.S199406
3 \SEISMO\REA\TEST_\1996\06\03-1955-40D.S199606
Upper and lower case file names only makes a difference on SUN and Linux. The intention is
that all permanent data file names used by SEISAN should be in upper case (e.g. S-files,
crustal model file, directories (e.g. REA) while temporary files should be in lower case (e.g.
print.out). Programs are also in lower case. It should then be a bit more difficult to delete the
permanent files. NOTE THAT THROUGHOUT THIS MANUAL, PROGRAM NAMES ARE
GIVEN IN UPPER CASE TO INDICATE THAT THEY ARE NAMES, HOWEVER WHEN
USING THE PROGRAMS, LOWER CASE MUST BE USED ON SUN. In program MULPLT,
commands are case dependent.
All S-files and file names are identical on the three platforms. To move many events (S-files)
from one system to another, make a COLLECT (section 6.5) on the original system and a
SPLIT (section 6.6) on the receiving system. As mentioned in section 2.3, the SEISAN binary
waveform files have different internal structure if written on Sun, Linux or Windows, but this is
corrected for in the reading routine so files can be copied directly. GSE files can be copied
directly since they are ASCII files while SAC binary files can only be used on Unix.
The only other files that are different are the binary earth model files IASP91.HED and
IASP91.TBL in the DAT directory. They cannot be moved, but are easily regenerated with the
IASP91 programs, see section 6.20 and 8.8 in the Hypocenter manual.
11
3. INSTALLATION
SEISAN has been tested and compiled for Windows 95/98/NT, Solaris 2.x and Linux.
You can keep almost all of your parameter files, only SEISAN.DEF has been changed. Check
this file and change to your system.
Step 1) Due to the change of the S-file names in the databases in SEISAN version 7.0
compared to all previous versions, the first step is to make a backup of all your databases
using the COLLECT program of the old version. You should also keep a copy of the collect
program, rename collect to collect_old.
Step 2) When installing the new SEISAN, note that your old parameter files will be
overwritten. You have two options to install SEISAN:
1) don’t overwrite directories: In order to get a ‘clean’ new distribution, you rename the
old SEISAN top directory, which usually is called ‘SEISMO’ before installing the new
version.
2) overwrite directories: rename (to keep copy) the DAT directory and the file
COM/.SEISAN (Unix only), for example on Sun ‘mv DAT DAT_old’ and ‘mv COM
COM_old’, on the PC use move instead of mv. This option might be useful if you
already have an earlier Version 7 installed.
Step 4) After the installation you need to modify the parameter files. Note that the parameter
files in Version 7 are not the same as in older versions, so don’t use the old ones, but modify
the new files instead. If you use an earlier Version 7.0, you can use your old parameter files.
The most important files in the DAT directory are: STATION0.HYP, MULPLT.DEF and
SEISAN.DEF.
Step 5) After installation of the new version, the data files that you crated in Step 1 must be put
into the database using the SPLIT program, remember to first create the new database
structure using MAKEREA. The CAT file names have not changed and can simply be copied
to the respective directories after the new version is installed.
Step 6) Change names of calibration files in CAL directory using program FIX7CAL. The steps
are:
1) goto CAL directory
2) make a DIRF of the calibration files
3) start program FIX7CAL: the filenames are changed for the new system. Note: This
only works if the correct information (date, time, station and component name) is
12
given inside the calibration files. You should take a copy of your files before you run
the program.
SEISAN can be copied from ftp.ifjf.uib.no (129.177.55.4), login is ftp and password is your
email address or http://www.ifjf.uib.no/seismo/software/seisan.html (or 129.177.55.5
instead of www.ifjf.uib.no). On the AFTP server go to
/pub/seismo/SOFTWARE/SEISAN_7.1. Use binary mode for the compressed files (tar and
zip). Before copying, check the readme file for latest updates, changes and current content
of the directory. The directory will at least contain the following files:
Since the complete Sun distribution is rather big, it might be easier to copy only the source
codes and parameter files etc. (seisan_short_X.Y_UNIX.tar.Z) < 4 Mb) and recompile all,
however the Sun Fortran compilers on Sun or the GNU compilers on Linux are required.
Solaris 2.x: The SEISAN programs have been compiled on Solaris 7 using Sun Workshop 5,
which means you have to recompile if you use an earlier version of the operating system or
compiler. If you can recompile on Solaris, please do so! The programs on Solaris are compiled
dynamically, which means not all system and compiler libraries are included in the
executables. If you are running Solaris, the system libraries are normally installed, but the Sun
system compilers might not be installed. If the compilers are not installed, you have the
following options: (1) you install the Sun workshop compilers, license is not needed, since only
the libraries are required; (2) you install the required libraries, which are part of the Solaris
distribution (instructions below).
Solaris 1.x: You need to compile the Solaris 2.x version of Seisan, see section 3.6 and the
comments in the Makefiles, search for SUNOS. SEISAN since version 7.0 is no longer tested
on SunOS.
Linux: The programs have been compiled under Redhat Linux6.0 using the GNU compilers
gcc and g77. It is recommended to recompile the programs, since otherwise the programs
might not run on your Linux distribution. In the Redhat distribution of Linux the Fortran compiler
is not part of the standard distribution, it has to be installed for example with glint (see your
Linux manual for instructions).
13
Instructions
The first step is to install the distribution, the procedure is the same for all Unix platforms.
Copy the distribution file for your platform from CD or transfer it through FTP or from the web
site to the SEISAN top directory, this could be a directory ‘seismo’ under the home directory.
2. Decompress
uncompress seisan_X.Y_UNIX.tar.Z
gunzip seisan_X.Y_UNIX.tar.gz
3. Install SEISAN
If SEISAN has been installed without executable files, they can all be generated with the
command make from the PRO directory. On Sun this requires that the Sun compilers be
installed, on Linux it requires the GNU Fortran compilers. See also section on compilation
(3.6).
In the LIB directory of the Solaris distribution the file sun_ws_lib.tar.Z includes the libraries that
are needed to run SEISAN on Solaris in case the compilers are not installed. The file is a
compressed tar file. The files can be extracted with ‘uncompress sun_ws_lib.tar.Z’ and then
‘tar xvf sun_ws_lib.tar’. The library files can be stored in any directory in the system, but the
environmental variable ‘LD_LIBRARY_PATH’ has to be set accordingly. If you are using the C-
shell, this can be done by adding to the .cshrc file the line ‘setenv LD_LIBRARY_PATH
/path/:$LD_LIBRARY_PATH’. This would add /path/ (which is the path to where the libraries
are) to LD_LIBRARY_PATH, which normally is already defined.
If you are doing an update, some of the following settings can be skipped.
Activate SEISAN:
In your .cshrc file, the aliases and paths used by SEISAN are defined by adding the line
‘source ..seismo/COM/.SEISAN’ where ‘..seismo’ is the directory below which SEISAN has
been installed. It is assumed that X-windows is installed.
SEISAN agency:
In .SEISAN also set the environmental variable AGENCY (upper case) to your 3-letter agency
code (upper case). This variable is only used by program MACROIN from EEV in connection
with entering macroseismic data so for most users ignore this setting.
Seisan Extension:
User specific code can be implemented by making use of the environmental variable
SEISAN_EXTENSION. The idea is that programs read this variable, if set to the user specific
string, the user’s source code will be used instead of the default. An example could be the
computation of error ellipses. Currently used codes are: BGS.
4. Testdata
The testdata set can be extracted from the file testdata_X.Y.tar.Z. Use programs uncompress
and tar to extract the data in the SEISAN top directory (keep subdirectory structure).
Dimensions
Most dimensions are set in file seidim.inc in the INC directory. In order to change dimensions,
first change in the include file and then recompile the whole SEISAN distribution. The most
important dimensions are:
15
Note: In case programs don’t work, you might have to recompile, see section 3.6.
Graphics problem: When rescaling or overlaying a graphics window, the content of the
SEISAN window disappears. It is still there and can be replotted, in MULPLT for example with
option ‘r’.
On Solaris, if no colors, make sure color setting is 8 bit. Can be set with command m64config
–depth 8. See Solaris manual.
It is assumed that you transferred the Windows distribution, copied from CD or decompressing
directly from CD. In the following, it is assumed that you install on disk drive C. The PC should
be a Pentium and have at least 32 MB of memory; SEISAN might run on less, but it is not
recommended. Some programs are not compiled under Windows and use the DOS memory
extender DOSXMSF.EXE which is in the PRO directory. The windows graphics work with any
resolution, small fonts should be used. However, the graphics look better with a higher
resolution like 1024x768.
1. Create the SEISMO directory, ' mkdir seismo'. On the PC it is convenient that the top
directory is SEISMO although it is not a requirement.
2.Use WinZip to unpack the compressed archive file seisan_X.Y.zip to the directory ‘seismo’
either from the CD or a file copied to the hard disk. The old pkunzip can no longer be used,
since it does not support long file names.
3. Changes to the environmental settings: Edit the autoexec.bat file in the root directory:
- Add C:\SEISMO\COM and C:\SEISMO\PRO to path (path c:\seismo\pro;
c:\seismo\com)
- OPTIONAL: Add environmental variables SEISAN_TOP, SEISAN_EDITOR,
SEISAN_PSSCALE_X, SEISAN_PSSCALE_Y and DEF_BASE (see UNIX section for
definition). If not added to autoexec.bat, the defaults \SEISMO, edit, A4 and AGA are
used. SEISAN_TOP would be set as ‘set SEISAN_TOP=\SEISMO ’, but could also be
e.g. ‘\test\best\analysis ’ or ‘d:\seisan ’. Note there is one blank character at the end
and the first character MUST be "\" or the second ":". If no seismo directory, it could
e.g. be just E:.The default editor is edit. The Unix variable AGENCY is not used on the
PC.
- The initial environmental size might not be sufficient, it can be increased by adding
‘shell=c:\command.com /e:4096 /p’ to the config.sys file (do not seem to be needed
anymore).
- Install doskey for convenience when working in DOS windows. Add line doskey /insert
to autoexec.bat (not needed on Windows200, already there)
PROBLEM on Windows2000: Apparently the mouse do not work with the edit command, set
editor to notepad instead.
4. Optional: If you want to recompile, you need the Fortran compilers installed.
5. Printer:
16
It is assumed that a Postscript printer is connected to the PC, either directly or by a network.
When a program sends a plot to the printer, it issues the command SEISANPR. In the COM
directory, there is a file called SEISANPR.BAT containing the print command. Several
suggestions are made in that file, the default is to use ‘COPY filename PRN’.
6. Testdata
The testdata set can be extracted from the file testdata_X.Y.tar.Z with for example the WinZIP
program. Extract the data to the SEISAN top directory. To use the test data base as the
default, add line set def_base=test_ in autoexec.bat file.
The program is called SEISAN.EXE and located in the PRO directory. To install it on the
desktop, do the following steps:
During installation, a file seisan.ini is created in the [c:\] directory (if, it does not exist) and
thereby the configuration variables are set from this file. If you want to work with different
configuration, the file has to be changed. In particular if you want to work with a data base
on a different disk drive.
[Seisan]
SeisanDirectory=c:\seismo\
WorkDirectory=c:\seismo\work\
ProgDirectory=c:\SEISMO\PRO\
DatabaseDirectory=c:\seismo\REA\
[Database]
LastDatabase=CUB2_
LastYear=1998
LastMonth=04
IndexFile=[None]
Running SEISAN on a PC with data on a Unix system, or the other way around. With SAMBA,
a can be mounted between different platforms, for example a Unix file system under Windows.
The SEISAN_TOP must then be set to the name of the Unix disk a seen on the PC. All files
can be read directly from the Unix disk, EXCEPT IASP91.HED and IASP91.TBL which must
be the PC version. This is most easily solved by putting these two PC files in the working
directory on the PC. With SAMBA, PC users can then access a Unix SEISAN data base
directly using the programs on the PC.
Potential problems
17
Program takes a long time to load: If the program is large, it might use disk swap files, which
can take a lot of time. Reduce array size (seidim.inc in INC) and recompile.
Commands like P or L do not work in EEV. If swapping takes place, some damaged swap files
or other files might remain which prevents the program from starting. Clean disk with
command SCANDISK.
Command EXTRACT does not work, either directly or from eev (out-command). The Windows
extract command is used instead of the SEISAN extract command. Rename the Windows
command or make sure the SEISAN command is first in the path.
Digital Fortran seems to be very sensitive to viruses. If you get memory problems or programs
will not run, particularly under EEV, check for virus.
If SEISAN runs with a different top directory than seismo, however on the PC commands WO,
DA etc will still refer to \seismo\wor etc. Edit files wo.bat etc in COM.
Graphics problem: Graphics programs write text to a console window. If there is a program
crash, the error message goes to the console window, which then disappears.
When you want to use SEISAN with your own data, the necessary directory structure must
first be created and your own station coordinates and crustal model must be defined. Both
REA and WAV directory structures are created with the program MAKEREA. The program
asks for database name (must be 1-5 letters and UPPER CASE), start time (year and month),
end time (year and month) and the structure to create (REA or WAV). An output will then show
the names of directories created. If a directory already exists, a message will be given. It is
possible to create both structures at a time, since the program after finishing asks if the
respective other structure should be created.
Once you start locating events, the location program HYP will look for an input file with station
coordinates, location parameters and crustal model. This file is located in the DAT directory
and called STATION0.HYP. To edit the file, move to the DAT directory by using command DA
and edit the file. For more information about this file, see section 6.1. If you want to keep the
original file for test purposes, first copy it to a file with another name.
When plotting epicenters (command EPIMAP) input files with map-contours for the EPIMAP
program are used (type *.MAP). These files are also located in the DAT directory. If you want
to use more detailed map contours, you must get hold of your own data and put them into file
called e.g. MYMAP.MAP. In the DAT directory there are two sets of contours: WORLD.MAP
and EUROPE.MAP, a more detailed European map than found in WORLD.MAP. Detailed
map files in SEISAN format for the whole world is found at the SEISAN ftp site and the
SEISAN CD.
The plotting program MULPLT can use a default file for those stations, which are to be
routinely plotted, as well as other default information. This is defined in MULPLT.DEF in DAT,
see example file. MULPLT.DEF also defines which keys are assigned to which phases and
what character is used for the mouse. An example is given in DAT, see also example in 6.2.
18
Both the MULPLT.DEF and STATION0.HYP can also be in the working directory. Programs
always look there first and on a multi-user system, this enables different users to have their
own setup. It also makes it possible to work with different setups by just changing directory.
The bulletin program requires a front page with whatever you like and some set for fonts can
be made. The text of this page is located in the BUL.INP file in the DAT directory.
All programs using color can use a color definition file called COLOR.DEF. The file can be
located in the current working directory or in DAT. Programs will first look in the working
directory, then in DAT. If no COLOR.DEF file is given, default is used. Be careful with color
setting, unexpected results might occur, like getting a blank screen when plotting white traces
on a white background. Several color settings are universal like setting colors for titles,
however several color settings are specific for particular programs, see example file below.
Since colors can also be used for the Postscript file, there is an option for using color on the
screen but not for Postscript, since it is more likely that the user will have a color screen than a
color Postscript plotter. Sending a color plot file to a black and white laser printer results in a
plot with gray tones.
This file is for defining SEISAN color objects. If no file available, default colors, as given at end
of line below, will be used. The entries can come in any order, however the keyword MUST
appear as shown below. If an object color is not defined, it will retain its default value. If a black
or white background and no colors are chosen, all colors will be reset accordingly.
Note: The colors do not work on Linux Redhat 5.2. Problem was not fixed. Most likely the
colors will not work on other Linux distributions.
The SEISAN distribution for all platforms includes the executables. Therefore in general it is
not necessary to recompile. However, you may have the source distribution or you might want
to modify some of the programs for your own needs or remove bugs and will have to compile
programs.
The SEISAN programs on all platforms can be compiled using the make utility, which is make
on Unix and nmake in DIGITAL Visual Fortran under Windows. On all platforms there is a
‘Makefile’ in both the PRO and LIB directories. The files might have to be modified, check
inside the Makefiles for instructions. If you have the SAC libraries installed on your system,
you need to modify the SACLIB entry in the PRO/Makefile, otherwise SEISAN is compiled with
SAC dummy routines and you will not be able to read or write SAC files. The default setup in
makefile is sac_dummy.o.
After you have changed the Makefiles according to your system, the compilation can be
started from the PRO directory by starting ‘make’ on Unix and ‘nmake’ on Windows. From the
Makefile in the PRO directory, the Makefile in the LIB directory is started to create the object
libraries. This does not work under Windows, so you first need to start ‘nmake’ in the LIB
directory, and afterwards in the PRO directory. Then a SEISAN archive is created, ‘seisan.a’
on Unix and ‘seisan.lib’ on Windows. The archive contains all library subroutines, and you can
easily link to the archive if you want to use SEISAN subroutines in your own programs. Finally
all programs are compiled. Single programs can be recompiled by starting ‘make program’ on
Unix and ‘nmake program’ on Windows.
If you do changes in the LIB directory you need to compile using make / nmake, which will also
create the archive file. Then you can recompile individual programs in PRO as explained
above.
It is possible to move SEISAN between all Unix platforms by changing the Makefiles, check
inside the Makefiles for instructions by searching for SUNOS, SOLARIS and LINUX. The PC
distribution is not the same as for Unix, which means it is not possible to compile the Unix
distribution under Windows or vice versa. Most of the programs are the same on Unix and PC,
but not all, which means the Makefiles are different. See section 7 for differences between the
platforms.
If graphics programs do no link, check that you have X11 libraries in $LD_LIBRARY_PATH.
You can check what is there by command echo $LD_LIBRARY_PATH.
The version number of this SEISAN distribution is 7.2. New from version 7.0 is that all
individual programs have a version number and a date of the last changes. This will help the
users and developers to find out which version is in use and from which date. This is particular
useful when bugs are reported. In case major bugs have been fixed, the new versions (same
version number, different date) of the individual program will be available on the anonymous
20
ftp site and a message will be sent to the seisan mailing list.
In all programs you can obtain the version number by starting a program with ‘-version’ as
argument. For example ‘collect –version’ will show you the version and date of your COLLECT
program.
There are several parameters which are common for several programs which are set in the
file SEISAN.DEF. This file can be in your local directory or the DAT directory. The system
will first look in the local directory, but normally the file is in the DAT directory. The file does
not have to be there since there are defaults for all parameters, but the parameters might
need to be set.
This file is for defaults for SEISAN and called SEISAN.DEF. The name must
be in upper case on Sun. The following shows the parameters which can be
set. The file can contain any lines in any order, only the lines with
recognized keywords and a non blank field under Par 1 will be read. The
comments have no importance. Numbers are real numbers.
KEYWORD............Comments.............Par 1.....Par 2
WAVEFORM_BASE Waveform base name AGA
WAVEFORM_BASE Waveform base name LOF
WAVEFORM_BASE Waveform base name BER
WAVEFORM_DIRS Waveform directory /net/seismo/seismo/WOR/seisnet
MERGE_WAVEFORM Code for merging wa NSN
MAP_LAT_BORDER dist from center 3.0
MAP_LON_BORDER " 6.0
EPIMAP_STATIONS pl. st. a for all
EPIMAP_MAP_FILE name of map EUROPE
EPIMAP_PROJECTION real number 3.
SPECTRAL GEO_DEPTHS 10.0 14.0
HERKIJ_DISTANCE 100.0
REG_KEEP_AUTO deep phases when reg. 1.0
COPY_WAV_DIR data base copy reg. BER
TEXT_PRINT printer command EEV nenscript -Psps
REG_KEEP_AUTO keep phases when reg 1.
HIGH_ACCURACY high accuracy (0/1) 1.
Waveform base: Name of waveform data base to be searched. Normally this is a 1-5 letter
data base name. The name must be written as shown above under Par1. Not needed for
the default data base.
Waveform_dirs: The complete path to directories where the system should look for
waveform files.
Merge_waveform: The network code given to waveform files merged with MULPLT when
running from EEV. See MULPLT and EEV. Max 3 characters.
Map_lat_border, map_lon_border: These parameters are used with command MAP and
GMTMAP in EEV, which plot a map centered on current epicenter. The two parameters give
the distance in degrees from the epicenter that the map should be plotted. If both set to ‘0.’
EEV will ask for the parameters.
21
Epimap_stations: One letter indicator for plotting stations, in first column. See EPIMAP
program for codes. A is all.
Epimap projection. The projection number used by EPIMAP, see EPIMAP program for
choices.
Epimap_map_file: The map coordinates file to use with MAP option in EEV
Reg_keep_auto: If flag set to 1.0, keep automatic pics when registering event from EEV.
Copy_wav_dir: Normally, waveform files are copied to WAV when registering an event. If this
parameter is set, waveform files can be copied to the WAV data base specified. Max 5
characters.
High_accuracy: Setting it to 1.0 enables high accuracy operation. This parameter affects
programs MULPLT, HYP and UPDATE
Since most SEISAN programs are written in Fortran, the format descriptions follow the
Fortran convention. The following are the main format descriptors:
In: Integer format: E.g. I5 means an integer with 5 digits normally right justified. A
completely blank field will be read as zero. Examples:
123456.. (Position)
1100 read as 1100
11 read as 11
read as 0
Fn.k: Real number format: E.g. f7.3 is a real number occupying 7 places like 111.111 and
the decimal point is 3 places from the right. Any real number can occupy the 7 places like
1234567 (Position)
1.1
1.1
1.1
All of these will be read as 1.1. If there is no decimal place given, it is automatically put k
places from the right. Like the number 1234 read with f4.2 will be read as 12.34.
4. USING SEISAN
Once the system has been installed, it is ready to use. Usually all work should be done in the
WOR directory or on a multi user system from your own directory. To move to WOR, type
WO. Unless you have to do system work, it will not be necessary to move to any other
directories. However to do so, just type the first two letters of the directory name like DA to
move to the DAT directory. On a PC the Edit editor is default (invoked with command edit),
and on SUN the vi editor.
The system has two basic modes of operation. The first is to work interactively with the
database. That means jumping around from event to event, plotting, interactive phase picking,
locating, deleting, typing, editing or appending events (S-files). This mode is invoked with the
command EEV, which uses several programs, controlled by a driver program and is intended
for testing and editing of single events. Once the input data seems OK, the second mode of
operation can be used.
The second mode is more like traditional data analysis where single programs are made to
work on the whole or part of the database. In this mode the updated S-files and CAT-files are
created. Examples are also plotting of epicenters, waveform data or searching for data fulfilling
certain criteria.
The system comes with a test data set from different networks, mainly the Norwegian National
Network for the time periods 199309 to 200002. The data has waveform data in different
formats. The data set includes events from both local and teleseismic distances. The
installation of test data is separate from installation of SEISAN.
If you want to try the system, go directly to section 4.3 to get a feeling for how the system
works.
SEISAN problems: Some of the most common problems have been collected in the index
under the header "Problem".
The SEISAN manual has been divided into sections describing the individual programs.
However, many tasks require the use of many programs and it is not always easy to find what
can be done and which programs to use. The following section intends to give an overview of
some general problems that SEISAN can work with and a list of programs to use. The
following tasks have been identified:
Routine processing
The main work of a seismic observatory is to quickly process and organize incoming data
from different sources. SEISAN has a simple time ordered database (see later section) and
a set of programs for these tasks. The most important programs are:
EEV: The EEV program is the interactive program for working with single events in the
database. The program is used to navigate in the database to find a given event as well as
for 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, macroseismic information etc. All results of the interactive processing
are stored in the database (S-files).
MULPLT: This is the general plotting and signal analysis program and 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 3 component stations, rotate seismograms, display theoretical arrival times for
IASP91 phases to help identifying global phases and do spectral analysis. MULPLT can be
used from EEV or as a stand-alone program.
HYP: This is the general program for hypocenter location and is based on HYPOCENTER
(Lienert et al., 1986, 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 arrays. HYP can be used
from EEV or as a stand-alone program. Apparent velocity is currently only used for starting
location.
EPIMAP: This is the general hypocenter plotting program for making epicenter maps and
hypocenter profiles. The hypocenters can be plotted with elliptical error ellipses and
EPIMAP can also be used for interactive selection of events in polygon areas. For plotting
hypocenters, there is also an interface to GMT.
BUL: The function of this program is to produce a bulletin. The user can tailor the
appearance to local needs and the program can produce bulletins of hypocenters only or
both hypocenters and phase readings.
In addition to the above programs, several programs are available for database creation,
input and output of large data sets and conversion and manipulation of waveform data.
In order to get an idea of how routine processing works, some examples of routine
processing will be given below.
The network generates waveform event files, which are transferred to SEISAN. The tasks
are:
1: Convert waveform files to SEISAN format (many events can be converted in one
operation). Inspect events with MULPLT. From MULPLT, false triggers are deleted and real
24
events are put into the database. Events are at this stage identified as local, regional or
distant. Phase picks can be done at this stage, but is usually done later.
2: Interactive phase picking, earthquake location, magnitude etc done with EEV. Automatic
phase picking is also possible at this stage.
3: Database is updated (UPDATE) once a suitable interval has been processed interactively,
usually a month. Updating means permanently storing the hypocenters etc in the database.
The routine is the same as above except for one additional step between 1 and 2. Since
several data sets are available, some of the detections from different networks or the broad
band station might correspond to the same event. There are now two options. The first is to
merge the waveform files for corresponding events and then put the events into the
database. The second option is to put all real events into the database and then do the
merging from EEV.
The steps are as in case B except that before step 2, the additional phase data is put into
the database. In this case the merging of events must be done with EEV.
It should be noted that data collection and step 1 to 3 is fully automated using SEISNET
(Ottemöller and Havskov, 1999).
Find event in default database nearest the given date and time: EEV 1999020303
Once EEV is started, an EEV prompt is given and different EEV options are available.
Examples are: E: Edit event, P: Plot event, L: Locate event, F: Make fault plane solution,
d2201: Find event nearest day 22 at 01 hour, MAP: Start EPIMAP to show earthquake
location and SAC: Start SAC processing of event using all parameter and waveform data
from SEISAN database.
The above examples have mostly described the interactive processing of single events.
However, once the data is in the database, operations can be done on the whole database,
for any time interval or for events fulfilling certain criteria (like magnitude, area etc).
Examples are relocating events, extracting data and determining coda Q.
Source parameters
The routine processing normally produces magnitudes and hypocenters. The fault plane
solution can be determined using polarities and one event (Snoke et. al., 1984). Composite
fault plane solutions can also be made. A second way of determining fault plane solution is
to synthetically model the waveforms using the modeling programs. In addition, seismic
moment, stress drop and seismic source radius can be determined by doing spectral
25
analysis or spectral modeling. This can also be done automatically with AUTOSIG. 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, are written by Bouchon (1981)
and Herrmann (Herrmann,1996). The ray-tracing program is based on WKBJ and written by
Chapman et al (1988) and integrated with SEISAN by Valerie Maupin.
All the above programs are executed from EEV in order to use known source parameters.
A large database can be a good source of information for determining structural parameters
and SEISAN provides several programs to determine the crustal structure and Q. Using
seismic arrival times, it is possible to invert for the crustal structure using the VELEST
program (Kissling et al, 1994). It is also possible to do forward modeling using the location
program for a large number earthquakes, since it at the end of a run, a summary of average
station travel time residuals and event RMS is given. A special option of HYP is to locate a
data set with all permutation of a given range of models in order to find the model giving the
lowest RMS.
Deep earthquakes under a local network produce clear phase conversion at crustal
interfaces (Chiu et al, 1986). They can be modeled with one of the full wave modeling
programs both with respect to amplitude and arrival time.
SEISAN can, when displaying surface waves, make spectral files ready to be processed for
surface wave dispersion with Herrmann’s programs (Herrmann, 1996).
Attenuation can be determined using the coda Q method for local earthquakes (CODAQ).
The coda Q program will calculate q for a series of events and stations at given frequencies.
Average values are calculated and a q vs f curve is fitted to the calculated values. The
principle for calculation is the standard coda q method, whereby a coda window is bandpass
filtered, an envelope fitted and the coda q at the corresponding frequency calculated
(Havskov et al, 1989). The SPEC program will determine Q by calculating spectral ratios or
the near surface attenuation using the spectral decay method. An alternative is to use
spectral modeling where Q, stress drop and seismic moment are modeled simultaneously.
Once a large database has been created, several programs are used to manipulate and
analyze the data. The catalog can be searched for a large number of parameters. Selection
criteria are: Magnitude range, magnitude types, event types (e.g. local, distant, volcanic,
explosion), latitude, longitude and depth range, RMS of travel time residuals, number of
stations used in the location, felt events, number of polarities, presence of certain stations
etc. Events can also be selected in an area with the program used for hypocentral plots.
A very useful source of data is the ISC. Data from ISC CD ROM’s can be read and
converted to SEISAN format (hypocenters and phase data) and put into a database. The
data can then be used for e.g. seismic hazard, fault plane solution or it can be relocated. A
general task with catalogs is to homogenize magnitudes. Magnitude relations between e.g.
Mb and Ms or Ms from one agency to Ms from another agency can be done with the
program MAG. The program will also convert one magnitude to another once the linear
regression has been determined. Event statistics can be made with STATIS and b-values
calculated with BVALUE. The number of events as a function of time is plotted with
CATSTAT.
26
Seismic hazard
The first requirement for interactive work with the event editor EEV is to get the data into the
database.
There are two ways to get data into the database, as described in section 4.2.1 and 4.2.2. It is
of course possible to make the individual S-files directly in the REA directories with the editor.
This would be rather slow, and be against the philosophy of the system. However, it is
mentioned in order to point out how simple the database structure is.
The SEISAN system can be used with or without digital data, the only difference to the
directory structure is that the WAV and CAL directories are present when using digital
waveform data. However the way of getting data into the database differs in the two cases
and will be described separately.
This means that the original data is individual digital event waveform files generated by some
data acquisition system. The waveform data can be stored in SEISAN, GSE and SAC format
as single or multi trace files. The files that are used in conjunction with the database are
normally stored in WAV but can also be in the user’s directory, e.g. WOR. The normal
scenario would be that multiplexed files would be transferred from a digital field station,
demultiplexed and converted to SEISAN waveform format. Programs are provided to convert
from most of the popular waveform formats like MINISEED, GSE, PCSUDS and from
commercial recorders. It is most practical to initially put the files in WOR, check the events for
false triggers, save the true events in WAV, make the corresponding S-file and a hardcopy of
the digital data.
All of this can be done with the program MULPLT. The program plots channels from a single
waveform file. The user can then interactively decide if this is an event to keep, in which case
an S-file is created in the database and the event is moved to WAV.
Alternatively, all new waveform files can be auto-registered into the database (AUTOREG) and
all checking takes place from EEV.
27
When digital data is the input to the analysis system, MULPLT is the program to use to get
data into the database. From there on further analysis can be done with EEV (picking phases,
locating and editing). MULPLT is also the program used with EEV. For more details on
MULPLT, see detailed description in section 6.2.
In this case the user would get phase data from other sources, e.g. analog seismograms or
files with readings from other stations and agencies. These files are assumed to be written in
Nordic Format. Conversion can be done from other formats like ISC, NEIC and HYPO71.
If a user already has a file with one or several events in Nordic Format, this file can be split up
into single files which are copied (from any directory) into the database by using the command
SPLIT. Creating a new file in Nordic Format can also be done with the program NEWEVE
(use command NEWEVE).
The SPLIT program then reads the NEWEVE output file and writes out single S-files with
correct names either in the current directory (default) or in the database specified (BER or
another). The reason that the database specifically must be given is that the user should not
accidentally put data into the database (see section 6.6).
Duplicate ID:
Since the database consists of single files with names corresponding to time down to the
second as well as the event type (L, R or D) it will sometimes happen that two events will get
the same name. Thus copying in a new event with the same name could overwrite the existing
event, and the user would never know. In SEISAN, from version 5.0, some security has been
put in. New data can enter the database with 4 programs: SPLIT, EEV, MULPLT and
AUTOREG. With all programs, the user will be prompted if a new event is about to overwrite
an existing event. Both SPLIT and EEV have the possibility to create alternative ID’s if the user
wants both the new and old event, while MULPLT and AUTOREG just offers the possibility to
skip a double event. If a new ID is created, an attempt will be made to use a time one second
later. If that also corresponds to an existing event, the next second is attempted etc. This
allows for 60 events to be registered in the database with the same minute and event type. If
an event has got the ID changed, the header line in the file is NOT changed, however the ID
line is of course changed. This will be indicated on the ID line with a ’d’ at the end of the ID
number.
Deleting events:
Event here means S-file in the database. Events are only deleted when using EEV, either with
the EEV delete command D or the EEV append command A. In both cases, the deleted event
is stored in the DELET database before being deleted from whatever database. Even if the
system contains many databases, there is only one DELET database. This means that deleted
events from different databases are mixed in DELET. In order to restore an event, enter
DELET database with EEV and copy the deleted event back with the C command. It is up to
the user to manually clean up the DELET database.
There is one more final security. If an event has been deleted from a database, but an
UPDATE has not yet been made, the event might be in the CAT part of the database and can
28
In the REA directory, a binary file called REA.LOG contains information about number of
events in all data base. Initially the file has no information, but each time programs EEV, HYP,
UPD, CHECK_BASE or COLLECT are executed, the information is updated for the months
accessed. The information can be displayed with program BASE, which first shows available
data bases and the user, can then select one to get info for particular months. Make sure to
use right case for data base names, always in upper case on Unix systems. The program is
still a bit experimental !!
Check content of S-files for magnitudes and residuals etc, program CHECKRE:
The program can read data bases or CAT files and check events for large residuals, abnormal
depths etch. The program is intended for quality control, the parameters hardwired in the
program might not suit all. Check program source listing.
The data base depends on error free S-files and that there is a correspondence between the
S-file name and the event ID. This should normally be ok, however errors can occur during
editing or there can be program crashed producing errors. The program reads the data base
and checks for:
No correspondence between ID line and S-file name: A serious error has occurred. try to find
out what is correct, the ID or the file name. An UPDATE cures the problem, however data
might be lost.
Error in S-file: All parameters are checked and files with non standard parameters are
indicated. The error can be a number in a wrong position. The errors should be corrected.
For all the above 3 cases, an index file is generated with bad S-files and EEV can the be used
directly with the index file to access the bad S-files. THIS ONLY WORKS WITH ONE DATA
BASE AT A TIME.
Several routines have been changed in this version in order to make SEISAN use higher
higher accuracy. The goal was to have an accuracy of 1 ms in time and 1 m in location.
In order to write out the high accuracy numbers, a new parameter has been added to
SEISAN.DEF. The parameter is HIGH_ACCURACY. Setting it to 1.0 enables high accuracy
29
operation. This parameter affects the programs MULPLT, FK, HYP and UPDATE.
Station locations: The station file looks like before except that in order to get higher
accuracy of station locations, the minutes of latitude and longitude are specified without the
point. E.g. the minutes 22.122 can now be written as 22122 in the same columns as before
while if the point is given, only 2 decimals can be used as 22.12. This changes do not affect
any old station coordinates. Programs reading station coordinates, will use high accuracy
input if available.
EPIMAP will always read in high accuracy mode, if any high accuracy data is present,
whether station locations or hypocenters.
FK will always read high accuracy station coordinates, if available and FK can therefore now
be used with very small arrays.
MULPLT will write the phase readings as f6.3 instead of f5.2 like e.g. 11.234 instead of
11.23. For normal use, this is not needed and the files look better if high accuracy mode is
not used.
HYP and UPDATE writes an extra high accuracy hypocenter line which has been given type
H. An example is
1996 6 3 2006 35.5 D 46.787 153.722 33.0 TES 15 1.9 3.4STES 5.8BTES 5.6BPDE1
1996 6 3 2006 35.511 46.78711 153.72245 33.011 1.923 H
The format is
Column
1 -15 As type 1 line
16 Free
17 Seconds, f6.3
23 Free
24-32 Latitude, f9.5
33 Free
34-44 Longitude, f10.5
44 Free
45-52 Depth, f8.3
53 Free
54-59 RMS, f6.3
60-79 Free
80 H
The idea of SEISAN for interactive work is that the user should be able to easily jump from
event to event and run several different programs with one event without restarting every time.
This is done with the command EEV (see below). In this interactive mode, events are picked,
edited, located, moved, deleted etc. until a satisfactory solution is found. In the interactive
mode, NO UPDATING of the location in the S-file or the permanent output CAT directory is
done since it is too easy in interactive mode to accidentally change something. The permanent
updating of S-files and CAT directories can only be done for one or several months at a time
(see UPDATE command) in order to ensure that nothing is forgotten within a month.
Once the events have been updated, further work can be done (like searching for specific
events or making a bulletin) using single programs which read directly from the database.
30
Most of the analysis programs will also work without using the database structure that is e.g.
searching in single file with many events. For more details of the analysis programs, see
section 6.
It is now assumed that data has been entered into the database. The fundamental tool for the
database is then the EEV program, which mostly works within the limits of one month in the
standard database or with whatever the user has of S-files in his own directory. Optionally,
EEV can also work with several months. A special option is to use a list of files in an INDEX
file, see end of this section and SELECT program. Some of the commands available within
EEV are also available within programs. See below for more details on EEV.
The EEV program reads the file names of all S-files in the database monthly directory (or local
directory or index file), positions the pointer at the first event and asks for a command to be
performed for the current event or to find another event. If the command is to use a program,
control is handed over to that program, which on completion hands control back to EEV. In this
way, many different independent programs can be used from within EEV, e.g. several different
location programs can be installed.
EEV with several months in alternative database: EEV yyyymm YYYYMM BASE
yyyymm is start year and month and YYYYMM is end year and month.
Databases can have 1-5 letter names and the user specify 1-5 letters. The real names in the
directory structure are always 5 letters so if the user specifies e.g. a base name of BA, the real
name will be BA___ . The full 5-letter name can also be used.
The commands in EEV mainly use only one letter unless a date or a number has to be given.
To get a short explanation, type ? and you will get:
-----------------------------------------------------------------------
Help on EEV
31
-----------------------------------------------------------------------
Comments to commands:
#XXX : Go to event by number. When giving a number, only give the number of digits needed,
32
no formatting. Thus e.g. to find event 7 or 777, write 7 or 777 respectively. If there is not an
event corresponding to the parameter specified, EEV will go back to event #1. In the number
command, # can be omitted.
C: Copy events
There are two options, copy the event to another database given by a 1-5 letter name (upper
case) or to a file EEV.OUT in your working directory. Several files can be extracted within one
EEV session to the same EEV.OUT file. A new EEV session deletes the previous eev.out file.
The C option can be used to recover files from the DELET database of deleted events. In
addition to making the EEV.OUT file, an index file is also made called indexeev.out. THIS FILE
IS NOT DELETED WHEN EEV STARTS UP since the intention is to be able to use EEV to
make an index file of interesting events from several months. You can then start eev with the
selected events with command EEV eevindex.out. Note: The other data base can also be a
local data base “,,” in which case EEV should not operate on the same local data base.
DXXXXX; The D-command is used to jump to another event at a given date and time,
normally only day is used: The hour can optionally be specified. E.g. d2205 will find the event
nearest in time after day 22 at 05 hours. If both day and hour is used 4 digits MUST be given
e.g. 0708.
Highest accuracy is the nearest minute.
D: Delete event
You are asked for confirmation. After the event has been deleted, all S-file names are read in
again and all event numbers after the deleted event are therefore changed. The deleted
event is automatically saved in the DELET database. If the event is present in the CAT file,
it remains there until the next update is done, see UPDATE command in 6.7.
DUP: Duplicates an event in the database. The duplicated event has an ID, which is one
second different from the original event. The command can be used to split an event in two
and then manually deleting phase lines in each.
E: Edit the event. As default on SUN vi is used and on PC edit is used. The editor can be
changed, see section 3. When control goes back to EEV, the file is checked for possible
typing errors or other format problems. If a problem is encountered, the line with the problem is
displayed with an indication of where the mistake might be, and the user is returned to the
editor. Alternatively the error can be ignored. The file is also checked for missing iD an
33
consistency between file name and ID. Problem: Some editors will keep a backup copy of the
original file so 2 files might be present with one e.g. with the additional extension .BAK. EEV
(from version 7.2) will only use the original file, but there is no check on what backup files
might accumulate.
Eyyyymm: Giving this command will make the current EEV session end with year yyyy and
month mm within the same data base. When EEV gets to the end of the month, pressing
return will move EEV to the first event of the following month instead of to the first event of the
same month.
FC: This command accumulates data in a file focmec.inp to be used for a composite fault
plane solution. For each event to be used, type command FC. See 6.16 for more details.
GMTMAP: Start ‘gmtmap.exp’ program (not included in SEISAN) to plot GMT map. GMTMAP
automatically creates a map using GMT. (UNIX only)
GRID:. Hypocenter is started up and will ask for the grid: Latitude and longitude range and
grid spacing. A maximum of 71 points can be used in each direction. The point with the
lowest RMS is found and the corresponding location and residual is printed on the screen. It
is now optionally possible to plot the contours on the screen. The map coordinates used are
as defined in SEISAN.DEF. Note that the grid search is using exactly the same parameters
as Hypocenter. This includes all weights and phase types. The depth is fixed to the depth
given in the S-file header line. For more details and an example, see application note
“epi.pdf” in INF.
H: Locate with Hypoinverse, no database update is made, no Nordic output format file.
HERRMAN: Herrmann’s modeling programs, only on Sun, might work on Linux, not tested.
HERSEI: Make a SEISAN waveform file from output of Herrmann modeling, only tested on
Sun.
HYPO71: Locate with HYPO71. The database is not updated (not well tested on PC).
IASP: Generate a file with theoretical arrival times for the current event. The command will
only work if the event has an epicenter and origin time in header line or a subsequent type 1
line, see also INPUTEPI and INPUTONE. These theoretical times will then be displayed with
mulplt, the next time command P is used in EEV. The theoretical times are listed in file
iasp.out. See section 6.20.3 for more information. The command can also be used directly
from MULPLT.
INPUTONE: Makes an additional type one line (hypocenter line) in the file. Enter the data
exactly under the columns indicated. The line will be entered exactly as written, so it is possible
to enter any part of the information.
INPUTEPI: Works like INPUTONE, except that it overwrites information on the first header line
if non-blank information is given. Use INPUTEPI to add information to the first header line like
e.g. the depth. If existing nonblank characters on the line are to be replaced by blanks (e.g.
remove a magnitude), use underscore "_".
34
INVRAD: Runs the moment tensor inversion program, see description below on moment
tensor inversion.
Jyyyymm BAS: This command makes it possible to change month and database during an
EEV session by giving a new year yyyy and month mm and optionally a new database BAS. If
no database is given, the same database is assumed.
L: Locate event with HYPOCENTER (same as HYP). The location does not update the S-file.
Lxx: Locate current event with event number xx. This is used to check if two events belong
together.
MAC: Enter macroseismic information, you will be prompted for all information. For details of
the type of information, see definition of Nordic format, Appendix 1. See also command
PMAC.
MAP: Start EPIMAP program to produce a map of current location. If a location is given in the
S-file, this location is plotted, otherwise the event is located if possible and the resulting
location used for plotting. The parameters for generating the map are set in the SEISAN.DEF
file (see 3.8).
NEW: Creates a new event in the database. The user is asked to give date and time and the
event is created in the current monthly database.
O: Give a command to the operating system. This is a very useful command, since it is
possible to do almost anything without leaving EEV, including starting a new session of EEV !!
E.g. the command ols on Sun and odir on PC would make a directory listing.
PUT: Register event. This option is mainly meant to be used with the SEISNET data
collection system. The command cleans up the S-file for all SEISNET operations. It removes
commented out ID-lines and copies the waveform files given for the event from the current
directory to WAV. The command is equivalent to the register command in MULPLT. If
events are auto registered with AUTOREG, the command can be used to clean up and
inspect incoming data without using MULPLT directly.
PO: Use MULPLT with defaults. This means that no questions will be asked and the plot
appears in multi trace mode with default channels and default filters as given in the
MULPLT.DEF file in DAT. Useful option for routine inspection of raw data.
PITSA: Run the Pitsa program, see section 6.13. (Not on PC)
PRINT: The current S-file is printed on the default printer, to set up printer command, see
SEISAN.DEF (section3.8).
35
Q: Quit EEV
RMSDEP: Calculates and plots RMS as a function of depth for current event. RMSDEP also
operates as a freestanding program with additional capabilities, see description in program.
SAC: Convert all data to SAC format and starts the SAC processing system ( not distributed
with SEISAN, must be obtained separately), not on PC.
Sxxxxxx: Search for next pairs of events separated in time by xxxxxx secs (max 999999). If no
value is given, 180 secs is used. The command is intended for finding events to be merged
after putting together two different data sets with
SPLIT. If a new time instead of the default 180 is entered, it will remain in effect for the
whole
EEV session. NOTE, that the search starts with the current event, so after using S, one
return to go to the next event must be given to start a new search.
SS: Find next unprocessed event in database. Events, which have status in ID line as
follows: SPL: split with SPLIT program, HYP: auto-located with HYP, NEW: new event
from EEV or ARG: registered by AUTOREG. The idea is that when new unprocessed
data have entered the database by one of these programs, it should be easy for the
operator to find the event. In EEV, an N near the end of the prompt line indicates an
event with this status.
T: Type event.
UPDATE: Updates (overwrite) S-file with hypocenter, magnitudes, residuals etc. Note that the
CAT file IS NOT UPDATED. This can only be done with stand-alone command UPDATE, see
section 6.7.
U: Update EEV event list. All S-file names are read in again. Is useful if data arrives during an
EEV session, like when using Copy command from another data base.
USERCOM: Starts user defined program with command ‘usercom –sfile <sfile-name>’, where
usercom is the command name. This command is useful for example if you want to start your
program to create a report based on the S-file, from EEV. Note: the usercom is not a SEISAN
program.
W: Check if event has waveform files. If so, check in which directory they are if present on
the system. The search will start in current directory, then WAV followed by all directories
defined with keyword WAVEFORM_BASE in SEISAN.DEF in DAT.
WAD: The program reads the data for the event and then asks if all phases are going to be
36
used or only phases of the same type like Pg and Sg. Ideally, only phases of the same type
should be used, however in practice it might be interesting so see all data, it might give an
idea about phase identification. The Wadati parameters will now be calculated and shown
on the screen. Optionally a plot can now be made. The plot shows the Wadati diagram. On
the left is shown all stations with corresponding S-P times. Any station on the plot can be
identified with the cursor. Point the cursor near a symbol and click and the station data will
be shown in the upper right hand corner. This facility is used to identify bad picks.
The plot output file is called wad_plot.plt.
Z: Automatic phase picking. A waveform file must be present. See also the AUTO program
section 6.15.
eev 199311
In the above example (PC), the month has 18 events. For each event, vital information is
displayed: Date, type, hypocenter, RMS, first magnitude and number of stations (number in S-
file which might be larger than number used for location as given in S-file header line after a
location). In this way the user can quickly search for events wanted and get important
information without looking at all the details. The first event in the list is newly entered into the
database as indicated with the N near the end of the line. In the above example, a return was
made to go to next event until event #7 after which a jump was made to event 17. For this
event, all parameter data was displayed with the ’t’ command. A return was made to event 18,
another return and the event list was read in again and event #1 again became the current
event. Note that not all events had a location.
Below are shown examples of the commands (C)opy, (D)ate, a(S)sociate and (A)ppend.
Comment are preceded by ’!’ and written in bold. The database is EAF.
***************************************************************************
When the interactive location is finished, the database should be updated, see section 6.1.
***************************************************************************
Since the EEV procedure or the HYP program will work on an index file, the user can create
a subset of his own interesting events to work with by creating his own index file with just
these events. The index file can be created by searching through the database using
SELECT or it can be created manually with the C-command in EEV.
Local database:
If data is extracted by using the COLLECT or SELECT and then split up again using SPLIT,
it is possible to keep all files in a working directory by not specifying database when splitting
up. Another simple way is to use the Copy function in EEV and copy directly from a named
data base to the local data base. Programs will then look for S-files in the current directory
instead of in the database.
In addition to working with index files, there is also the possibility of storing data in different
databases. By default, the data is always stored in BER. However, the user can also create
another database structure (file structure) with another name and programs and procedures
will work on that database too. There are some restrictions: The new database, which is a
subdirectory under SEISMO/REA, just like BER, MUST have a 1-5 letter name. Currently,
the alternative database is used in our Institute to store data from other agencies like NAO,
which in some cases are copied to our own database (C-command under EEV).
The name DELET is reserved for the DELET database, which is always present.
The program is written by John Ebel (Ebel and Bonjer, 1990) for moment tensor inversion
for very local events. The program uses instrument-corrected amplitudes of the direct
39
(upgoing) phases of P, SV and SH phases and makes a linear inversion for the moment
tensor. The program then finds the largest double couple component of the traceless
moment tensor. For more details see file invrad.txt in the INF directory.
The original program has been slightly modified in input and output to be integrated with
EEV in SEISAN. The steps to get the fault plane solution are:
1: Plot each trace and select preferably the first clear amplitude of the direct wave. Mark the
amplitude as usual and associate the amplitude with phases Pg or Sg (direct phases). The
polarity must also be indicated since the inversion program uses the polarity of the
amplitude. The amplitudes MUST be picked on instrument corrected traces if all instruments
do not have the same response function.
At least 5 amplitudes must be selected. S phases picked on vertical or radial components
will be considered SV while S-amplitudes picked on transverse components will be
considered SH. Phases picked on NS or EW component cannot be used. If these new
phases are not to be used for location, they can be weighted out.
2. Update event with command update to make distance and azimuths available.
3. Use command INVRAD to do the inversion. This command does several things hidden for
the user:
- Creates the model input file for INVRAD called invrad.mod. This file is created from the
STATION0.HYP file, either from the current directory or DAT.
- Creates the data input file for INVRAD called invrad.inp. This file is made from the current
database file (S-file) by extracting all amplitudes associated with Pg and Sg amplitudes and
converts to P, SV or SH amplitudes in microns.
The depth of the event is taken from the S-file header and the estimated error is fixed to 0.1
micron.
- Runs the INVRAD program which produces the invrad.out file
- Reads the invrad.out file to get the fault plane solutions which overwrite the current fault
plane solution in the S-file. If you do not want to get the current solution overwritten, put a
character in column 79 on the solution, see also focmec program.
The program is an alternative to the standard EEV and it has all the functions of EEV. The
main difference compared to EEV is that is has a ’Windows type’ selection of events in the
database and that the most used commands in EEV and SEISAN can be executed by
pressing a Button. The intention is that the majority of routine tasks in SEISAN can be done
within the W95 interface without learning all the SEISAN prompt line commands.
When Windows is running, SEISAN can be started by clicking on the SEISAN icon if installed
(see section 3) or writing SEISAN on the prompt line. SEISAN will start up and show a figure
40
as shown in Figure 1b. In addition to the main SEISAN window, there will also be a console
window used for input and output since all underlying programs are started from the prompt
line.
Working directory
Most programs read and write to the current working directory. The name of the working
directory is displayed on the bottom of the screen. To change the working directory, press file
selection at the top left-hand corner.
41
Database selection
When SEISAN starts up, it will start with the database used when it last was closed. Other
databases can be selected with the ’Database Selection’ menu, which also displays the current
database. The choices are
2: A local database in the current working directory. The current working directory is displayed
on the bottom of the SEISAN screen. To change the working directory use file selection at the
top left hand corner.
3: An index file. The file name is selected on the menu ’Selected Index File’
Year and month selection: If a 1-3 letter database has been selected, the years and months
available are seen under year and month buttons and can be selected there.
42
Selecting an event
Once the database has been selected, SEISAN will work much like EEV. The event window
will show 12 events with the same information as seen in EEV. The total number of events for
the month is shown above the event selection box. The first event in the list will be the current
event. Any other event on the list can become the active event by clicking on it and it will be
highlighted. Events outside the window can be displayed using the scroll bar. In addition, all
EEV commands can be used including event selection commands. This works exactly as in
EEV. Write e.g. 22 anywhere on the screen, press return (or click on execute button) and
event 22 will be highlighted.
Commands
All commands from EEV can be used and they are used like in EEV. Typing e.g. ’l’ and return
(or click on execute button), will locate the event. While typing the command, it will appear in
the ’EEV Command Line’ window. The command can be edited and a command can be
repeated by just pressing the ’Execute’ button or hitting ’return’ again. However, the 4 most
used EEV commands can also be executed by clicking a command button:
Type: Will display the content of the S-file, same as EEV ’T’
Edit: Edit the S-file, same as EEV command ’E’
Plot: Plot the traces, same as EEV command ’P’.
Locate: Hypocenter location, same as EEV command ’L’
In addition it is possible to display the S-file header line by double clicking on the active event.
This corresponds to EEV command ’TT’.
Since all programs started by SEISAN are console based programs, the screen output and
input will appear on the console window. The console window will come in the foreground if
data is output or input is required. As soon as the action stops, the SEISAN window comes
back to the foreground. With a large screen resolution, it is possible to see both windows at
the same time. It is also possible to switch between the two windows by clicking on the ’View
Console’ button.
Since all programs under SEISAN run in the prompt mode, it is often practical to get a DOS
window on the screen. The ’DOS Prompt’ button will open a DOS window in the current
working directory from which SEISAN or other program can be executed. On NT, the
equivalent is a console window.
Other programs
UPDATE, SELECT, PROMAC and EPIMAP can also be started from SEISAN by clicking a
button. These programs have been selected since they are often used in routine operation.
43
The instrument response can be defined for each channel of digital data in either SEISAN or
GSE response format. There are three places in the system where it can be stored. Often the
instrument response is part of each channel header in the digital waveform file in SEISAN
waveform format (see the Appendix 2 for format description). However, the instrument
response is often not available at the moment the data arrives, or it is later discovered that the
response given in the waveform file is wrong. There is therefore by default a directory CAL that
contains one response file for each channel and for each date from which it is valid. Since the
filenames contain the date from which a change in the response was made and the channel
code and component code, a directory listing of CAL will give the history in chronological order
of the response of a given channel. This is the most common way to use the response
information in SEISAN.
Response information can also be kept in any other directory specified with the environmental
variable LOCAL_CAL. The variable must be set with the full path to the directory e.g.
/home/seismo/WOR/test/, or on PC, \seismo\new\cal\. On Sun it can be set in the .SEISAN file
and on PC in the autoexec.bat. The variable can also be set from the keyboard (Sun: ’setenv
LOCAL_CAL directory’, PC, ’set LOCAL_CAL=directory’. This is a useful option when testing
response files.
The response information gives the gain of a channel in counts/m and to get the correct
ground displacement, the count values must be divided by the response values.
In the current SEISAN system, only the analysis programs MULPLT and SPEC use the
response information when doing spectral analysis, generating Wood Anderson or ground
motion traces. The programs will look first in the CAL (or alternative) directory for a valid
response file and if not found there use the header information in the waveform file. A
message will be given if the file header information is used.
If waveform files are generated on the SEISAN system from raw field station files or other
input files without response information, the conversion programs (e.g. QNXSEI from a
SEISLOG QNX system) will look in the CAL (or alternative) directory to find the response
information to include with the Seisan waveform file. The response will be only put into the
SEISAN waveform file, if the response is stored in SEISAN format. The response files are
generated with RESP, see below and Appendix 3.
The RESP program (section 6.31) can be used to generate the response files. The filenames
for the response files are STATTCOMP.YYYY-MM-DD-hhmm_FOR where STATT is station
code, COMP is component, YYYY is year, MM is month, DD is day, hh is hour, mm is minute
and FOR is the format indicator which can be SEI or GSE. If FOR is not given, the format is
SEISAN. These names are different from SEISAN6.0. An example is BER__S__Z.1999-05-
05-1244. The file names can be changed from version 6 to 7 using program FIX7CAL. You
should take a backup of the response files before you run the program (see section 3).
The response files can be located in CAL, or, if many files are available optionally also in a
subdirectory structure. This optional structure simply consist of a subdirectory for each station
and the subdirectory name must have 5 letters so base BER would have the name BER__.
The system automatically locates the response files whether all are in CAL or in the
subdirectory structure.
1 SEISAN format:
a: Parameters used for calculating the response: Generator constant, filters etc. In addition,
the response (amplitude and phase) at 30 frequencies are listed. In this case the response is
44
a: Poles and zeros, number is unlimited, the response is directly calculated from the poles and
zeros.
b: Pairs of frequency amplitude phase, number of pairs is unlimited, the response is calculated
by interpolation.
When rotating signals, it is assumed that the response is the same on all 3 channels. !!!!
Response files can be plotted from MULPLT showing the actual response information that is
used with a given trace. Response files can also be plotted directly with program PRESP, see
below.
All or a subset of the response files can be printed out in a table with program PR_RESP. The
program must be executed from the directory with the response files. Make a listing (file
filenr.lis) of files to print out with DIRF and run the program. It will produce an output file ready
for printing.
A response file can be plotted with the program PRESP. The program is started with
command presp filename, where filename is the response file name. If no file name is given,
the program asks for a filename or number. If a DIRF has been made and the list of files in
filenr.lis is available, a response file can then be selected with a number. The program
produces a PostScript output file with name presp.plt.
It is often convenient to have multiple solutions of hypocenters in the database S-files or the
CAT-files. Typically data has been entered from different sources and merged to form a single
catalog. The first hypocenter line in the file is then considered the prime hypocenter estimate
and this is the one used by e.g. EPIMAP to plot the hypocenters. The order of the hypocenters
can be rearranged by CAT_AGA. Several programs use all the hypocenter lines. The
magnitude correlation program will search any hypocenter line and the database selection
program SELECT will optionally also use all the hypocenter lines. When the data base is
updated with a new location and magnitude (UPDATE, section 6.7), it is only the first
hypocenter line which is overwritten. If there is a magnitude in the 3 position, it is left
unchanged unless it has the same agency as used for updating. This is useful in normal
observatory practice, where it is common to put in some external agency magnitude which
then must be left unchanged. If more magnitudes than 3 are calculated, they will be placed on
a subsequent hypocenter line identified by having the same year, month, day and hypocenter
agency as given on the first line.
In order to merge different catalogs, it might be an advantage to put all the data into a
complete database where each event is one file, even when only hypocenters are available.
This is done by first splitting up the catalogs with SPLIT and then using EEV to merge the
events. Since there is no requirement for monthly directories to have data, this methodology
can also work for historical catalogs. The data can then subsequently be put into the CAT
database without relocation using the UPD command.
45
4.8 Printing
All SEISAN programs, that produce graphical output, also generate Postscript files. These can
be directly sent to a Postscript printer. It seems that programs like Microsoft Word don’t like
the SEISAN Postscript and you will need to convert your files to another Postscript, this can be
done for example with the program ghostscript using pswrite as output device.
Note: On Solaris 7, both the lpr and the lp command for sending files to the printer, don’t
create a copy of the file before sending it (bug in Solaris). This means that a plot file can be
overwritten before being sent to the printer. Therefore when SEISAN on Unix is sending plots,
the system waits for 5 seconds after a file is sent to the plotter before continuing. This is most
important when plotting continuous data or a large number of files with MULPLT.
Once data is in the database and the routine analysis has been finished by running UPDATE
(final epicenters recorded in CAT and the S-files), it is possible to go on with general work with
the data. This means searching the database, making a bulletin or plotting the epicenters. It is
also possible to use some of the more specialized tools of SEISAN which include working on
subsets of data or creating other databases, see 4.4.
For general use, the basic philosophy is that the user should not enter the REA directories. All
commands and programs should be used from the user' s own directory or the WOR directory.
To access part of the main database, the programs always ask for start and end date as
follows:
Note that the end time is inclusive, this means that e.g. 198806 includes all of June 1988.
Thus most programs will work from any given date-time to any other given date-time.
Programs that work directly on the S-files in the database (e.g. COLLECT) can work with any
time interval in which the database structure has been created. THERE IS NO
REQUIREMENT THAT THERE IS DATA IN THE INDIVIDUAL MONTHLY DIRECTORIES,
ONLY THAT THEY EXIST.
There are usually 4 options for database, either the standard base (often by default), the
user's own subset of the standard base (an INDEX file or S-files in local directory) or another
database. If the user has his own database specified by an INDEX file, the event ID' s must be
in that INDEX file. Since the index file gives complete file name of event files, the index file can
work on a subset of the main database.
Note that most of the programs are used as stand-alone programs, disregarding the database
structure. If one for example prefers to have all events gathered in one file rather than split into
many files and directories most programs will therefore work.
46
The document ‘SEISAN Version 7.1 - introductory training’ which is a tutorial for new users,
is included in the distribution. The testdata used in the exercises need to be installed, see
section 3. Going through the exercises of the tutorial might be the best way to learn
SEISAN. The exercises are based on the testdata that are distributed with the full version of
SEISAN. The document is given as PDF file (seitrain.pdf) in the INF directory.
The main goal of the introductory training course is to become familiar with the database
program EEV, the plotting program MULPLT and the location program HYP. Of course
additional reading of relevant sections in this manual is required. The exercises can be
completed within one or two days.
This section gives user manuals for programs and command procedures used with SEISAN.
Not all are as detailed as one could want, however many questions from programs should be
self-explanatory. Most programs will produce output files with the extension .out and
proceeding by the name of the program. E.g. output from collect, will be collect.out. Running a
program twice will erase the earlier output files. If these files are to be used later, remember to
rename them before running a program again. There are several programs, which have
separate manuals in the INF directory.
The hypocenter program is a modified version of HYPOCENTER (Lienert et al., 1986, Lienert,
1991, Lienert and Havskov, 1995). The main modifications are that it can accept more
phases, locate teleseismic events and use input in Nordic format directly from the database. A
detailed manual (earlier version, hypocent.pdf) and some of the later changes
(hypocent_latest.pdf) is given in INF directory.
The program will accept P, Pg, Pn, S, Sg, Sn, Pb, Sb, Rg, T and Lg phases and when locating
teleseismic events most of the IASPEI phases (see below). If only P or S is given, the fastest
phase is used as in the original version of the program.
Azimuth:
The program also uses observed station azimuths as given in the Nordic Format. Station
azimuths can be obtained with either 3-component stations or array stations. This means that
the program can locate with one station if it has P, S and azimuth. Azimuth residuals
contribute to the overall rms, see TEST(52) and section on weight. In order to locate with one
station, azimuth and P and S, TEST(56) MUST be set to 1.
Magnitudes:
Magnitudes are calculated using coda or amplitude. Parameters are given in the station file
using the RESET TEST variables. For magnitude based on amplitude, the amplitude must be
given in nanometers in the input file (SEISAN standard).
where a,b,c,d are constants, log is logarithm to the base 10, amp is maximum ground
amplitude (zero-peak) in nm and dist is hypocentral distance in km (RESET TEST 75-78). The
default constants are for California (Hutton and Boore, 1987) which gives the following relation
48
Local magnitudes are only calculated for events with epicentral distance LESS THAN
TEST(57) (default 1500 km) and if the period is less than 5.0 secs. All amplitudes for the
phases L, S_ (_ means blank), Sg, AMP or blank are used. This means that if an amplitude is
picked on both Lg and Sg, both will be used. The period is not used.
Mc = a * log(coda) + b * dist + c
where coda is coda length in secs (RESET TEST 7-9). If a is given as a negative number, the
following formula will be used
Mc = abs(a)*log(coda)*log(coda) + b * dist + c
Coda magnitude is only calculated if the epicentral distance is less than TEST(57).
Ms = log(amp/T)+1.66log(dist)+3.3
where T is period. Amplitude is in micrometer and distance in degrees, however in the Nordic
format nm and km are used and the program converts. Ms is only calculated if the period is
larger than 10.0 seconds in which case the program automatically assumes that Ms is the
wanted magnitude.
Mb is calculated using
Mb = log(amp/T) + Q(dist,depth)
where Q is a hardwired function of distance and depth (Veith and Clawson, 1972). Mb is only
calculated if the epicentral distance is less than 100 degrees and the period is in the
range 0.2 - 5 secs and either the phase is P, AMP or the phase is blank and the
epicentral distance is larger than TEST(57).
NOTE: If an amplitude has a given period between 5 and 10 secs, it is not used for magnitude
calculation, see above. If an event is not located, there will normally be no magnitude
calculation and all magnitude and distance information is deleted from the output S-file
(hyp.out) except, the magnitude in the 3 position on the header line if it has an agency different
from the default agency. The only exception is that if a coda is given, the epicentral distance is
retained and coda magnitude will therefore be calculated. This means that for events, which
cannot be located, it is still possible to calculate coda magnitudes by manually entering the
epicentral distance on the line containing the coda length.
On the first header line, there is room for 3 magnitudes. If there is a magnitude in the 3
position, it is not overwritten, so there will only be room for 2 magnitudes on the first header
line. If more magnitudes are calculated, they will be written on a subsequent hypocenter line,
which is identified by having the same year, month, day and hypocenter agency as the first
header line. This means that there is room for a total of 6 magnitudes, which can each, be
updated when relocating. Hypocenter info and all 6 magnitudes can be printed out on one line
with program REPORT.
All magnitudes can have a station dependent correction given in the station file. This correction
does not affect the Mc in the print.out file.
49
Only calculate magnitude: If TEST(106) is set to 1.0, only magnitudes are calculated, provided
a distance is given.
Uncertainty in absolute times often makes it necessary to be able to use the difference in time
between two arrivals such as P and S or P and L. If no absolute times are available, the
calculated origin time will be close to that at the first arrival station and is of course
meaningless. However, a perfectly good epicenter and depth can still be obtained from P-S or
P-L differences alone. To enable this feature, set the weight for the P phase input record to 9.
This P is then assigned a weight of 0, effectively disabling its use. However, a time residual
and azimuth, etc., will still be calculated for it, enabling an assessment to be made of its
absolute time. A search will then be made of the entire input phase set for an S or L phase at
the same station. If such a phase is found, its variables are used to store the observed and
calculated difference times and their derivatives, and it’s weight (0-4) is used for the difference
phase. DON' T SET IT TO 9!! If two or more such phases (e.g., SN, SG, LG, etc.) are found, all
their differences with the P time will be used instead of their absolute times. Blanks will appear
beneath ' hrmn'in the residual summary for all such phases, while the observed and calculated
difference times with the first P will appear beneath '
t-obs'and ' t-cal'
.
NB. There must be at least one phase with absolute time to get a location.
When locating globally, the program uses the IASPEI91 travel time software described by
Buland and Chapman (1983) and Kennett and Engdahl (1991).
HYP evaluates all the IASPEI91 phases (up to 60) at each delta, and searches for the phase
specified in the 4-character phase identifier. If no phase is found, the phase is given a weight
of -1, which effectively removes it from the phase set. If a phase is labeled as ' P ' ,'
S ' , 'PKP
'or ' SKS ' , and this phase is not in the IASPEI91 list, the first arrival phase having P or S as its
first letter is used, or PKP, SKS as its first 3 letters. In addition, include the PKiK phases in this
search for ' PKP 'and ' SKiK'phases in the search for ' SKP ' .
The IASPEI91 phase set currently includes: P, Pdiff, PKP, PKiKP, pP, pPdiff, pPKP, pPKiKP,
Sp, sPdiff, sPKP, sPKiKP, PP, P' P' , S, Sdiff, SKS, sP, pSdiff, pSKS, Ss, sSdiff, sSKS, SS,
S' S', PS, PKS, SP, SKP, SKiKP, PcP, PcS, ScP, ScS, PKKP, PKKS,
SKKP, and SKKS.
Normally SEISAN and the Nordic format assume up to 4 character phase names. However,
when working with global phases, the phase name length can in a few cases be up to the ISC
standard of 8 characters. The program then uses column 9 for weight (normally blank) and
column 11-18 for the phase. In this case it is not possible to give a polarity.
1. Multiple phases at two stations, but no azimuths. This is a non-unique case, even though
four different arrivals are present.
2. Less than three phases from three different stations and no azimuths.
3. A single phase at one station with an azimuth.
50
Note that if phases are weighted out due to large distance or a bad fit during the first iteration,
there might not be a location even if more than 3 stations are available.
Weighting:
4. Azimuth weighting: Azimuth residuals are divided by test(52), which is the error in azimuth
that corresponds to a one-second error in arrival time. For example, if test(52)=5 (default), a
phase residual of 5 degrees will become a residual of 1 (5/test(52)) in the parameter
corrections and rms calculation.
All the above weights are multiplied together to calculate the weight used in the inversion. If
the user-specified weight, w1, is changed by (2) or (3) above, changed to zero by the
consistency check, or set to -1 because the phase is not recognized, an asterisk will appear
after the final weight in the residual printout.
The parameter test(57) is used to determine whether a layered model or IASPEI91 software is
used to calculate the travel times and their derivatives. For the initial starting location, the
distances from each station are calculated and IASPEI91 is used if any of them exceed
test(57). However, this can be overridden by the distance indicator in column 22 of the Nordic
header record. If this is L, a crustal model is used regardless of distance, whereas if it is D,
IASPEI91 is used, while R has no effect i.e., test(57) is still used. So if either a crustal model or
IASPEI91 tables are wanted, use either L or D respectively.
The program uses a starting location algorithm (reset test(56)) which tests the rms of all
starting locations and select the minimum rms solution, see HYP manual.
User defined start location: If an S is written in the input S-file at column 45 of the epicenter
line, the location starts at the location (epicenter) given on the header line. If an S is written in
column 44 on header line, the depth iteration will start at depth given on the header line. If N is
written in column 45, the nearest station will be used irrespective of global settings.
Starting depth:
51
If no event specific start depth is given in S-file, the starting depth is taken from the first
number on the control line (see later) in the HYPO71 style. However, there is often problems
obtaining a reliable depth due to local minima. This can be manually checked with program
RMSDEP from EEV. HYP can also be set up to locate the same event starting with a range of
different start depths, and then choose the one with the lowest RMS. This can significantly
improve the reliability of depth determination. Selecting 3 to 5 different start depth is often
enough. This option is set on the control line in the station file.
Fixing location:
If a * is written in column 45, the event is not located, can be used if an external location is to
be kept unchanged
Using an F in column 11 of header line will fix the origin time given on the header line.
If both depth and location are fixed, but not the origin time, new origin time and residuals will
be calculated. This can be useful when working with readings from a few stations which should
be checked against known locations. If e.g. distant events are read, it is often the practice to
put in the PDE location on the header line and calculate residuals relative to the observations.
When the UPDATE is made, the agency of the location is NOT changed, assuming that if both
depth and epicenter are fixed, the hypocenter must come from an external agency.
Alternative model:
By default, an event is located using the STATION0.HYP input file. However, each event can
use its own model (with all the location parameters) which is specified with one character in
column 21 on the Nordic input file header line. The model then has a corresponding name. If
e.g. the model is called W, the corresponding input station file will be called STATIONW.HYP.
It is therefore possible to have as many different station files, as there are printable characters.
Note that if a different model x has been specified and is not present, the program will stop
with the message "STATIONx.HYP does not exist"
HYP has an option to locate a data set for a large number of different models and then
determined which model gives the lowest average RMS for the data set. This might be a
useful option, particularly when a sparse data set is available. In order to use this option, an
additional input parameter file h_model.par is given. When this file is in the working directory,
HYP will switch to multiple model mode SO ONLY HAVE THIS FILE IN WORKING
DIRECTORY IF MULTIPLE MODEL MODE IS INTENDED. When using this option, all
52
events must use the same STATIONx.HYP file, otherwise the program fails. Below is an
example of an input file
layer # start vp delta vp # delta start h delta h # delta
1 4.55 0.1 5 0.0 1.0 1
2 6.3 0.1 5 4.0 1.0 1
3 6.8 0.1 5 22.5 1.0 1
4 7.90 0.05 3 32.5 1.0 1
4 8.05 0.05 4 40.0 1.0 1
The first line is info only. Layer # is also only for information. For each layer, there is a start
P-velocity (start vp), increment in velocity (delta vp) and number of increments (# delta). The
following inputs are then the same for layer depths. There must be an entry for each layer
even if no variation is used. In the above example, no variation in layer thickness is tested
for. An example input file is given in DAT. The parameters for location not set in
h_model.par like Vp/Vs, Lg velocity etc remain unchanged.
When HYP starts up, it will print out how many permutations are required. If more than a
few thousand, reduce the number of models. In any case it is an advantage to first try with
just a few models to get a feeling for how sensitive the data is for model changes.
An output file h_models.out is generated, see example below. For each model tested, one
output line is given with the RMS and the model. In the example below only the last 5
models are shown. Since many models can have very similar average RMS, the best 10
models are printed at the end.
0.946 4.95 0.00 6.70 4.00 7.20 24.50 7.90 32.00 8.20 40.00
2.607 4.95 0.00 6.70 4.00 7.20 24.50 7.90 32.00 8.30 40.00
0.934 4.95 0.00 6.70 4.00 7.20 24.50 8.00 32.00 8.10 40.00
0.994 4.95 0.00 6.70 4.00 7.20 24.50 8.00 32.00 8.20 40.00
2.677 4.95 0.00 6.70 4.00 7.20 24.50 8.00 32.00 8.30 40.00
0.771 4.95 0.00 6.50 4.00 7.10 24.50 7.80 32.00 8.10 40.00
0.766 4.85 0.00 6.50 4.00 7.00 23.50 7.80 32.00 8.10 40.00
0.767 4.85 0.00 6.50 4.00 7.00 24.50 7.80 32.00 8.10 40.00
0.769 4.85 0.00 6.50 4.00 7.10 23.50 7.80 32.00 8.10 40.00
0.766 4.85 0.00 6.50 4.00 7.10 24.50 7.80 32.00 8.10 40.00
0.772 4.85 0.00 6.50 4.00 7.20 24.50 7.80 32.00 8.10 40.00
0.771 4.95 0.00 6.50 4.00 6.90 22.50 7.80 32.00 8.10 40.00
0.771 4.95 0.00 6.50 4.00 7.00 22.50 7.80 32.00 8.10 40.00
0.770 4.95 0.00 6.50 4.00 7.00 23.50 7.80 32.00 8.10 40.00
0.771 4.95 0.00 6.50 4.00 7.00 24.50 7.80 32.00 8.10 40.00
Running HYP:
The program is started with command HYP from the prompt line or with ’L’ in EEV. Below
follows an example of running outside EEV, explanations are in lower case. Note that the
STATION0.HYP file MUST be present in the DAT directory for HYP to know that it is working
with a SEISAN database. If not present, HYP will only ask for an input file name, see HYP
manual.
HYP
Arrival time data input, select one:
53
SEISAN database or : RETURN
Alternative database, give 1-5 letter code :
Local index file, name must start with index or :
Local database, write ,, or :
File name for one file in NORDIC format :
In interactive mode, as shown above, event date is printed out for each event and action is
taken as in EEV for the options available. If HYP run on a single file, the options above are
available meaning that HYP can select and locate different events in a single file using the
event number. If HYP runs on a database, the EEV options D and B are also available, but not
shown. If the option of no interactive input is chosen, the program will locate from beginning to
end without any more user interaction. This is a useful option for testing a subset of the
database with different models etc. without changing the database. Note that the input file or
database is never overwritten by HYP.
ALL TYPE ONE LINES WITH SAME AGENCY AS GIVEN IN STATIONX.HYP FILE WILL BE
DELETED SO THERE WILL NEVER BE MORE THAN ONE TYPE 1 LINE IN OUTPUT WITH
CURRENT AGENCY (except possibly a second magnitude line).
Problems: Sometimes HYP will not locate an event, look in the print.out file to see what
happened. In some cases, the initial location was put beyond the limits set by the parameters.
If e.g. an event is defined as a local event and no readings are to be used further away than
2000 km (distance weighting, see following table or TEST(41)) then no location will be
attempted. Try to change the event type to D and see if the event locates. In a few other cases
it might be an advantage to use a starting location.
Station input is given in near standard HYPO71 format in the file STATION0.HYP in directory
DAT. If however the user wants to try a different model without changing the standard model
in DAT, this is possible by having a STATION0.HYP file in the working directory, since the
program always looks there first for the STATION0.HYP file (see example at end of this
section). Another possibility is to use another model for just one event by setting a flag in the
phase input file, see below.
Below is an example of a STATION0.HYP file. The format is close to the HYPO71 format with
one extra line at the bottom. The test parameters 2-13 are as in HYPO71, see also
54
The magnitude residuals are added to magnitudes calculated for each station but the result is
only seen in the final average magnitude. If the magnitude correction is set to 99.0, the
magnitude is not used in the average.
NB: Moho cannot be the last layer, there MUST be one layer below interface marked with N.
The line with ** indicates optional Vs, density, Qp and Qs. This is information only used with
modeling, see section 6.19. Format for additional info is 25x,4f10.1.
55
Since the program locates distant events, max distance, reset test(41) must be set to a large
value. To avoid that local events move out in the blue, the parameters xnear and xfar must be
set not larger than 2000 to 3000 km. Xnear and xfar are only used for local events (flag L) and
regional events if the local crustal model is used.
HYP will assign reasonable default values for RESET TEST parameter. Below is shown a
summary. For full details see HYP manual. The number to the left is the control parameter and
D indicates the default value.
7-9: Duration magnitude coefficients used for calculating the coda magnitude, as MAG =
TEST(7) + TEST(8) * LOG(T) + TEST(9) * DELTA where
T is the coda length in seconds, DELTA is the hypocentral distance in km.
D: 7: 0.087, 8: 2.0, 9: 0.0035 (Lee, 1972)
If test(8) is negative, its positive value will be used and log(T) will be squared. Note
however, that the individual stations magnitude values printed out during the run of
HYP still will be using the unsquared log(T).
11: Maximum no of iterations in the least-squares rms minimization, D: 99.0
13: Increment in km for auxiliary rms, D: 20.0 km.
30: Initial damping factor, D: 0.005
31: Max degs of freedom: Set to 3 for determining origin time and hypocenter, set to 2 for
fixed depth solution (depth on phase headers), -2 fix all events to starting depth in
STATION0.HYP, 1 to fix all hypocenters to value on phase headers, 0 to fix
hypocenters and origin times to values on phase headers. D:3.0
32: Magnitude of parameter change for convergence, D: 0.05
34: Minimum spread to normalize residuals, D: 0.1
35: Bisquare weighting width, D: 4.685
36: RMS residual low limit for bisquare weighting, D: 0.0
37: Maximum number of increases in damping before fixing depth, D: 10.0
38: Least squares errors (0.0), damped least squares errors (1.0), D: 0.0
39: Factor by which damping is increased when RMS increases, D: 4.0
40: Depth origin of coordinate system, 0: sea level, 1:maximum elevation station in station
list, D: 0.0
41: Maximum distance (km) from nearest station at which hypocentral solutions will be
generated, D: 20000.
43: Minimum rms for residuals to be used in average station residual calculation - doesn’t
affect the final hypocenter solution, D:1.5
56
3.0
81: Disable location of local events if 0.0, D: 1.0
82: Disable location of regional events if 0.0, D: 1.0
83: Disable location of distant events if 0.0, D: 1.0
84: Disable ellipticity correction for distant events if 0.0, D: 1.0
85: A priori error(sec) of local events. This affects the error estimates, particularly when
few stations are present. D: 0.1
86: Number of degrees of freedom in estimating test(85) for loc. ev., D: 8.0
87: Confidence level, D: 0.1
88: RMS residual(sec) at which residual weighting is applied for distant events.
D: 10000.0
89: Use depth phases (y=1,n=0), D: 1.0
90: Use of core phases (y=1,n=0), D: 1.0
91: Same as TEST(85) for distant events,D 1.0
NOTE: In the Hypocenter manual, TEST(85) and TEST(91) have been interchanged.
HYP output:
Output from the program is a CAT-file (hyp.out) and the original HYPOCENTER print file
(print.out) with more detailed information. The hyp.out file can be plotted directly using
EPIMAP. In addition, there is also the HYPO71 style summary file, hypsum.out. NOTE: In
print.out and hypsum.out, year is only given with 2 digits. Magnitude in hypsum.out and
print.out are only coda magnitude and will be different from same magnitude in hyp.out if a
magnitude correction has been used.
When HYP is executed from EEV, the print.out file has no station listing. In all other cases,
there is a station listing.
The output in print.out first shows the content of the TEST parameters in the STATION0.HYP
file. After that comes some routine output from the starting location algorithm. Then follows the
output from the iterations, which should be self-explanatory. The location is then given on one
line containing origin time, latitude longitude (deg min), depth, number of phases, ?, rms
damping and errors, error estimates, resolution matrix. Last are the station lines with the
following abbreviations:
58
stn : Station
dist : Distance in km
azm : Azimuth at the source
ain : Angle of incidence at the source
phs : Phase
w : Input weight
hrmn : Hour minute
t-sec: Arrival time sec
t-obs: Observed travel time
t-cal: Calculated travel time
res : Residual
wt : Weight used, normalized to 1.0
m : The number of degrees of freedom in the spatial solution (maximum 3)
no : The number of non-zero weight valid phases, including azimuths, used in
the solution
A station weight wt=-1 means that the phase travel time could not be calculated.
Any change in the input phase ID is signified by an asterisk (*) before the phase ID.
If amplitudes are available, Ml, Mb. Mw or Ms will be calculated, and all stations calculating Ml,
Mb, Mw or MS will additionally be displayed at the end of the interactive printout.
Change of day:
If the origin time of the located event occur on the day before the time in the header line, the
time in the header line is changed to the previous day and all phase arrivals are changed
accordingly. This means that some hour values will be more than 23 since phase arrival times
refer to the main header.
Seismic moments etc: After locating an event, HYP will check if there is spectral information
(Moment etc, see MULPLT) available in the S-file and average values will be calculated and
written into the output file.
6.1.2 HYPO71
HYPO71 is a computer program for determining hypocenter, magnitude and first motion
pattern of local earthquakes written by Lee and Lahr (1972) using a stepwise statistical
regression procedure outlined in Draper and Smith (1966). The user’s manuals were
originally released by the authors as a series of open-file reports of the U.S. Geological
Survey and contain a full description of input and output parameters and usage. The
SEISAN version of the program is essentially the same as the original, the only differences
being in the input and output facility. Input data required are phase arrival times, station co-
ordinates and a crustal velocity model. SEISAN extracts the arrival information from a
Nordic format phase readings file and the station and velocity information from the station
input file STATION0.HYP, found either in the SEISAN data directory, DAT, or the local
directory. The format of the STATION0.HYP file is described in this manual in the section on
the HYPOCENTER algorithm (6.1.1). HYPO71 supports 13 test variables that influence how
the program goes about locating the earthquakes. The default values for these variables
were developed for the large and closely spaced networks in central California. These
variables are defined at the start of the STATION0.HYP file by the values of TEST(01) to
TEST(13). Brief definitions for each of these variables can be found below and full
definitions can be found in the HYPO71 manual.
59
EXAMPLE RUN
SEISAN constructs a HYPO71 format input file called hypo71.input, containing the station
co-ordinates, thickness and velocity for each layer of the crustal model and phase arrival
times, then runs the HYPO71 algorithm. The HYPO71 program generates a single output
file called hypo71.output. SEISAN reads the information contained in this output file to
create two further output files: hypo71.out, a Nordic format phase readings file containing
the calculated location; and hypo71.brief, a summary file containing origin time, epicenter,
depth, magnitude and station residuals.
HYPO71 is run from within eev by typing hypo71, at the command line. On successful
completion, the information from the hypo71.brief file is displayed on the screen. Below is an
example of the screen output.
Phase names
Weighting
1. User specified weights assigned by a single integer value in the range 0 to 4 for a given
phase. These will assign a weighting factor of 1, 0.75, 0.5,0.25 or 0.0 to that phase.
Also, a weighting of 9 will assign the absolute time a weighting of 0.0 but will allow the
use of relative times if a valid S-arrival is found for that station. The relative arrival time
will be assigned the weight of the S-phase.
2. Distance weighting as given by the relationship w = xfar - ∆ / xfar –xnear. The
parameters xnear and xfar are read from the STATION0.HYP file.
The user can specify the use of a starting depth and epicenter by entering the character ‘S’
in columns 44 and/or 45 respectively, in the header line of the input readings file. The
starting depth and epicenter are given by the values in the header line of the readings files.
Otherwise, the starting epicenter is set to be the latitude and longitude of the station with the
earliest P-arrival.
Using the character ‘F’ instead of ‘S’ in columns 44 and 45 of the header line fixes the depth
and/or epicenter to the values given in the header line.
Errors
The standard error output from the HYPO71 program is contained in an additional line in the
Nordic format readings output, hypo71.out, defined by the characters ‘83’ in columns 79 and
80.
A excellent good
B good fair
C fair poor
D poor poor
Q is taken as the average of QS and QD, where QS is a statistical measure of the solution
and QD is rated according to the station distribution.
D Other
QD N Gap DMIN
A 'HSWKRUNP
D Other
Magnitude
Both duration and amplitude can be used to calculate magnitudes using the standard
SEISAN methods. Duration, amplitude and period for each station are used to give a
magnitude value for each station. These values are averaged to give the event magnitudes.
Mc = a + b log10(T) + c ¨+ ¨ M
The Hypoinverse program has been implemented in a simple way and is mostly intended to
be operated interactively from EEV in order to compare locations. The main program has
seen very few changes and can be run according to the original manual (Klein, 1984) and
will not be described here. The program does not work well at large distances( > 1000km)
so use it only for local earthquakes. If original data, station and control files are available, it
is just typing HYPINV and it will run according to the manual. If none of these files are
available, they can be made with the conversion programs. The steps to run HYPINV
without EEV are as follows:
1: Convert a CAT file to Hypoinverse file by typing norhin inputfile. The inputfile in Nordic
format will now be converted to a file norhin.out in Hypoinverse format.
63
2. Make the control files by typing makehin. This creates the instruction file hypinst, station
file hypinv.sta and model file hypinv.mod. These files are standard Hypoinverse files. The
information is taken from the STATION0.HYP file in either the working directory or DAT.
Makehin cannot work with an alternative STATIONx.HYP file.
3. Type hypinv and the program runs. There is a one-line output per event on the screen
and the full output is in a file called print.out.
Running HYPINV from EEV, the above 3 steps are done automatically when using the
command H and in addition, the print.out file is printed out on the screen.
This program is the general plotting and signal analysis program. The program is capable
of doing general phase picking, correct for instrument response, and produce Wood-
Anderson seismograms for determining Ml, synthetic traces for Mb and Ms, determine
azimuth of arrival for 3 component stations and do spectral analysis. The program can also
read in theoretical arrival times for global phases for help in identifying phases. If a quick
location is needed based on a waveform file only, mulplt can both pick the phases and
locate the event.
MULPLT operates either as a database independent program (started with command
MULPLT) or in connection with the database (started from EEV with command P). If the
program works independently of EEV, it will create an output file mulplt.out in Nordic format
with the readings and results of spectral analysis. This file can directly be used with e.g.
HYP.
The program has 7 main functions illustrated below with the questions given by the
program:
Commands f and q: With a plot on the screen, q will always quit mulplt. F will, in single trace
mode, bring up the next channel, in multi trace mode bring up the next event.
Option 0 is particular useful for checking many new events, since the program does not ask
question about station choice (uses definition in MULPLT.DEF file in DAT, or working
directory) and typing f (when the plot is on the screen) automatically goes to the next file in
filenr.lis.
If option 1,2 or 3 is used, a display will show the available channels and the user can click to
select. If MULPLT is operated from EEV, a * in a channel box will indicate that readings are
available. When the channel selection is shown, it is possible to quit the program with q or
continue with f.
Running MULPLT using command MULPLT, the program asks for a file name or file number
of a waveform file. To use the number, it is assumed that a list of interesting files has first
been created and numbered in a file filenr.lis using command DIRF, see section 6.8. By
giving the number, the file corresponding to the number is used. By giving a ?, the list with
numbers is displayed and a new number can be given. If many files are to be plotted with
one command (hard copy only), give filenr.lis for file name and all events in FILENR.LIS will
be plotted. There will only be one question about filter and then all events are plotted with all
channels and the chosen filter.
Hardcopies assume a PostScript printer. For each event plotted, a plot-file called
mulplt.plt is generated. The plot files are sent directly to the printer from within the program
with the seisan print command as soon as the plot is finished for one event but before the
program is finished. In Unix, this is lpr or lp while on PC, the command is given in a .bat file
in COM (see installation section). This means that the same plot-file is overwritten for each
event plot. For setting up the printer, see installation, section 3.
In multitrace mode, many traces (number limited by the SEISAN system definitions, see
section 3) can be plotted. If the plot is made via EEV, all picks are also displayed.
Mulplt will search in current directory first. If not found there, the WAV directory is searched.
If the SEISAN.DEF file has been set up, MULPLT will thereafter try to locate the waveform
file in one of the databases or specific directory given in the SEISAN.DEF file (located in
DAT or working directory).
In order to process events more easily using SEISNET, EEV and MULPLT have been tightly
integrated. When MULPLT is called from EEV, command f will plot the next event in the
database, to go back to the same event in EEV, use quit. The event can be plotted with
default parameters from EEV using PO. If PO has been selected, the f command in
MULPLT multi trace mode will show the plot of the next event with default options. This is a
fast way of plotting waveform files going through S-files in a database.
If several waveform files are available, the user will graphically be shown the files and can
select one or several. If the PO option has been used, all default channels will be used.
65
Using this option the program asks for the following input:
Low and high cut for filter: Give values or return for no filter. Sometimes low cut filters are
unstable (a different routine used for continuous plotting) so if e.g. a LP record is to be
simulated, use filter limit 0 to 0.1 Hz. The zero means it is a low pass filter, not bandpass. A
filter 10 to 0 would mean a high pass filter. High and low pass filters are only available with
continuous plotting.
End time: This question only appear if plotting from EEV. The list of files is then the list of
events belonging to the data base used. Give end time as e.g. 2000050203
Max count: The absolute maximum count to be used for full scale. Since many lines and
possibly many pagers are plotted, it is not possible to use autoscaling, and like on a
seismogram, a fixed value must be set.
MULPLT will plot from the first file given from the filenr.lis file and then continue to plot as
long as more file names are given in filenr.lis. Alternatively if plotting from EEV, it will start
with the current event and continue until the end time. So if a month of data files are given, a
month of seismograms will be displayed. There is no requirement that the input files follow
each other in time (no time gaps) since each file is plotted on the page where it belongs in
time. However, the files must be time ordered. The continuous option can therefore be used
to check availability and timing of continuous data. Discrete events can also be plotted in
this mode if one want to get a display of when the events occurred. However, if filtering, it is
assumed that the files follow each other in time since a few points are carried over from one
file to the next to make the filtering continuous. Figure 2d shows an example.
When the trace(s) are on the screen and the cursor is displayed, then several options are
available. Most options can be displayed by pressing the MENU button in the upper right
hand corner. Pressing MENU again removes the option boxes. Commands can be given by
either pressing a letter or clicking on a box in the menu (Figure 2e). By pressing ? or clicking
on the Help button, the following help menu will be displayed:
Help on MULPLT
Most commands are given by pressing one key, however several commands can
also be given by clicking in the appropriate menu box on top of the screen.
If the full menu is not displayed, select the menu on top right part of the
66
screen. The following commands are available, first given by the single
letter command and if also available as a mouse click, the letters in the
menu box is shown. COMMANDS ARE CASE SENSITIVE.
c: Read coda.
e: Phase E
i: Phase I
M: Merge: Merge waveform file, mulplt called from EEV, only if files are
In working directory.
>: Print: Will make a hardcopy of all channels of current event with
the last selected filter, only in multitrace mode.
Filter options: The fixed filters (4/8 pole Butterworth) are placed
on keys z,x,v,b,n,m with the following frequencies:
z: 01-.1: 0.01 - 0.1 Hz Pressing key once gives a 4 pole filter one way
x: .1-1.: 0.10 - 1.0 Hz Pressing the key twice, and the filter also
v: 1 - 5: 1.0 - 5.0 Hz go the other way and it is now an 8 pole filter.
; 2 - 4: 2.0 - 4.0 Hz
b: 5-10 : 5.0 - 10.0 Hz From menu, only 4 pole filters are used.
n: 10-15: 10.0 - 15.0 Hz
m: 15-23: 15.0 - 23.0 Hz
Phase picking: This is possible in both modes. In Single mode, the phases
defined are shown on top with some of the options, while
they are not shown in Multi mode, but have the same
definitions.
Combining options: Note that you can select several options together.
E.g. V and S will first filter the signal and then
make the spectrum.
68
Saving observations: When you go to the next trace or another event (F),
the readings are saved in the S-file. They are also
saved when you pick the next trace in Multi mode. If you
quit by using Q, the last readings are not saved.
N O T E
A mouse click is either the mouse left-hand button or the SPACE BAR
-------------------------------------------------------------------------------------
Filters in MULPLT
MULPLT uses a 4 pole Butterworth filter that can be used forward and backwards. Normally
when a filter character or filter menu press is selected, the filter is only run one way and the
number of poles is then 4. This will make a small phase delay where the first onset might
appear a bit later, so if possible, read on unfiltered traces. If an 8-pole filter is desired, press
the filter key twice and the filter will also run backwards. This gives theoretically a zero
phase shift filter, however in practice, some of the onset energy is seen well before the first
arrival, so it seems to distort the arrival times much more than using the 4 pole filter. When
the program asks for a non fixed filter like when using the ‘.’(Filt) command, the filter is
always 4 poles. When doing spectral analysis and specifying a filter before the spectral
analysis, the filtering is done in frequency domain and the filter is 8 pole Butterworth. When
reading polarities, DO NOT USE FILTER, if possible.
The filter pass-band limits can be changed in MULPLT.DEF.. The user can also chose
between two filter routines: bndpas (default) and recfil.
The filter used in continuous mode can be either bandpass, low pass or high pass.
Specifying a filter limit of zero, means that the filter is low pass or high pass. Limits of 0 10
Hz means a 10 Hz low pass filter.
In each trace header in the SEISAN -waveform file, there is a flag to indicate if the time
might be uncertain (see Appendix 2). If that flag has been set, the message ‘UNCERTAIN
TIME’ will be displayed on top of the trace. Currently this flag is only put into the waveform
files if the data comes from a SEISLOG system that has detected a timing error.
69
Figure 2a An example of using MULPLT in multitrace plot mode. Notice that start and stop times are
different for different channels. The horizontal line at the start of the plot is the DC level. The small
number above each trace to the right is the max absolute count with the DC-level subtracted and the
small number to the left above the trace is the DC level. If plotting from EEV, the phase picks available
are shown.
70
Figure 2b Examples of MULPLT with theoretical arrival times of some global phases. Short period
seismograms are shown. The theoretical phases are marked with onset y below the trace and the
read phases are marked normally above the trace.
71
Figure 2c Example of MULPLT with theoretical arrival times showing global phases on a long period
seismogram. The filter used from 0.01 to 0.1 Hz. Without filtering, almost nothing would have been
seen on this broadband station.
72
Figure 2e Example of the menu, which can be displayed on top of the plot
Below is some more detailed description of some of the options. The one letter command is
given with the menu command in parenthesis:
To apply filters, first make a selection of options (filter, window, channel selection) and then
execute by pressing R(Plot) (or selecting a zoom window). Figure 2a shows an example.
In this mode, one trace is initially displayed on top of the screen, see example on Figure 3.
The traces used are the ones earlier selected and will be displayed one by one. Several
options are now possible as can be seen on the menu. Normally no hardcopies are made in
single trace mode since it is intended for fast routine work. However, by starting MULPLT in
multitrace mode (option 2) and then go to single trace mode (command T(Toggl)), hard
copy files are made.
Multitrace mode:
In this mode hard copies can be made. If option 2 is used, both screen plot and hard copy
files are made. If replot is made, only the last plot is available in the hard copy file. If option
3 is used, which is only hardcopy, there will be additional questions about, window length,
start time, scaling and filters. If the scaling is set so that the plot occupies more than one
page, several pages will be printed. If in this mode, filenr.lis is given as file name, the
program assumes that all the files should be plotted and the only questions will be about the
scaling and filters. All channels in each file will be plotted. This option is useful for plotting a
large number of events with a single command.
Normally channels are plotted in the order they are stored in the waveform file. By setting
the channel order parameter in the MULPLT.DEF file, it is also possible to plot the channels
in another order. If MULPLT is started from EEV, the channels will be plotted in the order in
which the stations appear in the S-file, which normally is in distance order if the S file has
been updated. However, if a particular order is required, the stations can be ordered like
that in the S-file. Since there is no consideration for channels for the same station, the
channels for one station, will be plotted in the same order as given in the waveform file. If a
station is not found in the S-file, it will be plotted last. If plotting is done with MULPLT directly
with a waveform file, the plotting order will be the start times as given in the waveform file
header. Channel ordering can be turned on or off with the key "-"(Dist). If set in the
74
Mulplt is the main tool for checking and putting new events into SEISAN. New events with
waveform data can appear in two ways in SEISAN:
(1) Unprocessed waveform files are available in a work directory and have to be inspected
and possibly put into the database. No S-files have been made.
(2) Raw data has already been put into a SEISAN database with S-files and corresponding
waveform files in some work directory, the data has not been checked. This process has
most likely been done with the automatic data collection software SEISNET (Ottemöller,
1999), however. events can also have been auto registered with program AUTOREG.
In both cases above, the aim is to inspect an event and decide if the event is real and
should be put into the database using option ‘p’. All work must be done from the directory
where the raw waveform files are located. The process of putting an event into the database
results in creating the S-file (option1), giving the event identifiers and copying the waveform
files of registered events to the waveform directory.
By pushing p(Regis), the user will be prompted for distance indicator, which has to be L, R
or D for local, regional or distant event. It is possible here to enter 2 characters like LE or LV
for local explosion or local volcanic event. The event type or event ID can be any character.
Three characters are predefined and should only be used if the following definition
correspond: P(probable explosion), E(explosion) or V(Volcanic event). The volcanic events
have a sub classification which can be entered when registering an event as volcanic, see
section 6.28. The process of registering the event into the database implies that a new S-file
is created or registered and in the S-file. An operator ID will be asked and the operator ID
will be put on the ID-line. The question about operator will only be asked for the first event
since it is assumed that all subsequent events are put into the same database by the same
operator.
The event ID, can later be used with the SELECT program to select out particular event
types.
When first putting an event into the database, the user is also prompted for database.
Option (1)
Data is available as waveform files only and a list of files must be made first with DIRF. Main
option 0, 1 or 2 can be used for plotting. The ‘p’ option creates the S-file and copies the
waveform file to the WAV directory. The waveform file remains in the working directory.
Unwanted waveform files can also be deleted so that when all events have been put in, only
waveform files of ‘real’ events remain in working directory. These can then be plotted with
one run of MULPLT, see section 6.2.1.
Option (2)
Data is available already in a database, however since the data has not been inspected, the
waveform files are still in a work directory. In EEV, the first unprocessed event in the month
is found with command ‘ss’ and MULPLT is started with command ‘po’ to invoke all defaults.
If the event is to remain in the database, it must be registered with option ‘p’. The process
and the questions are the same as in option (1) except that the S-file is not created since it
is already there. The S-file is cleaned for all processing information from SEISNET if
present. This normally also includes automatic phase picks. However, they can be kept if
parameter REG_KEEP_AUTO is set in the SEISAN.DEF file. The status of the files also
changes to being newly registered as under option (1) (see definition of processing codes in
75
Normally a series of events are registered first and MULPLT terminated. Then EEV is
started up for interactive picking and location. However, if preliminary processing is desired
while registering the event, this is also possible.
Phase picks:
If phases are picked before the event is registered, these readings are saved in the
database at the time of registration. After the event has been registered, MULPLT
automatically goes to the next event in FILENR.LIS and no more phase picking can be
done.
Picking phases:
The plot will display any pick present in the database (current S-file). To pick new phases,
position cursor at phase, press the key as indicated on top of the screen (if in Single mode).
E.g. pressing 1 will read IP. Pressing the same key again with the cursor at a different place
will delete the old one (indicated with a D) and display the new one. Additional default
phases, which can be picked, are i for I, e for E and A for AMP (note upper or lower case).
Keys for phases have default definitions, but can be redefined using the file MULPLT.DEF,
see below. The end of the coda is picked as a phase (C) and the program calculates coda
length IF AND ONLY IF A P-READING IS PRESENT.
Picking amplitudes:
Position the cursor at the bottom or top of a wave and press a, then at the other extreme
(bottom or top) and press a (do not use upper case, see below). There is no requirement for
going left to right or top to bottom, it can be done in any order as long as the two extremes
are marked. At each press, a cross is marking where the pick was made. After two presses
of a, amplitude (o-p) and period are calculated and stored with the NEXT phase picked and
76
the amplitude and period are displayed on the screen. If an attempt is made to pick
amplitude on a trace which is not in nm, the reading must be confirmed since SEISAN
assumes all amplitudes to be in nm (see section on instrument correction). If no phase is
picked, no amplitude is stored. It is often a good idea to store amplitudes with the
nondescript phase E or I since it then will remain even if the phase is deleted or changed. A
special phase AMP is also available to use with amplitudes (use key A after pressing a
twice). The amplitudes are always assumed to come in pairs so if e.g. 3 amplitude values
have been picked, and the user tries to pick a phase or quit the program, it will appear
frozen since the program is still waiting for the next amplitude measurement. It is always the
last pair of amplitude measurements, which are used. Amplitudes can be picked on both
corrected and uncorrected traces.
The amplitude value picked will be displayed below the trace. If the amplitude is not picked
on a ground motion corrected trace, the user will be asked to confirm if the amplitude should
be saved. This is to avoid picking amplitudes for magnitude calculations on raw traces by
mistake.
If A is pressed instead of a, the amplitude is read and marked automatically. Woks in most
cases, but sometimes two subsequent peaks are not correctly chosen and the amplitude
reading has to be done manually.
In the S-file, the component only has 2 letters while in the waveform file it has 4 letters.
There must therefore be a unique translation between the two. This definition is given in the
subroutine componen.for in LIB. Most common combinations are now defined, however if a
new one is defined in the waveform file which does not exist in componen.for, the first and
last letter of the input component will be used. If e.g. an input component is called SS Z,
then the code in the S-file will be SZ. This means that picks for stations with components,
which do not differ in first and last character, cannot be separated in the S-file. Component
names for rotated channels will be e.g. SR and ST for short period radial and transverse
components respectively.
Reading polarity:
If the cursor is above the horizontal tics on the sides of the plot, the first motion is also
picked and displayed. Do not use a filter if possible.
Assigning weight:
A phase can be assigned a weight. Move the cursor close to a pick and press one of the
keys 1-9 in UPPER case thus using e.g. !"# (default, can also be changed), and a HYPO
style weight is assigned and displayed. Although weights 0 to 9 can be put in, HYP only
used 0-4 and 9. Phases with associated amplitude, period, azimuth or apparent velocity are
displayed with a hat below on the phase indicator line. The default keys for the weights
might not be correct on all keyboards, if not, set keys in MULPLT.DEF.
The coda length can be quite variable among different operators and a function has been
made to automatically determine the coda length. The signal is bandpass filtered and the
77
end of the coda is determined by a standard STA/LTA procedure. The parameters are set in
the MULPLT.DEF file. Press C to find coda length. The coda length can only be determined
if a P-phase is present.
6.2.7 Theoretical arrival times for global and local phases and location
In order to assist in identifying seismic phases, there is an option for displaying the
theoretical arrival times of several global and regional phases while picking phases. The
steps to do so are the following:
1. Before entering MULPLT from EEV, the theoretical travel times have to be calculated for
the current event. This assumes that the origin time and hypocenter is given in the header
line or a subsequent type one line. If not, enter manually (from e.g. PDE) or use the EEV
command INPUTEPI or INPUTONE. Then proceed to calculate the times using EEV
command IASP with the IASPEI91 traveltime tables (for more details, see section 6.20.3).
The same command is also available inside MULPLT in multitrace mode. All arrival times (or
a subset, see 6.20.3) for all stations in current S-file will now be calculated with program
IASP and stored in file iasp.out (no importance for the use, just for information). See Figure
2b for an example in multitrace mode. Note that very many theoretical phases can be
generated if the S-file has many stations. MULPLT will stop if more phases are used than
the dimensions are set up for (include file seidim.inc), and you must use fewer phases (a
warning is given when 500 phases are generated) or set up SEISAN with larger dimensions,
see section 3. Theoretical local crustal phases for the current model can be calculated with
program WKBJ and displayed, see section 6.19. Theoretical phases can also be calculated
when using the location option, see next section.
2. Pick phases: When a trace is displayed on the screen, all theoretical phases inside the
time window will also be shown. To distinguish the theoretical phases, they are prefixed with
a y and displayed below the trace (normal phases have I, E or blank and are displayed
above the trace). Position cursor where you see a phase which you think corresponds to a
theoretical phase and press y. The nearest theoretical phase will now be placed at that
position with a prefix E. Only theoretical phases selected in this way will remain in the S-file.
Note that the phase names can be up to 8 characters long, see Appendix 1 for the definition
long phase names.
If the phases fit badly, start looking at the P-phase. If that does not fit the theoretical P-
phase, change the origin time in the S-file so that the P-arrival fits, and recalculate the
theoretical phases.
PROBLEM: In multitrace mode, only one theoretical phase can be picked. Replot must be
made before picking the next.
Locate earthquake
If several phases have been read and saved in the S-file, the event can, in multitrace mode,
be located with command L, just as in EEV. The screen is cleared and the usual location
rolls over the screen. When the location is finished, the plot will reappear and the calculated
travel times will be displayed as synthetic phases (see previous section). In this way it is
possible to immediately visualize the differences between the read and calculated phases.
The output files are hyp.out and print.out as usual.
78
The correction for instrument is done by taking the spectrum of the selected window of the
trace, dividing with the response function and converting back to the time domain. Any
filtering specified is done in the frequency domain. Filtering is needed in most cases.
Ground motion
Option g(Groun) removes the effect of the instrument and displays a ground motion
seismogram. After selecting g and the zoom window, there is a question of which type of
seismogram to calculate: Displacement (d), Velocity (v) or Acceleration (a). After that the
corrected trace is shown below in nanometers(nm), nm/sec or nm/(sec*sec) (if response
information is available). Note that this might produce strange seismograms, since e.g. a SP
seismograph has very low gain at low frequencies so noise might be amplified very strongly.
It is therefore recommended to also do some filtering when using the g option.
The W(WA)-option (Wood Anderson) is similar to the g-option except that a fixed 8 pole
bandpass filter is used (1.25 hz - 20 hz). Filtering is done in the frequency domain. For noisy
traces it might also be required to put a filter at the high end. This can be specified in the
MULPLT.DEF file. The default is a 20Hz filter The filters can be set to any other values and
number of poles, see MULPLT.DEF. Ideally, the low cut filter should be set with 2 poles to
simulate the seismometer correctly. However, that will often result in the seismogram
blowing up at low frequencies. It probably only makes a difference for very large (Ml > 5).
NOTE: In SEISAN version 7.1.1 and earlier, the low cut filter was set by mistake to 0.8 Hz.
Repicking amplitudes with the correct filter might change magntudes of larger events slightly
The response function for the current channel can be shown with option ‘:’ (Resp), see
Figure 4c. If no response function is given, a message is shown. If the response function is
taken from the waveform file header instead of from the CAL directory, a message is given.
The attenuation function for determining Mb assumes that the amplitudes are measured on
classical 1 Hz WWSSN instrument having a peak gain around 1Hz. To pick ground
amplitudes for determining Mb on instruments with a broader frequency band, like most high
frequency SP instruments, some filtering must first be done. The J(Mb)-option by default
filters the seismogram in the band 0.5 to 5.0 Hz (8 pole filter) and displays the ground
displacement. Experience so far seems to indicate that the filter is adequate. Other filters
can be set in MULPLT.DEF.
The attenuation function for determining Ms assumes that the amplitudes are measured
near 20 sec period. To pick ground amplitudes for determining Ms, some filtering must first
be done. The k(Ms)-option by default filters the seismogram in the band 0.042 to 0.063 Hz
79
(16-24 sec, 8 pole filter) and displays the ground displacement. Other flters can be set in
MULPLT.DEF.
Problem: If a long trace (large number of samples) is used, the instrument correction might
fail (funny result seen) due to numerical overflow in the spectral conversion.
If a 3 component station is available, the azimuth of arrival can be determined using the
method developed by Roberts et al, (1989). Display any of the 3 components and press
H(Azim). Then select the zoom window around the P of a few secs duration for the analysis.
The 3 components will now be displayed below in order Z, N and E and the calculated
azimuth, apparent velocity and correlation will be displayed at the bottom line. In order to
check the stability of the estimate, try different windows and filters. Often, a filter must be
used to get reliable results. The displayed azimuth and apparent velocity is only saved in the
S-file when an associated phase is picked. If there is none, use I or E. The velocity estimate
is not very reliable and is dependent on the local velocities. In order to calculate the
apparent velocity, the velocity of the top layer must be given. The default value is 5.0
km/sec, but another value can be set in the MULPLT.DEF file. To get a good estimate, the
correlation coefficient should be as high as possible and positive. The quality of the obtained
azimuth can be tested by locating the event with the calculated azimuth weighted out and
observe the azimuth residual. Figure 4b shows an example.
The traces seen on the screen will be put into the FK program and an FK plot will be
displayed. The azimuth and apparent velocity with the highest correlation is selected or any
other value can be manually selected. The values will ONLY enter the S-file if associated
with a phase in the same way as amplitudes are picked. For more details, see section 6.29.
Rotated seismograms
Option u(Rotat) will rotate the horizontal components for the next plot if the two horizontal
components are available. The rotation will display the radial component instead of the N-
component and the transverse component instead of the E-component. The backazimuth
used is displayed above the trace. All channels will be displayed rotated until u(Rotat) is
pressed again This means that phases can be picked and spectra’s made with the rotated
channel. When picking phases on rotated signals, these will appear in the S-file with
components R or T instead of N and E respectively. This also means that only if the rotated
signals are shown, will the phases read on rotated channels appear on the plot. The station
back-azimuth is obtained in the following way: If a hypocenter is given in the header line, the
angles are calculated using the current STATIONx.HYP file. If no hypocenter is available,
the angle will be read from the S-file under column observed azimuth (47-51) (if not blank)
and the azimuth residual will be added. This option permits the user to first determine the
azimuth with the 3-component option and then rotate the signals with that determined
azimuth. Finally, if no observed azimuth is available, the event to station azimuth + 180 deg.
will be used if available (column 77-79). If no back-azimuth can be found, no rotation is done
and an angle of 999 deg. is displayed. If in single trace mode and choosing the 3-
80
component option AND the rotate option, the user will be prompted for a rotation angle and
the rotated channels will be shown in the usual 3-component plot, however, the azimuth
determined is done with the unrotated channels.
PROBLEM: In general, the R-channel will use the response of the N-channel and the T-
channel will use the response of the E-channel so for instrument removal to be correct, the
2 channels must have the same response curve.
This can only be done in multitrace mode: The command is ‘d’ (Del W) and the cursor must
be above the top frame of the plot. There are two possibilities:
(1) Input is from filenr.lis: The current file is deleted and if in default mode, the plot moves on
to the next event.
(2) MULPLT is started from EEV: If only one waveform file is available, the program
proceeds as under (1). The waveform file is deleted and the waveform file entry in the S-file
remains. However, if more than one waveform file is available, the user can use a menu to
select which files to delete. Only the waveform file entries in the S-file are deleted, the
waveform files remain. This option is mostly used with SEISNET.
This command deletes the current S-file. It can only be used if MULPLT is called from EEV.
No waveform files are deleted.
The files will be merged to one waveform file and the old individual files names removed
from the S-file and replaced by the new file name of the merged file. The original waveform
files remain. Files to be merged will be shown on a menu. Mostly used with SEISNET. The
user MUST have files is working directory. If files are in the data base, they will not be
shown on the merge menu.
It is often useful to be able to select out part of a waveform file. The Out option makes an
output file of the traces AS DISPLAYED ON THE SCREEN with exactly the same channels,
and time window in a file with a standard SEISAN waveform name. The output format is
81
always SEISAN, even if some input files have a different format. The network code in the file
name will ALWAYS be the station code if all channels are from the same station Otherwise
the network code has the default name MERGE. Alternatively the parameter
MERGE_WAVEFORM can be set in SEISAN.DEF.
Problem: If it does not work on PC, check that it is not the Windows extract command that is
used, see also section 3.2
This option only works if parameter SPECTRAL OUTPUT has been set in MULPLT.DEF.
The output file signal.out, contains the last data displayed in the single trace zoom window
(in ASCII and real numbers). This option is a way of getting an output file in e.g. nm or a
filtered trace.
Fixed scaling
Normally all traces are plotted with autoscaling. However, it is sometimes useful to be able
to scale the traces with a fixed scale in order to e.g. compare traces or override the
autoscale in case a spike distorts the autoscaling. Option ‘*’(Scale) will prompt the user for a
maximum count to use for the scaling of all traces.
82
Figure 3 Using MULPLT for picking phases. The top shows the original trace and the bottom the
zoomed part. Note that the amplitude has been associated with the phase E and not the ESg. This
means that if the S-phase is deleted, the amplitude will remain.
83
The next example shows how to plot many events in one go, first make a list with
DIRF.
mulplt
file name, number, filenr.lis for all
filenr.lis ! plot all events in filenr.lis
Resolution in cm/sec, 0: plot all on one page (default)
0 ! scale will be different for each plot!!!
Read header from file:9101-10-0915-15S.KMY_03
Page 1
Channel: 1
Plotfile sent
Read header from file:9101-10-1510-55S.NSS_12 ! next event in list
Page 1
Channel: 1
Channel: 2
Channel: 3
Channel: 4
Channel: 5
Channel: 6
Channel: 7
Channel: 8
Channel: 9
Channel: 10
Channel: 11
Channel: 12
! etc.
Plotfile sent
Read header from file:9101-10-1510-55S.NSS_12 ! next event in list
Page 1
Channel: 1
Channel: 2
Channel: 3
Channel: 4
Channel: 5
Channel: 6
Channel: 7
Channel: 8
Channel: 9
84
Channel: 10
Channel: 11
Channel: 12
! etc.
The spectral analysis option is selected in picking mode. The spectral analysis is based on
the Brune model and various assumptions about the geometrical spreading and anelastic
attenuation.
trtime is the travel time from the origin time to the start of spectral window and
is meant to account for near surface losses (Singh et al, 1982) with the constant kappa
having values of the order 0.02 sec. Anelastic attenuation Q is assume to be frequency
dependent following the relation Q = q0* f**qalpha.
The geometrical spreading has been defined to be dependent on the wave type with several
possibilities, all made equivalent to a distance called geo_distance(GD) such that
geometrical spreading is expressed as 1/GD. There are several possibilities for GD:
P-waves:
GD is the hypocentral distance(HD) = sqrt (r*r +h*h) so body wave spreading is assumed.
S-waves:
The geometrical spreading has been made dependent on distance and depth. At short
distances, the geometrical spreading is assumed to be body wave spreading. For distances
beyond the Herrmann-Kijko distance (default of 100 km) and a shallow focus, the following
relation is used:
which is commonly used (Herrmann, 1985, Herrmann and Kijko, 1983). This relation
85
assumes surface wave dispersion for epicentral distances larger than 100 km. In SEISAN
100 km is the default, however it can also be set to any other value by the parameter
herkij_distance (see later).
The above relation breaks down if the depth is large or comparable to the epicentral
distance and in that case body wave spreading is again assumed. In order to get a smooth
transition from surface wave to body wave spreading, it is assumed that the relation
changes nearly linearly from surface wave spreading to body wave spreading between the
depths geo_depth1 to geo_depth2. For depth less than geo_depth1(default 50 km),
Herrmann-Kijko spreading is assumed, for depths larger than geo_depth2 (default 100 km),
body wave spreading is assumed with the transition in between. In each case the
geometrical spreading term is given as the equivalent GD, which is also recorded in the
database. These 3 parameters can be used to change geometrical spreading. If e.g.
herkij_distance is 10 000 km, body wave spreading is always used. For more info, see
qspec.pdf in INF.
From the spectral parameters, source radius and stress drop can be calculated as follows:
The spectral analysis is used in two ways. The first and most common is to make the
attenuation and instrument corrected displacement spectrum and determine the flat spectral
level OM0 and corner frequency f0 from which the seismic moment, source radius and
stress drop can be calculated. The second option is to display the instrument corrected
spectrum (displacement, velocity or acceleration) and model the spectrum for corner
frequency and attenuation parameters. In this case no correction for attenuation should be
made.
Select the spectral option, ‘s’, ‘S’ or Spec on menu. Before the spectrum comes up, you will
get a question of the type of spectrum wanted. The possibilities are displacement (d),
velocity (v), acceleration (a) or raw spectrum (r). For determination of Moment etc, the
displacement spectrum MUST be selected. Unless raw spectrum is selected, the spectrum
will be instrument corrected. If no response file is available in CAL, a message will be
displayed on the screen and the raw spectrum calculated. At this stage it is also possible to
change the velocity from the MULPLT.DEF value or the moment given in the S-file (see
spectral fitting below). The spectrum shown will normally show both the spectrum from the
selected time window as well as a noise spectrum from an identical length time window at
the start of the trace. IF NO NOISE SPECTRUM is desired, select spectrum with capital ' S'
instead of ' s'.
com_spec.out: The complex spectrum with some additional information needed for surface
wave analysis, must be displacement spectrum.
amp_spec.out : The real spectrum given as frequencies and amplitudes. The files are only
86
Power spectra: The above spectra can also be displayed as power spectra if capitol letters
are used. Using e.g. ’V’ instead of ’v’ will show the power velocity spectrum.
When the spectrum comes up (see example in Figure 4a, the axis units are log amplitude in
nanometers-sec (displacement) versus log frequency (hz).), The cursor can be used to
select the level, corner frequency and slope by defining the spectrum with a 3 point
selection. This 3-point selection is finished with f, q or r with the same meaning as in picking
mode. The spectral values are displayed on the screen once q, f or r is pressed. The
abbreviations are
General parameters
If F is selected, the spectral values together with calculated moment etc are stored in the S-
file at the next key press (see example below). Spectral values in S-files accumulate, since
no old values are deleted !!!. This is because the spectrum might be made under different
conditions (start time, time window etc). The input parameters for the spectral analysis is
given in file MULPLT.DEF, which can be in either DAT or the working directory, see below.
Additional parameters for geometrical spreading are given in SEISAN.DEF in DAT.
The moment is calculated in Nm, the source radius in km and the stress drop in bars. All
results are written to the S-file. Below is an example:
Note that no special line has been created in the Nordic format. Comment lines are used
with SPEC at the start of the line followed by station and component. Only the first 4
characters of the 5 character station name is used. An A after SPEC, means automatic
determination.The information is:
Note: In earlier versions (before version 7.0), the field for kappa was used for the travel time
to start of window. This can be calculated from origin time and the start time of the window.
When doing an UPDATE of the database or just a location with HYP, all distance dependent
spectral values are recalculated and average values written into the output file. Mw will be
calculated from the average value and written in the header line. However, the original
distance dependent Q and kappa correction is not changed, since this correction was
used to modify the spectrum used for reading parameters. Normally a small distance
change has insignificant influence on the spectral level or the corner frequency so the Q-
correction should be no problem. Sprectra of the same type (P, S or ?) and from the same
channel are overwritten Only in case of UPDATE are the values written back into the
database.
Display of spectral parameters: Program MAG can read and plot relation between spectral
and source parameters. Program REPORT can read spectral parameters and combine in a
88
table.
Potential problem with Q-correction: If the origin time in header is wrong, the q-correction
can be very wrong.
There must be a phase line in the S-file with component and distance corresponding to the
spectra made in order for the spectral values to be calculated.
Spectral fitting
Once the spectrum has been shown (displacement, velocity or acceleration), a theoretical
spectrum can be calculated and superimposed on the observed spectrum in order to
forward model either source parameters or attenuation.
Entering constants and modeling: The modeling can only take place when the spectrum is
seen on the screen.
Press s or S and a question will appear to enter the constants f0,k,Q0 and qa which are as
defined above except qa is Qalpha. Once these parameters have been entered (terminate
with return), the theoretical spectrum (displacement, velocity or acceleration depending on
what is used for the spectrum) is calculated and superimposed on the observed spectrum.
The parameters used or calculated are displayed. The level of the theoretical spectrum is
adjusted so it approximately passes through the observed spectrum and the level difference
is printed out on the screen (see below). S or s can now be pressed again, a new theoretical
spectrum calculated and plotted. To get out of the spectral fitting loop, type r or q as usual.
Which constants and parameters are used: The moment is taken from the S-file if an
average moment has been calculated (see UPDATE command). If no moment is available,
it can also be entered the first time the spectrum is shown. If no moment is given, a log
moment of 1.0 is used. The distance and depth is likewise taken from the S-file. If no
distance is available, a distance of 1 km is used. If all 4 parameters f0,k,Q,qa are entered,
stress drop is calculated with the relation given above. If the corner frequency is given as
zero, the user will be asked to enter the stress drop and the corner frequency is calculated
from the stress drop. If q is zero, no q-correction is made. IMPORTANT: The q and qa
used here are distinct from the Q0 and Qalpha used for making the amplitude
spectrum and both should not be used when modeling since then there would be a q-
correction 2 times. The best way is to use Q0=0 and kappa=0, so that q is only used
when modeling. The distance used is everywhere geo_distance.
Obs - calculated level: The difference in log absolute level of the observed and calculated
spectra. If a correct moment is used it should be small,
in the order of 1.
Moment: Moment used
Geo dist: Geo distance used
Stress drop: Stress drop in bars
f0: Corner frequency
k: Constant used in diminution function
q: q0 used in spectral fitting
qa: qalpha used in spectral fitting
89
The 3 types of spectra (displacement, velocity and acceleration) can optionally be made as
power spectra. When selecting the type of spectrum by pressing d, v or a, just press the
same characters in upper case and the power spectrum will be shown.
In seismic noise studies, the seismic background noise is often displayed as acceleration
power spectral density in dB relative to ((1m/s**2)**2)/Hz. Instead of selecting d, v or a,
press n instead. The plot shows the Peterson (1993) new global high and low noise models
superimposed on the observed spectrum (Figure 3a). When doing noise spectra, no
attenuation correction is done. The normalization of the spectrum is as follows
2 ∆t 2
P = F DFT × ×2
T
In this files it is possible to set the various parameters for MULPLT. Nearly all parameters
are set in the MULPLT.DEF except geometrical distance parameters, which are set in
SEISAN.DEF since these parameters also are used by HYP. MULPLT will operate without
DEF-files using hardwired constants. The MULPLT.DEF can be located in the working
directory and or in DAT. The default file in the working directory overrides the file in DAT.
In MULPLT.DEF, several groups of parameters can be set: The keyboard, default channels
to use and analysis parameters (e.g. for spectral analysis). The parameters are identified by
keywords, see example file below for explanation.
Example file:
This file is for defaults for MULPLT and called MULPLT.DEF. The name must
be in upper case on SUN. The following shows the parameters, which can be
set. The file can contain any number of lines in any order, only the lines
with recognized keywords and a non blank field under Par 1 will be read.
The comments have no importance.
KEYWORD............Comments.............Par 1.....Par 2
X_SCREEN_SIZE Size in pixels 90.0
PHASE NAME KEY Phase key and phase
PHASE WEIGHT KEY Weight key and weight
PHASE MOUSE KEY Mouse key character
SPECTRAL Q0 Q0 440.0
SPECTRAL QALPHA Q = Q0**Qalpha 0.70
SPECTRAL KAPPA
SPECTRAL P-VELOCITY P velocity 6.2
SPECTRAL S-VELOCITY S velocity 3.6
SPECTRAL DENSITY Density
3COMP VELOCITY velocity for 3 comp
RESOLUTIONX # points pl. screen 1500.0
RESOLUTIONHC # points pl. hc 3000.0
NSORT_DISTANCE 0: no sort, min ph.
SPECTRAL F-BAND 0.01 20.0
AUTO_LOCATE 0,1,2 0,1,2 0.0 2.0
AUTO_PROCESS 0,1,2 name 0.0 ls
SPECTRAL OUTPUT 1.0
WOOD ANDERSON HIGH CUT 20.0
### Set Filter type 0 for bndpas 1 for recfil routine
FILTER TYPE 0.0
### Setup user-defined filters
FILTER 1 z-key 0.01 0.1.
FILTER 2 x-key 0.1 1.0
FILTER 3 v-key 1.0 5.0
FILTER 4 b-key 5.0 10.0
FILTER 5 n-key 10.0 15.0
FILTER 6 m-key 15.0 25.0
FILTER 7 ;-key 2.0 4.0
ML LOW CUT AND POLES
ML HIGH CUT AND POLES
MS LOW CUT AND POLES 0.05 2.0
MS HIGH CUT AND POLES 0.1 2.0
MB LOW CUT AND POLES 0.5 2.0
MB HIGH CUT AND POLES 4.0 2.0
BANDPASS FILTER 5.0 10.0
CODA AUTO 1.0
AUTOCODA FILTER 0.1 10.0
AUTOCODA STA 3.0
AUTOCODA RATIO 1.2
DEFAULT CHANNEL KONO LU Z
DEFAULT CHANNEL Station and channel ITK S Z
------------------------------------------------------------------------------
All parameters are between column 41 and 60 and each occupying up to 10 characters.
NOTE: If any of the phase or weight keys are redefined, all previous defaults disappear.
DEFAULT CHANNEL: All channels are default if not given. For routine display, it is useful to
only select some channels.
PHASE NAME KEY: The keys associated with given phases. Remember that I, E or a blank
MUST be part of the name so it is not possible to chose a name like "P", it must then be " P"
(note the blank in front of P). About 10 phase combinations are currently default as seen the
pick display. If at least one new phase key is selected, you must define all the keys you want
to use for phases. The combined onset/phase key can be up to 9 characters.
PHASE WEIGHT KEY: The defaults are upper case 1,2.. to 0 for weights 1,2.. to 0 . Again,
choosing just one other key and all must be redefined.
PHASE MOUSE KEY: The default is blank. Normally no redefinition is needed since the
mouse character is defined in SEISAN. The key can be defined as a character or the ASCII
code written as a real number.
SPECTRAL QALPHA : See above, default 1.0, NOTE: Q is only used when doing spectral
analysis and has no effect on the displacement seismograms.
SPECTRAL DENSITY: Density for spectral analysis (g/cm**3), default 3.5 g/cm**3
NSORT_DISTANCE: If not there or zero, channels are plotted in the order as they appear in
the waveform file. If set to a positive number, that number is the minimum number of phases
to be present in the S-file in order for the S-file ordering to be used for plotting order, if
plotted from EEV. If not plotted from EEV, any positive number will indicate sorting in
waveform file header time order. Default 0.
95
SPECTRAL F-BAND: Spectral range (Hz) used for spectral plots. Default values are 0.05 to
20.0 Hz.
SPECTRAL OUTPUT: If parameter set to 1, 2 output files are created for each signal
spectrum. com_spec.out is the complex spectrum and amp_spec.out is the real spectrum.
Default 0.0. In addition, the single trace zoom window is saved in signal.out.
FILTER: Change definition of filters 1 to 7. The settings affect both the shortcut keys and
the menu boxes.
WOOD ANDERSON HIGH CUT: A high cut filter can be set when using Wood Anderson
simulation. Default 20.0 Hz.
ML LOW CUT AND POLES and ML HIGH CUT AND POLES: Filter band for Woo
Anderson filter. Ml high cut is the same as WOOD ANDERSON HIGH CUT with respect to
frequency. Default values are 0.042Hz to 0.063 Hz and 8 poles.
MS LOW CUT AND POLES and MS HIGH CUT AND POLES: Filter band for Ms filter.
Default values are 0.5 to 8.0 Hz and 8 poles.
MB LOW CUT AND POLES and MB HIGH CUT AND POLES: Filter band for Mb filter.
Default values are 0.5 to 8.0 Hz
BANDPASS FILTER: When using all defaults from EEV (option PO), a bandpass filter can
be set. Default is no filter. The parameters are lowcut and highcut for parameter one and
two respectively.
CODA AUTO: Enable automatic coda determination (YES or NO). Default is NO.
AUTOCODA STA : Auto coda short term average: Default 5.0 secs.
TRACE_PLOT is a simple program to create a distance trace plot using GMT programs
(Generic Mapping Tools, http://gmt.soest.hawaii.edu/). The axes of the plot are time and
distance, and the traces are centered on the respective epicentral distance. The input to the
program is a single event in Nordic format (S-file). From the S-file, the program reads the
origin time, epicenter location and the names of the associated waveform file.
TRACE_PLOT reads the waveform data and writes the x-y coordinates of the lines in the
plot to a file that is than used as input to the GMT program psxy. The TRACE_PLOT
program removes the DC from the data and as an option can apply a band-pass filter. The
output of the program is a Postscript file (trace_plot.ps) and a batch file that can be modified
and used to rerun the GMT programs (trace_plot.bat). The parameters are set in the
trace_plot.par file, which can be located either in the DAT or in the working directory.
FILTER: The pass-band filter limits can be specified through the FILTER parameter.
DISTANCE: The distance range (y-axis) for the plot.
TIME: The time range in seconds (x-axis).
AMPLITUDE_SCALE: The amplitudes are scaled for every trace individually, by
[amplitude/(max amplitude) * AMPLITUDE_SCALE].
STATION_SFILE_ONLY: This variable can be set to 1.0 to only plot traces that are listed in
the S-file, the default is 0., which plots all traces without checking if they are present
in the S-file.
TIME_ORIGIN: In the current version, the origin of the time axis corresponds to the origin
time of the event.
COMPONENT: This can be used to select components for plotting, in case no component is
defined, TRACE_PLOT will show all vertical component traces.
Example of trace_plot.par:
KEYWORD............Comments.............Par 1.....Par 2
CPLOT (continuous plot) is a program to plot continuous data from the continuous data
base. With this program several stations and components can be viewed at the same time.
Further it is possible to move forward and back in time, filter, zoom, and the plotted time
interval can be changed without restarting the program. The sections viewed on the screen
can be saved in a waveform- and s-file and used directly in mulplt.
CPLOT is a program from where several subroutines are called. They are written in C and
Fortran and works on UNIX machines. The graphics are based on the xview toolkit. The
database and directory structure of cplot is based on the SEISAN structure.
The buttons
File
- Generates a waveform and sfile (in SEISAN format) of the stations displayed on the
screen and all the components.
- The new waveform file can be used as input file to eev and mulplt.
- The new waveform file is written directory where the program is run
- The new sfile is registred and put in database directory (REA/database directory) like in
MLPLT.
- The new database name (CONT_NET_CODE) is defined in DAT/CPLOT.DEF (see
below), or if nothing is given, then the default database name (defined in COM/.SEISAN)
is used.
- In the terminal window the user is asked for the event type (local (L), regional (R), or
distant (D)) and for the operator name, if nothing is typed the operator name defined in
DAT/CPLOT.DEF (see below) is used.
waveform file:
2001-01-16-1300-00S.DAN___006
sfile: /users/slj/REA/DAN__/2001/01/16-1300-00R.S200101
Quit
- Quit CPLOT.
Replot
- Replot the window as it was before zooming
- Replot the window as it was before using the double button
- Replot without filter
Filters
- There are various filters to choose from: 0.01-0.1, 0.1-1.0, 0.7-3.0, 1.0-5.0, 2.0-4.0,
5.0-10.0, 10.0-15.0, 15.0-23.0, and no filter.
- The applied filter is written in the top right corner.
100
Zoom
- Zooming the data shown on the screen
- Always zooming around the center of the plot
- Zoom:
- type the minutes to be plotted, must be two digests (ex. 5 min ~ 05)
- push return
- Drop down zoom button with choice of 10, 25, 50, 150, and 200%
- Ex. zoom 50%: plots 50% of the data
- It is possible to move forward and backward
Double
- Doubles the size of the plot in the x-direction
- Use the scrollbar to see the data
Default file
The command for plotting epicenters is EPIMAP <file>, where the optional file is a file with
EPIMAP commands. If file is not given, the user will be prompted for the input. The program
can plot land contours, epicenters, stations and level contours as well as depth profiles. It is
possible to zoom in on selected areas (option by Mario Villagran). The program has been
much revised by Jim Bolton.
The program will look for all files ending with .MAP located in the DAT directory. The user can
then choose any one or a combination of files. The users own contour files (e.g. faults) can be
added to the DAT directory. A very detailed world map is available on the SEISAN CD and on
the SEISAN web site. Areas can be selected out of these files with program SELMAP.
Stations
Epimap will look in STATION0.HYP for station coordinates. It will search first in the working
directory, then in DAT.
Epicenters
The user will be prompted for epicenter input files. The format can be Nordic or Nordic
compact. Magnitudes are plotted proportional with symbol size unless the ellipticity option is
selected in which case the error ellipses are plotted (if smaller than 100 km).
Input files for EPIMAP can be made e.g. with the COLLECT command which collects S-files
into one file or with the SELECT command selecting data from the database using several
criteria. HYP also generates a CAT-file (hyp.out) which may be used as input to EPIMAP.
Magnitudes
The program will read all 3 magnitudes (magnitude1, magnitude2 and magnitude3) on the
header line. It will use the first non-zero magnitude in the order magnitude1, magnitude3 and
magnitude2. Epimap will search the first header line only. If it is desired to use a particular
magnitude from any header line for plotting, use MAG program first to select particular
magnitude type which is then placed in first header line magnitude position one. Program
COMPACT can move magnitudes from following header lines to the first line. Program
REPORT can move magnitudes around on the header line.
Projection menu
===============
Interactive options:
When the plot is shown, there appears in the lower left-hand corner a menu of several options:
Q: Quit
P: Profile
A: Area
Z: Zoom
P: Profile
One or several depth section windows can now be selected with the cursor. First move the
cursor to where the section shall start (from where distances are calculated), press any
character to select point, move cursor to end of profile, press any character to select. A line
between the two points is now plotted. Move the cursor to a point on the side of the line and
press any character. A rectangle defined by the three points is now drawn, which defines the
area used for the section. If more then one section is wanted (up to 9), press the number
instead. The selected number of profile boxes will now be plotted, all the same size. Pressing
any character will now draw the depth sections auto scaled, while PRESSING THE
CHARACTER F, THE X AND Y SCALES ARE EQUAL and determined by the horizontal
extension. When the first section appears, you can either press q to quit or any other character
to plot next profile or, if the last profile, replot epicenter map and select new sections. IF YOU
WANT ALL SECTIONS TO REMAIN IN PLOT FILE, QUIT AFTER PLOTTING THE LAST
PROFILE. The plot file always stores what has been plotted so far, and is overwritten when a
replot is made.
It is also possible to plot a previously defined profile by entering O. The parameters are then
taken from file profile.out. This files stores the last parameters selected by EPIMAP, but can
also be edited by the user.
A: Area
Select, by clicking with the cursor, at least 3 points defining a polygon within which
epicenters are selected. A new plot is made enclosing only the polygon and showing the
epicenters within the polygon. The corresponding epicenters (S-files) are in file epimap.are.
Known bug: Sometimes epicenter are still left outside, SELECT can be used instead.
Z: Zoom
Similar to Area, however a rectangle is selected by defining just the 2 diagonal corners.
If option P is used when the program asks for place names or station codes, the user will be
prompted for one or several files with place names. The place name file format is:
eg:
The only requirement is that at least 2 blanks separate the place name and the geographical
co-ordinates. Note that the place name can contain one or more blanks, however each blank
must occur singly.
104
EPIMAP has a simple contouring routine accepting a regular spaced grid. Below is an
example (output from EQRSEI). The top part of the file is just comments, the data starts at
"Fields to use". The data must come in longitude, latitude pairs (+ value of contour) in order as
shown below. The contour value is plotted exactly as shown below. E. g. the value 117 is
plotted as __117_____ where "_" is blank. By specifying ____117.0_, the value would be
plotted as 117.0 and moved one space to the left on the plot. Currently only programs
EQRSEI (version 7.0) and CRISEI from SEISAN version 6.0 make contour files. In the DAT
directory, there is an example of a EQRSEI.OUTfile
NB: In the input file shown below, the FIRST COLUMN MUST BE blank.
Test Case 1.
RISKS DESIRED .1000 .0200 .0100 .0050 .0000 .0000 .0000 .0000
epimap.out: Gives a numbered list of all events within main window. This can be used in
connection with the number option.
epimap.cor and epimap.are: If option A (selecting area) has been used, the coordinates of the
corners will be given in epimap.cor and the complete events (S-files) selected in epimap.are.
epimap.plt: Postscript plot file of epicenters and possible profiles. If only one profile has been
selected, all is on one page. If several profiles are selected, there will be two profiles per page
up to a max of 6 pages (one with map and 5 with profiles).
epimap.inp: This file is storing all input parameters of the run and can be used to run epimap
again without entering any parameters. The file can be edited if a run has to be repeated with
e.g. a new epicenter file. The file can have any name so several predefined plot definition can
be stored and thereby automate map production.
profile.out: The file stores the parameters used with the profiles. The file is overwritten for each
new profile parameter selection. An example is:
60.93583 7.21519 63.29655 1.36709 63.39875 5.01266
27.8
3
The first line gives latitude and longitude of the 3 points used for selecting profile (see
explanation for interactive section), next line the azimuth calculated for the profile and the last
line gives the number of profiles. The file can be used to repeat the same profile as in an
earlier run or to predefine a more exact profile than can be selected with the cursor.
profile.num: Output of distance and depth of the profile in km. Distance is only correct in
uncooked plots.
Figure 5a An example of using EPIMAP. The top shows epicenters plotted and the bottom the first of
a series of profiles. The frames on the top plot show the location of the profiles.
107
Figure 5b An example of using EPIMAP with area selection. The top plot shows where the area is
selected, while the bottom plot shows the selected area.
108
This program was developed to be used on seismic routine processing. Its main features
are the capability of allows visualization of epicentre locations, seismic stations, error
ellipses, coastlines, macrosseismic data, focal mechanisms and simplified tectonics in a
Windows environment. The program is not installed as part of the SEISAN installation and
must be installed separately (see below). The program is made by Fernando Carrilho who
is also responsible for follow up and help. The program can be integrated within the
SEISAN environment, since it uses SEISAN parameter files, macroseismic files, MAP files
and station/model files.
If the program is called from EEV or from the command line as W_EMAP, then it displays
information contained in hyp.out file, generated by the HYP program, in the settable working
directory. During the first run, user is driven to edit the configuration file w_emap.def that is
created in is personal directory (SEISAN_TOP/DAT/users/<username>), where most of the
program parameters can be changed. The program can automatically detect changes in the
hyp.out file so the user doesn’t need to restart the program each time the epicentre
changes. The program can also display epicentres contained in any SEISAN parameter file,
where the user may choose between one single epicentre and all epicentres at the same
time. Double clicking the right mouse button will change the active epicentre to the one
picked. Multi-user individual configurations (color schemes, additional event files, tectonic
and coastline files, cartographic projections, etc.) are supported. Fault plane solutions can
also be plotted.
Installation
All the files are included in the distribution file w_emap41.zip in SUP. To install it, you need
to use PKUNZIP™ (version 2.50 or higher) or the WINZIP™ program.
Using PKUNZIP:
Position in your SEISAN_TOP directory (e.g. c:\seismo)
Execute pkunzip –d w_emap41
Using WINZIP:
Extract all files to your SEISAN_TOP directory, with the flag ‘use folder names’ on.
109
Whenever selective search and extraction is wanted SELECT is used. The program can run
on the CAT database or single CAT files (Nordic or Nordic compact). The output file,
select.out, will also be in Nordic format. Since the input CAT database can contain both
normal and compact files, the output will always be a normal file with blank lines between
events. If however the input is one compact file, the output will also be a compact file.
Note: Since SELECT works on the CAT database, you need to UPDATE your S-file
database in order to transfer changes from the S-file to the CAT database.
The program is started by typing SELECT (parameters from screen), SELECT ‘input file’
(parameters from input file) or SELECT -options. A typical user interactive run is shown
below. Comments following !
POSSIBLE INPUT IS:
STANDARD CAT DATABASE: RETURN
ALTERNATIVE DATABASE, GIVE 1-5 LETTER CODE:
FILENAME FOR ONE FILE, MUST BE 6 OR MORE CHARACTERS:
Updating database TEST_ ! standard base
The database TEST_ has 10 files
The first file starts: 199309
The last file starts: 199909
PARAMETERS
1 - Fault Plane Solution
2 - Earthquake Felt
3 - Magnitude Type(s)
4 - Distance ID(s)
5 - Event ID(s)
6 - Magnitude Limits
7 - Latitude Limits
8 - Longitude Limits
9 - Depth Limits
10 - RMS Limits
11 - Number of Stations Limits
12 - Hypocenter Errors Latitude Limits
13 - Hypocenter Errors Longitude Limits
14 - Hypocenter Errors Depth Limits
15 - Minimum Number of Polarities
16 - Hypocenter Agencies
17 - Magnitude Agencies
18 - Station Codes, components and distance range
19 - Polygon
20 - Use all header lines
21 - Look for wave form file names
22 - Gap range
23 - Phases
PARAMETERS
110
Note above, that the second time the menu is shown, the choice of magnitude limits is
shown.
For each CAT file in the catalog, the number of events in file, number of events selected
from that file and the accumulated number are listed. The last file might not show the correct
number of events in file since SELECT might stop before reading the whole file if the end
time is in the middle of the file.
Input parameters:
In the input, database (or file) a time window must always be given. If no more selection is
done, all data in time window is selected. Further selection can be done by choosing a
number and giving parameters. The chosen parameters are then shown on the next
parameter selection menu as shown above for RMS. Parameters can be reentered.
Parameters not entered will have no influence in selection. If several parameters (numbered
selections below) are entered, conditions for all must be true for the event to be selected.
Within each numbered selection, usually only one of the entered conditions must be fulfilled
for the event to be selected. If e.g. Ml and Mb are selected, events, which have either
magnitude, will be selected. When no more parameters are desired, press enter.
111
2 - Earthquake Felt
Events felt indicated by a type 2 line
3 - Magnitude Type(s)
Normally, all magnitudes for one event are searched to see if any magnitude fits the
selection criteria. With option 3 it is possible to use one or a combination of magnitude types
e.g. L and B. If magnitudes without type are to be selected, use underscore "_" for
magnitude type. If there is no magnitude in the first magnitude position, chose "N" for one of
the magnitude types to be able to select the other 2 magnitudes on the line. Magnitude
types are: C: Coda magnitude, L: Local magnitude, B: Mb, S: Ms and W: Moment
magnitude.
4 - Distance ID(s)
Restricting the search to be for one or a combination of the distance id’s L, R and D.
5 - Event ID(s)
Restricting the search to one or a combination of event id’s, e.g. E and V for explosion and
volcanic events. The letters used for selection are not limited to the examples shown above,
they are however the ones used currently. It is thus e.g. possibly to label events as X for
unknown type (column 23 in header line) and then later on select out all those events by
specifying X for event ID. For the 3 questions about types, up to 5 letters can be used. The
currently used codes are: E: Explosion, P: Probable explosion, V: Volcanic, S: Sonic boom,
Q: Earthquakes which is equivalent to blank for type. So if all earthquakes and volcanic
event are to be selected, use QV. Without the Q, only volcanic events are selected.
6 - Magnitude Limits
Range of magnitudes to select. Note that if no magnitude type is given, the extreme of all
magnitude types reported is used.
7 - Latitude Limits
Range of latitude. NOTE: If no latitude or longitude values are chosen, SELECT will include
an event even when it is not located if the remaining criteria are OK. If it is required that only
located events are searched for, enter at least one value like an upper latitude limit of 95.
8 - Longitude Limits
Range of longitude.
9 - Depth Limits
Range of depths.
10 - RMS Limits
Range of rms travel time residuals.
16 - Hypocenter Agencies
Selects events only with given hypocenter agencies as indicated on header line.
17 - Magnitude Agencies
Select only events with given magnitude agencies as indicated on header line.
19 - Polygon
Selects events within a given polygon of at least 3 latitude-longitude pairs.
22 – Gap range
The range of gap as given on the E-line (normally 2. header line). Only hypocenters
calculated with SEISAN version 7.0 have gap.
23 – Phase
Look for events with particular phases. Up to 6, 4 character phase names can be selected.
The event is selected if at least one of the phases is present for event. For a more selective
selection bases on phase, see option18.
Historical data: When working with historical data, it can be useful to work with catalogs of
several centuries. The century is available in the Nordic Format, so catalogs can go back to
year 0.
Output:
Index.out: A list of event id's of selected events and can be used with EEV or other
programs accepting index files. This could be used e.g. to work on only distant events in the
database by first selecting all distant events and then working with these directly on the
database using command EEV index.out. Index files can have any name (must contain a ‘.’)
so different subsets can be available with different index files.
113
Select.inp: A file with all the parameters used for the run. The file can be renamed, edited
and used as input for select. This is particular an advantage if a complex set of selection
parameters are used and the selection is wanted again with just a small change. An
example file is shown below
Base or file name : TEST_
Start time : 19930300000000
End time : 19961231235959
Minimum number of stations : 0
Maximum number of stations : 999
Minimum latitude : -90.000
Maximum latitude : 90.000
Minimum longitude : -360.000
Maximum longitude : 360.000
Minimum magnitude : 5.000
Maximum magnitude : 7.000
Magnitude agencies :
Hypocenter agencies :
Minimum rms : 0.000
Maximum rms : 999.000
Minimum depth : -99.000
Maximum depth : 99999.000
Minimum error in latitude : 0.000
Maximum error in latitude : 99999.000
Minimum error in longitude : 0.000
Maximum error in longitude : 99999.000
Minimum error in depth : -99.000
Maximum error in depth : 99999.000
Magnitude types (L,C,B,S,W) :
Distance (ID) types (L,R,D) :
Event types (e.g. E,V,P) :
Minimum number of polarities : 0
Felt earthquakes : F
Fault plane solution : F
Check all header lines : F
Waveform files to check :
Minimum gap : 0.000
Maximum gap : 360.000
Phases : P SSS PP
Stat., comp. dist range, phase (1x,a5,a2,2i7,1x,a4) one pr line, end blank line:
STAT CO Mindis Maxdis Phas All stat hdist->TT
BER SZ 1 999 P
Polygon points (lat,lon), one pair pr line, end with blank line :
Note: The TT at STAT line indicates that all stations must be present (True) and hypocentral
distance is used (True)
This option is particular useful when using select with automated operations and has been
made specifically to deal with extracting data out of the data bases using WEB based
software. This option do not have all of the above options. The following are implemented:
Problems with select: An event might be found and listed in index.out, but when looking for it
with EEV, it is not there. This can happen if an event has been deleted with EEV and no
UPDATE has been made, so that the event is still present in the CAT part of the database.
The command COLLECT is used for collecting many event files from the database S-files
into a single file. This may be split into individual event files later using SPLIT. The file can
be used for exchanging data with other agencies or be used with the epicenter plotting
program. The questions are:
Base name, ,, for local directory, name of index file
or return for default base:
Start time :
End time, return for end of month:
Compact output file (Y/N=default)
At the end, the program will give statistics of collected data, and file name. For getting data
out of the database represented by the monthly files, use SELECT. If an update has been
made, SELECT will always be the fastest program to use. However COLLECT is the only
program that can make a CAT file from the individual S-files.
This means that a CAT-file (default) is collected from BER and is written in compact format
(-compact has no arguments). The time interval is between 19910912 and 19911015. Only
start_time is required, the other arguments are optional. The syntax is: -"keyword" value
-"keyword" value etc.
The program splits up a multiple event S-file in Nordic format (usually made by COLLECT or
NEWEVE) or compact file to single files in the database or users own directory. Type SPLIT
to start program and questions are:
115
FORTRAN STOP
In the above example, there was already an event in the database with the same file name
and therefore the same id. It is up to the user to decide if this is the same event in which
case it should be ignored or if it is a new event which happens to have the same id (start
time or origin time to the same second and same event type). In case of a new event, a new
id with one second different will be tried. Sometimes it can be desirable to overwrite the
whole database event by event. If e.g. a station code is wrong in all events, this can be
corrected by making a collect to extract all events, edit the collect.out file using a global
substitute, and finally use split to put the events back in. In that case the option of
overwriting all should be chosen.
Compact files can also be split up. Since this is unusual to do, the user will be prompted 2
times to confirm the split up. Since there is no ID line in a compact file, the database name
will be generated from the header time. This option to be able to split up compact files has
been made to facilitate work with seismic catalogs where it is often desirable to be able to
access individual events even when no readings are available.
UPDATE
Both the monthly epicenter files in \SEISMO\REA\BER__\CAT and the updated S-files are
generated with program UPDATE which is a special version of HYP. Type UPDATE to start
116
the program and there will be questions about time period and database. The program will
also ask for operator ID (4 chars), which is stored in the updated log file and the S-file, see
below.
By updating, both the S-files and the CAT-files in the CAT-directory are updated. The
reason for updating both at the same time is to ensure that there is a correspondence
between the two.
The program will go through as many months as specified by the user. When the program
is running, one line will be printed out for each event. The S-files will be overwritten with the
updated location, residuals etc. At the same time, a monthly CAT file is created in the CAT
directory containing all events, also events not located. If there was a monthly file from
before, it is overwritten.
Update can also work on a local database. The S-files are updated as described above.
Since there is no CAT database, the Update program makes a CAT file in the local directory
called hyp.cat with events in chronological order.
At this time, an S-file might contain several old ID-lines which in an append process have
been converted to comment lines. These are deleted when doing an update. The remaining
ID-line is update with the action UPD, the operator ID and the time. At the same time, all the
error lines are deleted and only the one belonging to the prime location is kept.
The update process also changes all S-file names according to the origin time and the ID’s
are changed correspondingly. This is done in order for the database to be in chronological
order according to origin time and not the more random times used when the events were
first registered into the database. Even if the event is marked not to be located with a ‘*’ in
header line column 45, the ID will still be updated (same for program UPD). Like with the
SPLIT program, if two events of the same type (L, R or D) have the same origin time to the
second, one second is added to the file name part indicating seconds (see also section 6.6).
The event will also be in chronological order in the CAT database.
The first time the update is done, the S-files get a new name according to the origin time
now calculated and the internal ID is changed accordingly. The ID is then locked indicated
by an L in column 76 of the ID line. For all future updates, by default, the ID will then remain
the same, the S-file name will also be the same irrespective if the origin time changes. This
is VERY important in case data is taken out of the database for some special analysis and
then put back in to overwrite the original data. If the ID is the same, the correct event will be
replaced. Optionally, Update can make a new ID each time the program runs (not
recommended). It might be necessary sometimes to allow this in case the events are no
longer in chronological order according to origin time (e.g. a teleseismic event is put in with
the ID corresponding to the recording time, when located, the origin time is many minutes
before and it will appear too late in the database). However, this is rarely a problem after
the first location is done and it is recommended to use the default option of locking the ID.
NOTE: When an update takes place, the old location, magnitudes (except 3. if a different
agency from the default agency), residuals etc are removed. If an event cannot be located,
the old location etc is lost. This is intentional since the updated database should represent
the data available. If a location should be retained, special flags must be set, see section
6.1, "Fixing location".
In order to keep track of how and when the database has been updated, every run of
UPDATE creates a log file of the update process. This file is located in a subdirectory of the
database directory (default BER__). If e.g. updating REA, the logfiles will be in
117
The content is as follows: date and time of file updated, operator ID, time of update, event id
of first and last event of the month, number of events for month. The example above shows
that June 96 has been updated 2 times, the last time on September 10, 1999. For each
update, one line is added to the top of the file, so the update history is saved.
Note: If the command UPDATE is used from EEV, only one S-file is updated (name stays
the same), and a general update should be made.
Problem: If UPDATE crash, there will not be a correspondence between S-files and the CAT
data base: Redo UPDATE.
UPD
The command UPD is very similar to the UPDATE command, however there is no
modification of the S-file except the ID line. The program is used to simply move single S-
files into the monthly CAT-files. It is mainly used to manipulate database events already
processed. E. g. if ISC data is available and it is desirable to have it in individual files to be
able to use EEV, the same data can then be copied into the CAT part of the database using
UPD without modifying the original solutions. The data must be in the CAT part of the
database in order to use the select program SELECT. KNOWN BUG: On Sun OS, it seems
that UPD can only operate on up to a 4 year time period.
DIRF
The DIRF command is a useful program for making a file with a numbered list of files from a
DIR (ls on SUN) command. The command makes a file with file name FILENR.LIS. E. g.
when working with many waveform files with long names, a DIRF is first made, and
subsequent programs then get file names from FILENR.LIS, either by using the whole list,
or just a given number. This is handled with routine filename (in LIB). Below are some
examples of using DIRF with SEISAN data files.
Dirf 9101-10*
# 1 9101-10-0915-15S.KMY_01
# 2 9101-10-1510-55S.N2F_08
# 3 9101-10-2333-44S.N3F_06
The wildcard * above indicates that all files from the 10’th is wanted. Many programs use the
same subroutine to get the file name from filenr.lis. This means that most programs using
filenr.lis assume that if a name given is less than or equal to 4 characters, it is a number so
118
file names less than 5 characters cannot be used when the program asks for "Filename or
number".
DELF
DELF is a simple program that allows the user to delete a file that is listed in a ‘filenr.lis’ file.
First run DIRF to list the files that you want to delete. Then start DELF and choose the
number of the file to delete, ‘?’ shows the contents of ‘filenr.lis’.
Input files:
Type 3 line: If the first 5 columns in a type 3 line are:" Bul:", then the rest of the line is
interpreted as text line that is written in the bulletin. In this way comments to certain
earthquakes can be written into the bulletin. Type 2 line: Maximum intensity and
casualty/damage reports are included in the bulletin if found in the S-file.
bul -h ==> This gives you a list of the different options like this:
Options:
-frontpage: Only frontages are printed.
-nofrontpage: No frontages are printed.
-onlyhypo: Only hypocenter solutions are printed.
-minmag x.x : Only hypocenter solutions are printed
if magnitude is higher than the requested.
The last option may be used in cases where the number of earthquakes is very high, so that
it is preferable to report phases only for events above a given magnitude.
You can also run the program without any options, in which case the default values used
are:
Output file:
The output file is called "bul.ps" and is a PostScript file that you can print.
119
Optionally, a limited number of pages can be selected from the bul.ps file for printing. The
header page is still included and the page numbers correspond to the original page
numbers.
SEISAN has several programs for extracting and writing out data for plotting or printing
statistics, most of which will be listed in this section.
Report
The program extracts parameter data from all header lines in a CAT file and rearranges the
data in a table. In additions, there is an option to rearrange order and location of magnitudes
on the header line. Below is an example of a run where the input CAT file is called
collect.out
report collect.out
Date TimeE L E LatE LonE Dep E F Aga Nsta Rms Gap McA MlA MbA MsA MwA Fp Spec
x x x x x x x
Number of output fields 8
Number of events 12
Number of events with spectra: 1
Number of events with fault plane solution: 3
Number of events with error estimates: 16
Number of events with mc : 10
Number of events with ml : 10
Number of events with mb : 8
Number of events with ms : 5
Number of events with mw : 12
Content of report.out
Year Date Latitud Longitud Depth NST GAP Ml STRIK DIP RAKE
1996 6 3 47.776 153.222 0.1 12 348
1996 6 6 62.652 4.940 15.0 13 270 2.9 28 61 -41
1996 6 6 62.634 5.068 15.0 13 2.9
1996 6 6 62.652 4.940 15.0 13 270 2.9 28 61 -41
1996 6 7 59.841 5.127 12.0 12 1.9 8 41 75
1996 610 -13.481 167.130 200.1 301
1996 625 61.656 3.363 14.9 35 3.2
1996 7 5 61.282 4.825 7.1 10 2.0
1996 713 61.416 3.870 12.1 9 1.5
1996 718 60.156 2.070 15.0 9 1.8
1996 718 51.438 157.737 29.9 18
120
1996 726 61.755 2.293 22.1 9 1.8
The file report_n.out contains the input data with the only difference that the magnitudes
have been moved around on the header line. This can be practical for later plotting with
EPIMAP. If no magnitude selection has been made, the magnitudes will come in the order
Mc, Ml and Mb. If no magnitude of that type is available, the output field is blank. The
magnitude selected is the first to occur of the corresponding type. If other magnitudes are to
be selected, numbers can be used to select any 3 magnitudes in any order. If is important to
select magnitudes by agency also, use program MAG.
This is a simple program for making statistics of stations used in the database or in a file.
The program will ask the following questions:
1. Information about which stations should be searched for in the database. There are
several options for entry:
a: Give a filename with the stations listed one per line. The format is a5. The name MUST
have a ’.’ not to be confused with option (b) below.
b: Give stations directly at the keyboard, one pr line, terminate with blank line, format a5.
c: Just make a return and the stations hardwired in the program will be used. These are
Norwegian stations, so the program will have to be recompiled with new stations if the defaults
are to be changed.
3. Question about counting all phases. This means counting the occurrence of a station for
each phase for that particular station. This can give the total number of phases read at a
particular station in a given time interval which is more than number of events. If not counting
all phases, give the number of events recorded at the station.
NET NWAW
NSN 147
JMI 21
KNN 10
W_L 2
W_E 1
W_S 2
The top part shows the event statistics by station. Local Ev is number of local events
(readings if so specified above) (type L and R) at the station, Local S means number of local
events ONLY recorded at that station, Distant E and distant S is the same for distant events
(type D).
The middle parts shows the number of waveform files NWAV from different networks NET
as indicated by the first 3 letters of the waveform file name after the "."
At the bottom is a summary statistics most of, which should be self-explanatory. The info about
".. more than given stations" means that in addition to the stations searched for, the event had
additional stations not used in the statistics.
CATSTAT
This program calculates the yearly, monthly and daily number of events from a given
earthquake catalogue and plots the results (written by Mario Villagrán). The input is a
standard Nordic format containing only the header lines (compact file). The output is given
in three different files with following default file names;
catyear.out: Output catalogue of the yearly number of events. This file contains two
columns of data corresponding to year and the number of events.
catmonth.out: Output catalogue of the monthly number of events. This file contains
three columns of data, corresponding to the year, month and the number,
respectively.
catday.out: Output catalogue of the daily number of events. This file contains four
columns of data corresponding to the year, month, day and the number
of events, respectively.
cathour.out: Hourly distribution of events within a day interval.
The output files can then be used for plotting the histograms for the desired time interval at
yearly, monthly or daily intervals. If desired, the corresponding histograms can be plotted
interactively on the screen or can be printed. Several other routine programs such as
grapher, xyplot, gnuplot or GMT, etc., can also be used for this purpose. The general
122
purpose of this program is to evaluate the catalogue completeness. When run for different
magnitude intervals, one can detect the magnitude thresholds above which the catalogue
can be considered complete. As it is now, it only works with the given time interval in years.
Figure 12 shows an example of output from CATSTAT.
The program is used to identify seismic swarms in a catalog. Input to the program is a CAT file
with many events and some manually entered parameters. Output is identified swarms. The
output file swarm.out contains all swarms organized as ’events’. In the header line is given
center for area identified and the ’magnitude’ is the number of events in area divided by 10.
The rest of the line is info from first event in swarm.
Principle of selection:
The area is divided into a lat-lon grid. Around each grid point, there is a cell with radius
small_r. The program first checks how many events there are in each cell for the whole
catalog. It then checks each cell to find which has more than the minimum number of events to
constitute a swarm under the condiiton that enough events are within the required time
window. For each time window, with enough events, a swarm is declared so a swarm lasting
e.g. twice the time window will be declared as two swarms. An additional condition is that the
number of events is larger than the normalized background activity. The normalized activity is
calculated as the activity in the large cell normalized for area to the small cell, and normalized
in time to the window for the swarm.
LSQ
A simple program to make and plot a least squares relation between two parameters. Input
is from a file with two columns x and y. Plot file is lsq.plt.
This section describes the programs used for modifying and checking waveform files. The
most important features are to add or subtract channels and modify headers. A special
program in this group is GET_WAV which checks data bases for availability of waveform
files. New from version 7.1 is that SEISAN also can handle other waveform formats,
however not all programs can work with all formats. This will be indicated with each
program. The following programs are available:
APPEND: Append two or more waveform files following each other in time
AUTOREG: Automatically registers events
EXTRACT: Extract waveform data
GET_WAV: Checks for available waveform files
RESAMP: Resampling of waveform files
SEIASC: Converting SEISAN waveform files between ASCII and binary form
SEIDEL: Splitting up a SEISAN waveform file in 2
SEISEI: Splitting and merging SEISAN waveform files
SELSEI: Finds waveform files with given stations
WAVFIX: Fix waveform file header time correction, make standard file names,
change headers etc
123
The program uses a filenr.lis input file. All files are read, and then written out as one new
file. The maximum number of channels is max_chan_out which is set as a parameter
(currently 7). Only the first max_chan_out channels are used or less if fewer channels in file.
A blank line followed by a new group of files will make a new output file. The output file
cannot have more than standard SEISAN dimension number of samples (currently 402 000)
pr channel.
When a large number of waveform files are available and it is known that they are real
events, it might be an advantage to automatically register them into a database. Remember,
the database can be made with MAKEREA. It is possible to register events both to the
standard BER, any other database or the local directory. To run the program, make a
filenr.lis of the waveform files and run AUTOREG. It is possible to put blank lines into the
filenr.lis to separate into events, in case there is more than one waveform file from the same
event. All waveform files before a blank line are put together into one S-file.
1-5 letter base name, return for standard base, ,, for local base
BER
Operator, max 4 chars
jh
92011022.STE
.....
Now comes a listing of waveform file names and S-file names. The program will check if the
event is already registered and the same options are available as in program SPLIT(section
6.6). Since AUTOREG automatically create S-files for all events in filenr.lis, they will all be
given an event type.
The program extracts all or selected time sections of waveform data, optionally applies
some signal processing and then creates the output file(s). The input and output formats
supported are SEISAN, SAC (Unix only) program can also be used as a conversion
program between the three formats, instead of using sacsei and gsesei. It would also be
possible to convert for example SAC and GSE files to SEISAN running the program once.
There are two input options: (1) a single S-file or a list of S-files created with DIRF (is also
an index file), which points to the waveform data or a filenr.lis type of file that gives the
waveform file names; (2) a waveform file or a list of waveform files. The program can be
started either interactively, without arguments, or non-interactive by specifying the
commands as arguments.
124
-sfile <sfile-name>: The S-file name of the event you want to extract waveform data from.
-format <output format>: The output formats supported are SEISAN, SAC, GSE (GSECM6)
and GSEINT. In case of SEISAN or GSE, multi-trace files including all selected traces are
created, while for SAC single trace files are generated.
-maxpoints <number>: Number specifies the total number of points desired for the total time
window covering all selected traces. This option is meant to reduce the number of points to
what is needed to visual correctly plot the traces. When plotting the trace on a number of
pixels, which is smaller than the number of points on the trace, samples are plotted on top of
each other for one time sample. This results in the maximum and minimum which plot on
one time sample being seen on the trace. The idea now is to reduce the trace to these
maxima and minima only. Then using twice the number of samples than pixels will allow to
visual correctly show the trace. Note that this is not a resample routine. Option mainly used
with SEISWEB.
-wav_out_file <file-name: Name of waveform output file, not used if output format is SAC.
-chan_out_file <file-name>: Name of text file containing a list of available channels from a
list of waveform files. If wav_out_file is not specified, program terminates after creating the
list.
-duration: length of all channels, start and duration not used if chansel file given
-stat_out: write out station location file, simple xy output file (station_list.out)
-resp_out: write out list of all response files for channels given in waveform files
(respfile_list.out)
Example
1 KBS BV Z 1996 6 3 20 2 18.991 6000 20.000 2666.400 299.950
2 LOF S Z 1996 6 3 20 5 5.531 5800 50.000 2832.940 115.980
3 MOL S Z 1996 6 3 20 5 24.984 10000 50.000 2852.393 199.980
4 FOO S Z 1996 6 3 20 5 34.156 9650 50.000 2861.565 192.980
5 HYA S Z 1996 6 3 20 5 36.078 9900 50.000 2863.487 197.980
…
-chansel <file-name>: Input file to select channels and time windows. The first line contains
number of channels. The following lines give station code, start time (both absolute and
relative to earliest trace allowed) and duration. If start time and duration are set to 0.,
complete traces are selected.
Example
125
3
1 19991001124500.000 180
2 19991001124500.000 180
3 19991001124500.000 180
Use relative start time of 60 seconds from beginning of earliest trace, and 300 seconds
duration
3
1 60 300
2 60 300
3 60 300
-wav_files <file-name>: Extract from a list of waveform files in filenr.lis format. Input from S-
file will be ignored.
-start <time>: Start time can be used to set start time the same for all channels instead of
using chansel file, time can be absolute or relative to beginning of the first trace.
Other ways of extracting waveform data is using MULPLT where many traces can be
extracted as a binary SEISAN file or a single trace as an ASCII file.
The program uses a CAT file as input and checks for availability of all waveform files listed.
A typical run is shown below:
get_wav
INPUT FILE NAME
select.out
In the above example, a select.out was used. For each file, it is checked if the waveform
files are available in the system. All waveform data bases and directories specified in
SEISAN.DEF are searched. In order to extract the waveform files corresponding to the input
CAT file, the output file copy_wav.out can be used to copy the files out of the data base.
RESAMP is a simple resampling program, which can resample one or several waveform
files. It only works with SEISAN format. All files are read, filtered and resampled. Then
written out as one new file. The maximum number of channels is max_chan_out, which is
set as a parameter in the program, currently it is set to 7. Only the first max_chan_out
channels are used or less if fewer channels in file. It is assumed that all channels have the
same sample rate and will be resampled to the same lower sample rate, which is an integer
fraction of the original sample rate. If e.g. the original sample rate is 50, new rates of
25,10,5,2 etc can be obtained. The anti-alias filter is a single pass Butterworth with 6 poles.
The user specifies manually both the decimation rate (2,5,10,25 in the above example) and
the filter frequency. The new file(s) can have a new component specification, which is asked
for interactively. Finally the user is asked for a new network code.
The input files(s) come from a filenr.lis file generated with DIRF. If more than one file is
given in the filenr.lis, these will be put together in one file and some samples are saved from
one file to the next in order to assure that there are no overlap problems when using the
filter. IT IS ASSUMED THAT ALL FILES HAVE THE SAME LENGTH OF TIME. The
program will check if a following file has the correct header time based on the length of the
previous file. If the following file starts before the end of the previous file (err_samp
samples, default 70), it is assumed that the timing is wrong and that the files should follow
each other. A warning is given and the program continues. If the following file has a header
time that is more that a given err_samp samples after where it should be, it is assumed that
the next file is missing and zeros are inserted in the channel data. The number of sample
error err_samp, is hardwired in the program, currently 70. The program will continue to put
data together in one file until there are no more file names in the filenr.lis file or a blank line
is encountered. This can be used to make daily files of e.g. 2 weeks on continuous data by
manually placing a blank line in the filenr.lis file for every 24 hours. The program
recalculates the sample rate based on time in first and last file.
The output file name will be given the standard waveform file name with type R for
resampled like 1999-07-02-1112-22R.BERGE_005.
A simple program to make an ASCII equivalent of a binary SEISAN file, or vice versa. It is
the same call to use the program both ways. By using a filenr.lis file as input, many files are
converted and the original filenames are kept with the addition of an A for ASCII and B for
binary. If the files are converted back, the A or B is removed.
The program is useful for manually editing a waveform file or checking the content in case
127
of problems. The program is also useful for moving binary files between different types of
computer (moved as ASCII files). Between PC, Sun and Linux, SEISAN programs will
automatically adjust for differences in binary structure.
The program splits up one waveform file into 2 files. The questions are:
The program will generate 2 new files, one with the channels removed and one with the
remaining channels. The original file is still present.
The program can merge several SEISAN waveform files to one file or take one SEISAN file
and split it into single channel files. The program is intended for editing waveform files and
merging files from different networks to one file. In order to use SEISEI for merging files, a
DIRF must be made to make a FILENR.LIS file containing the files to be merged. The
program will sequentially read filenr.lis and merge files which have start times within the time
interval specified (3 minutes default). Once a gap of more than 3 minutes occur, a new
output file is made. Merging to a new file can be forced by editing FILENR.LIS so the groups
of files to be merged are separated by a blank line, however, within the group, the time
difference can still only be the given time interval.
If two channels to be merged have the same station and channel codes and the same start
time, the second occurrence will be ignored. If the station and channel codes are the same,
but start time different, the user will be asked to confirm merging.
If a file is only to be split into only 2 files, it is more convenient to use the program SEIDEL,
see below.
The program can also split up a multichannel file to files with only one channel. This can be
used to remove unwanted channels by deleting selected channels and merging again.
When the file is split up, the channel component is added to the file name. A FILENR.LIS
file can also be used for splitting many files in one go.
SEISEI is also used in connection with MULPLT for merging files automatically based on
waveform file names in an S-file.
A simple program to search headers in waveform files for files containing a particular
station.
WAVFIX, fixing time correction and channel names in SEISAN waveform file headers
and make standard file names
It can easily happen that a waveform file has a wrong time in the headers. WAVFIX can
change all header times with a given constant time delay. In addition, the file name will also
be changed to reflect the header time change. Waveform file names were shorter on
SEISAN version 6.0 so when using older files, the user might want to use standard file
names.
In case channel names are to be changed, this can also be done with WAVFIX. A definition
file is needed for changing station, component or both. The parameter file name is
wavfix.def and an example is given in DAT. For definition of the wavfix.def, see next section
6.12 on “Conversion programs definition file”.
WAVFIX can change header times and/or file names for one or many files. Before running
the program, a list of file names must be made with DIRF. Below is an example where the
header line is changed by 120 secs. No wavfix.def file is present (current or DAT directory).
File names of waveform files can be given to WAVFIX directly, from a filenr.lis file or from a
Nordic format file. In case you choose the Nordic input, the waveform file names will be
changed in the Nordic file (output file nordic.fix). This option is useful if you are correcting
file names, since the entries in the S-files are otherwise not fixed.
No wavfix.def file, will use internal information for channel codes
This program will change header times in all headers
with the same amount. The waveform file name will be
changed at the same time and adjusted to the standard
name.
If no time correction is given, only the waveform
names are adjusted.
In addition, channels names can be changed if a
wavfix.def file is available
There are mainly two types of files to convert, parameter files with readings and related
parameters and binary waveform files.
129
PARAMETER FILES
When plotting hypocenters or doing seismic hazard work, it is the first header line in an S-
file or CAT-file that is used since it is assumed that is the prime estimate. When making
compact files it is also the first header lines, which is used. However, there can be a need
for resorting the many type 1 header lines for one or several events so that they are ordered
according to agency. It could e.g. be needed to put priority on all the ISC solutions, which
then should be the first line in the file. CAT_AGA will reorder the type 1 lines in a CAT file
according to the order in which the agencies (3 character codes) are given by the user. If
there are many agencies, they can be given in an input file named cat_aga.par, format is
one agency per line in the first 3 columns. If the file is not present, the program will ask the
user to enter the agencies manually. The output file cat_aga.out will contain the sorted
events.
Input is just filename of HYPO71 file. A similar program for HYPOINVERSE files is
HINNOR.
The IMS1.0 (International Monitoring System) is a new version of the GSE format and very
similar. The program can partly be used for the new ISF ( IASPEI Seismic Format) which will
include all of the IMS format an additional information needed by ISC and NEIC. The
program and the following description is by Mario Villagran.
The program works with the IMS1.0:SHORT format (phase-readings/origin files) and the
program works both ways.
The IMS1.0:SHORT format is exactly the one used at the IDC International Data Center
(Vienna, Austria). In addition some features used by the ISC International Data Center and
the Spanish NDC National Data Center had been added.
Magnitudes in IMS format use many characters, the Nordic format allows only one; the
following rule is followed:
IMS Nordic
For mb --> ’b’
For MS --> ’S’
For ML --> ’L’
For MD --> ’D’
For Ml --> ’l’
For MN --> ’N’
For mblg--> ’G’
For ms --> ’S’
For MB --> ’B’
The maximum likelihood magnitudes mb1, mb1mx, ms1, ms1mx, etc are pending. IDC still
does not have documentation and they may be changed.
All parameter values read that exceed field limits of Nordic (Amplitude, velocity, snr, etc)
have been set to the maximum or minimum possible, example: if snr > 999.9 snr=999. For
conversion from Nordic to IMS it is necessary to use both the hyp.out and print.out files; The
reason is that IMS includes many parameters that need to be searched in both files.
When converting to IMS format, the user can specify the start numbering for the first event
and phase in the file; ignoring will assume (1,1).
This program works with the ISC fixed 96-column format as e.g. distributed on CDROM. The
program can select out subsets of ISC data using a latitude-longitude window, depth and
prime magnitude. Any of the magnitudes Ms and mb are used. Before 1978, there was only
mb on the CD’s. More detailed selection can be done on the output file later with SELECT.
Since the amount of data is very large it is also possible to write out only the hypocenters.
The program will first check if a file with agency codes called agency.isc is present. If so the
station codes are read from this file (same format as files on CDROM). The program will
also check the beginning of the data input file for a possible list of agencies and station
coordinates. If present, the stations coordinates are read and converted to SEISAN format
and additional codes read in. The agency codes are needed in order to identify in plain text
the various agencies used.
Principles in conversion:
Phases: The phases out can be either the phase ID' s sent to ISC or the ISC reinterpreted
phases (given with a number code in the input file). If the user supplied phases are
used, parenthesizes are removed, and if P/PKP etc is given, it is replaced by P.
Times: If day is incremented relative to origin time day, it is carried into the hours, which
can be more than 24.
Agency: It is assumed that it is the same agency for hypocenter and first magnitude.
Magnitude is checked for agency, if blank, assumed also to be the same. Only first
3 chars of code are used.
Stations: Only first 4 characters of code are used.
Depth: If no error on depth, a depth fix flag is set.
First motion: Only C or D are used, ISC codes J and B are ignored.
Hypocenter orders: ISC put the best solution last, here the order is reversed, and the
prime estimate is first.
Duration magnitude: Change D to C for type.
Distance indicator: If station furthest away is less than 1000 km indicator is L, between
1000 and 3000 km indicator is R and if more than 3000 km indicator is D. If no
stations are present. the type is set to D.
In order to relocate an event and compare to ISC location, the ISC reidentified phases must
be used (option 2, see below). This has the disadvantage that phases not used by ISC
(mainly S-phases of local earthquakes) are weighted out in the output file. If option 3 is
used, the ISC identified phases are selected if there and if no ISC identification is given, the
local reported phase is used. The output file for option 2 and 3 looks the same except that
for option 2, the user-defined phases are weighted out.
The residuals given in the output file is always relative to the ISC identified phases.
Running iscnor:
Below is an example of a run where a latitude - longitude window has been used.
Phases selected can be:
User reported phases (default=return) : 1
ISC identified phases only : 2
ISC identified phases and user reported phases
when not identified by ISC : 3
3
Output: All hypocenters and phases : Return
All hypocenters : 1
Prime hypocenter : 2
132
The file input can be from a CDROM as in the example above. In that case, the whole
CDROM can be read or a smaller time interval can be given. The input can also be from a
single file and the program will then ask for the next file when the first has been converted. If
many files are to be converted, a list of file names can be made with DIRF and filenr.lis
entered as an input file name. The Nordic format output file is iscnor.out and the station list
is in isc.sta which has the format used by SEISAN. Optionally, output can also be in the
original isc format, however that requires setting a flag in the program and recompiling, see
program source code.
The complete station list in the ISC list is very large and it is often an advantage to use a
smaller subset, although HYP can use the whole list. The program can select out subsets of
stations in both SEISAN and ISC formats.
The program will read an S-file, find how many different stations there are and select those
stations out of a station file, which can either be in SEISAN (=HYPO71) format or ISC
format (automatically determined). The output is in SEISAN format. If no S-file is given the
input station file is assumed to be in ISC format and the whole file will be converted to
SEISAN format.
Converts .PCK file output of EDPPICK to file in SEISAN format. Many events are converted
from one file. The program is based on program from Kinemetrics by Christopher S. Lim.
For info on how conversion is made, see program source code.
133
The program (written by Mario Villagrán) converts parametric data between Nordic and
GSE2 format. It can be used interactively or by giving the options as arguments. Type
‘norgse –help’ to see the options.
The program is written by F. Courboulex. The program asks for the input file name and the
output file name is norhyp.out.
PDE distributes bulletins on e-mail, both a monthly bulletin and a weekly bulletin (different
formats). The program converts one of these files to Nordic format and put the file into a
standard SEISAN database called PDE. This database must have been created before
running the program. Since only catalog files are created, only the catalog directory must be
made. If SEISAN is installed under e.g. test/seismo the directory to make is
test/seismo/REA/PDE__/CAT and if the file is from June 1995, the file name would be
test/seismo/REA/PDE__/199406.CAT. The reason that the output files automatically go to
the CAT directory is that it is then possible to use the SELECT program to search. When a
weekly file is converted, it also goes into the CAT directory. If no file for that month exist, it is
created, if a file exists, the weekly file is appended to that file so after 4 weeks there will be
approximately a monthly file. When a monthly bulletin arrives later, it overwrites the file
made of weekly bulletins. In this way it is possible to maintain a database of PDE bulletins.
RSANOR
The program SEIGMT reads information from Nordic or compact files and writes the
parametric data to files that can be used as input for GMT (Generic Mapping Tools,
http://gmt.soest.hawaii.edu/). The program produces input files for both psxy for plotting
epicenters (file gmtxy.out) and psvelomeca for plotting fault plane solutions (file gmtpsv.out).
The user can choose a scaling for the magnitudes and also select a magnitude type order.
The scaling option is useful if you wish to scale the symbol size of your epicenters with
magnitude. The magnitude type order defines, which magnitude should be taken in case
several magnitudes have been determined for one event. If you don’t give a magnitude
order, the program chooses the largest magnitude.
Output examples:
134
The program can retrieve parts of a large MAP file written in SEISAN map format. On the
SEISAN web site or on the SEISAN CDROM, very detailed global mapfiles are available in
SEISAN format. The file originally comes from the USGS. SELMAP can select out part of a
MAP file in a latitude-longitude grid. The MAP files consist of several small segments and a
segment is selected if at least one point is inside the specified grid.
The program converts USGS CDROM hypocenters to NORDIC format. Most of the
information is used. If more than 3 magnitudes are available, only the 3 first are used. The
number of stations is included when available. The depth is indicated as fixed in all cases
where the operator has been used (A,N, G). Macroseismic information is included with max
intensity. The residual standard deviation is put into rms column. Event types are set to R.
Magnitude types are converted as follows:
UK is made blank
b is replaced by B
s is replaced by S
D is replaced by C
w is replaced by W
No changes made to the program, no testing under version 7 and on PC, the executable is
form version 6.0.
This group of programs are mostly converting waveform files from some format to SEISAN
although a few also convert from SEISAN to some other, mostly standard, formats. Most
programs convert from binary to binary formats.
Many instruments come with conversion programs to some standard format like PCSUDS or
MINISEED, and these have often been used to convert to SEISAN instead of writing
programs reading the original files directly. Many such conversion programs work on PC so
the corresponding SEISAN programs only work on PC. However, since the PC files can be
read directly on Sun, this should not present a problem. Many programs have VERY LITTLE
documentation, look in source codes for more information.
The number of programs are forever increasing with new recorders coming onto the market
and new formats coming in use and others going out of use and it is becoming increasingly
difficult to keep track of it all. For this release of SEISAN 7.0, it has not been possible to test
135
all programs on all platforms and several programs have not been changed from version 6
since it is unclear what will happen with the original format after year 2000 and test data
consequently is not available.
Problem: Some of the programs compiled on PC under version 6.0 and left unchanged, will
not run under Windows98 (Windows95 ok). They have not been tested on later Windows
versions.
In this release of SEISAN 7.0, an attempt has been made to standardize the programs a bit
more than earlier. A general problem is that many seismic recorders and formats do not
provide proper identification of the channels. In the worst cases, there are no station codes,
only channel numbers and in very many cases, there is no room for proper component
information. This has been taken care of earlier by having a definition file, however most
definition files were program dependent. In version 7.0 and higher, only one format for the
definition file is used, see below. This is also used with program WAVFIX.
Most programs work in the standard way with a filenr.lis file made with DIRF.
The response information is seldom in the original files and in most conversion programs,
the response information is taken from the CAL directory. If no response information is
available, a message will be given. For each program, a comment will be given as to the
status of testing and on which platforms they operate. If the channel definition file option is
implemented, the array dimensions will be SEISAN standard.
The program SEIPITSA might be an easy way to convert between 1-column ASCII data and
SEISAN (see below).
The conversion programs use a common format for the definition file for naming station and
channels. The definition file is named programname.def as e.g. sudsei.def. The definition
file can be in the working directory or the DAT directory. The conversion program will first
look in the working directory for the file and then in DAT. The conversion of codes can take
place in 2 ways (see below for details):
(1) An input station and component code is converted to an output station code and
component, (2) an input channel number is assigned a station and component code. The
advantage of (1) is that the conversion is independent of the channel number or order,
however, the user must then know the default station and component names generated by
the conversion program.
In addition to converting channel codes, the def file can also give SEISAN waveform file
header information and network code as it appears in the file name. If no network code is
given, the network code will be the station code of the first channel.
136
(1) Both station and component given on input: Converted to what is given
for output station and component.
(2) If both are not present, the channel number is used.
Header line text (29 char)... NetCd (5 chars), Comment for next line
Header for REFTEK NEWNT
chan stati comi stato como, In and output definitions, comment for next line
1 BO11 S Z BOM B Z
BO12 S N BOM B N
BO13 S E BOM B E
The first line is just a comment line, must be there in any format. Here it shows where the
network code is positioned as indicated by NetCd.
The second line gives the header information for the SEISAN main header, which are the
first 29 characters. The file name network code is also given and is here NEWNT. Format
a29,1x,a5.
The third line is just comment to indicate the position of the columns in the following lines
(max 200). A line must be there. The abbreviations are:
chan: Channel number, optional unless no input station and component given.
stati: Input station code, 1-5 chars
comi: Input component code, 4 characters
stato: Output station code, 1-5 characters
como: Outut component code, 4 characters. First character MUST be S, L, B, A, or I,
last character MUST be Z, N or E, all upper case.
Format i5,1x,a5,2x,a4,1x,a5,2x,a4
For each program, a summary of capabilities is mentioned: The platforms available, channel
definition file available and if the program will look for response files in the CAL directory to
insert in the headers.
The program to convert waveform files from BGI to SEISAN format is called BGISEI. It
works together with the BGIASC program, which transform the waveform file into an ASCII
file compatible with SEISAN ASCII waveform file. The input file for BGIASC is entered as
argument in the command line of the operating system and BGIASC.EVT is given as output.
When BGISEI is running an internal call to BGIASC is done to perform a successful
conversion. This call is transparent for the user. The instrument response in the original files
is not used. The program has only been tested with data recorded in Cuba. The program is
written by Bladimir Moreno.
Platforms: Linux, PC
Channel definition file: yes
SEISAN response: yes
The programs are supplied by Kinemetrics to convert from SSA and SSR formats to
Kinemetrics Dataseis. To further convert to SEISAN, use program KINSEI. Only PC
executable programs are available. The data is 16 bit.
Platforms: PC
138
CSS
At the moment there is no direct conversion from CSS to SEISAN. It is possible to convert
CSS data to SAC or GSE using other tools like codeco, Geotool and sac, and then convert to
SEISAN format.
Converts Sprengnether DR3024 and DR3016 to SEISAN format. These two formats are
slightly different, but the program makes the adjustment. Only essential information is read in
and only 4 lowest digits of serial number is used. If station codes are set up, these are used,
else the serial numbers are used for station codes.
Platforms: All
Channel definition file: yes
SEISAN response: yes
Little tested and little used. No SEISAN7 upgrade. Only PC executable from version 6.0.
Platforms: PC
Channel definition file: no
SEISAN response: no
In a later version, the format was also called Lithoseis. Little used and little tested. Input files
are ASCII. No version 7.0 upgrade.
Converts Geophysical Institute of Israel imported DAQ files to SEISAN format. The initial
station codes are as defined in file, can be converted with the normal .def file. If 4. character
of station name indicate component (N or E), that is blanked out and transferred to 4.
character of component name BEFORE using the def file conversions.
Platforms: All
Channel definition file: yes
SEISAN response: yes
139
This program is a modified version of the GSE conversion program CODECO, which is written
by Urs Kradolfer and part of AutoDRM. It converts waveform data between SEISAN binary,
GSE1 and GSE2 formats.
The different output formats will be displayed on the screen. Multi channel files are supported
in both formats. When converting from SEISAN to GSE, response information from the trace
header can be converted to GSE and output filenames will be as described in the section
‘gseresp’. The start time of station operation is used by SEISAN for instrument correction (see
RESP program), but not given in the trace header and therefore set to 1950.
GSE output filenames are made by adding the output format to the input filename. SEISAN
output files get the SEISAN standard waveform filenames.
Known bugs: It seems that there is a bug in the conversion of the INT and INTn format. There
is also a problem with reading the CM6 format.
Platforms: All
Channel definition file: yes
SEISAN response: yes
Converts Güralp GCF files to SEISAN format, only works with one channel data. Maximum
number of samples as defined in seisan, at least 500 000, channels codes can be defined
using the gursei.def definition file. If no definition file, the station name is GURAL and the
component is taken the gcf header.
Platforms: All
Channel definition file: yes
SEISAN response: yes
The program provides conversion between SEISAN, GSE1 and GSE2 response files. The
response can be given in frequency, amplitude and phase (FAP) triplets or in poles and zeros
(PAZ). Since the number of values in the GSE format is unlimited the conversion from SEISAN
to GSE only changes the format, whereas converting from GSE to SEISAN, if the number of
FAP triplets is more than 30 or the number of poles and zeros larger than 37, the response in
SEISAN format will be approximated by 30 FAP triplets. The output files in SEISAN format will
have the default SEISAN response filenames (see RESP program and SEISAN response
format). Output files in GSE format will include the station name, the component, number 1 or
2 for GSE1 and GSE2 respectively and end on ‘.CAL’ (e.g. MOR_SHZ2.CAL (GSE2),
KONO_BZ_1.CAL (GSE1).
Platforms: all
Platforms: All
Channel definition file: yes
SEISAN response: yes
The input format is the variable ASCII download format used on the GSN Quanterra
stations.
The format is used in connection with SEISNET. The program only works if input file has
more than 1000 samples.
Platforms: All
Channel definition file: no
SEISAN response: yes
ISMES is an Italian seismic recorder. This is the first version of the program made by IIEES
in Iran. The program can convert one file with up to 3 channels.
Platforms: PC
Channel definition file: no
SEISAN response: no
The program takes the station code from the input files. The component codes are also
taken from the input file as far as Z, N and is E is concerned, but the first letter is always set
to S, like ’S Z’. The program is also used if CNVSSR or CNVSSA have been used first.
Platforms: PC
Channel definition file: yes
SEISAN response: yes
Program for K2 binary files. The program works by first converting the binary files to ASCII
by internally running the Kinemetrics program kw2asc (PC only).
If no definition file is present, channel 1-3 will be A Z, A N and A E. If more channels they
will be called A 04, A 05, etc.
Platforms: Linux, PC
Channel definition file: yes
SEISAN response: yes
141
The number of channels is fixed to 16 and the time information is not read, it must be entered
when converting the file. However, if a time code is digitized, this can be used to automatically
putting in correct time, use program LEESEI2. LEESEI2 uses only SUDS format input files. It
first converts from SUDS file to an ASCII file with program ST2ASC, then does the time
correction with FIXTIME and finally writes the output in SEISAN format. LEESEI3 is a slight
modification of LEESEI2 and might be better than LEESEI2. It has only been tested on
Nicaraguan data. PC only. If none of the programs work on newer systems, try SUDSEI.
NONE of the programs have been converted to SEISAN7.0 since the original format is in little
use now. On PC version 6.0 executable available.
Platforms: PC
Channel definition file: no
SEISAN response: no
Platforms: All
Channel definition file: Yes
SEISAN response: Yes
Only executable code for this program and only PC (made by the Royal Belgian
Observatory). The format is used by an older version Lennartz tape recorder. The output
files have the same names as the input files and are placed in a directory c:\qcoda, WHICH
MUST BE THERE.
Platforms: PC
Channel definition file: N/A
SEISAN response: N/A
Platforms: All
Channel definition file: yes
SEISAN response: yes
Conversion from miniseed to SEISAN can be done with the program MSEEDSEI. The
program is a modified version of a program converting from miniseed to ASCII given by Joe
Steim.
Platforms: Sun
Channel definition file: yes
SEISAN response: no
The program converts form the Y-file format to SEISAN. This is done by first making an
ASCII file with Nanometrics y5dump program (done internally in NANSEI). NOTE: The
y5dump program requires some special Nanometrics libraries (Solaris) or *.DLL files (PC),
which are included and installed with SEISAN (see installation section). The program
converts single channel files only.
NEIC earthquake digital data comes on CDROM. The data is extracted with a program
coming with the data and then converted to SEISAN binary waveform data. The response
information is given as poles and zeros in the SEISAN waveform file header. The program
has not been converted to SEISAN 7.0 and the executable file is from SEISAN version 6.0.
Platforms: PC
Channel definition file: no
SEISAN response: no
The program takes a SEISLOG ASCII (downloaded in CMP6 format) or binary file and
converts to a Seisan file. The input can be several files from a filenr.lis or an ASCII
downloaded file either compressed or uncompressed. The program will look for the
calibration file in the CAL directory and add it to the SEISAN file, or give a message if it is
not there. The program will work with SEISLOG files recorded under operating system OS9
or QNX up to version 7.6. For QNX version 7.0, use program QNXSEI.
PCEQ format to SEISAN. Earlier used with IASPEI software libraries. No SEISAN 7.0
upgrade and the executable is from SEISAN 6.
Platforms: PC
Channel definition file: no
SEISAN response: no
The program converts a single channel PDAS file to a single channel file in SEISAN format.
Several of these files can then be merged with SEISEI. PDASEI in previous SEISAN
143
versions (before version 6.0) only worked with PDAS in 16-bit format, so if 32 bit or gain
ranged format was input, the output would have been in error. The current version of
PDASEI should be able to convert all 3 types of input files.
A description of the PDAS format is found in the PDASEI program.
Platforms: All
Channel definition file: yes
SEISAN response: yes
The Public Seismic Network recording system makes one file pr channel. Since component is
not well defined, several files from the same recording system might get the same SEISAN file
name. Do some testing when setting up the recording system. The one component files can
be assembled into multichannel files with SEISEI.
Platforms: All
Channel definition file: yes
SEISAN response: yes
This program works as OS9SEI except that it does not read the ASCII files. The program
must be used with Seislog 8.0. The program is currently the only program that put in the
time synchronization flag in SEISAN waveform files except for data logging programs under
Seislog Windows. See format description in Appendix 2. The program recalculates the
sample rate base on the time in the first blocks in the file and the last blocks in the file (each
block is one second long). For very long files, this might be of importance since the digitizer
might not have exactly the nominal sample rate.
Platforms: All
Channel definition file: no
SEISAN response: yes
Seislog QNX from version 8.0 has the option to make resampled 24-hour files and QSEI is
used to convert the files to SEISAN. Sample rate is calculated as for QNXSEI.
Platforms: All
Channel definition file: no
SEISAN response: yes
Conversion of network and broad band files to SEISAN format. Covers several versions of the
DTS format also use by other institutions in Spain...
144
The rt_seis program converts Reftek Passcal format to SEISAN. This program is provided
by Refraction Technology Inc. The program does not use the filenr.lis as input file. To see
the options of RT_SEIS, start the program without any arguments.
Platforms: Windows
Channel definition file: no
SEISAN response: no
The SACSEI program converts between SEISAN and SAC ASCII/BINARY. SEISAN multi
trace files are split up into single trace files when converting to SAC.
SGRSEI
SeisGram binary to SEISAN. Only 3 component data has been tested. Channel order is
assumed to be Z, N, E. The input real values have been multiplied by 100 000 before being
converted to integers. Program little tested.
Platforms: PC
Channel definition file: Yes
SEISAN response: Yes
The Standard for Exchange of Earthquake Data (SEED) format is defined by the Federation of
Digital Seismographic Networks (FDSN). The readseed program is distributed with SEISAN to
extract data from SEED volumes.
RDSEED
RDSEED is an IRIS program to read SEED volumes. The program provides conversions to
SAC (ASCII and binary), AH, CSS and miniseed. It is described in the file ‘rdseed.txt’ in the
INF directory. Updated versions of rdseed will be available at
‘http://orfeus.knmi.nl/other.services/conversion.html’.
Unfortunately there is no direct way to convert from SEED to SEISAN. The best way however
is to use RDSEED to convert the SEED volume into SAC ASCII or BINARY and then to use
the SACSEI program, to get the data into SEISAN format.
145
The program converts SEISAN waveform files to Lennartz-ASCII MARS88 format. The
program will write one file per channel. Output files are either mars.xxx if a single file is
converted or marsxxx.yyy if the ‘filenr.lis’ file is.
Platforms: all
Channel definition file: no
SEISAN response: no
SEIPITSA
The program converts from SEISAN to PITSA ASCII format. The ASCII format has one file
per channel. The user will be asked for a name of the output file-system. If a single file is
converted, the channel number will be added to the output file-system name (e.g. data.001).
If the ‘filenr.lis’ file is used the filenumber will be added to the file-system name (e.g.
pitsa001.004, first file and fourth channel). The program is no longer used for conversion
when PITSA is started from EEV, but might be useful, since it creates one column ASCII
data and can easily be modified.
Platforms: All
Channel definition file: no
SEISAN response: no
SILSEI
Conversion from the Icelandic SIL system to SEISAN. Only conversion from ASCII files.
Platforms: All
Channel definition file: No
SEISAN response: No
The program converts from Sismalp to SEISAN. Sismalp is a French field recording system.
The input consists of 2 files pr event, a header file and a data file. It is assumed that the
Sismalp ndx files has the same file name a s the header files except for the file extension. It
is also assumed that the file names are 12 characters long. .
146
Platforms: All
Channel definition file: yes
SEISAN response: yes
The Syscom Strong Motion Recorder (SMR) is a self-contained instrument for recording
strong motion acceleration time series from three orthogonal components. Using software
that Syscom supply, it is possible to download files of the triggered events into a PC, which
in turn, can be converted to SEISAN files using the SMSEI program.
Configuration
The program assumes that the first 4 characters of the comment line stored in the SMR are
the station name, which should be in capitals. This should be set within the Syscom
instrument. It also assumes that the X,Y,Z directions defined by the SMR correspond to the
EW, NS and vertical components of the accelerometer. A positive x and y movement
corresponds to a movement to the East and North.
Response Files
The response files created should be for an accelerometer with a displacement output and
placed in the seismological directory.
Accelerometer constant = 16385 (i.e. 16,385 counts/Volt. The gain in SMR header =
6103*10-5 mg/count)
Amplifier Gain=0 dB
Number of Filters=0
Recorder Gain=1.0
Running SMSEI
SMSEI has a very similar feel to OS9SEI. The program takes non-compressed SMR DOS
files (*.SMR) as input. These files may be dirfed and selected by using the dirf number. It is
also possible to process multiple files using the filenr.lis option. The output SEISAN file will
be created from information contained in the file header and the response information will be
inserted into the channel header. If there is no response info, a warning will be issued. If the
gains of the 3 SMR channels are different, then a warning will be issued. Likewise, if the
gain in the SMR header differs from the gain calculated from the response file by more than
5% another warning will be issued.
The 3 component data are stored on the SMR in X,Y,Z (E,N,V) order. SMSEI outputs the
SEISAN data in Z,Y,X (V,N,E) order.
The program has not been changed to SEISAN 7.0 and the executable is from SEISAN
version 6.0
147
Platforms: PC
Channel definition file: no
SEISAN response: yes
The program converts from PCSUDS to SEISAN. This is done by first running the program
SUD2ASC (included) and then converting to SEISAN. The SUD2ASC program and test data
was supplied by REFTEK through the distribution of PC-SUDS Utilities by Robert Banfill
(1996). REFTEK is currently working on making a conversion program directly to SEISAN.
Platforms: PC
Channel definition file: yes
SEISAN response: yes
Program converts from Terra Technology ASCII files to SEISAN. Only tested with 1-3
channel files
Platforms: All
Channel definition file: Yes
SEISAN response: Yes
WGSSEI to SEISAN
Program converts from wgsn files to SEISAN. The format is used on IRIS stations as
processing format. Little tested.
Platforms: All
Channel definition file: Yes
SEISAN response: Yes
The two processing systems PITSA and SAC are interfaced to SEISAN and can directly be
started from EEV. This is done since both systems support functions that SEISAN does not
have.
SAC2000 (seismic analysis code) is currently developed by Lee Minner and Peter Goldstein
(Goldstein, 1999). SAC is not distributed with SEISAN, information on SAC can be obtained
from the SAC homepage (http://www-ep.es.llnl.gov/www-ep/esd/seismic/sac.html). The
main features of SAC include general arithmetic operations, Fourier transforms, three
spectral estimation techniques, IIR and FIR filtering, signal stacking, decimation,
interpolation, correlation, and seismic phase picking. SAC also contains an extensive
graphics capability.
With SAC it is possible to write macros, which helps to process large amounts of data. The
SAC format is used in several research oriented programs. SAC can be started from EEV
using the command ‘sac’. EEV will start the EXTRACT program to convert the data to SAC
and then execute the command sac. In case your sac executable is called sac2000, it is
necessary to rename it (to sac) or alternatively to create a link in either the SEISAN PRO
directory or the SAC bin directory. This is done for example by the command ‘ln –s
/sac/bin/sac2000 /sac/bin/sac’. The EXTRACT program converts the data to SAC format.
Since the SAC format is a single trace format, the SEISAN multichannel files are split into
single trace files. The station and component names are included in the file name and the
suffix ‘SAC’ is added to all SAC files.
For both systems, waveform data can be converted to the respective format outside EEV
using EXTRACT, GSESEI or SACSEI, and the programs can be started without using EEV.
BVALUE is a program to make b-value plots using a NORDIC input file (also compact). A
postscript plot file is generated.
Output is now:
n m1 m2 maxl a maxl b sd lsq a lsq b cor rms bfix afix sd
52 2.0 4.0 3.25 0.68 0.46 3.77 0.93 -0.93 0.14 1.0 4.02 0.16
Normalized 3.55 4.07 4.32
Normalized m1 2.19 2.21 2.32
Norm. lin. m1 154.9 162.2 208.9
! Normalized means normalized to one year (m=0), Normalized m1 (m=m1) and Norm. lin. m1 is
just antilog the previous. So in the above example, it is expected that 162.2 earthquakes
occur larger than or equal to 2 in one year (least squares relation).
Questions:
Plot(y/n)
! This will make a plot and a postscript plot file.
Note that only the last plot on screen is saved. The plot
must be sent manually to the printer.
The output file bvalue.out contains the same information in the same format as shown in the
example above. The file can be used with other plotting programs to make ’nicer looking’ b-
value plots.
150
Figure 6 An example of a b-value plot. The bars are number of events and crosses the accumulated
number of events.
151
This program will make picks automatically of events registered into the database. The
program will go through a series of events in the usual way using start time and end time. If
an event file (S-file) has any readings, the program will not reread in order to not
destroy old picks. The automatic readings in the file are marked with an A after the weight
column to indicate automatic pick. Each pick is evaluated by using the signal to noise ratio and
an indication of the quality is given with the weight. The program will run on all waveform files
given in an S-file. Each time the program runs, there is a file called autopic.out containing
information about the run.
If there are any 3-component stations, an azimuth will also be calculated, and the S-phase will
be more reliable.
The pick program can also be used from EEV by typing Z (will run program AUTOPIC). When
it is used from EEV, there is always an output in the S-file, which will be grouped at the bottom
of the file, making it possible to compare manual and automatic readings. THE S-FILE MUST
THEN BE EDITED MANUALLY IN ORDER TO REMOVE DOUBLE READINGS.
The program requires an input parameter file in the working directory or DAT with the name
AUTOPIC.INP. The program will first look in the working directory. The parameters in that file
are explained in file AUTOPIC.INF. Both files are shown below.
The program uses a 4-pole filter running one way. This might result in phases being picked a
bit late. However, it seems more accurate than the earlier version where the filter run both
ways and picks were often far too early.
The program is made mainly by Bent Ruud. For more information about how it works, see
Ruud and Husebye (1988) and Ruud et al., (1992).
Description of parameters
-------------------------------------------------------------------
%
% Input parameters common to all filters:
%
% LWIND : used to define step length (DELTA=WINDOW/LWIND)
% ISHIFT : defines time shift between STA and LTA window (ISHIFT*DELTA)
% Delay for LTA window (15 * 0.1) ==> 1.5 sec. after STA window.
% ISIGMA : defines fall-off rate of LTA window (larger values - longer windows)
% LTA(i) = (1 - 2^(isigma)) * LTA(i-1) + 2^(-isigma) * STA(j)
% COHMIN : Polarization threshold.
% Minimum coherence (see thresh_1 and thresh_2)
% NDMIN : Mimimum number of consecutive triggered windows in a detection
% SVELO : S-wave velocity of the medium below the station (used for 3-comp)
% NFILT : number of filters
% CRAT : Ratio for calculation of coda duration ( range 1 - 4)
% LWIN : Window used in coda duration routines (range 20 - 50 seconds)
% THRES : Quality threshold (range 2 - 5). Used on the maximum to average
% amplitude ratio in order to sort out the most noisy traces.
%
% Input parameters defined for each filter:
%
% WINDOW : length of the moving time window (sec)
% F1 : lower cutoff frequency (Hz) of band pass filter
% F2 : higher cutoff frequency (Hz) of band pass filter
% THRSH1 : STA/LTA threshold for polarized signals
% THRSH2 : STA/LTA threshold for unpolarized signals
% If coherence > cohmin then detection is made on thresh_1
152
% If coherence < cohmin then detection is made on thresh_2
%
% Output parameters:
%
% D : day of year
% H : hour
% M : minute
% SEC : second
% DUR : duration, i.e. time in detection state (sec)
% FRQ : centre frequency of filter giving the best detection (Hz)
% SNR : signal to noise ratio (SNR=STA/LTA)
% STA : short time average (root mean square of amplitude)
% NT : total number of triggered time windows in the detection
% NH : number of windows with best SNR on one of the horizontal comp.
% NV : number of windows with best SNR on the vertical comp.
% NC : number of windows with acceptable polarization
% Q : quality class, 1(best) - 4(worst)
% PS : P/S wave discriminator, 0(S) - 10(P)
% AZI : backazimuth in degrees measured from North through East
% DA : variability in azimuth (deg)
% VEL : apparent velocity (km/s)
% DV : variability in apparent velocity (km/s)
%
% Note : azimuth and apparent velocity calculations are based on the
% assumption of P-wave, so that these variables should be
% neglected for S-waves.
%
AUTOSIG
P-phase picking:
The phase picking is based on changes in the STA/LTA ratio. A band pass filter can be
specified. The routine gives options to enhance the changes in the signal before computing
the STA/LTA ratio. It is recommended to first remove the linear trend and then to compute
the characteristic function which is given by y**2+k*(dy/dt)**2, which enhances changes in
both amplitude and frequency content. Then the STA/LTA ratio is computed to detect
changes in the signal. The routine can also compute the squared STA/LTA. When a change
is detected, it is tested whether the signal spectral amplitudes are significantly higher than
the pre-signal noise spectral amplitudes. This is done to avoid triggering on spikes.
Signal duration:
The signal duration is determined by comparing the signal amplitudes with the amplitudes of
the pre-signal noise. The duration is determined by the point from which the ratio of these
amplitudes is lower than a given value. A filter is applied if specified in the parameter file.
Amplitude:
Routine finds maximum amplitude between two peaks.
Spectral parameters:
The routine computes the displacement amplitude spectrum for P or S waves (see section
6.2.11) and using a genetic algorithm determines the seismic moment and the corner
frequency. The method is described in Ottemöller and Havskov (2001) (see also the file
qspec.pdf in the INF directory). The displacement spectrum is corrected for geometrical
spreading and attenuation (both along the travel path and near surface). Therefore, the
hypocentral distance has to be known. The time domain window for extracting the data from
the trace can be given by either a group velocity (Vg=distance/travel time) window or a fixed
window in seconds around the phase pick.
Distance type:
The routine determines whether the signal is from a local or teleseismic event, or noise. If
signal spectral amplitudes are not significantly higher than pre-signal noise amplitudes, it is
assumed that the signal is noise. Otherwise the amplitudes at two selected frequencies are
compared, the rules are (f1<f2):
154
Note: When running the program the first time and the hypocenter location is not known,
the determination of spectral parameters is not done. To run the determination of spectral
parameters, the hypocenter location has to be given in the S-file.
The meaning of most parameters in the parameter file is clear from the keyword. The
spectral parameters are as described in the MULPLT section. Other parameters that need
explanation are:
STALTA NREC/REC: There are two sta/lta algorithms, recursive and non-recursive.
AUTO PHASE, AUTO SPECTRUM and AUTO AMPLITUDE: Logical flag to activate phase
picking, spectral analysis and amplitude reading, respectively.
SELECT PHASE: Defines, which phase to use for spectral analysis, choices are between
phase from file or synthetic.
#
KEYWORD............Comments.............Par 1.....Par 2
#
# spectral parameters
#
SPECTRAL S-Q0 Q0 440.0
SPECTRAL P-Q0 Q0 85.0
SPECTRAL S-QALPHA Q = Q0**Qalpha 0.70
SPECTRAL P-QALPHA Q = Q0**Qalpha 0.70
SPECTRAL KAPPA 0.02
SPECTRAL P-VELOCITY P velocity 6.2
SPECTRAL S-VELOCITY S velocity 3.6
SPECTRAL DENSITY Density 2.8
#
# auto signal processing parameters
#
REMOVE MEAN 1. for true 0.
REMOVE TREND 1. for true 1.
CHAR FUNCT 1. for true 1.
K IN CHAR FUNCT K IN X=Y^2+K*Y’^2. 3.
STALTA NREC/REC rec 0./ non-rec 1. 1.
STALTA SQUARE/ABS square 1. 1.
AUTOCODA SQUARE/ABS square 1. 0.
AUTO PHASE 1. for true 0.
only if no phase
AUTO SPECTRUM 1. for true 1.
AUTO AMPLITUDE 1. for true 1.
AUTO LOCATE 1. for true 0.
#
# window selection
#
SPECTRUM P LENGTH in seconds 5.
155
SPECTRUM S LENGTH in seconds 2.
SPECTRUM PRE LENGTH in seconds .5
GROUP VEL WINDOW P 5.0 6.5
GROUP VEL WINDOW S 2.7 3.7
SPECDURATION CHOICE 0:SPEC. P/S LEN. 1.
1:GROUP VEL W. P/S
#
# select phase
#
SELECT PHASE 0:auto P 2.
1:synth P
2:synth S
3:P from file only
4:S from file only
5:S or P from file
--- for 3-5, if no phase and AUTO PHASE is 1. use auto phase pick ---
DIST FREQ SELECT 1. 10.
#
# parameters used in the genetic algorithm searching for spectral parameters
#
GA POPULATION SIZE 50.
GA GENERATIONS 250.
#
# low filter limit to use for auto spectrum
SEPCTRUM F LOW .05
#
# parameters controlling output
#
CREATE WAVEOUT 1.
SPEC OVERWRITE 0.
PHASE OVERWRITE 0.
#
# station parameters
#
This program can be used to determine fault plane solutions using polarities or plot existing
fault plane solutions from the database (S-file). The existing solution can be plotted without
any station data or location being available, however if existing polarities have to be shown,
the event must be locatable in order to calculate angles of incidence. Several solutions can
be plotted on the same figure in order to compare solutions.
This program is originally written by Arthur Snoke (Snoke et. al., 1984,) and converted to
SEISAN by Arvidson. The program only works with polarities, however the original version also
works with S/P amplitude ratios. The program makes a grid-search and finds how many
polarities fit each possible solution. All solutions with less than a given number of wrong
polarities are then written out and can be plotted. With a cursor, the user can then select the
preferred solution, which then can be stored in the input file or the database. The program is
intended to work from within the EEV (option F), however it can also work independently (see
below). The program uses an input file called focmec.inp. This is a Nordic format file.
However, since the Nordic format does not have room for angle of incidence, this information
is put in column 58:60, format I3. Direct waves have angle > 90 and refracted arrival angle <90
degrees. If the angle is >90, the polarity is plotted at an azimuth+180. If the program is
156
operated from within EEV, this information is automatically put in and the focmec.inp file
created. If the user wants to use FOCMEC as a freestanding program, the angle of incidence
information must be put in manually in a standard CAT-file, which is then renamed focmec.inp.
This can be done automatically by FOCMEC if a hyp.out and corresponding print.out file is
available. FOCMEC can also be used to convert angles, like dip, strike and rake to T and P-
axis, simply say focmec a, where argument a stands for angles and you will be prompted for
input.
Stop (0)
Plot saved solution (1)
Plot new solutions (2)
Plot selected solution (3)
Find new solutions (4)
-1, -2, -3 also plot station
1: This is the solution(s) already stored in the Nordic format. The rule is that there should
only be one prime fault plane solution. The prime solution has ‘ F’ in last two columns of the
line. If any other character is put into column 79, the solution is not considered prime,
however it will be left in the file when new solutions are generated. There might be a need to
plot several solutions in order to compare solutions. In that case the character in column 79
must be ‘O’.
2: Plotting new solution after having used option 4
3: Plotting the selected solution after using option 4
Using e.g. -1 instead of 1, also plots the stations to help identify them on the plot, see Figure
7.
Number of polarity values: Number of polarities found for event with P-phases.
Any P-phase can be used like Pn and Pg. When few polarities are available, it is an
advantage to use both Pg and Pn since these phases have different angles of incidence.
Polarities associated with other phases are not used. There is no check if a P-phase has
been duplicated.
Maximum number of polarity errors: Depending on number of data values, 0-5 is a good
answer.
Degree increment in search: Initially use e.g. 20 deg to make a fast search, later use e.g. 5
deg to make a final solution.
The program will now start the searching and write out on the screen (and in a file) up to 50
solutions which fit the requirement of number of misfits. At the end, the number of
acceptable solutions is written out as well as the minimum number of bad fits. This can then
be used for the next search. Now option 0 to 4 can be used again.
When plotting the solution with option 2, the cursor comes up. The user can select a
preferred solution by moving the cursor near one of the letters T or P (T and P axis). By
pressing T, the program will find the nearest T axis (same for P and nearest P-axis) and
157
corresponding fault plane solution, which can be stored in the database and/or plotted with
option 3. If no solution is to be selected, press q for quit. If a solution has been selected, the
user will be asked if it is to be saved or not after selecting option 0. The saved solution goes
into the focmec.out and from there into the S-file (type F-line) in the database if FOCMEC is
operated from EEV. NOTE: The previous fault plane solution will be overwritten unless a
character is written in column 79 of the fault plane solution line. If e.g. the last 2 characters
are ‘OF’, this solution remains in the S-file.
When working from EEV, the event will always be located before the FOCMEC program
starts up. In the Nordic format the solution is stored simply as strike, dip, rake and number
of bad polarities (3f10.1,I5). Aki and Richards convention is used. In addition, the name
FOCMEC will be written near the end of the line to indicate that the fault plane solution was
made by FOCMEC. The other program, which can make a fault plane solution, is INVRAD
(see EEV). The line type is F. Focmec produces 3 output files.
1. Locate event(s) with HYP, then give command focmec. The program then combines the
files print.out and hyp.out to make the focmec.inp file and proceeds as usual. This is actually
the way FOCMEC works from within EEV. However, if more than one event is located,
FOCMEC assumes that all events shall be used in a composite solution, and focmec.inp will
therefore contain the header from the first event and phase lines from all subsequent events.
This is the easiest way to make a composite solution.
2. Manuel make the focmec.inp event or use option FC in EEV. Then run focmec with the
argument c to indicate that the focmec.inp file already exists and a composite solution is to be
made.
Using EEV and option FC (see EEV) an input file focmec.inp is generated containing polarities
etc for several events.
NOTE, when running FOCMEC outside EEV, the fault plane solution is not put into the
database (it does not belong to any particular event !), however it is written out in file
focmec.inp.
Computer limitations: Total number of polarities must be less than the dimension of array
DATA (parameter max_data) for Nordic data (see file seidim.inc in INC directory).
Figure 7
Top: An example of a fault plane solution plot (top). An open circle is dilatation and a filled circle
compression. Bottom: A fault plane solution also showing the stations with corresponding polarities.
160
The program will calculate coda q (hereafter called q) for a series of events and stations at
given frequencies. On completion, the average values are calculated and a q vs f curve is
fitted to the calculated values. The program will also plot the individual events and filtered
coda windows.
The principle for calculation is the standard coda q method, whereby a coda window is
bandpass filtered, an envelope fitted and the coda q at the corresponding frequency
calculated. The envelope is calculated RMS value of the filtered signal using a 5 cycle
window. The program used here is the one described in Havskov et al. (1989).
The program can only operate in connection with the SEISAN format S-files and waveform
files and will also take advantage of the SEISAN database structure.
Input
The calculations are controlled by a parameter file called codaq.par and the actual
event-station combinations to use are given in codaq.inp. Example files are in DAT. An
example of a parameter file is shown below:
------------------------------------------
start in s-times
2.0
absolute start time (sec)
0
window length (sec)
20
spreading parameter
1.0
constant v in q = q0*f**v
1.0
minimum signal to noise ratio
2
Noise window in front of signal and length of RMS noise window
15,5
minimum correlation coefficient
0.50
maximum counts to use
64000
number of frequencies
3
frequencies and bands
8,3
12,4
16,6
default stations(1. line) and components (2. line), 30a5
HYA ASK SUE
S Z S Z S N
---------------------------------------------------------
Start in s-times: Normally the coda window starts at twice the S-travel time from the origin,
this factor can be varied and might be chosen differently in special cases. Note that the S-
time is calculated from the P-time so a P-time must be present. This also means that if a Pn
is used, the coda window will start at 2 times the Sn travel time, which might be substantially
different from 2 times the Sg travel time.
Absolute start time: If 0.0, above parameter is used. However if different from zero, an
absolute start time relative to the origin time is used for the start of the coda window. This
might be useful since different start times (meaning different lapse times) might produce
161
different q-values. To use this parameter, one must be certain to choose it long enough
which can be checked with the plots. If the absolute start time is smaller than (Start in
s-times) multiplied by the s travel time, the station will be skipped and a message given.
Window length: This is the coda window length in secs. Use at least 20 secs to get stable
results.
Spreading parameter: The geometrical spreading parameter used in q-fit, normally 1.0 is
used.
Constant v in q = q0*f**v : For all q(f) values, q0 is calculated using a fixed v, use e.g. 1.0.
This parameter has no influence on the individual q calculations.
Minimum signal to noise ratio: In order to accept a q value for the average, the signal to
noise ratio must be above this value. The signal to noise ratio is calculated using the last
tRMS ( see next parameters) secs of the filtered coda window and the first tRMS secs of the
data file window. If the data file starts with noise or in the P signal, the s/n ratio will be in
error. A reasonable value is 5.0.
Maximum counts to use: If the count value in a coda window is above this value, the window
is not used. The intention is to avoid using clipped values. From SEISAN version 7.2, there
is also an automatic checking for clipped values in addition to ‘maximum counts’.
Noise window in front of signal and length of noise window, tnoise and tRMS: The first
number is the number of seconds of noise to plot in front of the signal. In previous versions,
15 secs was hardwired, but sometimes there was not 15 secs of noise before the P. The
second number is the length of the noise window used for calculation of the signal to noise
ratio. This was earlier hardwired to 5 secs.
Minimum correlation coefficient: In order to use the q value in the average, the correlation
coefficient of the coda q fit must be larger than or equal to this value. NOTE. Correlation
values are in reality negative, but are always referred to as positive in the following. An
acceptable value depends on the data, try to use a value higher than 0.5 (in reality -0.5)
Frequencies and bands: The corresponding center frequencies and frequency bands. The
frequency band should increase with increasing frequency to avoid ringing. E.g. 8,3 means
that the signal is filtered between 6.5 and 9.5 Hz. It is advisable to use constant relative
bandwidth filtering, to get an equal amount of energy into each band. The relative bandwidth
is defined as RBW = ( fu - fl )/ fo where fu and fl upper and lower frequency limit respectively.
Such a filter would be e.g. 4±1, 8±2. 16±4. The frequency representing the energy in a
particular filter band, is the geometric center frequency calculated as f c = f u f l . Since the
user probably wants to calculate coda Q at the given frequency, the normal option (new in
SEISAN7.2) is that fu and fl are calculated such that the given bandwidth (e.g. 4 Hz) is used,
but the actual fu and fl will give the specified central frequency. It is still possible to calculate as
before, where fu and fl will be exactly as specified (but the geometrical center frequency will
not correspond to specified center frequency) by giving the bandwidth as a negative number.
Default stations: The stations that will be used if not specified in the codaq.inp file. THE
LINE MUST CONTAIN AT LEAST SOME BLANK CHARACTERS, if not, stations will not be
read from codaq.inp file and the program will crash. Note also that the program assumes
that you use SP Z channels if there is no components given in the line following. After
reading the parameter file, the program will by default use the codaq.inp file to get the event
162
station information. However, any other name can be used if specified interactively, see
below.
The codaq.inp file will consist of a series of lines each giving an event identifier (an INDEX
file). An easy way to generate the file is using the SELECT program. The file can also be
generated with EEV using the (C)opy option making a file called indexeev.out. An example
is shown below:
1 /top/seismo/seismo/REA/BER__/1992/06/16-0343-38L.S199206
3 /top/seismo/seismo/REA/BER__/1992/06/16-1311-58L.S199206
7 /top/seismo/seismo/REA/BER__/1992/06/30-1504-30L.S199206
The above example only uses the default stations given in codaq.par. Below is an example
where particular stations and components have been selected with particular events, for this
to work the station line in codaq.par MUST be blank.
1 /top/seismo/seismo/REA/BER__/1992/06/16-0343-38L.S199206
HYA KMY BER ASK TRO
S Z S E B E S Z S Z
3 /top/seismo/seismo/REA/BER__/1992/06/16-1311-58L.S199206
HYA
7 /top/seismo/seismo/REA/BER__/1992/06/30-1504-30L.S199206
HYA EGD
S E S Z
Note that the numbers to the left originate from the index file and do not have any
importance. The long name with the directory structure, is the name of the pick file (S-file) in
the database, if the S-file is in the local directory, it can have just the event id, in this
example starting with 30-....The waveform file name is in the S-file. Following the S-file
name is, (like in the parameter file), first a line with station codes followed by a line of
component codes. Like in the parameter file, if a component is not given, it will be assumed
that the component is S Z. THE COMPONENT LINE MUST BE THERE, EVEN IF BLANK.
Below is an example of a codaq.inp file, where it is assumed that the S-files are the current
directory. This file can also be generated with DIRF.
16-0343-38L.S199206
HYA KMY BER ASK TRO
16-1311-58L.S199206
HYA
S E
30-1504-30L.S199206
HYA EGD
S N S E
Program operation:
The program first reads the parameter file, default ‘codaq.par’ which must be in your current
directory. It then reads the ‘codaq.inp’ file with the events to analyze (also in current
directory). The S-file names given here can, as shown in the examples above, be in the
database or elsewhere, e.g. in your local directory. In the S-file, the name of the waveform
163
file is given. If more than one waveform file is given, all files will be searched for the
specified station and component. The program will first look in the current directory, and
then in WAV and thereafter in the WAV database and other directories as given in the
SEISAN.DEF file in DAT. The program can therefore work without moving the data from the
database, however you can also move both the S- files and waveform files to your local
directory. Remember that the S-files must be updated in order to have origin time, since the
program uses the origin time and P arrival times from the S-files.
0: Only q is calculated
1: Q is calculated and a plot on the tek-screen is shown
2: Q ---------------------------------------------------,
and at the same time hard copy plots are made.
3: Q is calculated and hard copy plots are made, but
no screen plot.
The program will now start to run. If no plot is chosen, one line will appear on the screen for
each station used and one for each frequency. The program will start a new page for each
new event. If you are plotting on the screen, you will therefore have to hit return to get the
next plot. The screen might not have been filled out if there is few data.
On a x-terminal, all questions will appear in the text window. At the end, a summary is given,
which is the same as logged in the output file codaq.out.
H: Focal depth
M: Magnitude
TP: P travel time
TC: Start time of coda window relative to origin time
F: Frequency
Q: Corresponding coda q, if 0 value is > 10000 or negative
S/N: Signal to noise ratio
AV Q: Average q
SD: Standard deviation for average
NT: Total number of q values at all frequencies
N: Number of q values at given frequency
q: Average of q values
1/q: q is calculated as 1/q averages, probably the best to use
f:1/q: Q values calculated using the relation derived from the 1/q averages
q = q0*f**v obtained with the average 1/q-values
cq0: Constant q0 obtained using the fixed user selected v
v: Constant v determined
corr: Correlation coefficient in determining q vs f
If a station is not present or no P is read, a message will be given. The program will search
for the first P arrival time in the S-file. If several are present for the same station, it will use
164
the first.
Output:
A file called codaq.out is generated. It contains a copy of the parameter file, one line for
each event station combination accepted by the program (correlation and s/n ratio) and the
average q values. The q values are averaged directly (indicated by q) and 1/q are averaged
(indicated by 1/q). At the end are the fits to the q = q0*f**v relation.
Output file codaq1.out contains the same output as codaq.out except there is no print out for
each event.
Example of codaq.out:
start in s-times 2.00
absolute start time (sec) 0.00
window length (sec) 15.00
spreading parameter 1.00
constant v in q = q0*f**v 1.00
minimum signal to noise ratio 5.00
noise window in front of signal and len 15.00 5.00
minimum correlation coefficient 0.50
maximum counts to use 500000
ASK SUE KMY EGD HYA
S Z S Z S Z S Z S Z
\SEISMO\WAV\1996-06-07-1324-51S.TEST__009
\SEISMO\WAV\1996-06-07-1324-51S.TEST__009
\SEISMO\WAV\1996-06-07-1324-51S.TEST__009
1996 6 7132458 KMY tc 41.3 f 16.0 s/n 37.4 Q 1077 corr -0.55 rms 0.30
\SEISMO\WAV\1996-06-07-1324-51S.TEST__009
\SEISMO\WAV\1996-06-07-1324-51S.TEST__009
\SEISMO\WAV\1996-06-25-0336-34S.TEST__032
1996 625 33715 ASK tc 87.2 f 4.0 s/n121.9 Q 340 corr -0.60 rms 0.19
1996 625 33715 ASK tc 87.2 f 8.0 s/n 72.5 Q 551 corr -0.56 rms 0.28
\SEISMO\WAV\1996-06-25-0336-34S.TEST__032
1996 625 337 5 SUE tc 57.3 f 4.0 s/n 96.9 Q 193 corr -0.61 rms 0.34
\SEISMO\WAV\1996-06-25-0336-34S.TEST__032
1996 625 33730 KMY tc 143.5 f 8.0 s/n 13.6 Q 506 corr -0.61 rms 0.27
\SEISMO\WAV\1996-06-25-0336-34S.TEST__032
\SEISMO\WAV\1996-06-25-0336-34S.TEST__032
1996 625 33653 HYA tc 84.4 f 2.0 s/n 51.5 Q 288 corr -0.54 rms 0.12
1996 625 33653 HYA tc 84.4 f 4.0 s/n239.5 Q 427 corr -0.56 rms 0.17
1996 625 33653 HYA tc 84.4 f 8.0 s/n112.1 Q 504 corr -0.61 rms 0.27
AV Q SD AV Q SD AV Q SD AV Q SD
NT= 8 N= 1 N= 3 N= 3 N= 1 N=
q 288 0 320 118 520 27 1077 0
1/q 288 0 287 123 519 26 1077 0
f:1/q 206 91 333 147 537 237 867 382
Above, the one line per q calculations is showing results from different stations. Only the
traces selected (fulfilling selection criteria) are shown. The time indicated, is the start time in
the waveform file for that particular station. In the SEISAN format that does not have to be
the same for each station as shown above. If some data is missing, it is also show in the
codaq.out file. Corr is the average correlation coefficient (with standard deviation) for the
165
data selected for that frequency. The average lapse time is the average of the tc - values.
In the DAT directory, there is an example codaq.par and codaq.inp set up to run on PC
assuming that SEISAN has been installed under \seismo. If installed differently, edit the
codaq.inp file to reflect the installation. For Unix testing, the codaq.inp MUST be edited to
reflect the installation path or the file is regenerated using EEV as described above.
On Figure 8 is shown an example of a codaq plot. There are no options for the codaq plots
and the length of the window is always the first 200 secs from the original trace. If origin
time or coda window is outside this 200-sec window and data is available, the program
continues, but the coda window is not plotted on the figure.
166
Figure 8 An example of a coda Q plot. On top is shown the original trace and below the filtered coda
windows. Note that 15 secs of noise are shown in front of the selected filtered coda window. The first 5
secs of the noise shown is used for calculating the S/N ratio. On each filtered plot is given F: Center
frequency, Q: Q-value, zero means no Q-value could be calculated, S/N: Signal to noise ratio.
167
The program will check if two events are close together in time and merge the events if
requested. This is partly an alternative to use append in EEV. The program asks for
maximum time difference between events to associate. The user will then be asked if events
should be physically associated or not. The program is useful when merging a large number
of events. The program has two alternatives for merging:
(1) : Merge events in same data base: One event is compared to the next event in the same
data base. If they are close enough in time, the two events are merged and the program
moves on to the next event. If 3 events are close in time, only the 2 first are merged. In
order to also merge the third, the program has to be run again.
(2): Merge events from a file into the data base: This option makes it possible to merge from
another data base (use SELECT or COLLECT to create a file) without first completely
mixing the two. The event from the file will be merged with as many files from the data base
as fit the time difference criteria. So e.g. 2 events from the data base can both get the same
event from the file included. At the end of the run, a file is output (associ_rest.out) with
events which were not merged. These can then be put in the data base with split, if desired.
The full wave modeling programs are written by Bouchon and Herrmann, and for WKBJ,
Chapman and Valerie Maupin. Valerie Maupin has integrated WKBJ for SEISAN and written
the routines that makes it possible to use specific phases. She has also made many
improvements in the original installation of BOUCH and HERRMANN and written a large
part of this chapter.
Bouchon:
The Bouchon program is somewhat modified for SEISAN. The theory, which is quite straight
forward, is given in a series of papers (e.g. Bouchon, 1981). It is a discrete wave number
representation of the wave fields. Basically, the source is repeated periodically in space, so
that integration over the k-domain is replaced by a series. This implies that the periodicity of
the source, L (in km), should be large enough so that the information from fictitious sources
does not arrive during the time interval of interest. Roughly r < L/2, sqrt((L-r)**2+Z**2) >
Vp*t where r is the epicentral distance and Vp is the highest P-wave velocity of the
model, t is the travel time and Z the hypocentral depth. Only layered (horizontal, parallel)
earth model is used. The earthquake source cannot be in the bottom layer or at the surface.
There are 2 programs, BOUCH and BOUSEI. BOUCH computes the frequency response
given the model, the source depth, the focal mechanism, the receiver locations and the
orientations of the two horizontal components. BOUSEI takes the output file from BOUCH,
multiplies it by the source spectrum and uses an FFT to get the synthetic ground motion
(displacement, velocity or acceleration). The user must provide the source function (see
below) and the original waveform files must be available in WAV or working directory if a file
containing both real and synthetic signal is to be generated. Otherwise, only synthetic data
will be seen in the output file.
Herrmann:
The Herrmann programs HERRMANN and HERSEI work the same way as BOUCHON and
168
BOUSEI respectively. The major difference is that once HERRMANN has been executed,
HERSEI can be executed with different fault plane solutions to obtain the time series, while
for the Bouchon programs, both programs must be run again. The Herrmann programs are
thus faster for testing many different fault plane solutions.
The description in the following is for the Bouchon programs, but the steps are the same for
HERRMANN.
WKBJ:
As opposed to the seismograms calculated with the Bouchon and Herrmann programs, the
WKBJ synthetic seismograms contain only the number of phases selected by the user. The
execution time for one run of the program is very small. In addition to making the synthetic
seismograms, the program calculates the arrival times of these phases, and write them both
on the screen and in the iasp.out file for later plotting (see MULPLT). This is intended to be
a tool to help identify phases on the data or on the Herrmann or Bouchon synthetic
seismograms: it can by no means replace these two programs, which are much better than
WKBJ to model the frequency-dependent character of crustal phases at regional distance.
WKBJ seismograms have been introduced in seismology by Chapman (1978). More details
on the method can be found in Dey-Sarkar and Chapman (1978) and in Chapman and
Orcutt (1985). The core of the present program is a code written by Chapman et al. (1988)
and is part of the seismological software distributed freely by IASPEI.
The synthetic seismograms are given in displacement. Although their spectra contain low
frequencies, one should bear in mind that they represent a high-frequency approximation of
the wave field. They include a number of non-physical phases due to truncation of the
integrals in slowness p. For the most interesting crustal phases, the epicentral distance is
usually much larger than the source depth, and these phases interfere with the physical
phases and modify their amplitudes.
For a receiver at the free surface, the synthetic seismograms must include the free surface
reflection coefficient to yield correct amplitude and waveform for the different phases. For S
phases, at epicentral distances larger than critical, this includes automatically the SP phase
(a P phase which propagates horizontally along the free surface, and which originates from
the critical conversion of S to P at the free surface). The critical distance is of the order of
the source depth for the Sg phase, and its SP phase usually appears as a large arrival
between the P and S wave. The SP phases are physical, but the amplitude of their high
frequency part is overestimated with WKBJ. If one wishes to suppress them from the
synthetic seismograms, one may optionally do so. With this option, the surface reflection
coefficient is omitted and the synthetic seismograms contain only the upgoing wavefield,
that is the wavefield one would get in a borehole, after filtering out the downgoing wavefield.
Let us note that this option may strongly modify the amplitudes and waveforms of the
169
In addition to the synthetic seismograms, the program calculates the arrival times of the
phases you have specified, and write them in the iasp.out file. These times are calculated by
interpolation in epicentral distance of the values tabulated in wkbj.tab. For sources close to
an interface (in practice for Pg and Sg phases and the source under an interface), there is a
limited epicentral distance range in which an arrival time can be calculated. For example, the
maximum epicentral distance for Pg is about 250km for a source 0.1 km under Moho in the
default SEISAN model. In order to increase the maximal epicentral distance, you may move
the source away from the interface, or you may increase the number of ray parameters used
in program wkbj_or.for (parameter ’nnpp’) called from wkbj.for.
The programs require input about distances, azimuths, depth, crustal model, fault plane
solution, time window, number of points and some modeling parameters. Almost all of these
parameters are available within SEISAN. The programs have therefore been modified to use
an S-file (Nordic format) as input file with additional information about time window, number
of points to model and crustal model. A special format has been used to keep the modeling
information separate from other information in the file (see below for an example). The steps
to model a particular event are as follows:
Problem Bouchon: Use few layer, ideally just a halfspace under the deepest ray. Th e
programs seem to become unstable if too many layer are used there.
Step 1
Edit the event in EEV and mark the stations wanted for modeling with a minuscule s in
column 1, ONLY mark the station once. Exit from editor and, within EEV, give the command
"synt". This will generate all the necessary default input parameters for modeling, which are
stored as comment-lines starting with SYNT in the S-file (see below). At the same time, the
s’s used as markers are removed. Any old modeling information present will remain
and override the defaults. However, in case the F-flag is set for the DEPTH parameter,
distances and azimuths will be reset according to the current location.
Step 2
Edit event again and check if default parameters are ok (see explanation below).
Step 3
Run one of the programs BOUCH, HERRMANN or WKBJ. These are known commands in
EEV.
BOUCH: The program will now run for a certain amount of time depending on number of
points required. At the standard output, the input parameters used will be printed out and for
each frequency, the number of terms in wave number integration is printed out. If the limit of
the number of terms is reached, something is wrong, try other parameters. The speed of
this output (NPOINT/2+1 lines) gives a good indication of how long time it will take.
HERRMANN: Takes longer than BOUCH.
WKBJ: Very fast.
Step 4
Generate the seismograms.
170
BOUCH: Use program BOUSEI. The program is interactively asking the seismogram type
(displacement, velocity or acceleration) seismogram. BOUSEI will generate a file bousei.out
in Seisan format containing both original and synthetic traces. The number of traces is
determined by the specifications for each station, see below. Output file is bousei.out.
HERRMANN: Use program HERSEI, similar to BOUSEI. Output file is hersei.out.
WKBJ: The first command WKBJ also makes the seismograms. Output file is wkbjsei.out.
In all cases it is possible to shift the original trace relative to the synthetic trace and the
program will ask, for each channel, how much it should be shifted. A positive value shifts the
real trace up in time (to the left). The default is to shift the trace the amount of the P-travel
time residual of the first P found in the S-file for that station in order to line up the P -
phases. NOTE: These phases MUST be the same phase types in order to be lined up. If the
first modeled phase is Pn and the first observed phase given in the S-file is Pg, there will be
a no alignment. The amplitudes for Bouchon are in nm, nm/sec or nm/sec*sec (hopefully !!)
assuming a seismic moment of 10 **22 dyne-cm. The output file will normally contain both
the original and synthetic traces. However, if no waveform file is available (in local or WAV
directory), the output file will contain an empty channel where the original data should have
been. The specifications in the hyp.out file determine which traces from the modeled
stations are included in the output file. If the specification after STATION is only component
(e.g. S), then all 3 channels are shown. If a particular channel is given (e.g. S N), then only
that channel is shown. Only one or 3 channels can be displayed.
All output traces are given in Z, N and E or Z, R and T depending on the parameter file (see
below). The channel names are SH, SB and SW for Herrmann, Bouchon and WKBJ
respectively.
Step 5
Plot the traces with mulplt. This can be done within EEV using the command pw, ph or pb
for WKBJ, Herrmann or Bouchon respectively. Since there is no instrument correction, it is a
good idea to plot both the modeled and observed signals narrow band pass filtered. E.g. for
regional events 0.1-1 Hz and for small local events 2- 5 Hz (depending on sample rate).
Note: The whole modeling process can be done entirely within EEV and it is intended to be
done so. Since the modeling requires updated distances, depths etc when changing model
etc, it cannot take its input from the location in the S-file, which only changes when doing an
update (see UPDATE program). So when running from within EEV, a location will always be
done first to get an updated S-file (in this case the hyp.out file) and this is the reason that
the modelling programs use the hyp.out file instead of the S-file for input. This also means
that the modeling program can be run separately from any hyp.out file, however it is then up
to the user to keep it updated.
171
Below is shown an example of part of an S-file prepared for modeling. The file is one of the
events in the test data set and by using EEV to find the event, modeling can start
immediately. All parameters have been set automatically.
1996 6 7 1325 29.1 L* 59.841 5.127 12.0F BER 12 1.1 2.2CBER 1.9LBER 2.0LNAO1
1996 6 7 1325 29.1 L* BER 2.0WBER 1
8.3 41.0 74.7 1 F
1996-06-07-1324-51S.TEST__009 6
535 SOUTHERN NORWAY 3
depth fixed to 12 km, rms lowest with near station (less than 110 km) location3
fault plane solution ok within 10 deg 3
SYNT: MODEL--: THICK VP VS DENS QP QS 3
SYNT: MODEL--: 12.000 6.200 3.563 2.600 0.000 0.000 3
SYNT: MODEL--: 11.000 6.600 3.793 2.800 0.000 0.000 3
SYNT: MODEL--: 8.000 7.100 4.080 3.000 0.000 0.000 B 3
SYNT: MODEL--: 19.000 8.050 4.626 3.200 0.000 0.000 N 3
SYNT: MODEL--: 30.000 8.250 4.741 3.400 0.000 0.000 3
SYNT: MODEL--: 50.000 8.500 4.885 3.600 0.000 0.000 3
SYNT: ST-D-RK: 8.3 41.0 74.7 3
SYNT: DEPTH--: 12.0 3
SYNT: NPOINTS: 256 3
SYNT: TIMES--: TOTAL 60.000 INITIAL 0.000 SY-TRACE 60.000 3
SYNT: BOUPAR-: 300.0 600 0.001 3
SYNT: PHASES-: Pg Sg PmP SmS SmP 3
SYNT: DT-Tsou: 0.050 .100 3
SYNT: REDVELO: 8.0000 3
SYNT: COMPON-: RADIAL 3
SYNT: STAT-AT: no 3
SYNT: NSTAT--: 3------------------------------------------------------3
SYNT: NEW STAT:---------------------------------------------------------------3
SYNT: STATION: EGD S Z DISTANC: 49.0 3
SYNT: STATION: EGD AZIMUTH: 9.0 BAZIMUTH: 189.2 3
SYNT: NEW STAT:---------------------------------------------------------------3
SYNT: STATION: KMY S Z DISTANC: 71.0 3
SYNT: STATION: KMY AZIMUTH: 172.0 BAZIMUTH: 352.7 3
SYNT: NEW STAT:---------------------------------------------------------------3
SYNT: STATION: ASK S Z DISTANC: 72.0 3
SYNT: STATION: ASK AZIMUTH: 5.0 BAZIMUTH: 185.1 3
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO SNR AR TRES W DIS CAZ7
EGD SZ IP C 1325 35.95 93 -1.110 48 6
EGD SZ ES 1325 42.03 -1.010 48 6
BER SZ IP C 1325 38.12 55 -1.010 62 11
BER SZ ES 1325 45.44 -1.110 62 11
BER SZ E 1325 46.71 31.7 0.2 62 11
ASK SZ EP D 1325 39.59 68 -0.910 70 3
ASK SZ ES 1325 48.07 -0.810 70 3
ASK SZ E 1325 50.90 111.0 0.3 70 3
KMY SZ IP C 1325 40.26 62 -0.410 71 175
KMY SZ ES 1325 48.74 -0.410 71 175
KMY SZ E 1325 48.92 83.6 0.2 71 175
ST-D-RK: Strike dip and rake is taken from an existing fault plane solution for the given
event (F-line) if it exists, otherwise arbitrary values are supplied. The convention is Aki and
Richards.
172
DEPTH: Focal depth is taken from the current solution. The second field can optionally have
the letter F (right justified). If this flag is set, the user can give the synt command to update
all distances and azimuths used for modeling which will correspond to the latest location
determined as e.g. a result of a changed fixed depth or a changed model. The intention with
this flag is that the user should be able to set a fixed depth in the S-file header line, give the
synt command to update the parameters for modeling corresponding to this depth and then
model.
NPOINTS: Number of points to model, 256 is set as default, must be 2**N. Used by BOUCH
and HERRMAN only.
DT-Tsou: Sampling interval (used for WKBJ seismograms only), and half-duration of the
source used for all three programs. In all programs, the source is triangular, however
BOUCH can optionally use several sources, see below.
Possible phases:
STAT-AT: Is "not free" or "NOT FREE" anywhere within column 16 to 25: Optional line. If
this option is chosen, the WKBJ synthetic seismograms are calculated omitting the reflection
coefficient at the free surface, at the receiver location (see below for details).
the hypocentral distance), Nt is maximum number of terms in wave number summation and
e is the value used in truncating the summation. Increasing e and decreasing Nt will speed
up convergence, but the results might be unreliable.
The time duration of the triangular function for Bouchon is given as Tsou above, and is also
used in WKBJ and Herrmann.
Hints on modeling
Event 199606071325 is set up with modeling parameters and can be tested immediately.
The model
The standard model given in STATION0.HYP might be too detailed for most cases and
should be simplified to include 3-4 layers by just editing the S-file, this also speeds up
modeling. However, if you located the event with one model and model with another, the
distances and residuals might not fit. A solution could be to have a STATION0.HYP in the
local directory with the simplified model.
Alignment of P and S
If the distance calculated by HYP is not correct as indicated by P and S residuals, the
synthetic and observed signals will not be aligned. The distance for that station can then be
changed manually in the S-file under DIST and/or delays can be applied when generating
the seismograms.
There is no need to go back to EEV to test for the parameters that do not change the
location. Thus to test for different fault plane solutions, time windows, number of points, edit
the hyp.out directly and rerun. However, if depth or model is changed, relocation must be
made. To test for different depths, located with fixed depths, see HYP.
NOTE: THE SOURCE AND RECEIVER CANNOT BE AT THE SAME DEPTH (BOUCH
AND HERRMANN) AND IN NO CASES CAN THE SOURCE BE AT DEPTH ZERO.
Running time
174
This depends mostly on number of points and to some degree on number of layers. The
number of stations has an insignificant effect on running time. A 4-layer model and 256
points will take under a minute with Bouchon.
Program limitations: Herrmann and wkbj is set up with max 20 layers and Bouchon with 10
layers. Maximum of 32 stations Change programs and recompile if more layers are needed.
Bouchon is compiled for 512 frequencies (1024) points.
Computer notes:
The original program BOUCH is almost unchanged. The only modification is that it uses a
subroutine to generate its original input file bouch.inp from the hyp.out file. This file still
remains after running BOUCH for debugging purposes. The output from BOUCH is
bouch.out, which in turn is input to BOUSEI.
Herrmann:
The Herrmann waveform modeling is based on a concept where the synthetic seismograms
are computed through a sequence of four distinct processes (programs).
1. The program "hspec8" will calculate the medium response for 10 basic Green functions,
where the response is given in frequency - wavenumber domain F(f,k).
2. The program "rhwvinta" will integrate and take the medium response from F(f,k) --> F(f,r)
3. The program "rhfoc10" will convolve the response function with a source time function
and with inverse Fourier transform take F(f,r) --> F(t,r)
4. The program "mech" will construct a 3 component synthetic seismogram given a focal
mechanism.
Herrmann’s programs originally had several optional source time functions, however, a
triangular source has been hardwired (for all 3 programs) so it is easier to compare the
results. The original options can be reactivated by editing the program.
The programs HERRMANN and HERSEI runs these 4 programs in an automated sequence.
All References a detailed manual, source code and Parameters as well as other related
programs: "Computer Programs in Seismology", Volumes I - VIII. By Robert B. Herrmann,
Saint Louis University, Saint Louis, Missouri.
WKBJ:
Output file iasp.out (on port 16), written by "WKBJ". Contains the arrival times of the
different phases at the stations, in SEISAN format.
Output file wkbjsei.out (on port 17), written by "WKBJ" in the SYNTSEL.FOR subroutines. A
waveform file (SEISAN type) containing the data and the synthetics, which can be plotted
175
using "mulplt". Note that there is a code for each synthetic seismogram giving the modeling
method (SH: Herrmann, SB: Bouchon, SW: WKBJ), and the component (Z, R, T, N or E).~
INTERMEDIATE FILES
wkbj.inp (on port 2), created by WKBJ for input to WKBJ_OR. The same information as in
hyp.out, in a WKBJ_OR format.
wkbj.tab (on port 3), output from WKBJ_OR, reprocessed by WKBJ. Contains tables as a
function of ray parameter.
wkbj.out (on port 4), output from WKBJ_OR, reprocessed by WKBJ. Contains the Green
functions.
In addition ports 12 and 20 are used for scratch files by WKBJ or SYNTSEL.
176
Figure 9
An example of synthetic seismograms using Bouchon(2), Herrmann (3) and WKBJ (4). The original
seismogram is shown in channel 1. All synthetics are displacement. Also shown are the theoretical
travel times calculated by WKBJ.
177
In SEISAN, travel times are generated from flat crustal model or using the IASP91 global
travel time model. It can often be useful to generate travel times for given distances and two
programs are supplied to do these calculations. TTIM will calculate travel times for global
phases at one given distance and depth and TTLAYER, will calculate a travel time table
(layered flat model) for a given depth and a distance range. A special version of TTIM called
IASP is used in connection with EEV and MULPLT.
This program can be used for calculating global travel times, see below for details for phases
calculated. The program assumes that you have the travel time tables in the working directory
or in DAT, see computer notes below on how to generate these file if not already there. The
same files are also used by HYPOCENTER.
The first two questions 'do you want xxxxx’ relate to range summaries, etc., that are normally
not required and can be answered with n(no) followed by ENTER. The program then asks
'Enter phases, one per line...' You can then enter a specific phase, or a keyword defined as
follows:
all individual phases, separated by ENTER, terminating the list with an additional ENTER. The
program will then enter a loop where phase times are calculated for new distances entered on
request. The program is terminated for a particular distance by entering -1, and a new depth
can be used, or the program can be terminated by entering -1 again.
In order to generate the earth model files IASP91.HED and IASP91.TBL, first run program
REMODL, then program SETBRN. The program REMODL has the earth model hardwired.
Note: These binary files CANNOT be moved between platforms. They are included with
SEISAN for each respective distribution. If lost, they must be regenerated on the same
platform.
For more information about IASP91 programs, see HYPOCENTER manual by B. Lienert.
6.20.2 Calculation of travel times for layer and gradient model, TTLAYER
The TTLAYER program is written by Barry Lienert to calculate travel times for both layer and
gradient model. In this version the program only works for zero depth, and therefore might
178
The program reads a set of velocities and depths from an input file in ‘STATION0.HYP’
format and calculates travel times for P and S velocities for a set of uniform-velocity layers,
using the HYPOCENTER dtdx2 routine and also for a set of uniform gradient layers, using
dtdxg, a new routine written to have the same input arguments as dtdx2.
The routine to calculate travel times for a gradient model uses an adapted version of Fred
Klein’s TTCAL routine, which he uses in his program TTGEN to generate a table of values
from which to interpolate travel times and their derivatives in HYPOINVERSE.
The program is easy to run and the output can be plotted with some standard xy plotting
tool.
This program is a special version of IASP91 to be used in connection with EEV and
MULPLT. Giving command iasp from the EEV prompt (or from within MULPLT), the
program will read the current active S-file, and for each station, calculate possible IASP91
phases and arrival times relative to the hypocenter and origin time given in S-file. The origin
information can be obtained from two places in the S-file: (1) The header lines are searched
for hypocenter lines and the first found after the main header will be used, (2) If no
secondary header lines, the main header line is used. The intention of this order is that it is
possible to put in a PDE solution in a secondary header line (option INPUTONE in EEV) so
that theoretical travel times are calculated relative to a fixed solution and not the temporary
solution made by the local agency.
The IASP91 tables can be found in the local directory or DAT and have the same names as
used in HYP and TTIM. The program generates an output file iasp.out in Nordic format. This
file is read by MULPLT and the theoretical phases displayed on the screen. The number of
phases calculated can be very large making it hard to see which phase is which. IASP
therefore has a definition file, IASP.DEF, where phases to be written out are given. The file
can be in the working directory or in DAT. If no definition file is available, all phases will be
written to the iasp.out file. Below is an example of a IASP.DEF file
Phase ID Phase---
--------------------
IASP-PHASE P
IASP-PHASE PP
IASP-PHASE PPP
IASP-PHASE PKP
IASP-PHASE pP
IASP-PHASE sP
IASP-PHASE PcP
IASP-PHASE S
IASP-PHASE SS
IASP-PHASE SSS
IASP-PHASE SKS
IASP-PHASE ScS
IASP-PHASE PS
IASP-PHASE SP
IASP-PHASE ScP
179
The QLG program can be used to determine an average QLg or to perform a tomographic
inversion. The method is described in Ottemöller et al. (2001). The program can also
produce the input for distance trace plots. Note that using the program is no trivial task. The
data set needs to be carefully selected and the instrument calibration has to be known. The
input to the program is a Nordic file, which includes several events. The parameter file
needs to be carefully set up.
Note: In this version of SEISAN, a first version of the program is included. It is expected that
the user interface will be changed. It is suggested that the user contacts the editors in case
he/she wants to use the program. The main purpose of including the program is to give an
example source code so that the user can make use of it when implementing similar
programs.
Limitations: The program assumes that the grid is defined over a flat area. The
tomographic inversion using QLG, therefore, should only be done for regions near the
equator. The problem otherwise would be that the grid cells would not have the same size,
which may lead to artefacts.
#
# Grid
180
#
X START x start of grid -92.5
Y START y start of grid 6.50
X DELTA x delta grid 1.
Y DELTA y delta grid 1.
X NPOINTS x # points 17.
Y NPOINTS y # points 13.
6.22 Wadati
This is a program to make Wadati diagrams and apparent velocity from a Nordic file with
one or many events. The apparent velocity is calculated from the arrival times and the
calculated epicentral distances as given in the S-file. The apparent velocity is thus
approximate and affected by the location.
The purpose of the program is to calculate Vp/Vs values for individual events and calculate
the average for a group of events. In addition, the program can calculate the apparent
velocity for each event based on P or S-times. Wadati diagrams with plot can also be
calculated directly from EEV.
For each calculation, events can be selected based on: Minimum number of stations,
maximum rms of the fit (S-P vs P, or arrival times), and minimum correlation coefficient of
the fit. For the apparent velocity calculation, the data can also be selected in distance and
azimuth ranges.
The average Vp/VS is calculated for the whole data set. Individual Vp/Vs values outside the
range 1.53 to 1.93 are excluded.
An output file wadati.out is generated.
The SPEC program is used for making spectra of many seismic signals in a semiautomatic
manner. It can be used for several investigations:
Note: Parameter file has changed between SEISAN 7.1 and 7.2
A: Making a large series of signal spectra, which can be corrected for instrument and path.
B: Making relative spectra of seismic events or background noise in order to determine the
soil response. When using relative spectra of horizontal versus vertical components, this is
referred to as the Nakamura method (Nakamura, 1989).
C: Making relative spectra of signals from two stations in order to determine Q.
The program can technically operate in two ways: (1) Making relative spectra of a series of
pairs of stations terminated by the average spectra, (2) Making a series of spectra for a
number of stations and events. The spectra can be corrected for distance, q, and instrument
response. In addition, the spectral levels can be expressed in moment or moment
magnitude calculated in the same way and with the same units as in MULPLT. All relevant
parameters are taken from the CAT files, the CAL files and the input parameter file for
SPEC. Window selection for the spectra can be specified to be related to the P, S arrival
times or the earthquake origin time and it is thus possible to automatically make e.g. S-wave
spectra of a large set of stations and events. Optionally, noise spectra, can be calculated
together with the signal spectra. The noise window is selected at the start of the waveform
file.
Before the program is started up, the input files must be prepared. The program need two
input files. The parameter file (default spec.par) gives the parameters to use and the list of
stations to process. The event file (default spec.inp) is a CAT file with events to use. The
program produces one output file spec.out with the parameters used, the station event
combinations used and error messages. An example of a spec.par and spec.inp file is found
in DAT. These files can be used immediately with the test data set.
Limitations of amount of data: The program is set up to handle 100 spectra of up to 30000
points each for one run. The dimensions can be increased in spec.for, however the program
must then be recompiled. The spectral windows are 10% tapered.
The analyzed signals will be checked for clipping and rejected if clipped. A message is then
given in spec.out
The file contains alternate lines of parameter names and parameter values, and must
contain the number of lines shown in the example below.
The parameters:
Selection criteria: Determines how the start of the time window is selected. 1: Start with the
P-arrival time, 2: Start with the S-arrival time, 3: Start with the S-arrival time calculated from
the P-arrival time assuming a P to S velocity ratio of 1.78, 4: Start with ’start’ (see next
parameter) seconds after the origin time as given in the CAT file header. This option can be
used if no readings are available in the CAT file. When using a P or S-time for start of
window, the program uses the first P or S phase found in the CAT file for a given station.
Component is of no importance here, so there is only a need for e.g. one P-time for the
station being processed if 3 component data is used. This is also the case when rotating the
signal, see below. However, on the trace plots, only readings on those components shown
will be seen on the plots.
Start: If the selection criterion is 1,2 or 3, this is the number of P or S travel times (from the
origin) used to find start time of window. Use 1.0 if the window shall start exactly at the
phase time picked. If selection criteria is 4, start is the number of seconds after the origin
time.
Window length: Window length in secs for both signal and noise, if selected.
Gain factor of channel 1: Factor that the spectral level for channel 1 is multiplied with. This
can be used if the response shape is the same for the two channels and only the levels are
different. If the shape is also different, set factor to 1 and use response removal below.
Noise spectrum: If 0, no noise spectrum, if 1, make noise spectrum. The noise window is
taken from the beginning of the trace and the window length is the same as given above.
Make relative spectra: If zero, no relative spectra, if 1, make relative spectra. The relative
spectra will appear one on each page, and the average relative spectra on the last plot (see
Figure 10). If no relative spectras are chosen, only one trace and one spectrum is shown pr
page and the average spectrum is shown on the final plot. MUST BE SET to calculate q,
see below.
Plot pics: If 1, the phase pics in the CAT file spec.inp will be plotted.
Frequency band used: Lower and upper frequency bands for the spectral plots.
relative spectra, the response removal has no importance if the response is the same for the
channels compared. A simple correction can be made with "Gain factor of channel 1"
parameter above. NOTE: If moment or magnitude spectrum is made, response removal
MUST be 1.
Rotate components: If 1, the horizontal components are rotated. This means that if the
user has specified N or E, radial or transverse respectively will be used instead. The original
data remain unchanged. If start time of spectras are chosen by using P or S, there must be
a reading from those components if the pics are to be plotted. If the parameter is zero, no
rotation is done. See also MULPLT for more details of rotation.
Q-correction:
Parameters in q-relation q = q0**qalpha used for spectral correction (see also section on
MULPLT for standard attenuation relations). Only used if response is removed. If 0,0, no q-
correction. New from SEISAN7.2 is that a kappa correction also can be used (see MULPLT
spectral section)
Calculation of q:
If Q0 and qalpha is set to –1,0, the relative spectra will be used to calculate q as a function
of f (see standard relations in MULPLT section) and the plots will show q as a function of f.
This can be used for both P-waves and S-waves. The distance correction MUST be set (see
below) and it is recommended to assume body wave spreading (amplitude proportional to
1/distance, factor is 1.0 below). If the response of the 2 stations is not identical, correction
for response must also be made. There must be an origin time and phase readings must be
available in order to calculate Q.
Q is calculated as ln(A2(f)/A1(f)) * f * pi * (t2-t1) + alpha * ln(R2/R1), where A1 and A2 are
spectral levels at frequency f for the two stations, t1 and t2 are travel times, alpha is
geometrical spreading exponent (1.0 is body wave spreading) and R1 and R2 are
hypocentral distances (km).
Minimum correlation coefficient and minimum signal to noise ratio for kappa: The
minimum correlation coefficient and signal to noise ratio for an event to be included in
average kappa. The coefficient are form the linear fit to the flat part of the spectrum.
Velocity and density: Velocity (km/sec) and density (g/cm*cm) used for calculating
moment spectra. If set to 0,0, no moment spectra are calculated. See section on MULPLT
for details of calculation.
Stations and components: Station-component pairs used, one pair per line, format
(a5,1x,a4,1x,a5,1x,a4). If no relative spectrum is used, the first station-component on the
line is used.
185
The program gets the first pair of stations (or one station) from spec.par, calculates the
spectra using the list of events in spec.inp and at the end of the station list, calculate the
average spectral ratios for all pairs (max 100). All spectras are then shown on one plot
together with averages and standard deviation. Then the next pair of stations is processed
in the same way and the program continues until the end of file spec.par. Each pair of
stations with signals and spectra is plotted on one page. If no relative spectra are made, the
plots look similar except that only one station is shown.
Hard copy plots are made for each page and sent to the printer if specified (see below). The
hard copy postscript file is called spec.plt and when the program finishes, a file with the last
plot is available on the disk.
For each spectrum (relative or single), the average spectrum is calculated both as an
average of the log spectrum and as an average of the linear spectrum. There is no
frequency weighting and since all values shown on the plot are used, the average value will
be more representative of the high frequency part of the spectrum since there are more
values. This can be regulated by choosing another frequency range. The average spectras
shown on the last plot are log-averages.
If option to calculate Q is used, the plots show 1/q as a function of frequency instead of
relative spectra (proportional to relative spectra). For each event, the q0 and qalpha are
calculated.
Interactive output of level and frequency: With a spectral ratio (or q) plot on the screen,
position the cursor at the point of interest on the spectrum and click. The level and
frequency will now be displayed on the right side of the plot.
The output file spec.out gives details of the run like averages and missing data. The output
file spec_ave.out gives the x and y-values of the average spectrum IF IT HAS BEEN
PLOTTED ON THE SCREEN. File spec_rel.out gives the values of the relative spectra.
0: All spectra are calculated but not sent to the plotter or screen except the last plot with the
average spectra (sent to both screen and printer). Used for checking the files or making a
final run. If no relative spectrum is chosen, no final plot is made. For each station and event
combination, check lines are written out on the screen.
1: All plots are shown on the screen, but not sent to the laser printer.
2: All plots are shown on the screen and at the same time sent to the laser printer.
3: No plots are shown on the screen, all are sent to the laser printer. For each station event
combination, check lines are written to the screen.
Since the program requires S-files for input, these must first be generated.
With only waveform files and no readings in the spec.inp file, it is only possible to use option
4 (absolute time) for start criteria. Since the events have not been located, the "origin time"
186
read from the S-files will be identical to the waveform file start time, so the parameter "start"
can then be set to number of seconds after waveform file start time. Figure 10 shows an
example.
187
Figure 10 An example of using the SPEC program. On top the original traces are shown with windows
chosen, in the middle the spectra of each channel and at the bottom, the relative spectrum.
188
This section is written by K. Atakan. Extensive testing of the programs was done over the
years by many users. A.Ojeda, performed testing and prepared input files for the CRISIS99
and CRIATT programs.
Introduction
Currently, the SEISAN package includes a series of stand-alone programs that can be used
in a number of tasks that are needed to perform seismic hazard analysis. The basic
requirements for performing a probabilistic seismic hazard analysis may be summarized as
follows:
Following is a list of programs that constitutes the part of the SEISAN analysis package,
which deals with seismic hazard and related problems. Most of these programs are
described in more detail in different sections of the SEISAN manual.
earthquake intensity measures such as peak ground acceleration (PGA) or any other
spectral ordinate. It can also compute hazard for a given grid of map co-ordinates
corresponding to user-defined different return periods. (SUN and PC)
EQRISK: Program to compute seismic hazard in terms of probabilities of exceedances vs
earthquake intensity measures such as peak ground acceleration (PGA), for a given site or
a grid of sites for up to eight different return periods. Currently 1975 version is used.
EQRSEI: Converts the output file from the EQRISK program "eqrisk.out", to individual
contour files corresponding to each return period specified. These files can later be used
directly as an input to EPIMAP to plot the PGA contour maps.
SPEC: Computes amplitude spectra for a given set of earthquake records and plots spectral
ratios. It can be used to assess local site effects.
Probabilistic earthquake hazard computations can be done, using the two alternative
programs CRISIS99 or EQRISK. In addition, the programs listed above and a number of
other programs that manipulates earthquake data within the SEISAN package, are useful
tools to assess the parameters that are needed to perform a seismic hazard analysis for an
area of interest. The two main programs, CRIATT for computing the attenuation tables and
CRISIS99 (modified version 1999) to compute seismic hazard are explained in more detail
in the following. Both programs are written by Mario Ordaz of the Institute of Engineering,
UNAM (Ordaz, 1991; 1999). The well-known hazard program EQRISK, on the other hand, is
written by Robin K. McGuire and the original manual is distributed through United States
Department of the Interior, Geological Survey (McGuire, 1976).
The two alternative hazard programs CRISIS99 and EQRISK have a number of features
that are common in both. However, there are some advantages and disadvantages with
both programs. In terms of the computing time and parameter input both programs require
the same time. In the case of EQRISK, earthquake source zones are defined as arbitrary
polygons (quadrilaterals). CRISIS99, on the other hand, operate with completely arbitrary
polygons for the definition of the source zones and dipping planes may also be defined. In
the MS-Windows 95 version, the source zones and the input parameters can be checked
interactively through a user-friendly interface. In terms of the attenuation relations,
CRISIS99 uses a table created by a separate program (CRIATT) and is therefore flexible (it
also allows different attenuation relations for different source zones), whereas the
attenuation relation, in the case of EQRISK, is given through a pre-determined mathematical
formulation. Finally, CRISIS99 is superior to EQRISK, as it takes into account the
uncertainties through the standard deviations introduced on several input parameters.
Following is a summary of the steps that have to be completed in order to produce a seismic
hazard map.
1. Compile a catalogue for the area of interest from local, regional and global
sources.
2. Evaluate the preliminary catalogue completeness by plotting histograms showing
the distribution of events in time for different magnitude intervals. It may be
necessary to divide your catalogue into two; (i) pre-instrumental and (ii) instrumental.
Programs SELECT and CATSTAT can be used for this purpose.
3. Convert magnitudes into one uniform magnitude, preferably to moment magnitude
MW . To do this, regression curves must be prepared for different magnitude scales.
Program MAG can be used for this purpose.
4. Clean up the catalogue for dependant events (i.e. induced seismicity, non-
earthquakes, foreshocks, aftershocks, earthquake swarms?). Here a search has to
be made for clusters of events both in time and space. Plots of histograms for
190
specific sequences of time and space will reveal this. Program CLUSTER can be
used for this purpose. The probable explosions may be removed by using the
program EXFILTER.
5. The evaluation of the catalogue completeness is dependent upon the clean-up
process and the magnitude unification. It is therefore necessary that steps 2-4 be
repeated until a reliable catalogue is prepared.
6. Select the set of earthquakes from your catalogue from the part, which is
complete for the chosen threshold magnitude and uniform in magnitude scale.
Program SELECT can be used with different criteria for this purpose. Note the
catalogue time span.
7. Prepare a seismicity map for the area of interest with the selected data, using
EPIMAP. Delineate the earthquake source zones. Here, zooming and the area
selection procedures of EPIMAP may be used.
8. Use additional information from geology, geophysics, seismotectonics, palaeo-
seismology etc. to improve the source zonation.
9. For each earthquake source zone select the subset of events that fall in the
chosen area. This can be done by using the EPIMAP program, which enables to
draw polygons interactively on the screen and put the subset of events within this
polygon into a file. Alternatively SELECT program can be used to extract the subsets
of data corresponding to the defined source zones.
10. If the hazard is to be computed using CRISIS99 or by EQRISK, note the x, y
(longitude, latitude), co-ordinates for each corner of the polygon.
11. The seismicity within each source zone is assumed to be uniform following a
Poissonian occurrence. In order to define this, a set of critical parameters has to be
assessed for each source. These are:
Number of earthquakes above a threshold magnitude: This is the a-value for the
lower bound magnitude.
. Catalogue time span: This is the time span of your catalogue where it is
complete.
. Beta (bvalue * ln (10)) and its standard deviation: The b-value is the slope of
the best-fitted line to the cumulative curve for the magnitude frequency of occurrence
distribution (Gutenberg-Richter relation).
. Maximum expected magnitude with its standard deviation: This is usually
inferred through other available information, such as geology, palaeoseismicity, or
subjective judgement of the scientist. It is usually set to half a magnitude higher than
the maximum observed when no information is available.
. Maximum observed magnitude: This is the largest magnitude observed
within the catalogue time span.
. Threshold magnitude: The so-called lower bound magnitude, which is
chosen, based on the engineering considerations. Usually magnitudes less than 4.0
are not considered engineering significant.
In order to obtain each of the above critical parameters, a thorough evaluation of the
earthquake catalogue is needed. BVALUE program can be used to obtain some of
these parameters. However, while running the program, choosing the magnitude
interval and the magnitude increment have to be done critically, taking into account
the catalogue completeness and the detection threshold. These parameters will later
be used in the input for the seismic hazard analysis program CRISIS99.
Alternatively, the same input parameters are also needed for the EQRISK program.
For each source zone plot the magnitude frequency of occurrence curves.
12. Try to assess whether there are characteristic earthquakes in your region. This
can be done with a careful examination of your catalogue and the active faults in the
area. Studying the magnitude frequency of occurrence through the BVALUE
program will help assessing this.
13. Try to establish an acceptable attenuation relation for your area. This can be
191
Many of the programs mentioned above are described individually throughout this manual at
different sections. In the following the programs that are directly relevant to hazard
computations and not described in other sections of the manual are explained in detail.
CRISIS99:
Basic input data are: geometry of the sources, seismicity of the sources, and attenuation
relations. Source geometry can be modeled as: 1) area sources, using a polygon with at
least three vertex; longitude, latitude and depth must be given for each vertex, so this type
of source can be used to model, for instance, dipping plates or vertical strike-slip faults; 2)
fault sources, using polylines; and 3) point sources, included essentially for academic
purposes.
magnitudes.
Hazard computations can be performed simultaneously for several intensity measures, for
instance, PGA, PGV, and several spectral ordinates. Required attenuation laws are given in
the form of tables containing the median values of the intensity measures as a function of
magnitude (the rows of the table) and focal distance (the columns of the table). Several
attenuation models can be used in the same run, assigning an attenuation pattern to each
source.
For the Windows95 version, a separate compressed file ‘crisis99.zip’ included with sample-
input data. Instructions on how to install the Windows95 version are included in the file
‘crisis99.txt’ in the DAT directory. The Sun UNIX versions, are part of the standard SEISAN
distribution and need not be installed specifically.
Detailed description of the input and output files is given in the pages below.
There are basically two input files that are required. First is an attenuation table (or several
tables), and second is the major input parameter file where the file name for the attenuation
table is also given. The input file can be prepared based on the format descriptions given
below or modifying the example input file. An example-input file is included in the DAT
directory with the file name "crisis99.inp".
There are some limitations in the input parameters. Following is a summary of the maximum
values set in the program:
Attenuation Models : 5
Intensity levels*: 20
Structural periods: 15
Number of regions: 200
Magnitudes in attenuation model: 10
Distances in attenuation model: 21
Number of sub-sources per region: 4000
(* the term ’intensity’ here should not be mixed with macroseismic intensity. In this context
’intensity’ is meant as any chosen ground motion measure, such as PGA, PGV or any other
spectral ordinate).
193
In the following the input file is described in more detail (by Mario Ordaz).
TITGEN (A80)
NREG: Total number of regions (sources) in which the seismogenic area is divided.
NMOD: Number of different attenuation models.
NT: Number of spectral ordinates (or, in general, measures of intensity) for which
seismic hazard is to be computed.
NA: Number of levels of intensity for which seismic hazard will be computed.
T(I): Structural period of i-th spectral ordinate. It is used only for identification purposes,
so in the cases in which structural period has no meaning, it can be just a sequential
number.
AO(I): Lower limit of intensity level for i-th spectral ordinate.
AU(I): Upper limit of intensity level for i-th spectral ordinate.
Exceedance rates for the i-th intensity will be computed at NA values, logarithmically
spaced between AO(I) and AU(I)
5. Parameters defining the basic grid of points in which hazard is to be computed. 1 line
LOI, LAI: Longitude and latitude, respectively, of the origin of the grid.
DLO, DLA: Longitude and latitude increments
NLO, NLA: Number of lines of the grid in the longitude and latitude directions,
respectively.
NPOLGRID
If NPOLGRID>0 then the following lines must be given for each polygon:
NVERGRID (K)
LONG (K, 1), LAT (K, 1)
… NVERGRID(K) lines
LONG (K, 1), LAT (K, 1)
Poisson model:
LAMBDA0(N): Exceedance rate of magnitude M0(N). The units are earthquakes/year.
EB(N), CB(N): Expectation and coefficient of variation, respectively, of the “b-value” for
the source, given in terms of the natural logarithm.
EMU(N), SMU(N): Expected value and standard deviation, respectively, of the maximum
magnitude for the source.
MMAX(N): Maximum observed magnitude in this source.
M0(N): Threshold magnitude for source N. The catalogue
of earthquakes is assumed to be
complete for M>M0. Earthquakes with M<M0 are absolutely
ignored.
Characteristic model:
EMT(N): Median value of the times between characteristic earthquakes with M>M0. This
is the inverse of the exceedance rate for M>M0.
T00(N): Time elapsed since the last occurrence of a characteristic earthquake.
D(N), F(N): Parameters defining the expected magnitude as a function of time, as in the
slip-predictable model. It is assumed that
E(M|t)=max(M0(N),D(N)+F(N)*LN(t))
Of course, if F(N) is set to zero, then D(N) becomes the expected time-independent
magnitude of the characteristic earthquake.
SMT(N): Standard deviation of the magnitude of the characteristic earthquake. It is assumed
independent of time.
M0(N): Minimum possible magnitude of a characteristic earthquake. Earthquakes with
M<M0 are absolutely ignored
196
File name (including path) containing the base map to be used in post-processing with
CRISIS99 for windows. This name does not have any influence in the hazard computations.
However, CRISIS99 expects a line here.
File name (including path) containing the co-ordinates of cities, to be used in post-
processing with CRISIS99 for windows. This name does not have any influence in the
hazard computations. However, CRISIS99 expects a line here.
3. For each of the NT different intensity measures, the following block of lines:
T(I,J): Structural period of j-th spectral ordinate. It is used only for identification
197
purposes, so in the cases in which structural period has no meaning, it can be just a
sequential number.
SLA(I,J): Standard deviation of the natural logarithm of the j-th measure of intensity in
the i-th model.
AMAX(I,J): Maximum possible value of the j-th intensity in model I. The integration
process will be truncated, regarding as impossible (zero probability) values larger than
AMAX(I,J). If AMAX(I,J) is set to zero, then integration with respect to possible values of
intensity will be performed from 0 to ∞.
SA(I,J,K,M): Median value of the intensity in model I, for the J-th spectral ordinate, the K-
th magnitude and the L-th distance.
For each attenuation model, given in a separate file, CRISIS99 reads the above mentioned
parameters in the following form:
D0 J=1,NT
READ(8,*) T(I,J),SLA(I,J),AMAX(I,J)
DO K=1,NMAG(I)
READ(8,*) (SA(I,J,K,L),L=1,NRAD(I))
ENDDO
ENDDO
CRISIS99 generates several output files, whose names begin with the base name
requested at the beginning of the run. The output files are:
1. Main results file. This file with - .res - extension contains a printout of the name of the
run, the values assigned to the variables, characteristics of the attenuation models,
geometrical and seismicity description of the sources, the data defining the computation
grid, etc. It also gives the final results, that is, exceedance rates for each site and type of
intensity. It also gives a brief summary of the computations for each site, indicating
which sources are of interest to the site and which sources were skipped.
2. Graphics file. The principal graphics file with - .gra - extension contains a brief
identification header, and the exceedance rates for the type and levels of intensity
requested. This file can be used as input file to plot intensity versus exceedance rate
curves. CRISIS99 generates also a binary file with the exceedance rates for each
structural period, so CRISIS99 will generate NT binary files. These binary files will be
used only in the Windows System version of CRISIS99 to make hazard maps. The
names of these files are base_name.b1, base_name.b2,…, base_name.bNT.
3. Map file. This file with - .map - extension contains intensity levels for fixed return periods
(TR1…TR5) for each type of intensity and site. It also gives the co-ordinates of each
site. This file can be used to generate contour or 3d maps of intensity levels associated
to constant exceedance rates.
Example output files are included in the DAT directory (crisis99.res, crisis99.gra,
crisis99.map).
CRIATT:
In this program, an earthquake source model and results from Random Vibration Theory
(RVT) (e.g. Boore, 1983; 1989), are used to estimate attenuation of ground motion
parameters as a function of moment magnitude, MW , and hypocentral distance, R. Ground
198
For estimating the Fourier acceleration spectra, a(f), it is assumed an omega square
constant stress drop source model given by Brune (1970). The expression for a(f) is:
In S(f), M0 is the seismic moment and f0 is the corner frequency, given by (Brune, 1970)
6 1/3
f0 = 4.9 x 10 β(∆σ / M0)
(22)
where β is in km/sec, ∆σ is the stress drop in bars, and M0 is in dyne-cm. The diminution factor
D(f), accounts for loss of energy due to internal friction and scattering.
At distances less than a certain critical value of Rc, the strong motion records are dominated
by S-waves. Thus for R < Rc, G(R) = 1/R is the geometrical spreading. For R > Rc, G(R) = 1/(R
1/2
Rc) .
The diminution function D(f) in equation (21) requires Q(f) and P(f), where the quality factor
defined by the regional attenuation is expressed by Q(f) = Q0 f ε (f is frequency and ε ≤1.0),
and whereas
- f
P(f) = e πκ
(23)
P(f) reconcile an additional attenuation term which may be related to near-surface loss of
energy where kappa is a high frequency decay factor (Singh et al., 1982).
The standard input file for the CRIATT program can be created by modifying the example
input file (see Appendix for the format description). A total of 23 parameters provide the
necessary input for calculating the attenuation tables, which is based on equation 18,
described earlier. The user should define the magnitude and the distance limits. It is
important to note here that some combinations of parameters may result in 0 values for
large distances in the table, which creates problems for the CRISIS99 program. In order to
avoid this, the distance ranges are set to Rmin<10 km (CRISIS99 requires one-digit only) and
199
Rmax 500 km. Usually the regional attenuation term and the site factor are the most critical
factors in the definition of a(f). The effect of the high-frequency decay factor can only be
seen when the combination of the kappa parameters (kappa0 and kappa1) are chosen
correctly (e.g. increasing kappa1 with kappa0 kept constant, would result in low ground
motion values). An example input file is included in the DAT directory with the file name
"criatt.inp".
The output of the CRIATT program is a file containing the attenuation tables for the selected
spectral ordinates (i.e. as a default only PGA corresponding to a period of 0.005 sec is
computed). For each spectral ordinate, the file will contain a set of values (e.g. PGA) for
different distances. This file is then used as one of the inputs to the CRISIS99 program. The
file name is user defined. An example output file is included in the DAT directory with the file
name "criatt.tab".
CRIPAR
The programi was used earlier to generate input for both crisis and criatt but now it is only
used with criatt due a format change for crisis99.
EQRISK:
This popular program for computing seismic hazard is written by McGuire (1976), and the
complete manual is published as an open file report. The following is a short summary of the
program operation and a full description of the input parameters as well as format of the
input file. These descriptions are as they are given in the original manual (McGuire, 1976).
The program EQRISK evaluates risk (hazard) for each site-source combination and intensity
level and calculates the total annual expected number of occurrences of intensity greater
than those levels of interest at a site by summing the expected numbers from all sources.
Seismic source areas are specified as a set of arbitrarily shaped quadrilaterals. For ease of
use, gross sources may be divided into sub-sources, which are a string of quadrilaterals,
each two adjacent subsources having two common corners. A Cartesian co-ordinate system
is used and the location of the origin is arbitrary.
The default input file is named "DATA" and is hardwired into the program (for the SUN
version file name should be uppercase). An example input file is included in the DAT
directory with the name "eqrisk.inp", which should be renamed to "DATA" before running.
Following is the description of the individual parameters and their format as described in the
original manual (McGuire, 1976).
Card 1 (Format 20A4): Title. Any 80 characters can be used to describe the problem.
Card 2 (Format 3I10): NSTEP, JCALC, JPRINT.
NSTEP is the number of integration steps used in integrating over distance for each
site-source combination.
JCALC is the flag indicating how integration on magnitude is to be performed
(JCALC=0 is used for analytical integration, and the form of the attenuation function is
described in the original manual. JCALC=1 is used for numerical integration on
magnitude. The user must supply own attenuation function in subroutine RISK2.)
JPRNT is the flag indicating the desired output (JPRNT=0 is used to print only total
expected numbers and risks at a site which is normally used when a grid of sites being
200
mI(S,R)=C1+C2*S+C3*ALOG(R+RZERO)
SIG is the standard deviation of residuals about the mean. If no dispersion of residuals
are desired, insert a very small value for SIG (rather than exactly 0.0).
RONE is the limiting radius inside of which no attenuation of motion is desired, for
values of focal distance closer than RONE, the mean intensity is calculated using
RONE in place of R in the attenuation equation above. If this feature is not desired,
insert zero for RONE.
AAA and BBB are parameters in the equation limiting the mean intensity:
max mI(s)=AAA+BBB*S
The value specified for BBB must be between zero and C2 for this limiting equation to
make sense. If it is not, an error message will result and program operation will
terminate.
Card 6 (Format I10, 6F10.2): NGS, NRS(1), NRS(2), .... NRS(NGS).
NGS is the number of gross sources to be specified.
NRS(1), NRS(2), and so on are the number of subsources in gross source 1,2, etc.
See the original manual (McGuire, 1976), for a general description of the source
specification.
Card (set) 7 (Format I10, 6F10.2): LORS(I), COEF(I), AM0(I), AM1(I), BETA(I),
RATE(I), FDEPTH(I).
There must be NGS+1 of these cards, one for each gross source and one for
background seismicity.
LORS(I) is a flag indicating whether the source area has a loose or strict lower bound
(LORS=0 implies a loose lower bound and LORS=1 implies a strict lower bound).
COEF(I) is a coefficient modifying the expected number of exceedances from gross
source I. Its most common value is +1.0.
201
AM0(I) is the loose or strict bound lower magnitude or intensity for gross source I.
AM1(I) is the upper bound magnitude or intensity for gross source I.
BETA(I) is the value of ß for gross source I. It is equal to the natural logarithm of 10,
times the Richter b-value for the source.
RATE(I) is the rate of occurrence of events having magnitudes of intensities greater
than AM0(I). If a discrete distribution on intensities has been used to calculate the rate,
the user may wish to specify AM0(I) as one-half intensity unit lower than the lowest
intensity used to establish the rate. Note that for gross sources RATE(I) is in units of
number per year; for background seismicity it is in units of number per year per 10,000
km.
FDEPTH(I) is the focal depth of events in gross source I, in km. If epicentral distances
are required for all sources and for background seismicity for the attenuation function,
insert zero for FDEPTH(I).
If no background seismicity is desired, leave the last card in this set completely blank.
Card 8 (Format 4F10.2): X1, Y1, X2, Y2.
There must be NRS(1)+NRS(2)+ .... +NRS(NGS)+NGS of these cards. The first
NRS(1)+1 cards specify co-ordinates of subsources in gross source 1, the next
NRS(2)+1 cards specify co-ordinates of subsources for gross source 2, and so on.
Internally, the point X1, Y1 is connected to X2, Y2, as well as both to the previous and
the subsequent points designated as X1, Y1, as long as these are both in the same
gross source. Point X2, Y2 is connected similarly. An example is elucidating. The
following points define two gross sources having two subsources.
0.0 0.0 10.0 0.0
0.0 5.0 8.0 8.0
-5.0 10.0 6.0 15.0
10.0 20.0 11.0 20.0
15.0 15.0 16.0 15.0
15.0 0.0 16.0 0.0
Card 9 (Format 2I5, 4F10.2): NX, NY, XZERO, YZERO, XDELTA, YDELTA.
There can be any number of these cards, one for each site or grid of sites to be
examined.
NX and NY are the number of grid points in the X (East-West) and Y (North-South)
directions; that is, they are the number of columns and rows in a grid of sites to be
examined. For specification of a single site, NX and NY must have values of unit. Zero
or negative values for NX and NY are meaningless and will cause program to
terminate.
XZERO and YZERO are the co-ordinates of the site to be examined, or are the lower
left corner of the grid if NX and/or NY are greater than one.
XDELTA and YDELTA are the grid spacing in the X and Y directions. When the grid
option is not used, these variables may be left blank or set equal to zero.
Final card: Insert one blank card at the end of the input deck.
There is only one standard output file generated by EQRISK which has a default file name
of "eqrisk.out". This file contains the results of the hazard computations for each site for the
specified exceedance probabilities. This output file can easily be converted to individual
intensity (e.g. PGA) contour files (one for each level of exceedance probability), using the
program EQRSEI. The resulting contour maps from these output files may then be plotted
by EPIMAP.
The detailed format of this output file is described in the original manual (McGuire, 1976),
and is not repeated here. A test set of input and output files are given in the following.
However, only a portion of the standard output generated, using the example input file
202
shown, is displayed. An example output file is included in the DAT directory with the file
name "eqrisk.out".
EQRSEI:
The program EQRSEI converts the output file "eqrisk.out" from the EQRISK program into
individual intensity contour files for the previously defined return periods. There may be up
to eight such files (eqrsei1.out, eqrsei2.out ...., eqrsei8.out). These files can then be used as
input to the EPIMAP program to plot the contours of PGA values on the epicenter maps.
Each file contains also some header information, where the individual contours and the
contour intervals are given. In addition, the color codes are also given. The individual
contours and the contour intervals can be modified by editing the header lines of these files.
CLUSTER:
This is a program that searches for the dependant events in a given catalogue with respect
to time and distance. It is written by Juan Pablo Ligorría and Conrad Lindholm. The input is
a standard Nordic file with header lines only (compact file). The user has to give the number
of days to be searched before and after the main event, and the distance limits in km. The
magnitude of the main event over which the search will be performed is also user defined.
The output is a repetition of the input catalogue with "?" placed at the end of each
dependant event which falls within the limits defined in the interactive input in time and
distance. The default file name is "cluster.out". The user should then work systematically
through these events and decide whether they should be cleaned or not. This process, we
feel, should be done manually, because deleting events from the catalogue (especially the
historical part), may have serious implications later in the hazard computations. Clusters of
foreshocks, aftershocks or other dependant events such as earthquake swarms can be
delineated by this program.
The MAG program calculates simple magnitude relations. The program has three functions:
(1) Calculate parameters for a magnitude scale (Ml or Mc), (2) Calculate relation between
two different magnitudes and/or spectral parameters and (3) Calculate a new magnitude as
a function of an existing magnitude, a natural step following function (2). All three functions
can be done at the same time. Function (3) can also be used for moving a particular
magnitude type and/or agency to the first magnitude position in line 1 to be plotted with
EPIMAP.
Input: The data input is a CAT-file like one made with SELECT or COLLECT or it can be a
compact file if only magnitude comparison is made. Optionally there can be a parameter file,
which MUST be, called mag.par and reside in the working directory. An example of the
parameter file is found in DAT and also shown below. The parameter file is not needed for
all operations, see details below.
1: Magnitude scales
Mc = A * log(coda) + B * dist + C
where Mc is the coda magnitude, coda is the coda length in secs, dist is the hypocentral
distance in km (calculated from epicentral distance and deph in CAT file) and A, B and C
are constants to be determined. This is done in two ways
3d regression
m = A * log (coda) + B * dist + C
2d regression
m = A * (log (coda) + dist_coff * dist) + C
with B = A * dist_coff where dist_coff is given in the parameter file and m is the reference
magnitude. SO B AND dist_coff ARE DIFFERENT. The CAT-file must contain coda
readings, epicentral distances and a magnitude in the header line. A linear regression is
then made between the known magnitude from a given agency and the observed coda
lengths following the relations above. The user has the option to choose the type of
magnitude to use in the regression. Usually Ml or Mb are used. All station-event
combinations are used to determine simultaneously the 3 constants A, B and C. Since the
data often is too bad to determine all 3 parameters at the same time, the program will also
calculate just A and C using a fixed user supplied value for the distance correction to the
coda. The constant dist_coff is given in the mag.par file as the second parameter under
MAG_PAR_COF (see below). IN ORDER FOR THE CODA SCALE OPTION TO WORK,
THE DISTANCE COEFFICIENT MUST BE DIFFERENT FROM ZERO.
Output: On the screen the constants will be printed out and a file mag_coda.out will contain
pairs of values m and (log(coda) + dist_coff*dist), which can be used to plot the distance
corrected coda relation. If results from the 3D is to be plotted, dist_coff must be calculated
as dist_coff=B/A, put into mag.par and mag run again.
Local magnitude Ml
Calculation of an amplitude attenuation scale using amplitudes and distances in CAT file.
The parameters in the Ml magnitude scale are computed in two ways: (1) for every event
individually, parameters are determined as averages of all events; (2) simultaneous
inversion for all events, also inverting for site factors.
(1) For each event (only type L and R are used) a,b,c are calculated if at least 3 stations are
available using least squares regression as follows:
(2) The simultaneous inversion for all events is done using a singular value decomposition
algorithm. The inversion is done as in the equation above, but in addition the inversion is
also done for the site terms. The parameter c is fixed to 2. The output is written to the file
mag_ml_inv.out. The magnitudes given in the output file are based on c=2.
This relation can be derived from the standard geometrical spreading and attenuation
relations:
where f is the frequency, v is the velocity and q = q0*f**qalpha. The relation can be
rewritten
Since qalpha often is close to 1.0, the relation can be simplified to the frequency
independent relation:
If body wave spreading is assumed (a=1), q0=100 and v=3.5 km/sec) the relation is
where b=dist_coff is fixed to the value given in the mag.par file (same parameter as used for
coda). This gives a more stable solution, however b = dist_coff must be determined by trial
and error or fixed using known values from e.g. q-studies.
The amplitudes are assumed to be ground displacements (in SEISAN they are ground
displacements highpass filtered at 0.8 Hz to resemble Wood Anderson seismograms, see
MULPLT). The distance ratio between station with the maximum distance and minimum
distance must be more than 3 for the event to be selected for analysis.
It is assumed that a and b will be the same for all events, while c is different (magnitude
dependent). At the end, the average constants a and b are calculated of all values a and b
which are not deviating too much (a must be in the range 0 to -5, hardwired). Distance
attenuation coefficients a and b are supposed to be negative since amplitude decrease with
distance. To get the local magnitude scale
the constant C must be determined by fixing the magnitude at some reference distance like
the original Wood Anderson definition with Ml = 3 at dist= 100 km and amp=1/2200 mm =
454 nm (assuming gain of the Wood Anderson seismograph to be 2200, Hutton and Boore,
1987). The determination of a and b does not work well unless the observations are very
good. The relation for California is (Hutton and Boore, 1987)
Output: On the screen the constants will be printed out and a file mag_amp.out will contain
the values of a, b and c.
205
Linear regression (maximum likelihood) can be made between any two magnitudes and/or
spectral parameters on any of the header lines of an event in a CAT-file or a compact file as
well as with spectral parameters The user is interactively prompted for the magnitude type
and/or spectral parameters and agencies to compare. If none is given, no magnitude
comparison will be made. If several magnitudes/spectral parameters fit the requirement, the
last one is used. If e.g. the first header line has a BER Ml and the last header line also has a
BER Ml, the last one will be used. Maximum likelihood linear fitting is used. It is assumed
that both variables have normal and correlated errors. See subroutine maxlik.for in LIB for
more info.
If any of the spectral parameters are selected, or moment magnitude is without agency,
there will be an additional question about which station and component. A blank return
means the average will be used. With these parameter selections, it is possible to compare
spectral parameters from any two channels, compare the average spectral parameter with
the parameter from one channel etc.
Output: A plot will be shown on the screen with the observations and the least squares fit
and the values are also printed out on the screen. A file mag_mag.out contains the pairs of
magnitudes used.
3: Magnitude conversions
If a relation between two magnitude scales is known, e.g. by using option 2 above, an output
file can be made with the converted magnitudes. The relation to use is specified in the
mag.par file. Several different input magnitude types and agencies can be used and the
relation-agency used is given in a priority list in the mag.par file, see example below. It is
here shown that if a BER Mc is available, this will be the first choice. If no BER Mc then BER
Mb will be the next choice etc. The new magnitude will have type X and agency NEW.
Output: The output file is mag_new.out and has the same format as the input file. On the
header line, the old magnitudes are removed and in the first magnitude position will be the
converted magnitude (NEW) while in the second magnitude position, the magnitude
selected for conversion will be given. The third magnitude position is blanked out.
mag_newa.out: All events, both converted and non converted (due to no correct input
magnitude available).
mag_spec.out: Summary of normal header line, all associated magnitudes
and spectral parameters.
mag_ml_inv.out From Ml inverison
The magnitude conversion uses one of the MAGREL relationships, where the
priority is in the same order as found in the list.
The input file can be either Nordic or compact Nordic, however if coda or
amplitudes are to be used, it must be NORDIC.
KEYWORD........Comments...........................Par.1.....Par.2.....Par.3.....
BAD STATION Station not used for mag relation BER
BAD STATION Station not used for mag relation XXX
BAD STATION Station not used for mag relation BER
MAGAGA Magnitude type and agency, new mag XNEW
MAGREL Mag type, agency, a,b for new mag CBER 1.0 2.0
MAGREL Mag type, agency, a,b for new mag BBER 1.0 2.0
MAGREL Mag type, agency, a,b for new mag SBER 1.0 2.0
MAGREL Mag type, agency, a,b for new mag WBER 1.0 2.0
SCREENOUT Header line printed each event N
MAG_TYP_COF Mag. type for corr., dist coff. LNAO 0.002
208
3) - test parameters defined with program EXFILTER for the defined area and adjust
the parameters if the time of day distribution is not normal.
The program uses a parameter file, EXFILTER.PAR which MUST be located in the DAT
directory.
The EXFILTER program searches for probable explosions using a catalog-file as input and
marks events that might be explosions with ’P’ as Event ID in the output file exfilter.out.
NUMBER OF AREAS: 55
FILENAME... ?
june.cat
************************************
Number of probable explosions found: 90
Output written in file: exfilter.out
************************************
6.27 Inversion of travel time data and joint hypocenter determination, VELEST
Introduction
The program VELEST is used to solve the coupled hypocenter velocity model problem for
local earthquakes. It performs a simultaneous inversion for hypocenters and velocity model.
The inversion is limited to first arriving phases. A detailed program description is given in the
‘VELEST USER’S GUIDE’ (Kissling et al 1995). A recipe for preparing data and use of the
inversion routine is presented in ‘Initial reference models in local earthquake tomography’
(Kissling et al, 1994). The two documents are available in one Postscript file in the INF
directory, the filename is ‘velest.ps’. The derived model can be used as an improved model
for earthquake location or as a starting model for 3-D inversion. For a fixed velocity model
and constant station corrections, VELEST in simultaneous mode performs the Joint-
Hypocenter-Determination (JHD).
The original version of VELEST by Kissling is included in the Sun and Linux versions. A
version modified to compile VELEST under Windows has been provided by Freddy Aldersons
(e-mail: [email protected]). This Windows package is included in the file
velest_pc_3.3.zip, which is located in the SUP directory. The files have to be extracted to the
PRO directory.
VELMENU provides:
- automatic format conversion to VELEST
- generation of parameter files using the SEISAN system
- execution of VELEST
- conversion back to SEISAN format
After preparing a dataset of local earthquake data, VELMENU can be used to work with the
VELEST inversion routine. The first time VELMENU is used, all input files for the inversion with
default parameters can be generated. These parameter files then can be changed interactively
and the inversion started with VELMENU.
Running VELMENU
The program is started with ‘velmenu’. After entering the filename of the earthquake data
the menu of VELMENU appears.
velmenu
VELEST MENU
-----------
Choice ?
The user is asked for inversion or JHD and the appropriate parameters are set. The file
‘velest.cmn’ is the central VELEST parameter file. To create it, the file of earthquake data is
read to determine the parameters that depend on the data. These are the number of events
and the center of Cartesian coordinate system, which is simply determined as the average
of latitude and longitude of epicenter locations. The remaining parameters are set to default
values.
For the inversion, VELEST will use phases from stations with an epicentral distance below a
maximum distance only. In addition in VELMENU a selection of stations has to be used, only
phases from stations given in the file ‘selstat.lis’ will be used for inversion. When generating
the file, the maximum distance between station and hypocenter (parameter ‘dmax’) is read
from ‘velest.cmn’ and the input data are scanned to get a list of stations, which are within
the limit to any epicenter. Editing the file, stations can be added or removed. If all stations
should be used for inversion, the parameter ‘dmax’ in the file ‘velest.cmn’ has to be
increased.
Example of ‘selstat.lis’:
#
# STATION SELECT FILE FOR PROGRAM VELEST
#
# STATIONS WILL BE USED IN THE VELEST
# INVERSION PROGRAM
#
# COMMENT LINES START WITH #
#
KONO
BER
NRA0
...
NOTE: The order of the stations is as given by the input data file. VELEST uses the last
station as reference station, so you may want to change the order.
The input model file ‘model.inp’ is created using the model as given in the ‘STATION0.HYP’
file. The ‘STATION0.HYP’ file, if available, will be read from the local directory, otherwise
from the DAT directory. This might be a reasonable starting model, but of course the model
file has to be changed.
A. RUN VELEST
Once the parameter files are created the inversion program can be started. The inversion
study requires interactive changing of parameters, which is supported by VELMENU. All
input parameter files can be changed from VELMENU. Note, ‘... please accept the warning:
213
To calculate a Minimum 1-D model a single or even a few VELEST runs are useless, as
they normally do not provide any information on the model space!’ (Kissling et al, 1995). The
conversions and the inversion program are started as one process.
Before the inversion routine is started the station locations will be converted from the
STATION0.HYP file and the earthquake data in Nordic format will be converted to CNV
(hypocenters and travel times) format. NOTE: VELEST does not support 5 character station
codes, therefore in the conversion to VELEST, only the first 4 characters are used if the
station code has 5 characters. In the conversion of the earthquake data only phase readings
from stations included in the station selection file will be used. Arrivals with a time residual,
given in the Nordic input file, above five seconds are omitted. Only the first arriving phase of
P and S respectively are used. The hypocenter location given by the inversion will be
determined by first arrivals only. The original data might include more phases like Pg, Sg or
Lg. Therefore, to get a comparison of hypocenter locations between the HYP location
program and VELEST, a Nordic file including the same data as the CNV file is created and
the HYP program run on this file before VELEST is started. The HYP program can be
skipped by pressing ‘CTRL+C’, while it is running.
The results of the inversion will be given in a text file that can be viewed within VELMENU.
VELMENU provides an option to convert the VELEST output file with final hypocenter
locations in CNV format back to Nordic format and to write a file that shows differences
(velout.dif) in location and time between the two location routines, HYP and VELEST, based
on the same input data.
Example of ‘velout.dif’:
differences: inversion output - SEISAN input
first line input, second line output, third line difference
1984 8 5 0235 22.7 L 59.449 4.968 0.0 BER 9 1.3 1.9CBER 3.7BBER 1
1984 8 5 235 22.1 L 59.458 5.140 0.1 BER 9 1
time: -0.6 latitude: 0.009 longitude: 0.172 depth: 0.1
1984 8 6 0406 26.6 L 59.538 5.678 1.9 BER 9 1.8 1.7CBER 3.6BBER 1
1984 8 6 4 6 26.6 L 59.505 5.655 6.2 BER 9 1
time: 0.0 latitude: -0.033 longitude: -0.023 depth: 4.3
...
Files will be overwritten, when VELMENU is started again. To work with different datasets or
parameter files it is recommended to work on different directories or to change the
filenames, but note that the default filenames (see below) will be used in VELMENU.
Problems: VELEST skips events without phase readings and therefore the number of
events read by VELEST will be different from the number given in the velest.cmn file. If this
is the case VELEST stops with the message STOP: ...end...(VELEST was running with the
SINGLE-EVENT-OPTION). Events without phase readings will not be listed in the invers.out
file, and should be deleted from the input file.
Joint-Hypocenter-Determination (JHD)
VELEST for fixed velocities and station corrections can be used as a JHD routine. For JHD,
VELMENU is used in the same way as described above for inversion. The only difference is
that when generating the ‘velest.cmn’ you have to choose JHD. The appropriate file for JHD
is then generated. Some parameters in the ‘velest.cmn’ file are different, compared to the
214
inversion. These are dmax, nsinv and invertratio, see ‘VELEST USER’S GUIDE’ for details.
The output of final hypocenter locations as described above can be converted to Nordic
format, but note that the JHD will be based on first arriving phases only.
Example of JHD:
File name of earthquake data in Nordic Format :
select.out
VELEST MENU
-----------
Choice ?
1
Inversion or JHD (I / J) ?
j
Origin of cartesian coordinates : 59.394 -5.707
number of events: 61
Background
An important part of volcanic seismology and the seismic monitoring of active volcanoes is the
correct recognition of the different types of seismic event generated by the volcanic activity.
215
The principal event types include, volcano-tectonic events, caused by shear or tensile failure of
rocks; long period events, generated by a volumetric source in a liquid;
hybrid events; and volcanic tremor.
To be of value for volcanic monitoring, any database of seismic events should include the type
or sub-class of individual events. This should allow users to then extract phase and location
information over a selected time period for individual event types and calculate hourly and daily
rates of event.
Initialization
The user should create a text file in the DAT directory called VOLCANO.DEF (an example is
already in the directory). The format of this file will be one line of text (80A) followed by
successive lines with the format "i2,1x,6A,1X,40a" for number, sub-class code and
description. An example of the file is shown below. Comments are preceded with ’!’.
Registration should be carried out as normal in MULPLT. From multi-trace mode enter ’p’ to
create a new s-file for the event in the database. Answering ’LV’ to the prompt for event type
marks the event as a local volcanic in the headers. If the VOLCANO.DEF file has been set
up correctly in the DAT directory, the information on the different sub-classes will
be printed to the terminal. Choosing an appropriate number selects the volcanic sub-class.
The sub-class code is then entered in the s-file.
The volcanic sub-class information is stored in a type 3 line within the s-file,
e.g.
This allows the use of a maximum 6-character sub-class identifier, e.g. ’hybrid’, which can
then be searched for and selected.
Future Extensions
216
It is intended that additional parameters can be included in the above structure to included
routine measurements of the volcanic earthquakes. For example, signal duration, peak
amplitude and mean frequency can be calculated for individual stations and included on
additional type 3 lines with a volcanic identifier. Parameters on each channel can then be
averaged an inserted on the volcanic header line.
For example
This method of inclusion of volcanic parameters should allow for future flexibility such as
incorporation of an additional parameter fields in columns 66 to 79. Also the use of type 3
lines means that existing software, such as the update program, are unaffected by these
lines.
6.29 FK Analysis
The FK routines were provided by Tormod Kværna from NORSAR and implemented into
SEISAN by Andrius Pacesa.
Some basics
The FK-analysis, more strictly slowness analysis, is a standard tool in seismic array
processing. It is used to find the apparent velocity and back azimuth of an incoming
wavefront. Apparent velocity can be used to identify the type of wave (P, S, Lg and etc.) and
the approximate distance to the source can be determined for teleseimic events. Utilizing
azimuth and distance to the source, one can define the approximate location of the signal
source.
The principle of slowness analysis is beamforming in the frequency domain for a number of
different slowness values and calculating the power for each beam. The beam power will be
a maximum in case the slowness of the beam coincides with the slowness of the wavefront
crossing an array. So the beam having the maximum power will indicate the slowness of the
217
incoming signal.
The FK program can be started directly with command ‘fk’ or from MULPLT. The program
expects that the file ‘waveform.out’ with the seismic traces as input data, is available in the
current directory. If the program is invoked directly, this file has to be created before using
mulplt, selecting a window and creating the ‘waveform.out’ file.
In general it is more useful, to start the FK program from MULPLT since the input file needs to
be created by mulplt. The result of the fk analysis can be saved to the S-file.
- start mulplt
- select channels and a time window
- use option fk to start FK program (this option creates file ‘waveform.out’ and starts FK
program), accept maximum or pick value with mouse
- use option ‘save and quit’ to save your result, so that it can be used by MULPLT
- back in mulplt: pick phase on the first trace used, to store back azimuth and apparent
velocity in the S-file
- in case of teleseismic events, the apparent velocity can be used for location, the fk
analysis has to be done on the P phase
Note: The FK program only works by default with station file ‘STATION0.HYP’. If coordinates
are in e.g. STATIONt.HYP, the user will be asked to specify another station file letter, in this
case ‘t’.
Example
Input:
Figure 13. The FK program can be started from MULPLT. The traces shown were selected
and used as input to the FK program. The result of the FK analysis is shown in Figure 14.
The event shown here is part of the testdata set.
Figure 14. Output from the FK program. Contours and values are the normalized maximum
power.
220
The programs by Robert Herrmann (Herrmann, 1996) to estimate the shear wave velocity of
the earth by inversion of surface wave group velocities are distributed with Seisan. The
programs are part of Herrmann’s package ‘Computer Programs in Seismology’ .For more
information check:
http://www.eas.slu.edu/People/RBHerrmann/ComputerPrograms.html
The programs have been implemented with SEISAN by Vunganai Midzi, who has written a
guide on how to use the programs. This document is given as the Word file ‘surface.doc’ in the
INF directory. Also see section 6.2.11 for details on output files that can be generated with
MULPLT. The programs are included in the tar file ‘surface.tar’ in the PRO directory, but are
not installed as part of the standard installation. If you wish to use the programs, you need to
extract the programs:
cd <SEISAN_TOP>/PRO
tar xvf surface.tar
Introduction
In SEISAN the instrument response can be stored as pairs of frequency amplitude and
phase or as poles and zeros. The formats that can be used include GSE2 and SEISAN. The
SEISAN response format is described in Appendix 3. For a description of the GSE format
the reader is referred to (GSETT-3, 1997).
The purpose of this program is to (1) Make Seisan or GSE2 response files, (2) Provide the
engineer maintaining seismic instrumentation with a practical tool for calculating and
checking response functions of the most common elements of a seismic system. The
program can calculate response functions of velocity transducers, accelerometers, filters
and amplifiers, input poles and zeros or tabulated values and multiply the combinations
together to get complete system response functions. The program produces a table with the
response function and a simple graphical expression of the response curve. For the purpose
of checking measured values, a file with these values can be used as input and will be
plotted together with the theoretical values. The program can calculate, acceleration,
velocity or displacement response. Program PR_ RESP can make a table of many
response files.
The seismic recording system can consist of seismic sensor, analog-digital converter,
amplifier and filters. For a detailed discussion the user is referred to Scherbaum (1996). The
combined response can be given in the frequency domain as frequency response function
or in the Laplace domain as transfer function. The frequency response is given in pairs of
frequency amplitude phase (FAP), while the transfer function is given as poles and zeros
221
(PAZ). The combined frequency response is obtained through multiplication of the response
from the individual components, while the transfer function is obtained by combing the PAZ
from the components. Amplifiers and accelerometers are specified simply by a constant
gain. Filters are assumed to be Butterworth.
ω2
T (ω ) =
ω 02 − ω 2 + i 2ωω 0 h
− s2
T (s) =
ω 02 + s 2 + 2sω 0 h
ZKHUHV L
where ω is the angular frequency (2)2 f in Hz, ω0 the resonance frequency of the
seismometer, i = − 1 and h the damping (normally around 0.7).
NOTE: In the equation for the frequency response, the sign "+ 2*i*h.." was "-" before March
2000, so old parameter files may have to be regenerated. The sign depends on the defintion
of the signs in the Fourier transform and therefore may be different between text books. It
may even be wrong although it looks right, if a wrong Ansatz is done. Due to the wrong sign,
the FAP values in the SEISAN response files were wrong, however the programs use the
constants given in the files and the correct response is generated. If you have the
instrument constants in your old response files and not just FAP, the old response files can
be used.
NOTE: It seems that although the GSE format is clearly defined, there has been different
interpretations. This has also led to changes in SEISAN since the GSE response has been
introduced with SEISAN. In the simplest case, the response is given by the PAZ and a
scaling factor. It is common (like in SEED) to have two scaling constants, one that
normalizes the PAZ to amplitude 1 at a calibration period, and another constant that gives
the amplitudes in the physical units. This in our understanding is not done with the GSE2
format. The GSE2 response for PAZ normally contains at least two parts, the CAL2 line and
a PAZ2 line. The scaling factor should scale the PAZ to output/input units, NOT normalize to
one. In the CAL2, the system sensitivity at a calibration period is given in units input/output.
The total response is given by the PAZ, multiplied with the PAZ2 scaling factor, or the
product of several stages. The sensitivity given in the CAL2 is not needed. This is how
SEISAN reads the response, however, if it finds that the PAZ2 gives normalized values at
the calibration period, the response is multiplied with the sensitivity given in the CAL2 line.
This can be a confusing matter, if you get the response from another organization, but it is
important to check this.
The transformation from displacement to velocity or back is done by multiplying with i*ω.
In addition to or instead of using the equation above, values can also be entered as discrete
values or as poles and zeros.
222
The response function is calculated for 60 frequencies between 0.01 and 100 hz and the
steps between the frequencies are approximately logarithmic. The response function is
normalised at 1.0 hz ( see Table 1) and the gain at 1.0 hz is given separately.
SEISAN, since version 7.1, supports the GSE2 calibration format in addition to the SEISAN
reponse file format. We recommend that you use the GSE2 format, since it presents one of
the most widely used calibration formats. Storage of the response in terms of PAZ is
recommended over FAP, since the PAZ representation describes the continuous transfer
function. You may continue using existing SEISAN response files and add new files in GSE2
format, or replace the old SEISAN response files with new GSE2 files.
The program has quite a few options, which easily may lead to confusion. Before you start
you should know which format you want to use (GSE2 or SEISAN) and whether you want to
describe the response in terms of FAP or PAZ. The recommended choice is to use GSE2
and PAZ.
Type RESP to start the program. You will then get a series of questions as indicated below
in upper case letters. All input is format free. An example run is shown in Figure 1.
Answer with 0-4, options 1-4 will create respective reponse files in selected format, option 0
will only calculate and show the response on the screen. SEISAN PAZ can only be used if
numbe of poles and number of zeros are less than 38, if more a table will be generated
atomatically.
Answer with 1, 2 or 3. Number 1 is used when only calculation of filters or amplifiers are
desired, 2 is a standard velocity transducer and 3 a standard accelerometer. If a seismic
sensor is used, you will get additional questions on the constants of the
sensor. If a seismometer is chosen, the following questions must be answered:
This is measured in seconds. For most short period systems the value would be 1.0 second.
The damping ratio should ideally be 0.7. This depends on the damping resistance.
For both the seismometer and accelerometer, the following question is given:
This is the generator constant of the sensor in terms of volt per unit of of ground motion
(meter/second or g). It is important to note that this is the loaded constant, which means the
effective output of the sensor taking into account amplifier input and damping resistances.
If you have a recording media, the gain can be given here, otherwise just enter 1.0
If the output format is GSE, the response is always calculated in displacement units, while
for SEISAN output and seismometer or accelerometer, the following options appear:
TYPE OF RESPONSE: 1: DISPLACEMENT
2: VELOCITY
3: ACCELERATION
Normally for a seismometer, one wants to calculate the displacement response and for an
accelerometer, the acceleration response. However it might sometimes be interesting to
look at e.g. the velocity response for a seismometer ( after all, the seismometer is normally
a velocity transducer !!). Enter the appropriate number.
This is the amplifier gain in db. Since this question is only asked once, this gain must
include gain of all units except the recorder (asked below). This could e.g. include gain of
the VCO system.
Up to 10 filters can be specified. If you answer 0, no filters are used and no more questions
on filters will appear. Otherwise one line of input must be given for each filter as follows:
Each line requires two numbers, the corner frequency of the filter and the number of poles.
A high pass filter is given by letting number of poles be negative. It is not always easy to
know whether a filter is e.g. one 2 pole or two 1 pole filters, the user needs to experiment
with this.
FILE NAME FOR FILE WITH POLES AND ZEROS, RETURN FOR NO FILE
Here a file with poles and zeros can be entered. If seismometer constants have been
chosen above, the values calculated with poles and zeros are multiplied with the values
previously calculated. The free format file contains:
1. line: NP: Number of poles, NZ: Number of zeros, Norm: Normalization constant
Following NP lines contain one pair each of real and imaginary poles
Following NZ lines contain one pair each of real and imaginary zeros
224
The next 2 options are only shown is the output file is selected to be FAP:
Here a file with tabulated values are entered. If seismometer constants or poles and zeros
have been chosen above, the tabulated values will be interpolated and multiplied with the
values previously calculated for from above. The free format file contains:
Give file name for measured values. In most cases you have none so just make a return.
The format of the input file is as follows:
e.g.
0.2,0.7,200
0.7,0.8,100
10.0,0.1,33
The file has no blank lines and can contain up to 60 data sets. It is important to note that the
amplitude values should be NORMALIZED at 1.0 hz.
Now there is no more input to the response parameters, and the output is:
This is the gain of the system at 1.0 hz and is also the value for normalizing the response
curve, that is, all calculated values are divided by this number. The units are times (no unit)
for gain for an amplifier and for displacement response using a seismometer and drum
recording. If the recording was digital, the unit would be counts/meter and for a velocity
response counts/meter/second etc. If a file with poles and zeros is used without any other
information, the normalization constant must have the unit of count/m, similar for the
tabulated input.
Further output is given in a file called resp.out, see Table 1 for an example. The
corresponding input is seen in Figure 1.
The response curves (amplitude and phase) are now printed/plotted on the screen. First
comes the amplitude response (amplitude in db versus log frequency). By pushing return,
the phase response is shown (phase shift (deg) versus log frequency). After the plots, the
SEISAN calibration file can optionally be made, follow instructions, see example below. The
response file MUST be calculated for the displacement response, and all calculation in
Seisan assume that response is calculated in counts/m.
After the SEISAN response file is made, the current parameters will be displayed and one or
several can be changed without entering all again. Like if the gain has changed at a certain
date, only change data and gain. This feature (new in SEISAN7.2) has been put in to be
225
able to quickly make many similar response files, like when all files have to be put in for a
network.
Date
The date given here corresponds to the date from which the calibration information is valid.
The SEISAN system will always look for the most recent calibration file relative to the date of
the earthquake.
Comment
No information used by the system.
Plot
After the response file has been written out, a plot is made with PRESP of the file. There will
also be a plotfile, presp.plt, which can be sent to the printer.
1: Parameters used for calculating the response: Generator constant, filters etc. In addition,
the response (amplitude and phase) at 30 frequencies are listed. In this case the response
is calculated from the parameters.
2: Incomplete set of parameters or no parameters and the response at 30 frequencies. In
this case the response is calculated by interpolation of the 30 values.
3: Poles and zeros: No discrete values are given and the response is calculated directly
from the poles and zeros.
See also Appendix 2 for the SEISAN waveform file format and section 4.6.
-0.43982297E-01 0.44870920E-01
-0.43982297E-01 -0.44870920E-01
0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00
DIG2 2 0.10500000E+07 75.00000 Terra IDS24
Example of resp.out:
SENSOR TYPE: SEISMOMETER RESPONSE: DISPLACEMENT
SEISMOMETER PERIOD= 1.00000
GENERATOR CONSTANT= 300.000
DAMPING RATIO = 0.700000
AMPLIFIER GAIN(DB)= 40.0000
RECORDING GAIN= 2048.00
FILTER CONSTANTS
F= 10.00 POLES= 2
GAIN AT 1 HZ= 2.75728E+08
This chapter gives a bit more technical details of SEISAN starting with a short programmers
guide with description of sample and test programs. At the end, there is a complete listing of
all files in the SEISAN distribution.
SEISAN is conglomerate of programs and subroutines and it can be difficult to find out
which routines to use and how to start a new SEISAN program. The most common method
is to use an existing program and modify it. The intention with this section is to make it
easier by providing a few sample programs which then can be modified to do specific tasks.
The compilation of existing SEISAN programs has been described in section 3.6 and details
of the commands are found in the Makefiles. In this distribution, 3 sample programs have
been included, which each illustrate the used of some SEISAN features. All 3 programs are
included in the Makefiles and can therefore be compiled directly, modified and recompiled.
A basic operation is to be able to read and write S-files, since all parameters contained in the
S-files. Starting with version 7.2, a new library (rea.for) and include block (rea.inc for definition
of variables) has been included to make it easier to read and write data into S-files. Earlier, S-
files were only read and written as text strings and individual parameters were then read/
written to the text strings. Now the new routines do it all. These routines are now used in a few
programs, but will be included whenever a program is substantially modified. The sample
program is called sample_read_write_s.for. The program illustrates how to read all parameters
in an S-file, make modifications and write out the file again. The program can be useful, if the
user needs a program where special parameters are needed for a particular analysis or for
output in another format.
In SEISAN waveform files can be in SEISAN, SAC (Unix only) or GSE format. SEISAN format
is slightly different depending on which compute platform it is written and byte swapping has to
be done in some cases. In order to automatically handle the reading of waveform files,
irrespective of format and computer platform, a set of standard routines are used
(waveform.for) and an include block where all parameters and data end up (waveform.inc).
The sample program is called sample_read_wav.for. The program illustrates how to read
many waveform files belonging to one event as if it was one file, irrespective of format. It also
demonstrates how to read just one waveform file. There is no detail here on how to write a
SEISAN binary file in this program, but some info is given under the format description in
Appendix 2 and the program tsig.for described below illustrates a simple write.
Graphics in SEISAN
SEISAN uses a set of graphics routines, which are identical in call on all 3 platforms (except
program CPLOT). These routines then call low level routines which are platform dependent (X
230
on Unix and Windows calls on PC). The programmer only have to use the high level routines.
The routines also generate a PostScript output if a given parameter is set. The program is
called sample_grapichs.for. The program illustrate how to initiate graphics, make a few simple
calls, get up and use the mouse and make a hard copy file. Most of the general graphics
general routines are located in file seiplot.for and common variables in seiplot.inc. The
program can be useful for testing functionality of the mouse.
It is often useful to be able to work with controlled waveform data so a program making test
signals is included.
The program makes several traces, all have same length and sample rate and trace 1 is the
sum of all traces
For each trace selected, the parmeters selected are: Frequency, amplitude (remember this is
integer numbers in file so use at least 1000), phase, delay (delay time when the signal
appears on trace relative start of trace, the data before is zero) and damping. The damping is
used to simulate seismometer damping or simple a damped signal and has a similar
physical meaning as the seismometer damping constant, but period is not recalculated to
simulate changing period with damping. Zero damping is no damping.
An additional trace can be made with a Brune displacement pulse generated with parameters
corner frequency (f0), q and kappa (see mulplt) and travel time. Travel time is used for Q-
correction and also places the pulse at travel time distance from the origin (start of trace), so
length of trace must be longer than travel time. If zero q and kappa, no attenuation is used.
The program also write an S-file with relevant parameters.
The program illustrates a simple writing of a SEISAN waveform file.
7.2 CONTENTS OF PRO, LIB, INC, INF, COM, DAT, SUP and PIC DIRECTORIES
The PRO, LIB, INC and COM directories contain software, the DAT directory parameter files
for operating the SEISAN system and INF contains documentation and manuals. All files are
listed and explained in the file ‘seisan.all’ in the INF directory.
The program CHECK can check if a distribution is complete. Run CHECK and use option
‘basic’. The content of the distribution is compared to the ‘seisan.all’ file in the INF directory.
231
8. Acknowledgments
A large number of people have contributed to the SEISAN system. From the British
Geological Survey, Jim Bolton has spent several months cleaning up the software, putting in
error checking and put in the new version of EPIMAP. Jane Exton has also been involved in
several of the SEISAN database problems. A main contributor has been Barry Lienert who
has spent several months at our institute to modify and adopt the HYP program, he has also
written the complete HYP manual. Bent Ruud has contributed with the core of the AUTOPIC
software and has helped out in practical aspects of installing it. Kuvvet Atakan has written
the seismic hazard part. Ronald Arvidson has tested large parts of the system and done
work on several programs and contributed with the modified version of FOCMEC. The help
of Arne Sjursen has been essential for implementing X. Vunganai Midzi did the complete
testing of version 6.0. Mario Villagran with programs, many suggestions and bug reports has
interacted with the development of SEISAN. Ezra Twesigomwe, Berit Storheim, K. Atakan
and Alice Walker have debugged the manuscript.
Version 7: Bladimir Moreno has made the Windows graphics, made SEISAN run under
Linux, written several other programs and has thus enormously contributed to this Version.
The hazard part has been updated by Kuvvet Atakan and Anibal Ojeda. Andrius Pacesa has
implemented the FK routine. The programs have been tested and the manual been checked
by Margaret Grandison, Waldo Taylor, Vunganai Midzi, Berit Storheim, Anne Lise
Kjærgaard, Anibal Ojeda, Ileana Boschini and Cecilie Langeland.
Version 7.1: This version was tested by Anne Lise Kjærgaard, Margaret Grandison and
Vunganai Midzi.
Finally we will thank all the patient users who have suffered from the "bugs" and have given
useful feedback.
232
9. References
Anderson, D. (1982). Robust earthquake location using M-estimates. PEPI, 30, 119-130.
Banfill, R. (1996). PC-SUDS Utilities. A collection of tools for routine processing of seismic
data stored in the seismic unified data system for DOS (PC-SUDS), Version 2.5,
Small Systems Support.
Boore,D.M. (1983). Stochastic simulation of high frequency ground motions based on
seismological models of the radiated spectra. Bulletin of the Seismological
Society of America, 73, 1865-1884.
Boore,D.M. (1989). Quantitative ground motion estimates. In: Earthquake Hazards and the
Design of Constructed Facilities in the Eastern United States. K.H.Jacob and
C.J.Turkstra (Eds.), Annals of the New York Academy of Sciences, 558, 81-94.
Bouchon, M. (1981). A simple method for calculating Green’s functions for elastic layered
media. Bull. Seism. Soc. Am. 71, 959-972.
Brune,J.N. (1970). Tectonic stress and spectra of seismic shear waves. Journal of
Geophysical Research, 75, 4997-5009.
Capon, J., High-resolution frequency-wavenumber spectrum analysis. Proc. IEEE 57, 1408-
1418, 1960.
Chiu, J, B. L. Isacs and R. K. Cardwell (1986). Studies of crustal converted waves using short-
period seismograms recorded in the Vanatu Island arc, Bull. Seism. Soc. Am.
76,177-190.
Chapman, C.H., 1978. A new method for computing synthetic seismograms, Geophys.
J. R. astr. Soc., 54, 481-518.
Chapman, C.H. and Orcutt, J.A., 1985. The computation of body wave synthetic seismograms
in laterally homogeneous media, Reviews of Geophysics, 23, 105-163.
Chapman, C.H., Chu Jen-Yi, and Lyness, D.G., 1988. The WKBJ seismogram algorithm, in:
D.J. Doornbos (ed.), Seismological algorithms, Academic Press, London,
pp47-74.
Dey-Sarkar, S.K. and Chapman, C.H. (1978). A simple method for computation of body-wave
seismograms, Bull. Seismo. Soc Am., 68, 1577-1593.
Draper, N.R. and Smith, H. (1966). Applied regression analysis, John Wiley and Sons, New
York.
GSETT-3, (1997). Provisional GSE 2.1, Message Formats & Protocols, Operations Annex 3.
Havskov, J, S. Malone, D McCloug and R. Crosson (1989). Coda Q for the state of
Washington. Bull. Seism. Soc. Am.,79, 1024-1038.
Herrmann, R., B. and A. Kijko (1983). Modelling some empirical vertical component Lg
relations, Bull. Seism. Soc. Am. 73,157-171.
Hutton, L. K. and D. Boore (1987). The Ml scale in Southern California. Bull. Seism. Soc. Am.
77,2074-2094.
Kissling, E., W.L. Ellsworth, D. Eberhart-Phillips and U. Kradolfer, (1994). Initial reference
model in local earthquake tomography, Journal of Geophysical Research, Vol.
99, No. B10, 19 635-19 646.
Kissling, E., U. Kradolfer and H. Maurer, (1995). Program VELEST USERS GUIDE - Short
Intrduction.
Klein, F. W. (1984) Users guide to HYPOINVERSE, a program for Vax and PC350 computers
to solve for earthquake locations. USGS open file report 84-000.
Kværna, T. and D.J. Doornbos, An integrated approach to slowness analysis with arrays and
tree-component stations, in: NORSAR Semiannual Technucal Summary, 1
October 1985 - 31 March 1986, Scientific Report No. 2-85/86, NORSAR, Kjeller,
Norway, 1986.
Lee, W. H. K., R. E. Bennett and L. Meagher, 1972. A method for estimating magnitude of
local earthquakes from signal duration, U.S.G.S Open file report.
Lee, W.H.K. and Lahr, J.C. 1975. HYPO71 (revised): a computer program for determining
hypocenter, magnitude and first motion pattern of local earthquakes. Open-file
report, U.S. Geological Survey, 75-311.
Lienert, B.R.E.,E. Berg and L. N. Frazer (1986). Hypocenter: An earthquake location method
using centered, scaled, and adaptively least squares, BSSA, Vol 76, 771-783.
Lienert, B.R.E and J. Havskov (1995). A computer program for locating earthquakes both
locally and globally, Seismological Research Letters, 66, 26-36.
Roberts, R.G., Christoffersson, A., and Cassidy, F., 1989. Real time events detection, phase
identification and source location estimation using single station component
seismic data and a small PC, Geophysical Journal, 97, 471-480.
Ordaz,M. (1991). CRISIS. Brief description of program CRISIS. Institute of Solid Earth
Physics, University of Bergen, Norway, Internal Report, 16p.
Ottemöller, L. (1995). Explosion filtering for Scandinavia, Norwegian National Seismic Network
technical report # 2, IFJF, University of Bergen. 209 pp.
Ottemöller, L. and J. Havskov (1999). SeisNet: A General Purpose Virtual Seismic Network.
SRL 70, 5, 522-528.
Peterson, J., Observation and modeling of seismic background noise, U.S. Geol., Survey
Open-File report 93-322, 95p, 1993.
Ruud, B.O., E.S. Husebye, S.F. Ingate and A. Christoffersen (1988). Event location at any
distance using seismic data from a single, three-component station. Bull. Seism.
Soc. Am. 78, 308-325.
Ruud, B.O., and Husebye, E.S., (1992). A new three-component detector and automatic single
station bulletin production, Bull. Seism. Soc. Am., 82, 221-237.
Singh, S.K., Apsel,R.J., Fried, J. and Brune,J.N. (1982). Spectral attenuation of SH-waves
along the Imperial fault. Bulletin of the Seismological Society of America. 72,
2003-2016.
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. Earth quake notes, 55, p15
Veith, K. F. and G. E. Clawson (1972). Magnitude from short period P-wave data. Bull. Seism.
Soc. Am. 62, 435-440.
235
1 2 3 4 5 6 7
1234567890123456789012345678901234567890123456789012345678901234567890123456789
. . . . . . . .
-------------------------------------------------------------------------------
1984 1022 2102 23.2 LE 69.330 27.440 11.0F NAO 34 5.2 3.8LNAO 4.0BPDE 3.2SISC1
NORTHERN FINLAND 3
NRSA SZ IPN 1 D 2244 13.44 0345 1234.6 1.33 245.2 08.6 841022 120.2 3 5 12345
NRSA SZ ILG 1 D 2244 13.44 0345 1234.6 1.33 265.0 03.6 841022 120.2 3 5 12345
1985 510 21 5 16.1 LE 60.240 6.170 30.0F BER 6 2.3 3.8LNAO 4.0BPDE 3.2SISC
1.5 0.5 0.9 5.0 0.4 5
8505210425.WNN 6
NORTHERN HORDALAND F 3.5 61.22 0.5 5.33 0.8 23456 2 456 2 99 11BER1
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO SNR 7
BER SZ IPG 2 U 2105 25.41 200
HYA SZ ISG 1 2105 33.1
ODD SZ IP 3 2105 20.1 250
ODD SZ EPG 2105 22.9
ODD SZ LG 2105 55.8
--------------------------------------------------------------------------------
Below are examples of how the last free columns of type 4 lines are used
in the Nordic Databank in Helsinki and in Bergen:
1985 510 21 5 16.1 LE 60.240 6.170 30.0F BER 6 2.3 3.8LNAO 4.0BPDE 3.2SISC1
1.5 0.5 0.9 5.0 0.4 5
8505210425.WNN 6
ACTION:UPD 93-07-09 09:40 OP:jens STATUS: ID:19920101080359 I
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO SNR AR TRES W DIS CAZ7
NRSA SZ IPN 1 D 2105 13.44 0345 1234.6 1.33 245.2 08.6 5.5 2 -0.7 9 555 235
BER SZ IPG 2 U 2105 25.41 200
HYA SZ ISG 1 2105 33.1
ODD SZ IP 3 2105 20.1 250
ODD SZ EPG 2105 22.9
ODD SZ LG 2105 55.8
Note in this example the fault plane solution line(F) and the HYP error line(E)
Location parameters:
AR : Azimuth residual when using azimuth information in locations
TRES: Travel time residual
W : Actual weight used for location ( inc. e.g. distance weight), i2
DIS : Epicentral distance in kms
CAZ : Azimuth from event to station
236
-----------------------------------------------------------------------------
Note: Type 1 line must be the first, all type 4 lines should be together and
the last line must be blank
--------------------------------------------------------------------------------
FORMAT DESCRIPTION:
Type 1 Line:
1 Free
2- 5 I4 Year
6 Free
7- 8 I2 Month
9-10 I2 Day of Month
11 Fix o. time Normally blank, an F fixes origin
time
12-13 I2 Hour
14-15 I2 Minutes
16 Free
17-20 F4.1 Seconds
21 Location model indicator Any character
22 A1 Distance Indicator L = Local, R = Regional, etc.
23 A1 Event ID E = Explosion, etc.
P = Probable explosion
V = Volcanic
24-30 F7.3 Latitude Degrees (+ N)
31-38 F8.3 Longitude Degrees (+ E)
39-43 F5.1 Depth Km
44 A1 Depth Indicator F = Fixed, S = Starting value
45 A1 Locating indicator ----------------------------, * do
not locate
46-48 A3 Hypocenter Reporting Agency
49-51 Number of Stations Used
52-55 RMS of Time Residuals
56 Free, unless magnitude is negative
57-59 F3.1 Magnitude No. 1
60 A1 Type of Magnitude L = ML, B = mb, S = Ms, etc
61-63 A3 Magnitude Reporting Agency
64 Free, unless magnitude is negative
65-67 F3.1 Magnitude No. 2
68 A1 Type of Magnitude L = ML, B = mb, S = Ms
69-71 A3 Magnitude Reporting Agency
72 Free, unless magnitude is negative
73-75 F3.1 Magnitude No. 3
76 A1 Type of Magnitude L = ML, B = mb, S = Ms
77-79 A3 Magnitude Reporting Agency
80 A1 Type of this line ("1"), can be blank if first
line of event
If more than 3 magnitudes need to be associated with the hypocenter in the first
line, a subsequent additional type one line can be written with the same year,
month, day until event ID and hypocenter agency. The magnitudes on this line will
then be associated with the main header line and there is then room for 6
magnitudes.
1-5 Blank
6-20 a Any descriptive text
21 Free
22 a1 Diastrophism code (PDE type)
F = Surface faulting
U = Uplift or subsidence
D = Faulting and Uplift/Subsidence
23 a1 Tsunami code (PDE type)
T = Tsunami generated
Q = Possible tsunami
24 a1 Seiche code (PDE type)
S = Seiche
Q = Possible seiche
237
25 a1 Cultural effects (PDE type)
C = Casualties reported
D = Damage reported
F = Earthquake was felt
H = Earthquake was heard
26 a1 Unusual events (PDE type)
L = Liquefaction
G = Geysir/fumerol
S = Landslides/Avalanches
B = Sand blows
C = Cracking in the ground (not normal faulting).
V = Visual phenomena
O = Olfactory phenomena
M = More than one of the above observed.
27 Free
28-29 i2 Max Intensity
30 a1 Max Intensity qualifier
(+ or - indicating more precicely the intensity)
31-32 a2 Intensity scale (ISC type defintions)
MM = Modified Mercalli
RF = Rossi Forel
CS = Mercalli - Cancani - Seberg
SK = Medevev - Sponheur - Karnik
33 Free
34-39 f6.2 Macroseismic latitude (Decimal)
40 Free
41-47 f7.2 Macroseismic longitude (Decimal)
48 Free
49-51 f3.1 Macroseismic magnitude
52 a1 Type of magnitude
I = Magnitude based on maximum Intensity.
A = Magnitude based on felt area.
R = Magnitude based on radius of felt area.
* = Magnitude calculated by use of special formulas
developed by some person for a certain area.
Further info should be given on line 3.
53-56 f4.2 Logarithm (base 10) of radius of felt area.
57-61 f5.2 Logarithm (base 10) of area (km**2) number 1 where
earthquake was felt exceeding a given intensity.
62-63 i2 Intensity boardering the area number 1.
64-68 f5.2 Logarithm (base 10) of area (km**2) number 2 where
earthquake was felt exceeding a given intensity.
69-70 i2 Intensity boardering the area number 2.
71 Free
72 a1 Quality rank of the report (A, B, C, D)
73-75 a3 Reporting agency
76-79 Free
80 a1 Type of this line ("2")
1 Free
2-79 A Text Anything
80 A1 Type of this line ("3")
Type 4 line:
1 Free
2- 6 A5 Station Name Blank = End of readings = end of
event
7 A1 Instrument Type S = SP, I = IP, L = LP etc
8 A1 Component Z, N, E
9 Free or weight, see note below
17 A1 First Motion C, D
238
18 Note: Currently 15 to 18 can also be used for phase assuming
column 11-14 is not blank. See note ** below.
21-22 I2 Minutes
23-28 F6.0 Seconds
29 Free
30-33 I4 Duration (to noise) Seconds
34-40 g7.1 Amplitude (Zero-Peak) Nanometers
41 Free
42-45 F4.0 Period Seconds
46 Free
47-51 F5.0 Direction of Approach Degrees
52 Free
53-56 F4.0 Phase Velocity Km/second
57-60 F4.0 Signal to noise ratio
61-63 I3 Azimuth residual
64-68 F5.1 Travel time residual
69-70 I2 Weight
71-75 F5.0 Epicentral distance(km)
76 Free
77-79 I3 Azimuth at source
80 A1 Type of this line ("4"), can be blank, which it is
most often
NB: Epicentral distance: Had format I5 before version 7.2. All old lines can be
read with format F5.0 with same results, but now distance can also be e.g. 1.23 km
which cannot be read by earlier versions. However, an UPDATE would fix that.
** Long phase names: An 8 character phase can be used in column 11-18. There is
then not room for polarity information. The weight is then put into column 9. This
format is recognized by HYP and MULPLT.
Type 5 line (optional): Error estimates of previous line, currently not used
by any SEISAN programs.
1 Free
2-79 Error estimates in same format as previous line, normally
type 4
80 A1 Type of this line ("5")
1 Free
2-79 A Name(s) of tracedata files
80 A1 Type of this line ("6")
1 Free
2-79 A Help lines to place the numbers in right positions
80 A1 Type of this line ("7")
Columns
1:55 As type 1 line
16 Free
17 Seconds, f6.3
23 Free
24:32 Latitude, f9.5
33 Free
34:44 Longitude, f10.5
44 Free
45:52 Depth, f8.3
53 Free
54:59 RMS, f6.3
60:79 Free
80 H
240
The file is written from Fortran as an unformatted file. This means that the file contains
additional characters (not described below, see end of this Appendix) between each block,
which must be taken into account if the file is read as a binary file. If read as Fortran
unformatted, the content will appear as described below. However, the internal structure is
different on Sun, Linux and PC. SEISAN automatically corrects for these differences.
line 1
1 - 1: FREE
2 - 30: NETWORK NAME,
COULD E.G. BE WESTERN NORWAY NETWORK
31 - 33: NUMBER OF STATIONS, MAX 999
34 : Century, 0: 1900, 1: 2000, blank is 0
35 - 36: YEAR
37
38 - 40: DOY
41
42 - 43: MONTH
44
45 - 46: DAY
47
48 - 49: HR
50
51 - 52: MIN
53
54 - 59: SEC, FORMAT F6.3
60
61 - 69: TOTAL TIME WINDOW (SECS), FORMAT F9.3
70 - 80: FREE
71
72
73 - 80: FREE
-------------------------------------------------------------|
line 2
1 - 80: FREE
-------------------------------------------------------------|
line 3
1
2 - 5: STATION CODE (A4), first 4 characters
6 - 9: COMPONENT (A4)
10 : STATION CODE (A1), LAST CHARACTER IF 5 CHARACTER STATION CODE
11 - 17: START TIME RELATIVE TO EVENT FILE TIME (SECS) F7.2
18 : BLANK
19 - 26: STATION DATA INTERVAL LENGTH (SECS) F8.2
27 - 52: SECOND CHANNEL
53 - 78: THIRD CHANNEL
79 - 80: BLANK |
------------------------------------------------------------|
If character 78 is P, option 2:
For each pole or zero, there are two real numbers representing the real and
imaginary part of the pole or zero, thus the number of poles is half the number of
242
values written. First all the poles are written in pairs of real and imaginary
parts, then follow the zeros. There is room for a total of 37 poles and zeros (74
pairs). The poles and zeros are written in a simulated line mode to make it easier
to read, thus the 3 blanks after writing 7 values.
It is assumed that the response is in displacment with units of counts/m.
-------------------
| EVENT FILE | at least 12* 80 BYTES
| HEADER |
-------------------
|
-------------------
| EVENT FILE |
| FIRST CHANNEL | 1040 BYTES
| HEADER |
-------------------
|
-------------------
| DATA |
| FIRST CHANNEL |
-------------------
|
-------------------
| EVENT FILE |
| NEXT CHANNEL | 1040 BYTES
| HEADER |
-------------------
|
-------------------
| DATA |
| NEXT CHANNEL |
-------------------
|
|
|
|
-------------------
| EVENT FILE |
| LAST CHANNEL | 1040 BYTES
| HEADER |
-------------------
|
-------------------
| DATA |
| LAST CHANNEL |
-------------------
To write a SEISAN file: If main headers are called mhead, channel header chead,
data is data (integer), there is nchan channels and each has nsamp samples, then
the file is written as
Do i=1,12
Write(1) mhead(i)
Enddo
Do k=1,nchan
Write(1) chead
Write(1) (data(i),i=1,nsmap)
Enddo
243
This exampele only works up to 30 channels when writing main header. For more
channels, see e.g. program SEISEI how to do it.
When Fortran writes a files opened with "form=unformatted", additional data is added to the
file to serve as record separators which have to be taken into account if the file is read from
a C-program or if read binary from a Fortran program. Unfortunately, the number of and
meaning of these additional characters are compiler dependent. On Sun, Linux and PC
from version 7.0 (using Digital Fortran), every write is preceded and terminated with 4
additional bytes giving the number of bytes in the write. On the PC, Seisan version 6.0 and
earlier using Microsoft Fortran, the first 2 bytes in the file are the ASCII character "KP".
Every write is preceded and terminated with one byte giving the number of bytes in the
write. If the write contains more than 128 bytes, it is blocked in records of 128 bytes, each
with the start and end byte which is this case is the number 128. Each record is thus 130
bytes long. All of these additional bytes are transparent to the user if the file is read as an
unformatted file. However, since the structure is different on Sun. Linux and PC, a file
written as unformatted on Sun or Linux cannot be read as unformatted on PC or vice versa.
There is even a small difference between Sun and Linux. The files are very easy to write
and read on the same computer but difficult to read if written on a different computer. To
further complicate matters, the byte order is different on Sun and PC.
This means that version 7.0 can read all earlier waveform files on all platforms from all
platforms. However, files written on version 7.0 PC cannot be read by any earlier versions of
Seisan without modifying the earlier seisan version.
In SEISAN, all files are written as unformatted files. In order to read the files independently
of where they were written, the reading routine (buf_read in seisinc, in lIB) reads the file
from Fortran as a direct access file with a record length of 2048 bytes. The additional bytes
are thrown away, the relevant bytes fished out and swapped if the file is written on a
different computer than where it is read.
Since there is no information stored in the header of the file giving the byte address of each
channel, the routine must read the first file-header, calculate how many bytes there are
down to where the next channel starts, jump down and repeat the process until the desired
channel is reached (this is also how SUDS files are read). However, compared to reading
the file as unformatted, only a fraction of the file is read to fish out a particular channel.
Once the channel header has been read, the start address is stored in the subroutine so
any subsequent access to that channel is very fast. Overall, random access to SEISAN
waveform files is much faster with the binary read than the previous (version 5.0 and earlier)
unformatted read. Only in the case where the whole file is read is the unformatted read
faster.
---------------------------------------- -----------------------------
one byte: K indicates start of file 4 bytes: # of bytes following
---------------------------------------- -----------------------------
one byte: # of bytes following one block of data
---------------------------------------- -----------------------------
128 bytes or less of data 4 bytes: # bytes in prev. write
---------------------------------------- -------------------------------
one byte: # of bytes in previous record 4 bytes: # of bytes following
---------------------------------------- -------------------------------
244
one byte: # of bytes in following record one block of data
---------------------------------------- -------------------------------
128 bytes or less of data ........
..... ........
..... ........
The Linux and PC file structure is exactly as on Sun except that the bytes are swapped. This
is used by SEISAN to find out where the file was written. Since there is always 80 characters
in the first write, character one in the Linux file will be the character P while on Sun
character 4 is P.
245
There are three SEISAN response formats. The instrument response can either be
presented as (1) instruments constants, (2) pairs of frequency amplitude and phase or as
(3) poles and zeros.
Line 1
1 - 5:STATION CODE (A5)
6 - 9:COMPONENT (A4), E.G. SZ L : SZ LOW GAIN, AN: ACCELERATION NS
10 :CENTURY, 0: 1900, 1:2000
11 - 12:YEAR
14 - 16:DOY
18 - 19:MONTH
21 - 22:DAY
24 - 25:HR
27 - 28:MIN
30 - 35:SECOND (F6.3)
52 - 59:LATITUDE (F8.4), optional
61 - 69:LONGITUDE (F9.4), optional
71 - 75:ELEVATION (METERS), optional
78 :P: Poles and zeros
Blank: Seismometer period etc used for response info. See below for
details.
T: Use up to 30 tabulated values irrespective of what is given
below. If less than 30, blank characters must be given.
79 : C: a combination of table, poles and zeros or instrument
constants have been used, for information only. Value in 78
must then be T.
F: Force use of header response. Only
gain at 1 hz is correct and 78 must be set to T.
Line 2
1 - 80: COMMENT LINE DESCRIBING THE SYSTEM RESPONSE (A80)
OPTION 1
Line 3
1 - 80: (10G8.3) 1. SEISMOMETER PERIOD
2. FRACTION OF CRITICAL DAMPING
3. SEISMOMETER GENERATOR CONSTANT (V/m/s) or
ACCELEROMETER SENSITIVITY (V/G)
4. AMPLIFIER GAIN
5. RECORDING MEDIA GAIN (I.E. 2048 COUNTS/VOLT)
6. GAIN AT 1.0 HZ, UNITS: COUNTS/METER
7. CUTOFF FREQUENCY FOR FILTER1 (HZ)
8. # OF POLES FOR FILTER1 (NEGATIVE FOR HIGHPASS)
9. CUTOFF FREQUENCY FOR FILTER2 (HZ)
10. # OF POLES FOR FILTER2 (NEGATIVE FOR HIGHPASS)
Line 4
1 _ 80: (10G8.3) FREQUENCIES AND #’S OF POLES FOR FIVE MORE FILTERS
OPTION 2
OPTION 3
246
If character 78 is P, option 2:
Line 3
1 – 22: (1X,2I5,G11.4) 1. NUMBER OF POLES
2. NUMBER OF ZEROS
3. NORMALIZATION CONSTANT, COUNTS/M
23 - 80 (5G11.4) 2 Poles in pairs of real and imaginary parts
Lines 4-13
1 – 80: (G11.4) Remaining poles and zeros. 7 values are written
and then 3 spaces are left blank.
2 3 0.1089E+10-0.1222E-01 0.1246E-01-0.1222E-01-0.1246E-01 0.
0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0.
0.
…
247
Note: The bul example is not part of the electronic versions of the manual.
248
INDEX
. B
.SEISAN 13 Backazimuth 79
Background noise 89, 183
3 Background seismicity 201
3-component stations 47, 79, 151 Bandpass filter, default in mulplt 95
BASE 28
A BGISEI 137
Acceleration 78 BGS, British Geological Survey 146
add waveform format 7 Binary SEISAN waveform file structure 243
AGA 6 Bisquare weighting 55
Agency 14, 54, 129, 205 BOUCH 167
Agency, select for 112 Bouch.out 174
AMP 76 BOUSEI 25, 167
Amplitude 76 Brune spectrum 230
Amplitude attenuation 203 BUL 118
Amplitude, automatic 76 BUL.INP 18, 118
Andalucia 129, 137 Bul.ps 118
Andalusia 143, 144 Bulletin 118
Angle of incidence 156 Bulletin program 18
Apparent velocity 56, 76, 79 B-value 148, 190, 201
Apparent velocity 180 BVALUE 148
APPEND 123 Bvalue.out 149
Append another event to current event 32 Bvalue.plt 149
Array processing 216
C
Array stations 47
ASCII files 127, 145 CAL directory 43, 142
ASCII waveform format 135 Calibration file 224
ASCII, convert to 145 CAT directory 7
ASSOCI 167 CAT_AGA 129
associ_rest.out 167 Cat_aga.par 129
Associate events in time 35 Catalog work 7, 25, 44, 45, 115, 121, 190, 208
Attenuation equation 200 Catday.out 121
Attenuation relations 188 CAT-file 6, 9, 22, 57
AUTO 151 Cathour.out 121
AUTO_LOCATE 95 Catmonth.out 121
AUTO_PROCESS 95 CATSTAT 121
Automate EPIMAP 105 Catyear.out 121
Automatic amplitude 76 change filters 68, 93
Automatic coda length 76, 96 Change of day 58
Automatic phase picking 36, 151 Channel order 73
AUTOPIC 18 Channel selection 64, 65
AUTOPIC.INP 151 check 230
Autopic.out 151 Check data base
AUTOREG 123 CHECK_BASE 28
Autoscale depth profile 103 CHECKRE 28
Autoscaling. 81 China 137
Autosig 153 Chronological order 116
autosig.par 154 CLUSTER 202
A-value 190 CNVSSR and CNVSSA 140
Average station residual 55 Coda length 55, 75, 76, 96, 203
Azimuth 76, 151 Coda magnitude 48, 55, 111
Azimuth error 56 CODAQ 25, 160
Codaq.inp 160
249
Maximum no of iterations 55 O
Maximum number of traces 15
Maximum observed magnitude 190 Omega square 198
Mb 48, 78, 111 Operator ID 116
Mc 48, 202, 203 Order of magnitudes 120
Memory extender 15 OS9SEI 142
Merge catalogs 44 Other databases 7
Merge events near in time 167 Output file from CRIATT 199
Merge waveform files 80, 127 Output file from EQRISK 201
MERGE_WAVEFORM 81 Output files from CRISIS99 197
Merging files from different networks 127 Output, corrected trace 81
Miniseed, mseedsei 141 P
Ml 47, 56, 202, 203
Modelling parameters, Q 54 P phase 47
Modes of operation 22 Parameter files 17, 18
Moho 54, 56 Passcal 144
Moment 87, 182, 198 PCEQ format 142
Moment tensor inversion 39 PCK files 132
Monthly epicenter files 115 PCQSEI 142
Monthly number of events 121 PCSUDS 147
Mount Unix disk on PC 16 PDAS files to SEISAN 142
Mouse click 68 PDASEI 142
Mouse, test 230 PDE 133
Moving files between Sun and PC 10 PDE bulletin file 129
Ms 48, 111 PDE e-mail 133
MULPLT 17, 26, 34, 63 PDENOR 133
MULPLT.DEF 17, 73, 93 Peak ground acceleration 189
MULPLT.OUT 89 Peak ground velocity 189
Multiple event S-file 114 Period 76
Multiplexed files 26 Peterson noise model 89, 181
Multitrace mode 64 Pg phase 47
Mw 87 PGA 189
Phase AMP 76
N Phase mouse key 94
Phase name 77, 237
Nakamura 182
Phase name key 94
Name of the local Index file 45
Phase name length 237
Nanometer 47, 78
Phase picking 23, 63, 75
Nanometrics 142
Phase picking mode 73
NANSEI 14, 142
Phase reading indicator 64
NDC 130
Phase weight key 94
Nearest station 50
Phase, compare theoretical 33
NEIC 142
Phase, select in data base 112
NEISEI 142
Picking phases, use of filters 68
Network code 20
PITSA 145, 147
Network code, put in waveform file 135
Pitsa program 34
New events into SEISAN 74
Place names 103
NEWEVE 27
Plot contours 101
Noise spectra 182
Plotting continuous data 9
Noise spectrum 86, 89, 183
Plotting epicenters 20
Noise study 89, 183
Plotting place names 103
Nordic format 6, 9, 235
Plotting response files 44
Nordic to HYPO71 133
Plotting traces 34
NORGSE 133
Pn phase 47
Norhin 62
Poblem, UPDATE 117
NORHIN 133
Polarity 68, 76, 155
NORHYP 133
Polarity, select for 111
NORIMS 130
Poles and zeros 142, 223, 241
Normalization constant 224
Polygon 208
Polygon, select 112
253