Seisan
Seisan
Lars Ottemöller(1)
Peter H. Voss(2)
Jens Havskov(1)
(1) Department of Earth Science (2) Geological Survey of Denmark and Greenland
University of Bergen Øster Voldgade 10
Allgaten 41 1350 Copenhagen K
5007 Bergen Denmark
Norway
http://seisan.info
Bergen July 06, 2023
Publisher
University of Bergen
Department of Earth Science
Allegatan 41
NO-5007 Bergen
NORWAY
ISBN 978-82-8088-501-2 (PDF)
Cover
The photo on the cover show the seismic hut at the SSRD station, in Denmark, January 2023 Photograph:
P. Voss.
Citiation
If you need to cite this manual :
Ottemöller, L., Voss, P.H. and Havskov J. (2021). SEISAN Earthquake Analysis Software for Windows,
Solaris, Linux and Macosx, Version 12.0. 607 pp. University of Bergen. ISBN 978-82-8088-501-2, URL
http://seisan.info.
Alternatively use: Havskov et al. (2020)
Havskov, J., Voss, P.H. and Ottemöller, L. (2020). Seismological Observatory Software: 30 Yr of SEISAN.
Seismological Research Letters, 91 (3): 1846-1852. DOI: https://doi.org/10.1785/0220190313
Contact
See SEISAN mailing lists on page 5.
Alternatively use:
Lars Ottemöller [email protected]
Peter H. Voss [email protected]
Jens Havskov [email protected]
Copyright ©2021 Ottemöller, Voss and Havskov.
1
Contents
1 Introduction 1
1.1 Changes for the SEISAN alpha version 13.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Changes in the SEISAN version 12.0 (released 2021-06-08) . . . . . . . . . . . . . . . . . . . . 2
1.2.1 A new Nordic Format, Nordic2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Information about SEISAN online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Structure of SEISAN 6
2.1 Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 The database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Phase data and hypocenters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Waveform data and formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3 Continuous waveform data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 File types used with SEISAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Upper and lower case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5 Moving data between Sun, Linux, MacOSX and Windows . . . . . . . . . . . . . . . . . . . . 15
3 Installation 16
3.1 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 MacOSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Cygwin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6 Google Earth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.7 Database directories for your own system, MAKEREA . . . . . . . . . . . . . . . . . . . . . . 21
3.8 Default parameter files for the main programs . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.9 Color settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.10 Compiling SEISAN programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.10.1 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.10.2 MacOSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.10.3 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.11 Program Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.12 Setting general SEISAN defaults, SEISAN.DEF . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.13 Format description in parmater files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Using SEISAN 53
5.1 Short user guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.1 Routine processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.2 Source parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.3 Crustal structure and Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.4 Magnitudes in SEISAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
i
CONTENTS ii
9 Distance trace plot with GMT, TRACE PLOT (Unix only) 156
23.5 Fault plane solution program to use and some advice . . . . . . . . . . . . . . . . . . . . . . 310
23.6 Composite fault plane solution using any of the programs FOCMEC, FPFIT, HASH and PINV311
23.7 Moment tensor inversion program, INVRAD . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
23.8 Plotting fault plane solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
23.9 FOC: Plot many FPS, stress inversion and Rose diagram . . . . . . . . . . . . . . . . . . . . 316
23.10PLOTFOC, plotting fault plane solution without need for station informtion . . . . . . . . . 319
23.11MOPAD, plotting a moment tensor solution and more . . . . . . . . . . . . . . . . . . . . . . 319
24 Quick plotting and changing of phases and polarities, PLOTPHASE and PLOTPOLAR-
ITY 321
31 Wadati 386
40 FK Analysis 441
43 Correlation of waveform signals, CORR and detection of event clusters XCLUST 462
E Changelog 506
E.1 Changes in the SEISAN version 11 (2018-06-07) . . . . . . . . . . . . . . . . . . . . . . . . . . 506
E.2 Changes in SEISAN version 10.5 (2016-11-18) . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
E.3 SEISAN version 10.4.1 (2016-06-08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
E.4 SEISAN version 10.4 (2016-03-31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
E.5 SEISAN version 10.3 (2015-01-17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
CONTENTS vii
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, moment tenesor inversion 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 (the S-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. Included
with SEISAN there is a test data set, a training document using the test data of many events and a tutorial
using just the 2 events included with the software. In addtion, there is a document illustrating seismogram
analysis using SEISAN. See chapter 5. To get an idea of how SEISAN works, new users can take a look at a
SEISAN webinar that was arranged by IRIS in 2014 (see https://www.youtube.com/watch?v=KJH3ktGL_K0
or file seisan webinar iris 2014.mov on the SEISAN ftp server).
SEISAN runs under Sun Solaris, Linux, MacOSX and Windows. 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, Windows and MaxOSX. For graphics, X is used on Unix systems and DISLIN
(www.dislin.de) used under Windows. No format conversion is needed to move data files (binary and ASCII)
between the systems if one of the standard formats (SEISAN, GSE2.0, SEED, SAC, GURALP) is used. The
GUI Seisan Explorer is written in Qt and is used on Linux, MacOSX and Windows.
BE AWARE: A SEISAN S-file must not contain symbols requiring 2 bytes or more (the case with some
country letters). The system will crash.
This manual resides in the directory INF (see below), when the system has been implemented on your
computer. The file is called seisan.pdf (Adobe PDF).
The SEISAN system is built of programs made by many different individuals without whom 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!
SEISAN is freely available for all non-commercial use.
In this manual names of computer programs are given with capital letters, names of files and command
line options are given by typewriter font.
1
CHAPTER 1. INTRODUCTION 2
• Program MERGE S has been added to merge S-file catalogs and remove duplicate phases.
• Program IMSNOR has been added. program for converting IMS and ISF format files, more complete
than NORIMS. It also supports the new ISF2 format.
• EEV option US added to make and update ID lines
• Program VELNOR has been added, for converting Velest cnv file to Nordic.
• Program PLOTPHASE to plot seismogram around P/S for quick inspection, command QP in EEV.
• Program AUTOREG can get all input from prompt line and can register one waveform file without
filenr.lis.
• CONDET can now detect, extract waveform files and register events in S-file data base copy waveform
files in one operation.
• Place name file for EPIMAP and MACROMAP has changed format.
• EEV has got a new command GEO to put place names into S-file using a placename file in DAT.
• A summary email can now be sent from EEV with command EMAILSUM using a different email list
from EMAIL command. It can optionally automatically put in an epicenter map made with MAP or
MAPG. MAP and MAPG several new options including plotteing rays traces.
• NORGMT has been replaced with a new program of the same name.
To see how to migrate from Nordic to Nordic2 format, see end of this section.
The philosophy of the new format is that each type of observation used in S-files (phase, amplitude, coda,
back azimuth) must occupy one line with a corresponding phase. This has been an optional case also before
for amplitudes and back azimuth, now it is a must. The amplitude phase has the same name as before
like IAML, the back azimuth (and apparent velocity) are BAZ, possibly with a phase name like BAZ-P to
indicate the phase. The coda is END (IASPEI standard). Below is an example, the Appendix has the full
description.
STAT COM NTLO IPHASE W HHMM SS.SSS PAR1 PAR2 AGA OPEAIN RES W DIS CAZ7
BER SHZ NS00 IP 1325 38.120 C BER lo -.9801061.00 11
ASK SHZ NS00 ES 1325 48.070 BER jh -1.021071.10 3
ASK SHZ NS00 AMP 1325 48.070 333.3 2.20 71.10 3
ASK SHZ NS00 IAML 1325 50.900 111.0 0.30 71.10 3
NRA0 SHZ BB01 IPn A1326 19.090 NAO hhh 50.0-.05010368.0 72
NRA0 S Z END 1326 19.090 333.0 0.2 368.0 72
NRA0 S Z BAZ-P 1326 19.090 256.9 6.9 0.1 368.0 72
MUD BHZ DK00 IP 1326 38.120 C DNK pv -.9801061.00 11
MUD BHE DK00 ES 1326 48.070 DNK pv -1.021071.10 3
The new columns are NT and LO for network and location respectively. AGA and OPE are agency and
operators. PAR1 and PAR2 are the observation associated with the phase which are:
Seismic phase: polarity
Amplitude: amplitude and period
END: coda length
BAZ: back azimuth and apparent velocity
The residual (RES) is now residual for the observation if any, degree for BAZ, seconds for phase, magni-
tude for amplitude and coda.
The user can select the format to use in SEISAN.DEF, parameter NORDIC FORMAT. The default, for
now, in the distribution is that the format is set to the old Nordic format (0) and everything will work as
before. Setting to 1 old and new format can be read but new will be written (also in programs such as
SELECT, SPLIT, ...) and setting to 2 only new for a can be used. It is recommended to use 0 or 2 to avoid
mixing the format in one database, but 1 is needed for example to compare data in Nordic and Nordic2
format.
SEISAN can be hardcoded to work with new nordic format only; in LIB/libsei.for uncomment the
two lines given at the end of the get seisan def subroutine and recmpile SEISAN.
It is possible to convert from new to old and vise versa by program NOR2NOR2.
The majority of programs have been changed to be able to work with the new format, if not it will be
noted.
There are several programs that work with the SEISAN 4 character component names, particularly
conversion programs. These have not been changed to 3 character components since they will also work
with the 3 character components, leaving the 3rd character blank. When converting from 2 character to 3
character component codes, the 2nd character is left blank. Also many programs can only work with station
and component and will not, at the moment, be converted to also use network and locations (e.g. CODAQ).
Old to new components, NT and LO in MULPLT
When old data is transferred to new format there is only component e.g. S Z and no location and network
code. If the original data has this information, MULPLT is still able to plot the phases since:
If new phases are read and NT or LO are present, the component code must then have 3 characters.
Response files. The SEISAN naming of response files does not have NTLO so they cannot distinguish
same station names and different NTLO. This will probably also be fixed but for now the problem can be
solved by using RESP response files.
CHAPTER 1. INTRODUCTION 5
As the Nordic2 format allows more complete mapping between the data streams and observations, it
is recommended to convert complete databases. However, it is planned to continue to distribute SEISAN,
which is able to use the old format to be backward compatible.
To convert from Nordic to Nordic2, the user should carefully check that no significant changes are intro-
duced. This can be checked by comparing locations and magnitudes between the orignal Nordic and recom-
puted results after conversion to Nordic2 format. An additional complication is changes in HYPOCENTER,
especially compared to quite old distributions. The user should carefully consider what needs to be checked,
the following list provides a suggestion:
- set NORDIC FORMAT to 2, which makes Nordic2 a must, Nordic will no longer be read; in case
of different databases, different SEISAN.DEF files can be used; NORDIC FORMAT=1 is not recom-
mended
Structure of SEISAN
2.1 Directories
The whole SEISAN system is located in subdirectories residing under the main directory SEISMO. For more
details, see chapter 3 on installation. The system contains the following main subdirectories:
REA: Earthquake readings and full epicenter solutions in a database
WOR: The users work directory, initially empty
TMP Temporal storage of files, initially empty
PRO: Programs, source code and executables
LIB: Libraries and subroutines
INC: Include files for programs and subroutines in PRO and LIB
COM: Command procedures
DAT: Default and parameter files, e.g. station coordinates
WAV: Digital waveform data files
CAL: System calibration files
INF: Documentation and information
ISO: Macroseismic information
SUP: Supplementary files and programs
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 chapter 44. Figure 2.1 shows the tree structure of SEISAN.
6
CHAPTER 2. STRUCTURE OF SEISAN 7
Figure 2.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.
CHAPTER 2. STRUCTURE OF SEISAN 8
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 a 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 14). 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 section 14.
S-file database structure
The structure for the single file storage is as follows (Windows example):
\REA\BER \ Main readings directory, all data
\REA\BER \1999\ Data for 1999
\REA\BER \1999\01\ Data for January 1999, each event in one file
On Unix, the last line would have been /REA/BER /1999/01
The structure works back to year 0000. Each event contains original phase readings in the Nordic format
( Appendix A. ) 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 12 and 13). The ID is directly correlated with the S-file name and after
an update of the S-file, also with the origin time. The ID line also contains status information about the
event like last action, when it was updated etc. The ID-number is normally 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 7. 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 header line of the S-file, see the Nordic
format page 475. 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 (5.3 and
5.4).
Monthly location files, the CAT directory
Events located in monthly files are in a directory called /SEISMO/REA/BER /CAT in addition to the
individual S-files. Additional databases like e.g. NAO will have epicenters stored under
/SEISMO/REA/NAO /CAT. The monthly epicenter files are called 199901.CAT for e.g. January 1999.
Although the files generated by SEISAN normally are monthly files, the CAT directory can also contain
yearly files or any other time interval. The only rule is that the name of the file must give the year and
month of the first event in the file. This is because the search program SELECT can use the CAT files to
search requested time intervals (SELECT most often use the S-files for selection). If a user has a historical
catalog, this can be added as an individual file. If the historical catalog starts in 1820, the file name would
be 182001.CAT. The files in CAT do not need to be continuous in time, but they must not have overlaps in
time and each file must have data in chronological order. The format of the CAT files is the same as for the
S-files. Additionally, CAT files can also be compact files, meaning just the header lines of the S-files (see
also section 2.3).
described in Appendix B, while for a format description of GSE and SAC the user is referred to GSETT-
3 (1997) and Goldstein (1999), respectively. The SEED format is described in IRIS Consortium (1993).
The GSE reading routines are based on the codeco routines written by Urs Kradolfer, Klaus Stammler and
Karl Koch. The routines read GSE2.0 only, not GSE2.1. The format description of GSE2.0 is given in:
INF/structure-of-seisan.tex. The different formats can be used in parallel by several programs. With
MULPLT for example it is possible to plot data in the four formats at the same time. Other formats can be
added by adding reading routines and adding the respective calls to LIB/wave.for . Note that SAC binary
files can also be used on Windows from SEISAN version 8.2. To use other formats, a conversion program
must be used first, see section 19.
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. 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 MINISEED format is probably the best option since most data centers use it and almost all intrument
manufactures will provide it. SEISAN cannot read SEED files using all options possible in SEED, but data
from the largest data centers as well as many observatories have been used for testing. With respect
to MINISEED, there are less problems since MINISEED is simpler than SEED. SEISAN can also write
MININSEED (program WAVETOOL), but cannot write SEED (unless GSE2SEED is used). 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.12).
The amount of data that can be stored is only limited 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 8.
There is normally no requirement for particular filenames for the waveform files in WAV or elsewhere,
however many programs will make file names like:
yyyy-mm-dd-hhmm-ssT.NETWO nnn e.g. 1995-01-23-1230-20M.BERGE 013
With the abbreviations yyyy: year, mm: month, dd: day, hh: hour, mm: minute, ss: second, T: file type
indicator (normally M or S), NETWO: maximum 5 letter network code and nnn: number of channels.
Recommended file type indicators are:
S: Standard SEISAN
R: Resampled
A: Appended
M: Miniseed/SEED
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, TMP, WAV and the monthly WAV directory
(TMP. see compression below). However, it is a requirement for all programs running outside EEV that the
waveform data is in the default data base since only that one is searced. When storing in the WAV
database, it is a requirement that the waveform names by default start with either yymm (like
9902) ,yyyymmdd (like 19990101) or yyyy-mm (like 1999-02). If this is not the case, the position
in the file name of year (including century) and month must be specified in SEISAN.DEF, see parameter
CONT YEAR MONTH POSTION FILE. In this case all the waveform files in the WAV structure must
have the sane type file name.
The SEISAN binary waveform format is explained in Appendix B. The files are written and read with
the same Fortran statements on all platforms, however the internal structure and byte order are different.
CHAPTER 2. STRUCTURE OF SEISAN 10
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, MaxOSX and Windows.
Compression of waveform data
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 content 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. On Windows, only gzip is
supported (gz files). In order for it to work, the command gunzip must working. This can be done with gzip
which also can decompress. Fist install gzip if not there. Then create a bat file to be in you part (like in
COM) with name gunzip.bat and content
gzip -d
With the introduction of SEED format, there is less need for external compression since the SEED data
usually is compressed and therefore decompressed on the fly when read. Also now disk is usully not a problem
when dealing with individual events.
Component codes
The SEISAN waveform format until version 8.2 has used 4 characters for the component code. SEISAN
now follow the SEED component code (see Appendix A in the SEED manual: http://www.fdsn.org/pdf/
SEEDManual_V2.4.pdf). In the format before 8.2, the first character indicates the type of sensor, for example
‘B’ for broadband, ‘S’ for short-period or ‘L’ for long−period. For acceleration data the first character has
to be ‘A’ because SEISAN assumes that the corresponding response has been given as acceleration response.
The fourth character has to give the channel orientation, ‘Z’ is used for vertical, ‘E’ for east-west and ‘N’ for
north-south. Other orientation of the horizontal components is possible in GSE, SEED and SEISAN are not
understood by SEISAN. If data are rotated, ‘T’ is used for transverse and ‘R’ for radial. The second and
third characters can be chosen by the user. From SEISAN version 8.2, only 3 characters are used, the first
2 and the last. These 3 characters are then defined according to the SEED standard. SEED location codes
and network codes are now also stored in the SEISAN format and are displayed when plotting the traces
with MULPLT. From SEISAN version 12, several program will use location and network codes, particualrly
if the new format, Nordic2, used. The component code is part of the response filename and is used to find
the response corresponding to a given station and component. The network code is not part of the response
files except for the SEED response files so if using a SEED response file, network and location codes must
match. Program WAVFIX can be used to change station and/or component codes for most formats (but
not yet network and location codes.
The Nordic format only has space for two characters for the component code. The definition in SEISAN
is that these are the first and fourth character of the waveform component code. This means that the relation
between the component code in the Nordic file and the waveform data is non-unique. In the the new format,
Nordic2, there is room for 3 char componenet code and location and netwotk codes. D The GSE and SEED
waveform formats have three characters for the channel code, see GSETT-3 (1997) and IRIS Consortium
(1993) for the detailed definition of the component codes. SEISAN, when reading waveform data in either
GSE or SEED format internally keeps the first two characters and moves the third to fourth, so for example
‘BHZ’ becomes ‘BH Z’, however the user will only see the name as BHZ in many programs. Data files in
SEED also have a location code, which allows to distinguish for example between two ‘BHZ’ components
(for example a 30 second and 120 second sensor with the same sampling rate and high gain) at the same
site. Z. When converting between SEISAN and SEED/MiniSEED, station, network and location codes are
preserved while SAC and GSE only partly can store this information. SAC has more than four characters for
the component code and sacsei.def parameter file in DAT has to be used to define the conversion. However,
normally SAC data will have three character component codes as well. Conversion of component codes from
SEISAN to SAC is also defined in sacsei.def.
When converting between SEISAN and other waveform formats, component conversion is defined in the
respective definition files, see section on conversion programs.
CHAPTER 2. STRUCTURE OF SEISAN 11
Start time and or durations blank: Start time will be origin time - a time given in SEISAN.DEF (ARC START),
duration will be a time given in SEISAN.DEF (ARC DURATION).
Station is P: For phase reading - All channels for all stations listed in the S-file found in the archive will
be plotted. There is no requirement for the station to have any other information than the station name,
component code is not used. So a new station can easily be added. Example:
ARC STAT COM NT LO YYYY MMDD HHMM SS DUR
ARC P 2010 1011 0100 00 14400 6
Station begins with indicates virtual network as defined in SEISAN.DEF. This can also be inserted
with arc command in EEV. Example of link to virtual network named CTBTO in sfile, below format line:
ARC STAT COM NT LO YYYY MMDD HHMM SS DUR
ARC _CTBTO 2010 1011 0100 00 14400 6
Plotting all stations without an archive reference line: If parameter ARC BY DEFAULT in SEISAN.DEF
is set to 1, all channels in the archive will be selected.
NOTE: An ARC line can be inserted/edited in the S-file from EEV by command arc.
The archive is defined in SEISAN.DEF where each channel is defined by ether an ARC CHAN2 line
(from version 12) or an ARC CHAN line (still possible, this was the only option prior to version 12).
ARC CHAN2 makes it easier to define virtual networks, which with ARC CHAN have to be defined through
CHAPTER 2. STRUCTURE OF SEISAN 12
ARC VIRTUAL NETWORK lines. Another improvement is that with ARC CHAN2 it is possible to specify
the archive with variables that are defined through ARC ARCHIVE2 lines.
Here is an example of using the ARC CHAN2 definition and definition of the nnsn eida archive variable:
ARC_ARCHIVE2 nnsn_eida /home/seismo/WAV/SLARCHIVE
--------------------------------------------------------------------------------------------------------
--------- explanation arc_chan2 S C N L Def Start Stop Archive Vnet1 Vnet2 Vnet3 V
--------------------------------------------------------------------------------------------------------
ARC_CHAN2 ASK HHZNS00 1.0 20181106 nnsn_eida _SW _SN _NNSN
ARC_CHAN2 ASK HHNNS00 1.0 20181106 nnsn_eida _SW _SN _NNSN
ARC_CHAN2 ASK HHENS00 1.0 20181106 nnsn_eida _SW _SN _NNSN
ARC_CHAN2 ASK EHZNS00 1.0 20181106 nnsn_eida _SW _SN _NNSN
ARC_CHAN2 ASK EHNNS00 1.0 20181106 nnsn_eida _SW _SN _NNSN
ARC_CHAN2 ASK EHENS00 1.0 20181106 nnsn_eida _SW _SN _NNSN
The columns in the ARC CHAN2 line contain:
41-52: station, component, network and location
54-56: start date as yyyymmdd
58-65: stop date as yyyymmdd
67-74: archive name that is pointing to archive path
76-84: name of virtual network that station is part of
86-90:name of virtual network that station is part of
92-96:name of virtual network that station is part of
98-102: name of virtual network that station is part of
104-108: name of virtual network that station is part of
110-114: name of virtual network that station is part of
116-120: name of virtual network that station is part of
The ARC ARCHIVE2 line gives the archive name (41-49) and the respective archive path (51-). One
can add several ARC ARCHIVE2 lines.
When defining a channel using a ARC_CHAN text string: SSSSSCCCNNLL, where SSSSS is the station,
CCC is the component, NN the network and LL the location. These lines can be generated with program
sample read wav, which will make a list of all channels in a given set of files (it thus requires to have one
of several single files with the channels needed).. An alterentive is to use program GET ARC CHANNELS
which will scan an archvie to list the channels in SEISAN.DEF format. See section ’Waveform file manage-
ment tools’.
The directory of the archive is given by ARC_ARCHIVE, see e.g.:
ARC_CHAN PMOZ BHZPM
ARC_CHAN PMOZ BHNPM
ARC_CHAN PMOZ BHEPM
ARC_CHAN SFJD LHZIU10
ARC_CHAN SFJD LHNIU10
ARC_CHAN SFJD LHEIU10
ARC_ARCHIVE /uibsan/home/s2000/BUDARC
ARC_DURATION 10000.0
ARC_START_TIME 5000.0
ARC_TYPE 1.0
ARC_BY_DEFAULT 0.0
where each channel is defined as well as the location of the archive. The specification is the same for both
BUD and SeisComp archives. ONLY one archive type can be used at the same time and the archive type,
ARC TYPE is given in SEISAN.DEF.
Groups of channels can be defined as virtual networks. The virtual network names will be shown in the
station selection when using ’arc’ option in MULPLT. The definition is done in SEISAN.DEF:
CHAPTER 2. STRUCTURE OF SEISAN 13
- For each waveform file from a station or network, an S-file is created. The S-files only contain reference
to the waveform file(s). Program AUTOREG can be used to create the S-files.
- The waveform data is optionally put into the corresponding waveform station directories, however they
can also be in WAV or working directory. For large data sets it is strongly recommended to use the
WAV database structure.
- The continuous databases are defined in SEISAN.DEF in DAT.
If e.g. data is to be stored from 3 different stations (three componet files), create 3 databases under WAV
and REA 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. It is now possible for some
programs (MULPLT, WAVETOOL) to get access to any or all of the traces in the continuous data base
and plot and extract data. If the continuous data is archived from a real-time system it is best to have
one database per station as it will at times be necessary to backfill gaps as data may not have arrived in
real-time.
Note that waveform files in a SEISAN continuous structure must contain the year and month which is
used to located the corresponding year-month structure. The default start of the file names accepted are:
ccmm ccyy-mm ccyymm
where cc is century, yy is year and mm is month. If year and month are placed diffenrently in the file name,
their location must tbe specified in SEISAN.DEF, parmeter CONT YEAR MONTH POSTION FILE.
It is also possible to store the data without having a database for each station:
• Alternative 1: If the 3 stations have waveform files starting at about the same time and the same
duration, they can be merged to 9 channel files and only one continuous data base is made. This may
work well for data from a temporary deploymeny where all data is there when the data is put into
database.
• Alternative 2: If the 3 stations have waveform files starting at about the same time and the same
duration, the 3 waveform files can be listed in the S-file and only one data base is needed.
• Alternative 3: If the files are in individual channel files, 9 waveform files can be listed in the S-file and
only one continuous database is needed.
The waveform files in a continuous data base can have different formats for different stations and one
S-file can refer to more than one waveform file, provided they start at about the same time and have the
same duration.
A simpler way to use smaller quantities of continuous data is to make a list of these files with DIRF and
an application program can then use that list to work with the data. Currently two programs have special
options for this kind of continuous data. The MULPLT program will plot data from several files as if it was
one file in one continues trace the RESAMP program will resample the data from several files and put it
into one output file.
CHAPTER 2. STRUCTURE OF SEISAN 14
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
Installation
SEISAN has been tested and compiled for Windows 10, Linux and MacOSX. If you wish to run SEISAN
on Solaris, please note that not all programs will work. The SEISAN GUI ”Seisan Exporer” is provided for
Windows and Linux , it has not been tested for MacOSX.
Upgrade from previous versions
Before you start, take a backup copy of your DAT directory. Note that when you upgrade, many
parameter files will be overwritten so make sure old parameter files are copied before putting in a new
version of SEISAN. The most important are in DAT: STATION0.HYP, SEISAN.DEF, MULPLT.DEF. Also the
Unix setup file SEISAN.csh and SEISAN.bash is overwritten. You may also want to keep copies of PRO,
LIB and INC to keep a copy of the old source code, especially if you have done any modifications to the
code. You can keep almost all of your parameter files, only SEISAN.DEF has been changed. Check this file
and change to your system. Some individual program parameter files like for SPEC have changed.
How to get SEISAN
SEISAN can be downloaded using a browser from
https://www.geo.uib.no/seismo/SOFTWARE/SEISAN/
3.1 Linux
Linux: The programs in the distribution have been compiled under Red Hat Enterprise Linux using the
GNU compilers gcc and gfortran. 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 (see your Linux manual for instructions). THE USER
ACCOUNT MUST BE SET UP TO USE csh, tcsh (use SEISAN.csh) or bash (use SEISAN.bash), in order
for the SEISAN scripts to work. Note that in the following SEISAN.csh stands for both SEISAN.csh and
SEISAN.bash. Otherwise the scripts need to be adopted to the shell used.
Instructions
The first step is to install the distribution, the procedure is the same for all Unix platforms.
1. Get tar.gz file
16
CHAPTER 3. INSTALLATION 17
Copy the distribution file for your platform through FTP or from the web site to the SEISAN top
directory, this could be a directory seismo under the home directory.
2. Decompress
gunzip seisan version system.tar.gz
There should now be the uncompressed file in your directory (without .gz).
3. Install SEISAN
tar xvf seisan version system.tar
Check that the SEISAN directories have been created.
If SEISAN has been installed without executable files, they can all be generated with the command ‘make
all’ from the PRO directory. On Linux/MacOSX it requires the GNU Fortran compiler gfortran. See also
section on compilation (3.10).
4. Regenreate the IASP travel time tables
On at 64 bit computer the IASP files in DAT must be regenerated if you have the files from a 32 bit
computer, with the programs REMODL and SETBRN otherwise HYP will crash. First run REMODL, then
SETBRN. The program do not require any input.
5. Set system parameters
If you are doing an update, some of the following settings can be skipped.
Activate SEISAN:
csh/tcsh shell :
In your .cshrc file, the aliases and paths used by SEISAN are defined by adding the line
source /home/seismo/COM/SEISAN.csh
where ../seismo is the directory below which SEISAN has been installed. The SEISAN.csh script file
assumes that you are running either csh or tcsh as your shell.
bash shell :
If you are using the bash shell add this line to your .bashrc file :
. /home/seismo/COM/SEISAN.bash
bash might include a select system program, if that is the case on your pc you also need to add this line
in your .bashrc file :
alias select="/home/seismo/PRO/select"
to use the SEISAN SELECT program.
If you are using another shell you need to modify the script accordingly or change the shell. It is assumed
that X-windows is installed.
SEISAN path for programs:
In order for programs and subroutines to know the path to the SEISAN program directory, this must be
defined in the file SEISA.csh or SEISAN.bash in COM. Edit that file and set the environmental variable
SEISAN TOP to the name of the top directory, meaning the directory structure below and including seismo
e.g. /top/users/seismo. This variable is then used to set the path to SEISAN directories.
SEISAN path for databases, parameter files etc:
The SEISAN database can be under the same top directory as programs, however it can also be different.
This is practical if several users have their own databases, but use the same software. Set environmental
variable SEISAN TOP to top directory e.g. /top/users/seismo.
SEISAN default database:
To locate the default database directory set environmental variable DEF BASE in SEISAN.csh. If not set,
the name TEST is used since the distribution comes with some test data alreaded installled in TEST. The
data bases are found under SEISAN TOP.
SEISAN editor used in EEV:
The default editor is vi, any other editor can be set with the environmental variable SEISAN EDITOR.
SEISAN calibration file directory:
By default, calibration files are in CAL, but they can be in a directory set with variable LOCAL CAL. The
directory name must be complete like /home/users/calibration/
SEISARCH
Gives the architecture, can be either linux32, linux64, macosx or windows. Used in Makefile when compiling.
SACLIB
Specify path and filename to SAC libraries, only needed when you compile programs (Unix) and you have
CHAPTER 3. INSTALLATION 18
3.2 MacOSX
The MacOSX version does not come pre-compiled, and will have to be compiled by the user. Please see
section 3.10 and 3.10.2 for details.
3.3 Cygwin
As alternative to running SEISAN directly under Windows, it can also be compiled and used under Cygwin.
The cygwin website http://www.cygwin.com explains:
“Cygwin is a Linux-like environment for Windows. It consists of two parts:
• A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API
functionality.
• A collection of tools which provide Linux look and feel. The Cygwin DLL currently works with all
recent, commercially released x86 32 bit and 64 bit versions of Windows, with the exception of Windows
CE.”
It is attractive to use SEISAN with Cygwin as it looks like the Unix version. Under Cygwin SEISAN
uses X graphics, which requires the Cygwin X server (part of Cygwin). The compilation under Cygwin is
like Linux, which means on the software side there are fewer differences to take care of.
Cygwin can be downloaded and installed from the website. However, to be able to compile SEISAN a
number of non-default packages have to be included:
• Devel: gcc-g++ (and associated packages)
• Devel: gfortran
• Devel: make
• Libs: libncurses-devel
• Shells: tcsh
• X11: xorg-x11-base
• X11: xorg-x11-deve
We also recommend to install:
• Editors: vim
• Utils: diffutils
The choice of packages is done through the Cygwin installation tool. With some of the packages, addi-
tional required packages will be selected by default and must be installed.
To install SEISAN under Cygwin, use the Linux distribution and set SEISARCH to ‘linux32’ or ‘linux64’.
You have to compile as described for Linux below.
Under Cygwin, you can use csh or tcsh, which will allow to use the SEISAN.csh. If your default is bash,
‘(t)csh’ can be started from the command line. The X server is started using command ‘startx’ from the
Cygwin prompt. See the Cygwin documentation for more details.
Cygwin has not been tested on latest versions of SEISAN.
CHAPTER 3. INSTALLATION 20
3.4 Windows
It is assumed that you transferred the Windows distribution from Internet to a directory on the PC. In the
following, it is assumed that you install on disk drive C. The windows graphics work with any resolution,
small fonts should be used, however, SEISAN is designed to work with 1024x768 or more.
Using install script
Click on seisan v?.?.? windows.msi and follow the instructions, use all defaults. If you later want to
change some environmental variables, see instructions below. If SEISAN already is installed, a window
comes up for a possible upgrade or removal of SEISAN. A new version cannot be installed witout removing
the old one. SEISAN is now completely installed. Optionally, some parmeters can be set, se below. The
general non system specific parameters are the same as under Linux.
OPTIONAL: Change environmental variables SEISAN EDITOR, SEISAN PSSCALE X,
SEISAN PSSCALE Y and DEF BASE (see UNIX section for definition) using control panel - system -
advanced and select environmental variables. The defaults are respectively
SEISMO, notepad, A4 and TEST. 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:.
Optional: If you want to recompile, you need the Fortran Gnu compilers installed, see section on compi-
lation below.
Printer:
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. If you do not have a PostScript printer, it is possible to view and print
PostScript files with GhostViev, a public domain software available from many sites, e.g. . Other software
is also awailable to view PostScript files.
http://www.cs.wisc.edu/~ghost/gsview/get47.htm
Testdata:
The testdata set can be extracted from the file seisan test data.tar.gz with for example the WinZIP program.
Extract the data to the SEISAN top directory. To use the test data base as the default DEF BASE must
be set to TEST (done by default during installation). Note that the dataset is in the old Nordic format, use
the NOR2NOR2 program to convert to Nordic2 format.
Running SEISAN on networked PC’s
SEISAN on one PC can be accessed from another PC. This can be an advantage if several users share
the same data base. On the client PC, name the server PC disk where seisan is installed e.g. Z:. Then set
seisan top=z:\.
Potential problems
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.
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.
3.5 Python
Python is currently only used with two program in SEISAN, MOPAD (making moment tensor plots) and
SPECTRO (making spectrograms) so if any of these program are to be used, Python must be installed.
Most Linux systems will have Python installed, else follow standard instructions on Python home page and
install. SEISAN currently uses version 2.7 of Python. Make sure you include Python in the path. For
running MOPAD, two extra libraries are needed. In Windows they are install like this:
pip install numpy
CHAPTER 3. INSTALLATION 21
Most SEISAN program use the SEISAN.DEF file (in DAT, see section 3.12) where many general parameters
are set.
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.
3.10.1 Linux
Compilers used for SEISAN (other version may also work):
Linux 64 bit: Gfortran
Linux 32 bit: Gfortran
Compiler installation:
For Linux/Unix, compilers are usually installed when the operating system is installed.
If graphics programs do no link on Linux/Unix systems, check that you have X11 libraries in
$LD LIBRARY PATH
You can check what is there by command
echo $LD LIBRARY PATH
SUSE
When compiling SEISAN on SUSE Linux it has been suggested to use the following compiler options
‘-malign-double -finit-local-zero’ in addition to the ones already used. Testing this on Redhat Linux
produced very large executables, but it may be worth trying on SUSE.
Ubuntu
On Ubuntu one might need to add these libraries in order to compile SEISAN:
sudo apt-get install gfortran
sudo apt-get install libgfortran3
sudo apt-get install libx11-dev
On Ubuntu version 20.04 we have seen compilation errors like ”error: ld terminated with signal 11”, the
solution was to install/reinstall these libraties:
sudo apt purge binutils
sudo apt remove make
sudo apt autoremove
sudo apt install build-essential
sudo apt install gfortran
and then make clear and make all in LIB and then in PRO
Seisan Explorer
3.10.2 MacOSX
The compilation of SEISAN on a Mac is basically the same as for Solaris/Linux, in COM/SEISAN.bash or
COM/SEISAN.csh, set SEISARCH to ’macosx’ (Intel-based=newer Macs) or ’macosxppc’ (PowerPC based).
You may also need to change the line $(fc) seed.for to $(fc) -fno-range-check seed.for in LIB/Makefile
If you have gcc/gfortran 4+ installed and your Mac is Intel-based, you should now be able to compile.
You also need X-windows, which should be preinstalled or on the installation disk for OSX 10.5 and higher
(for earlier versions, they can be downloaded and installed).
New Mac computers are 64 bit, this URL is also showing how to tell if you Intel based is 32 bit:
http://support.apple.com/kb/ht3696.
Additional hints on MacOSX 10
In order to compile and link Seisan off the source distribution, you need to have gcc/gfortran and Xcode
installed.
We recommend you install the following:
brew package manager: Copy the following line in the Terminal and press Enter: /usr/bin/ruby -e ”$(curl
-fsSL https://raw.githubusercontent.com/Homebrew /install/master/install)”
gcc compilers: Upon successful installation of brew, execute ”brew install gcc” from the terminal.
XCODE: Either install it from the Mac store under
https://itunes.apple.com/us/app/xcode/id4977998x5?ls=1&mt=12#
or from the terminal when you are automatically asked for it.
X11 Quartz: Download the dmg-file, doubleclick and install:
https://dl.bintray.com/xquartz/legacy-downloads/SL/XQuartz-2.7.8.dmg
The compilation procedure is the same as for Linux. However, for more details see INF/readme macosx.txt.
Seisan Explorer
The GUI Seisan Explorer have not been tested on Mac!
3.10.3 Windows
Compiler installation: For Windows, the gcc/gfortran compiler is found at http://sourceforge.net/
projects/mingw/. The Fortran compiler and the MinGW development toolkit must be installed. SEISAN
can be compiled using the GW shell where the path to compilers is known. If you want to compile outside the
GW shell (in the DOS window) in the same way as under Linux/Unix, the compilers must be defined outside
the shell by adding c:\mingw\bin and c:\mingw\msys\1.0\bin to the path (assuming MinGW installation
under c:\mingw). Make sure path to SEISAN COM and PRO directoris come before path to MinGW since
MinGW has some commands identical to SEISAN like pr and test. Putting in the path to MinGW also has
the advantage of getting Linux commands in the DOS window like ls, tar, grep etc.
For the Windows platform, a graphics library and an include file is used from the DISLIN software
(new from version 9.0). Files dislin.h and dismg.a are located in INC and LIB, respectively. See http:
//www.dislin.de/ for more information.
Compilers used for SEISAN:
Windows: Gfortran under MinGW
Seisan Explorer
The GUI Seisan Explorer can be compiled on Windows. SEISAN must be fully installed on the computer
before Seisan Explorer can be compiled. To compile Seisan Explorer on a Windows system, the Qt 5
framework is needed. This can be downloaded from https://www.qt.io/developers. The qmake program is a
part of the Qt framework. You need qmake in your path. Alternatively, you can specify full path to qmake.
CHAPTER 3. INSTALLATION 26
MAP LAT LON DIV: Divisions for lat and long for EPIMAP when used in EEV. MERGE WAVEFORM:
The network code given to waveform files merged with MULPLT when running from EEV. See MULPLT
and EEV. Also used in WAVETOOL and SEISEI. Max 5 characters.
SPECTRAL GEO DEPTHS and HERKIJ DISTANCE. See MULPLT spectral section for explanation.
Parameters used to calculate geometrical spreading.
SPEC KAPPA: P and S kappa values, respectively, used with spec model.
SPEC Q BELOW 1 HZ: P and S values (X) for how Q is a function of frequency below the paramter value
X. The Q-function is as follows: if X=0.0 then Q=Q0*f**qalpha. If X larger than 0.0, then Q=Q0*(1+f/X)**qalpha
whwere f is frequency. These parameters are only active if the spec model is used, the default is X=1.0. The
default is thus no frequecy dependense below 1 Hz. See also MULPLT, MULPLT.DEF and AUTOMAG.
SPEC MODEL: Gives depth, p-velocity, s-velocity, qp0, qpalpha, qs0, qsalpha and density. One line per
layer in incresing depths. Format after column 40 is 8f5.0
REG AUTO PROCESS: Name of program to run when registering event.
REG KEEP AUTO: If flag set to 1.0, keep automatic pics when registering event from EEV.
TEXT PRINT: Printer command used to print an S-file from EEV.
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. The
data base must have standard WAV year-month structure. It is intended to be used if for some reason the user
wants to store waveform files in an alterenve WAV structure instead of the the one corresponding to the S-file
data base. If a waveform file is not found in the base corresponding to the S-file base, WAVEFORM BASE’s
will be searched.
WAVEFORM DIRS: The complete path to directories where the system should look for waveform files.
Searched last.
OUTPUT DIR: Output Directory for SEISAN commands results. Default “./”
SEISAN LOGGING: Command to turn logging on or off (1. or 0.0). Default is on.
SEISAN AGENCY: Agency used by some programs, 3 letters. Currently used by AUTOMAG and
MACROIN.
PLOT PDF COMMAND: Command to plot a PDF file. Command can be 40 characters.
PLOT PICTURE COMMAND: Command to plot a picture file like a png file. Could be display on
Linux. Command can be 40 characters.
INTERNET BROWSER: Location and place of browser
HELP DIR: Directory of help files, usually INF
GMAP DIR: The directory on your computer system where gmap.html is copied to when gmap is called
in eev , see also section 10.5.
GMAP TYPE: The type of background map used by Google Maps when gmap.html is opened in a
browser options are :MAP, SATELLITE or HYBRID, TERRAIN.
GMAP ICON QUAKE: The gmap program used this parameter to defines the icon uses to illustrate an
earthquake in Google Earth.
GMAP ICON EXPLOSION: The gmap program used this parameter to defines the icon uses to illustrate
an explosion in Google Earth.
GMAP ICON PROB EXPL: The gmap program used this parameter to defines the icon uses to illustrate
a probable explosion in Google Earth.
GMAP ICON OTHER EVENTS: The gmap program used this parameter to defines the icon uses to
illustrate all other events in Google Earth.
GMAP ICON MSIZE: The gmap program will plot all events with a magnitude smaller than this with
the size/scale of this value.
GMAP ICON XSIZE: The gmap program scale the epicenter icons with the formula :
scale=GMAP ICON XSIZE * Magnitude ** GMAP ICON YSIZE
GMAP ICON YSIZE: See GMAP ICON XSIZE
GMAP APPEND KML: With this parameter you can append yor own Google Earth KML code the the
output file of gmap. Note, there can only be 100 GMAP APPEND KML lines and the KML code must be
given between character no. 41 and no. 120.
GMAP AUTO: To enable of disable the automatic generation of kml files, use 0.0 to disable or 1.0 to
enable
CHAPTER 3. INSTALLATION 29
GMAP AUTO ICON EVENT: Link to icon used to display epicenter of current event
GMAP AUTO ICON COLOR: color of epicenter icon e.g. ff0000ff
GMAP AUTO ICON MSIZE: The magnitude is set to this values, if it is smaller or missing, e.g. 0.5
GMAP AUTO ICON XSIZE: The size of the epicenter icon is given by this formula:
size=GMAP AUTO ICON XSIZE * Magnitude ** GMAP AUTO ICON YSIZE
GMAP AUTO ICON YSIZE: See GMAP AUTO ICON XSIZE
GMAP AUTO LOOKAT ALTITUDE: Altitude from where the epicenter is viewed, default is 2000000.0
meter.
GMAP AUTO SHOW STAT: To show the used station, use 0.0 to disable or 1.0 to enable
GMAP AUTO ERROR ELLIPSE: To show the error ellipse, use 0.0 to disable or 1.0 to enable
GMAP AUTO ELLIPSE COLOR: Set color of ellipse line, default ff000000
GMAP AUTO ELLIPSE WIDTH: Set width of ellipse line, default 2.0
GMAP AUTO STAT SIZE: Size of used stations e.g. 1.1
GMAP AUTO STAT RESIDAL GOOD: Good travel time residuals are defined below this absolute value
in seconds, e.g. 0.5
GMAP AUTO STAT RESIDUAL BAD: Bad travel time residuals are defined above this absolute value
in seconds, e.g. 1.5
GMAP AUTO STAT COLOR GOOD: Color of good travel time residuals, e.g. ff00ff00
GMAP AUTO STAT COLOR OK: Color of travel time residuals between good and bad values, e.g.
ff00ffff
GMAP AUTO STAT COLOR BAD: Color of bad travel time residuals, e.g. ff0000ff GMAP AUTO SHOW OLD LOCAT
To show the old epicenter og the current event, use 0.0 to disable or 1.0 to enable
GMAP AUTO OLD LOCATION COLOR: Color of old epicenter, e.g. ffff0000
GMAP AUTO SHOW PATH: To show the raypath, use 0.0 to disable or 1.0 to enable
GMAP AUTO PATH COLOR: Color of raypath, e.g. ff929292
GMAP AUTO PATH WIDTH: Width of raypath, e.g. 2.5
GMAP AUTO FILE ACTION: To make a system call at the end of each gmap automatic calls, use 0.0
to disable or 1.0 to enable
GMAP AUTO ACTION: System call to be executed, e.g. cp gmap.cur.kml /home/seismo/www or
ncftpput -u seismo -p passwd ftp.server /home/seismo/www gmap.cur.kml
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. nX . Spaces. Like 5x means 5 spaces.
An: Character format: Like A5 means reading 5 characters
Combining format specifications, example
CHAPTER 3. INSTALLATION 30
This chapter referes to Seisan Explorer (SE) Version 2.7.0, compiled with Qt Version 5.12.10
The core part of the SE code is written by Øyind Natvik, Department of Earth Science, University of
Bergen, Norway. The statistical functions are mainly written by Peter Voss.
Introduction
Seisan Explorer (hereafter called SE) is a new graphical user interface for SEISAN written in C++/QT.
It is supported on Windows, Linux and UNIX platforms. In its current version, it replaces the old SEISAN
graphical interface for Windows, but the intention is that SE will be the main graphical user interface
for SEISAN through which most of the current processing by EEV and MULPLT will take place. However,
remaking MULPLT requires a large effort so the current MULPLT is used for now. In the following description,
it is assumed that the user is familiar with SEISAN.
Problems
Please report bugs and questions to [email protected]
Installation:
Windows:
SE is installed together with Seisan.
Linux:
SE need to be compiled on Linux/UNIX platforms. Please see section 3.10.
Mac:
SE has not been tested or compiled on Mac.
Memory requirements:
When opening a database, SE will load the contents of all S-files into memory. Opening a database of
100.000 events will require 350+ megabytes of memory
SE works with the new Nordic format, Nordic2.
Parameter files for SE
SE uses the same parameter files as the rest of SEISAN whenever a corresponding program is called. The
parameter file SEISAN.DEF is the only one used by SE directly while MULPLT.DEF and STATIONx.HYP
are raed when respective options are used. SE will first look for the file in the SE work directoy, which might
not be the the directory from which you started SE, but the directory specified as the SE work directory, see
later. If the file is not found in the the SE work directory, it will be read from DAT. The STATIONx.HYP is
treated the same way as it is ingrated with SE. MULPLT is a program running outside SE so MULPLT.DEF
will first be read from directory where SE is started and then from DAT if not there..
How SE works:
Starting SE:
SE can be started in two ways: Clicking on the icon in Windows or givng the command se on the prompt
line (Windows and Linux). When using the command line option, arguments can be used like for EEV:
se ,, Working with a local data base
se start date Using default data base from start date and +30 days
se start date intereval ——————– + interval days
se start date data base interval ————– using given data base
31
CHAPTER 4. SEISAN EXPLORER USER GUIDE 32
e.g. se 20110122 TRO 10 will load data from data base TRO for the time interval January 22, 2011 and
the next 10 days.
To get the options, write se help.
SE loads S-files from a SEISAN database. Only the S-files that falls within a user specified time interval
are read. You may also load an index file or a local database. In this case, the currently set time interval
is ignored, and time interval is adjusted automatically to fit the loaded data All information in the S-files is
stored in memory for fast access. SE is dimensioned for up to one million events. In contrast to EEV, SE can
read in data for several months or years, thereby giving the user the opportunity to work with large datasets
without any artificial time boundaries. A subset of the data in each S-file is displayed in rows in the Event
List view as demonstrated on the front page and in Figure 4.1.
When a database has been loaded, the user can select one or several events for further action, a bit like
EEV. The Event List view columns can to a certain degree be customized (EventList/Select Columns). A
Log view is available where most system messages are shown.
An overview of the SE application:
The application can present two views, the Event List view and the Log view. The Event List view is
shown in the figure below. The program also has a title bar at the top and a status bar at the bottom. The
title bar shows the currently opened database and the number of events loaded.
The left part of the status bar shows messages. Status bar messages will only be displayed for a few
seconds and then disappear since they might soon be replaces by another message. The right part of the
status bar shows permanent information which is the current time interval and the current operator code.
The Event List view
When a database is loaded into SE, the Event List view will be populated (see Figure 4.1), and the first
event will automatically be selected. To navigate, use mouse, arrow keys or the scroll bars. Click on an event
to select it. Several events can be selected as needed using standard selection procedures. Some items in the
event list view may be displayed with a grey background colour. This indicates that additional information
will pop up if hovering over these items with the mouse pointer.
In the Event List view you can:
• Search for an event by time: From Event List view, just start typing the desired date (type as
yyyymmddhhmmss), and the event nearest in time will be the selected. Press Enter when finished
searching.
• Navigate to a particular row number by typing 0 followed by the row number (what in EEV was called
event number) and press Enter.
• Navigate between selected events using the commands N (next), and Shift+N (previous).
• Search event(s) by time association: Use shortcut A and all events associated with each other within
given time window (default 200 seconds) are selected.
Executing actions. Right-click inside the Event List view to bring up the Event List menu. The menu
shows all available actions and their corresponding shortcuts. The current actions are:
• Add line: Gives a submenu for A: Add ARC lien, H: Add hypocenter line.
• Associate events (shift A): Find events occurring within a given time interval (default 200s).
• Copy to file (C): Copy highlighted events to file se-select.out.out (located in work directory).
• Delete (D): Delete the selected S-files.
• Duplicate (Shift+D): Duplicate an event file.
• Edit comment lines (Shift+C): Edit comment lines in S-file.
• Edit STATIONx.HYP file (Shift+S): The STATION file associated with current event (default) or any
other station file can be edited.
• Edit with text editor (E): Edit the S-file.
• EEV (<): Launch EEV with current event. Some EEV commands will be disabled and it is not
possible to move to another event is EEV.
• Locate (L): Locate current event with HYP. A locater window will pop up..
• Merge (M): Merge one or more events into a destination event. Note: To mark events for merging,
first mark the destination event. Then mark one or more events while holding down the Ctrl key.
• Plot with mulplt (P): MULPLT is started in all default mode so no questions are asked. Results of picks
are put back in S-file and SE.
• Plot with mulplt (show plot menu) (Shift-P): The mulplt plot menu will be shown so all defaults is
not used.
• Reload event (ctl R). In case of changes, reload S-file.
• Show with Seismicity Viewer (V): Opens the Seismicity Viewer with the selected events.
Other actions:
• Mark/unmark event (ctrl X)
• Unmark all (alt x)
• Refresh view (F5): Refreshes the current Event List view. Does not reload the database.
• Load event file into Explorer (F3): Reads a single S-file into SE. The S-file must belong to the currently
opened database, but it can be outside of the current time interval.
• Unload event from Explorer (F4): Unloads an event from SE. This action does not remove the event
from the SEISAN database.
• Select all events, (Ctrl+A). Select all events in view.
• Set filter (Ctrl+F): Apply a filter to the event list.
Note that most actions are disabled while SE is busy loading a database.
Sorting data in the Event List view.
The default sorting is by date/time. However, the eventlist can also be sorted by the contents of any
other column to sort by this column. Simply click on the header of any column and all events displayed
are in the order of the clicked column. The order can also be reversed by clicking the header again. E.g.
clicking twice on the depth column will order events by increasing depth. Columns with text will be sorted
alphabetically.
Event List menu
Under this menu we find options for dealing with the Event List view . They are:
• Set filter. This means setting criteria for selection of a subset of the Event List View, see details below.
E.g., all events larger than a particular magnitude can be selected and only those will then appear in
the Event List view.
• Remove filter. Return to the original unfiltered view.
• Select columns. Select columns to show.
• Auto resize columns. Automatically resize the column widths (based on what is currently visible in
the view).
The event selection filter
SE has an event selection filter similar to SELECT, but with many more options. Since the selection is
done with data in memory, it is very fast compared to any other method of event selection. After a selection
is made, the selected events are shown in the Event List View, and further processing can be done with these
events. Selections are made using logical expressions built from tokens.
The selection filter has two parts, one filter to include events, and one filter to exclude events. When
applying the selection filter, the include expression is executed first and will return a list of all events that
matches that expression. Next, the exclude filter will be applied if it has been defined. The exclude filter
will be applied only to the result of the include filter, thereby reducing the resulting event list further. This
can e.g. be used to select all events between 4 and 8 in magnitude but exclude events with magnitude 5 to
6. Both filters are defined in the same way with logical expressions. See examples below.
To createa filter, press Ctrl-F, or use the Event List menu to bring up the filter dialog (see figure 4.2).
Click the Edit buttons to bring up the expression builder.
The expression builder is used to define the include/exclude expressions. In expression builder, you may
get explanation and examples for each token by right-clicking the token button. An include expression is
mandatory. The use of an exclude expression is usually optional. When you are done creating and testing
the filter, you may save the filter to a .flt file. The filter can then be loaded again later as needed. The
filter’s description is also saved.
The following token types are used in expressions:
CHAPTER 4. SEISAN EXPLORER USER GUIDE 35
• Properties
• Operators
• Values
• Functions
Properties:
These are properties in the S-file, like latitude, agency and magnitudes. Property names always start with
a dollar sign, like $Agency.
Values:
Values are numbers or strings.
Operators:
The following logical operators are supported: =, <, <=, >, >=, AND, OR. In addition parentheses are
also supported.
Functions:
Functions take a set of parameters. The return value is the logical value ’true’ or ’false’. All functions take
their parameters inside square brackets.
An example of a simple expression is
which selects events between 55 and 70 degrees N and with magnitude larger than 2.
An example of an expression with a function is
which selects all events with agency ’ber’ and latitude from 30 to 60.
Rules for writing a valid expression:
• The expression generally has to be constructed by one or more logical statements of type $property = value.
The statements must be bound together by AND/OR operators to form an expression that evaluates
to true or false when executed.
• Spaces are needed around all tokens (except for the right/left parenthesis).
• Capitalization of the expression is generally not important, so $agency = "ber" is eqal to $AGENCY = "BER".
• String values are treated in a case-insensitive way.
• String values must be enclosed in double quotes.
• Decimal numbers are not required to have a decimal point. So ’10.0’ can be written as ’10’.
• Arguments to functions are separated by commas.
• A function may take a logical expression as an argument. These expressions must adhere to the same
rules as a normal expression. view.
The expression builder will check the expression for errors when pressing the OK button. If any errors
are detected, an error message will appear, and the error will have to be corrected.
There is a special keyword ’IncludeAll’, that can be used in the include filter to include all events. If this
keyword is used then an exclude expression is mandatory. Also note that this keyword must be used alone.
It cannot be combined with other tokens.
Magnitudes in selection filter.
Since most events has several types of magnitudes, it can sometimes be difficult to select on magnitude
criteria. SEISAN therefore optionally has a unique magnitude (or main magnitude) for each event called
M. M is assigned to one of the magnitudes given for the event according to criteria for event type and
CHAPTER 4. SEISAN EXPLORER USER GUIDE 38
event agency as set up in SEISAN.DEF. The selection criteria can use either the unique magnitude or a
combination of magnitudes types and magnitude agencies.
The Log view.
The Log view (Figure 4.4) shows all important messages from SE. Information messages are black,
warnings are blue, and errors are in red colour. Every time an error occurs, it will be logged here, and SE
will automatically switch to the Log view to make the user aware of the error. The log view has a menu that
can be activated by right-clicking anywhere in the view.
The menu has commands for common tasks such as clearing the view, or saving it to a file. If the Log
view holds lines with errors/warnings for S-files, then it is possible to edit these S-files directly from the log
view by right-clicking the line.
The work directory.
SE will always use a specific work directory where the log file and all output is written, e.g. from
hypocenter locations. This work directory is independent from where SE is started, whether from the
desktop or a particular directory. The work directory is by default WOR, but an alternative directory can
be set (File/Set Work Directory). The work directory is also the local directory where MULPLT will look
for waveform files irrespective of from which directory SE has been started. The current work directory is
shown in the Log view when SE is started. Multiple running copies of SE should not share the same work
directory. Therefore - when SE starts up - it will look for the existence of a lock file called se-workdir.lock
in its work directory. If it does not exist, then it will be created to signal that directory is now in use. If it
exists, then this may indicate that another user is currently using the work directory. In this case a dialog
box with a warning appears (see Figure 4.5). The user will be allowed to remove the lock file (if he is sure
that none else is actually using the work directory), or select a new work directory, or exit the program. Any
lock file created by SE will automatically be deleted when the program is closed. If SE should crash, then
the lock file will be left in the work directory. In this case it can safely be deleted manually.
Multiple running copies of SE should not share the same work directory. Therefore - when SE starts up -
it will look for the existence of a lock file called se-workdir.lock in its work directory. If it does not exist,
then it will be created to signal that directory is now in use. If it exists, then this may indicate that another
user is currently using the work directory. In this case a dialog box with a warning appears (see Figure 4.5).
The user will be allowed to remove the lock file (if he is sure that none else is actually using the work
CHAPTER 4. SEISAN EXPLORER USER GUIDE 39
directory), or continue to select a new work directory. Any lock file created by SE will automatically be
deleted when the program is closed. If SE should crash, then the lock file will be left in the work directory.
In this case it can safely be removed manually.
Open a database.
Databases are opened under File/Open. The choices are: Default Database (as set by DEF BASE), Local
Database, Database, Catalog File and Index File. The ’Database’ option will open a dialog box show-
ing the REA directory with all databases (standard 5 letter directories), and one can be selected. A new
option - compared to EEV - is that a database (the year month structure) can be located under any di-
rectory, not just REA. It can be selected by navigating the file system from the dialog box. This arbitrary
structure must have corresponding waveform files in WAV, SE working directory or a named directory (see
SEISAN.DEF) and cannot use the WAV structure since it is not placed in a standard REA structure.
The ’Catalog File’ option makes it possible to open a catalog file. SE will extract the S-Files inside the
cat-file to a user-selectable folder, and then open the folder as a local database. When closing the database,
user will be prompted to save any changes back to the catalog file. The folder will not be automatically
removed when the database is closed. It will have to be deleted manually.
SE can be configured to automatically open the last used database on start-up (see File/Configure).
Local data base in SE, access to EEV and reading waveform files.
Case 1: Default working directory
The default working directory in SE (example Windows) is \seismo \WOR \. A local data base can then
be opened in any other directory. The waveform files must then be in WAV or WOR. If they are in the local
data base directory, they can be found if parameter WAVEFORM DIRS is set in SEISAN.DEF like
WAVEFORM DIRS Waveform directory \seismo \wor \test
where the location of the waveform files are given as \seismo \wor \test , which also can be the local
data base directory.
EEV will not work since EEV will look in SE working directory.
Case 2: Directory with local data base is set as SE working directory
In SE the working directory can be set under file − > File/Set Work Directory... When set to the
directory of the local data base, EEV will work and waveform files will be found if in WAV or local data base
directory. WAVEFORM DIRS does not need to be set. However, no other local data base can be opened (a
bug to be fixed).
Setting a time interval.
When a database is being opened, SE will suggest a default time interval. The default time interval has
an End date equal to the current date, and the Start date is set to the current date minus 30 days (this
value is user configurable). Both start-date and end-date can be modified by the user (see Figure 4.6). The
default time span between start-date and end-date can be set under File/Configure. The time interval can
be changed at any time by pressing ctrl-t or using the main menu (File/Set Time Interval). If the time
interval is changed when a database is open, then the user will be prompted to reload the database.
Special functions have been written for SE, see below. To add new functions the two functions Sample
function A and Sample function B can be used. Add changed in the source code of sample function A.cpp
or sample function B.cpp and recompile. If you wish to change the widget we recommend to use Qt
Creator, see http://qt-project.org/wiki/Category:Tools::QtCreator. Sample function A show how
CHAPTER 4. SEISAN EXPLORER USER GUIDE 40
to get values in the event list. Sample function B show how to use the plotting widget QCustomPlot (see
also http://www.workslikeclockwork.com/index.php/components/qt-plotting-widget/ ).
Functions
The functions are operations dealing will all data in the Event View, and not the data manually selected.
The functions are:
With the function Gutenberg-Richter relation a histogram showing the number of events in selected
magnitude intervals can be plotted. Furthermore, the b-value can be computed from the incremental and
cumulative values using linear regression. An example is seen in figure 4.7.
With the function Poisson distribution, it can be tested whether or not the earthquakes in the event list
are Poisson distributed. The function plot a histogram of the number of earthquakes in yearly intervals, and
its coorsponding Poisson distribution. An example is seen in figure 4.8.
With the function Completeness check the years of completeness for selected magnitude intervals can be
estimated. The output of the analysis done with this function is stored in the function se-completeness.out.
An example is seen in figure 4.9.
With the function Weichert method, the b-value can be estimated. This function use the file se-completeness.out
as input (see 4.9). An example is seen in figure 4.10.
With the function Tempo-spatial hypocenter distribution, the latitude or longitude or depth of the events
in the event list can be plotted over time. An example is seen in figure 4.11
With the function change-event-type the events in the event list can be changed to E-explosion or P-
possibel explosion or V-volcanic or Q-known earthquake. An example is seen in figure 4.12
With the function change-model-indicator the earth model of events in the event list can be changed. An
example is seen in figure 4.13
With the function mag-vs-mag magnitudes can be compared. An example is seen in figure 4.14
With the function events-per-year the number of events per year can be plotted in selected intervals. An
example is seen in figure 4.15
With the function Time of day the number of events in the event list can be plottes with respect to the
hypocenter time. An example is seen in figure 4.16
With the function Time of day versus time of year one can check, if e.g. there is an encreasing number
of explosions at noon in a specific period. An example is seen in figure 4.17
CHAPTER 4. SEISAN EXPLORER USER GUIDE 41
Figure 4.12: These event types are available ”E”,”P”,”V”,”Q” and blank, here the ”Q” is shown. se-change-
event-type
CHAPTER 4. SEISAN EXPLORER USER GUIDE 44
With the function Time of day versus distance one can check if e.g. a mining area is making explosions.
An example is seen in figure 4.18
With the function Simple Waveform Viewer waveform files in the Ascii Helmberger format. Use OutW
command in MULPLT to generate waveform data file mulplt.wav in Ascii Helmberger format. An example
is seen in figure 4.19
4.1 SE Locator
SE has got a completely new interface for locating events in SEISAN version 11.0. While previously, location
was done in a separate program, the location routine (still using HYP) has been integrated into SE. This
makes it possible to get a more user friendly graphical output from the locater, which can stay open while
other activities take place. The locater can be started in two ways:
From the main event list, location is still started with command ’l’, and a new window pops up.
Plotting in MULPLT, multi trace mode,’ l’ can also be used as before, but now the locater window comes
up.
Figure 4.20 shows an example
Main locator window
When the Locator window pops up, a location has already been made and the results of the location is
shown. These results are the same as given when locating with EEV, however more results are shown than
locating with EEV, where one has to look in the print.out file to see all results. The results are latitude,
longitude, depth, origin time (all with errors). Dx(km), Dy(km), Dz (km) and Dot (sec) are the difference
in location from previous solution in longitude, latitude, depth and origin time. The GAP and number of
stations (NSt) are also shown. The upper right corner shows the magnitude/settings window, see below.
Update and event selection
The location, as shown in the locater window, must be saved (use button Save) in order for the results
to saved in the data base (S-file). It is thus possible to do test without committing the results to the data
base. In the Locator window, it is also possible to go to next and previous event without returning to the
main window. However, when going to next event or previous event, no location is done and the data shown
is taken from the S-file. Locate must be pressed to locate.
There is also an option for Save and Rename under File tab. This option will update the S-file name and
the ID line to correspond to the origin time. Outside SE this can only be done with program UPDATE, see
UPDATE to see why this is done. Option ’u’ in EEV is not changing the filename and ID, only updating
result in S-file.
Under the tab Edit, it is possible to copy the epicentre location to the paste buffer for use elsewhere.
Using the locater window as an editor
CHAPTER 4. SEISAN EXPLORER USER GUIDE 49
Several parameters in the locater window can be edited to facilitate simple changes and tests. Many of
these fields are outlined with gray like the phases and the input phase weight. In addition, the following can
be edited: latitude, longitude, depth, origin time, distance indicator and event indicator. The fix depth and
fix epicentre flags can be set with tick boxes. More options are available in Settings seen in the magnitude
box, see Figure 4.21
Travel times and residuals
The residuals are color coded. The limits are hardwired and the intention is that they should be user
settable in the next version. The limits are:
0.0-0.99 Green
1.0-1.99 Yellow
2.0-2.99 Orange
>3.0 Red
RMS is color coded in a similar way. If any problem with the phases, the name of the Phase shows an
exclamation sign (!) as shown above. This is also the case with Magnitude and Azimuth tabs.
Abbreviations are: Stat: Station code, Comp: the two letter component code from S-file, Dist: epicentral
distance in km, Azm: Azimuth, O: Onset (I, E or blank), PhObs: Phase observed, WtObs: Weight observed,
blank or 0 means full weight, 1 is 0.75 , 2 is 0.5, 3 is 0.25, 4 is zero weight, 9 means using S-P (all are HYPO71
style weights), T-obs: Observed travel time, PhCal: Phase calculated (the one the program calculate as the
fastest), Ain: Angle of incidence at the source, WtCal: Weight used by the program (from 0.0 to 1.0),
T-cal: Travel time calculated, Res: Residual=T-Obs - T-Cal and Imp: Importance of phase in the solution
calculated as a percentage, importance of all phases should add up to 100
Magnitudes
The average magnitudes are shown in the Locator window, upper right and corner. All magnitudes
available for the event are shown so magnitudes on additional header lines are included. The magnitudes are
sorted in importance as specified in parameter file SEISAN.DEF. The magnitudes not calculated by SEISAN
are shown with less contrast than the magnitudes calculated by SEISAN. The 3. magnitude on the header
line, which might not be calculated by SEISAN, is considered a SEISAN magnitude. This magnitude is often
put in an external reliable reference magnitude. The magnitudes not calculated by SEISAN (not including
3. Magnitude) area t ten of the list.
For each magnitude calculated by SEISAN, it is possible to show the individual station magnitudes with
the magnitude residual by pressing the Magnitude tab. See Figure 4.22.
The magnitude window show all the input used for calculating the magnitudes: Amplitude, period, coda
and seismic moment (log value) as given in the S-file. Similar to the travel time residuals, the magnitude
residuals are color coded in order to quickly find deviating magnitudes which could indicate bad readings or
wrong calibration file. The limits are:
CHAPTER 4. SEISAN EXPLORER USER GUIDE 51
Figure 4.22: The magnitude window with magnitudes per channel, corresponding input data and magnitude
residuals.
CHAPTER 4. SEISAN EXPLORER USER GUIDE 52
0.0-0.19 Green
0.2-0.39 Yellow
0.4-0.79 Orange
>0.8 Red
Additional abbreviations: MagType: Magnitude type, Amp: Amplitude (nm or nm/s), Coda: coda
length(s), Moment: Log seismic moment (dyn cm) and Mag: Magnitude.
Azimuth (backazimuth)
If backazimuths are available, they can be seen in the Azimuth tab. See Figure 4.23
In this tab, only the weight observed (WtObs) values can be edited. The residuals are color coded. The
limits are:
0-5 Green
5-10 Yellow
10-20 Orange
>20 Red
Additional abbreviations: BazObs: backazimuth observed, AppVel: Apparent velocity (km/s) and Baz-
Cal: Calculated backazimuth.
Log tab
This tab will automatically come up if the location routine returns a message (like a missing station,
errors in station file or if the event cannot be located). In the last case, it is often useful to check the
print.out file to get an explanation for why the location was not possible.
Chapter 5
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 Notepad editor is
default (invoked with command Notepad from prompt), and on Linux it is 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 period 1990 to 2011. 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. However, two of the events, from June 1996, are always installed as part of the software installation.
If you want to try the system, go directly to section 5.3 to get a feeling for how the system works. You
can then work directly with the data from the years 1996 and 2021.
User guide
A short user guide is found in the following section 5.1.
Tutorial
The document ’SEISAN tutorial’ is an introductory tutorial for new SEISAN users. It does not require
installation any test data since only the test data included with SEISAN is used. It is given as a PDF
document in INF. Or here:
http://seisan.info/seisan-tutorial.pdf
Computer exercises
The document ‘Introduction to SEISAN and Computer exercises in processing earthquake data’ which
is a more complete tutorial for both new users as well as experienced users, is included in the distribution.
The testdata used in the exercises need to be installed, see chapter 3. It covers a lot more topics than the
tutorial. The document is given as PDF file (seitrain.pdf) in the INF directory. Or here:
https://www.geo.uib.no/seismo/SOFTWARE/SEISAN/seitrain.pdf
WEBINAR
To get an idea of how SEISAN works, new users can take a look at a SEISAN webinar that was arranged
by IRIS in 2014 (see https://www.youtube.com/watch?v=KJH3ktGL_K0 or fileseisan webinar iris 2014.mov
on the SEISAN ftp server).
Illustration of earthquake ananlysis using SEISAN
SEISAN also has a document illustrating the steps involved when analyzing seismic records. This
is more a demonstration than a course. Examples are given for local, regional and teleseismic earth-
53
CHAPTER 5. USING SEISAN 54
quakes. This is done by giving representative screen plots together with explanatory texts that follow
the figures. This document is part of the New Manual of Seismological Observatory Practice manual
(http://bib.telegrafenberg.de/publizieren/vertrieb/nmsop/). All the data used are also included with the
test data. In SEISAN, the document is found in INF: nmsop is11.7 seisan.pdf. Or here:
http://seisan.info/INF/nmsop_is11.7_seisan.pdf
SEISAN problems
Some of the most common problems have been collected in the index under the header ”Problem” and
in section 5.10.
- Determination of back azimuth and apprent velocity using arrays and networks
- Crustal structure: Velocities, layer thickness and attenuation
- Seismic catalogs: ISC data, database management, completeness, statistics, etc
- Seismic hazard: Attenuation, catalogs, and soil response
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. MAP is a simple version of EPIMAP requiring no input of parameters, just the Nordic file with the
hypocenters. A simlar program using GMT is MAPG. Fault plane solution can also be plotted.
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.
Case A: Telemetry network with 32 channel central recording
The network generates waveform event files, which are transferred to SEISAN. The tasks are:
1: Convert waveform files to SEISAN format or any of the other formats used by SEISAN. It is likely
that the format is MiniSEED in which case no conversion is needed. (many events can be converted
in one operation). Inspect events with MULPLT. From MULPLT, false triggers are deleted and real
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 oe SE. Automatic phase
picking is also possible at this stage.
3: Database is updated (UPDATE for many events, outside EEV or SE or oen by one in EEV or SE) once
a suitable interval has been processed interactively, usually a month. Updating means permanently
storing the updated or newly calcualted hypocenters etc in the database.
4: Make hypocenter maps with EPIMAP, MAP or MAPG.
5: Produce a bulletin with BUL.
Case B: 3 telemetry networks and one broad band station
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 or SE.
Case C: A mix of stations and networks and additional phase readings
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
Case D: A network recording all data in continuous mode into a SEISAN continuous data base or now
more likely a SeisComP continuous data base.. In addition, there is likely to be network wide triggering put
into SEISAN. In this case it is a question of inspecting the triggers with EEV or SE/MULPLT as above and
possibly extract additional data out of the continuous data base and put it into the event data base. another
option, which now is becomming more common is to put a reference into the S-file where to find the data in
the continuous data SeisComP database so it is possible to plot the corresponding waveform data without
having any event waveform files.
Example of using EEV for interactive processing:
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.
CHAPTER 5. USING SEISAN 56
magnitudes corresponding to each moment is stored on the SPEC line). The parameters to calculated Ml
and Mc are given in STATION0.HYP file. The parameters for calculating spectral magnitude are given
in MULPLT.DEF and/or SEISAN.DEF. Parameters for calculating Mw from moment tensor inversion is
generated by EEV (using the model in STATION0.HYP) and stored in the S-file. The remaining magnitudes
have fixed parameters.
Changing Ml and Mc parameters will result in new magnitudes being calculated with the next update of
the S-file. For the spectral magnitudes, only changes caused by hypocentral distance, density and velocity
will affect the recalculation of magnitude. If the attenuation change, the spectra must be recalculated.
Storing magnitudes
Magnitudes are written on the type one header line. On the main first header line there is room for 3
magnitudes, see example below
1998 812 1410 26.8 L 36.755-121.462 8.0FFBGS 4 1.3 4.6LTES 4.9WTES 5.0WHRV
where magnitude is given by type (e.g. L for Ml), size and a 3 letter agency. When the location program
HYP is operated, the magnitudes are overwritten EXCEPT for the 3. magnitude on the header line which
never will be deleted by any program. The intention with this is to be able to store an external reference
magnitude. If more than 3 magnitudes are calculated (2 if a magnitude in 3. position), a new type one line
is written with exactly the same origin time and location agency
1998 812 1410 27.0 L 36.755-121.462 8.0FFBGS 4 1.7 4.6LTES 4.7CTES 5.0WHRV1
1998 812 1410 27.0 L BGS 4.9WTES 1
There is thus room for only 6 magnitudes calculated by SEISAN. More magnitudes can be stored on
more type 1 lines which must have different location agency and/or origin time compared to the first header
line.
Searching for events using magnitude criteria
Program SELECT can search for a combination of magnitudes of different type, size and agency. SELECT
can also optionally search for magnitudes on all header lines. SeisanEplorer (SE) can also search for a
magnitude combination, but only among the 6 prime magnitudes. Manipulating magnitudes
There can be a need to convert one magnitude to another. The MAG program can make magnitude
relations (also using all header lines). This magnitude relation can then be used, also by MAG, to convert
one magnitude to another and write it back to the S-file. Since some programs (like EPIMAP) uses the
magnitude in the first position on the header line, MAG can also be used to move any one of the magnitudes
to that position. Program NORHEAD can move magnitudes from following header lines up to empty
magnitude spaces on the first line. Program REPORT can move magnitudes around on the header line
according to user choices. This moving around of magnitudes is now not needed for some programs. There
is now a magnitude in SEISAN simply called M, which is unique magnitude returned according to priorities
given in SEISAN.DEF
MAGNITUDE_ORDER WGCM
MAGNITUDE_ORDER LBER
MAGNITUDE_ORDER WBER
where the order to select magnitudes as given here from top (high priority) to bottom (low priority). Only
a few programs use this facility: SE, CLUSTER and ASSO. Plotting magnitude information
Magnitude sizes are plotted on all epicentral and hypocentral plotting programs. Relations between
magnitudes can be plotted with MAG, b-value can be calculated and plotted with SE (standard method and
Wiechert method) and BVALUE. A completeness check can be plotted with SE.
Other programs using magnitudes
NORHEAD can take magnitudes from following header lines and move them up to empty magnitude
spaces on first line.
CLUSTER cleans a catalog for foreshocks and aftershocks, partly based on magnitudes. ASSO is a
program that merges events in two catalogs based on both time and magnitudes.
Calculating magnitude relations
The Ml attenuation function can be calculated by inverting amplitude reading from many events suing
program MAG2. A coda wave relation can be made with MAG. Attenuation to be used with spectral Mw
CHAPTER 5. USING SEISAN 58
can be determined using QLG, SPEC and CODAQ. QLG is the recommended program. AUTOMAG can
also be made to make some initial tests for the best Q to fit the Brune spectrum.
The magnitude implementation in SEISAN has been adjusted (version 8.3) to the new IASPEI standard.
Amplitude based magnitude identification
Over the years there has been different ways of identifying the amplitudes used for magnitudes. Originally,
amplitudes were not identified with any specific magnitude and only the period and distance was used to
find out which kind of magnitude should be calculated, like Ml or Ms. Later different amplitude type phase
names were used to identify which type of magnitude should be calculated and now only one IASPEI name
is used for the amplitude phase name. However, SEISAN is backwards compatible and will use all the old
amplitude phase identifiers. Below is given all identifiers used.
Local magnitude ML:
• Period range: T < 5 s
• Distance range: distance < TEST(57)
• No depth range, distance is the hypocentral distance
• Phases accepted: Blank, L, S, Sg, SG, AMPL, AML, AMP and IAML (standard)
Body wave magnitude mb:
• Period range: 0.2 s < T < 3 s
• Distance range: TEST(113) < distance < 100◦ , before version 10.5 the lower distance was TEST(57)
• Depth range is handled by the attenuation function, SEISAN has two attenuation functions TEST(108)
is used to specify which one is used. Default TEST(108) is 0 the Gutenberg and Richter (1956)
attenuation function as recommended by IASPEI.
• Phases accepted: Blank, P, AMPB, AMB, AMPb, AMb, AMP, IAmb (standard)
Surface wave magnitude Ms (Ms 20):
• Period range: T > 10 s
• Distance range: TEST(114) ≤ distance ≤ 160◦ , before version 10.5 there was no distance limits.
TEST(114) is 20◦ by default
• Depth < TEST(115), before version 10.5 there was no depth limit. TEST(115) is 60 km by default
• Phases accepted: Blank, AMPS, AMS, AMP, IAMs 20 (standard)
Broad band body wave magnitude mB (mB BB):
• Period range: 0.2 s < T < 30 s
• Distance range: TEST(113) < distance < 100◦ , before version 10.5 the lower limit of distance was
TEST(57). TEST(113) is 20◦ by default
• Depth: All depths values are accepted.
• Phases accepted: IVmB BB
Broad band surface magnitude MS (Ms BB):
• Period range: 3 s <T < 60 s
• Distance range: 2◦ ≤ distance ≤ 160◦
• Depth < TEST(115), before version 10.5 there was no depth limit. TEST(115) is 60 km by default
• Phases accepted: IVMs BB (standard)
CHAPTER 5. USING SEISAN 59
Several parameters used for magnitude determination is controlled by the TEST values set in the STA-
TION0.HYP (local events), STATIOND.HYP (distant event) or other model dependent STATION file. See
the HYP chapter 7.1 for default TEST values. The above values are:
TEST(57) 1500km
TEST(113) 20◦
TEST(114) 20◦
TEST(115) 60 km
The underlined values are hardcoded in SEISAN.
Example showing mb, mB, Ms and MS amplitude and period readings with estimated magnitudes, on
the BSD station respectively:
In old Nordic:
2015 1117 0710 30.8 D 39.919 20.421136.3 DNK 21 0.6 6.5sDNK 6.1SDNK 5.8bDNK1
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
BSD HZ IAmb 714 18.53 194.3 0.98 1739 348
BSD HZ IVmB_BB 714 14.54 2995.7 3.96 1739 348
BSD HZ IAMs_20 722 15.83 97917.0 18.0 1739 348
BSD HZ IVMs_BB 722 13.06 43913.8 12.3 1739 348
In new Nordic2:
2015 1117 710 30.8 D 39.919 20.421136.3 DNK 210.60 6.5sDNK 6.1SDNK 5.8bDNK1
STAT COM NTLO IPHASE W HHMM SS.SSS PAR1 PAR2 AGA OPE AIN RES W DIS CAZ7
BSD HHZ DK00 IAmb 714 18.530 194.3 0.98 DNK pv 1739 348
BSD HHZ DK00 IVmB_BB 714 14.540 2995.7 3.96 DNK pv 1739 348
BSD HHZ DK00 IAMs_20 722 15.83097917.0 18.0 DNK pv 1739 348
BSD HHZ DK00 IVMs_BB 722 13.06043913.8 12.3 DNK pv 1739 348
Hyp output:
BSD HZ dist: 1740.0 amp: 194.3 T: 1.0 mb = 5.4
BSD HZ dist: 1740.0 amp: 2995.7 T: 4.0 mB = 5.7
BSD HZ dist: 1740.0 amp: 97917.0 T: 18.0 Ms = 6.0
BSD HZ dist: 1740.0 amp: 43913.8 T: 12.3 MS = 6.1
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. However CD’s are little used now
and a better way is to download the data in ISF format (soon ISF2 format) and convert to SEISAN with
IMSNOR. 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. Hypocenters
from different agencies can be compared with COMPARE HYP. This program can also be used to compare
hypocenters and magnitudes from two files containing the same events but eg located with different models.
CHAPTER 5. USING SEISAN 60
Event statistics can be made with STATIS and b-values calculated with BVALUEi (good functioon for that
also in SE). The number of events as a function of time is plotted with CATSTAT.
First you need to extract the Staion information from the SEED or dataless SEED file, use the command:
rdseed -S -f <file>
Then you need to extract the response information from the SEED or dataless SEED file, use the com-
mand:
rdseed -R -f <file>
Now you must list the response file, use the command:
dirf RESP.*
Then you run the program RDSEED2SEISAN, this program give a output file rdseed.STATION0.HYP
with station coordiantes that you can add to your STATION0.HYP file in the DAT folder. And it gives a
output file rdseed.SEISAN.DEF with ARC CHAN lines that can be added to you SEISAN.DEF file in DAT, if
you wish to store the data in an archive (e.g. BUD or SCP).
Finally you must move the RESP file to the CAL folder.
Waveform data: SEED or miniseed data
To get SEED or miniseed waveform data into a SEISAN database, you need the RDSEED program from
IRIS (see URL above). And the DATASELECT program from IRIS if you wish to use an archive for the
data:
https://seiscode.iris.washington.edu/
First you need to extract the miniseed data from the SEED, use the command:
rdseed -o 4 -f <file>
Then you need to send the data to the archive defined in the SEISAN.DEF file.
This is done using the program DATASELECT that you need to download from: https://seiscode.iris.
washington.edu/projects/dataselect/wiki
An older version of DATASELECT is found in the SUB folder.
For a SeiscomP archive, use the command for waveform data:
dataselect -A archive-path/%Y/%n/%s/%c.D/%n.%s.%l.%c.D.%Y.%j mini.seed
For other types of data use: E:Detection data, L:Log data, T:Timing data, C:Calibration data, R:Response
data, O:Opaque data. See http://www.seiscomp3.org/doc/jakarta/current/apps/slarchive.html. For
a BUD archive, use the command:
dataselect -BUD archive-path mini.seed
Where archive-path must be the same path as ARC ARCHIVE that is defined in SEISAN.DAT.
To plot the archived waveform data use the command textttarc in eev, before you call MULPLT
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 13).
Date Time Err RMS Latitude Longitude Smaj Smin Az Depth Err Ndef Nsta Gap mdist
2014/03/31 00:01:58.20 2.96 0.710 33.3883 -5.0333 27.8 24.0 158 0.0f 23 305 4.52
(PRXIMO)
2014/03/31 00:01:58.22 0.82 1.030 33.3370 -4.9830 5.7 4.0 73 1.2 5.5 25 122 0.31
2014/03/31 00:01:59.20 1.07 0.400 33.3270 -4.8900 5.0 2.4 73 31.0f 25 17 152 0.57
2014/03/31 00:01:56.55 1.17 1.752 33.4408 -4.8850 5.539 3.543 86 8.1 10.2 68 41 80 0.43
(#PRIME)
Sta Dist EvAz Phase Time TRes Azim AzRes Slow SRes Def SNR Amp Per Qual
CZD 0.43 197.8 Pg 00:02:05.057 0.1 T__ __
CZD 0.43 197.8 Sg 00:02:09.642 -1.0 T__ __
MD31 0.58 169.5 Pg 00:02:08.037 0.2 T__ __
MD31 0.58 169.5 Sg 00:02:14.202 -1.2 T__ __
MDT 0.67 159.5 Pg 00:02:09.692 0.3 T__ __
MDT 0.67 159.5 Sg 00:02:16.808 -1.3 T__ __
RSA 1.64 331.9 Pb 00:02:27.239 0.2 T__ __
Save the screen output in a text file by copying and pasting using e.g. notepad or vi. In this example
we put it into file isc.txt but it could be any name. With some browsers, there might be an option to copy
directly to a text file. The default format on the screen is the IMS1.0 short format which is the same as the
IASPEI seismic format. There will soon be a more extensive ISF format called ISF2 which also contains
componenes. This can be used by the program IMSNOR. SEISAN cannot read QuakeML format directly
but QuakeML can be converted to Nordic format (old) with QML2NOR.
Convert with program IMSNOR:
CHAPTER 5. USING SEISAN 63
The previous program used is NORIMS, still included, but it does not make as complete conversion as
IMSNOR and it does not convert isf2. Details of IMSNOR is found in the section on conversion programs.
Search for events only
An event catalog is available under Bulletin seach/Event catalog. The criteria is much the same as above
but the output format is different. SEISAN only supports CSV format. The following shows an example
output.
Search summary:
Database: ISC Bulletin
Search type: Global search
Start date: 2014-03-31 00:00:00
End date: 2014-03-31 01:00:00
Events found: 37
DATA_TYPE EVENT_CATALOGUE
ISC Bulletin
--EVENT--|--------------------ORIGIN (PRIME HYPOCENTRE)-------------------|------MAGNITUDES-----...
EVENTID,AUTHOR ,DATE ,TIME ,LAT ,LON ,DEPTH,DEPFIX,AUTHOR ,TYPE ,MAG
604511947,ISC ,2014-03-31,00:01:56.55, 33.4408, -4.8850, 8.1, ,MDD ,mb , 3.3,INMG
606581842,JMA ,2014-03-31,00:02:31.30, 37.0400, 140.5100, 8.0, ,JMA ,M , 1.6,
606581843,JMA ,2014-03-31,00:03:45.10, 34.0400, 135.3200, 7.0, ,JMA ,M , 0.5,
608276337,ROM ,2014-03-31,00:04:01.93, 42.7815, 12.5628, 10.2, ,ROM ,ML , 1.2,
607475289,ATH ,2014-03-31,00:08:47.54, 38.4053, 21.9940, 7.8, ,ATH ,ML , 1.4,
608873452,ISK ,2014-03-31,00:09:47.90, 37.0850, 36.7560, 5.4, ,ISK ,ML , 2.2,
607122021,TRN ,2014-03-31,00:12:09.08, 17.4540, -61.9990, 24.4, ,TRN ,MD , 2.7,
608276338,ROM ,2014-03-31,00:12:55.66, 38.0828, 15.0768, 10.8, ,ROM ,ML , 1.4,
606581844,JMA ,2014-03-31,00:21:07.70, 35.5700, 139.3500,114.0, ,JMA ,M , 2.1,
606442363,NNC ,2014-03-31,00:23:17.31, 43.1481, 78.3658, 0.0, ,NNC ,mpv , 2.5,
608276339,ROM ,2014-03-31,00:23:35.47, 43.5047, 12.3582, 8.9, ,ROM ,ML , 1.5,
606581845,JMA ,2014-03-31,00:24:13.50, 35.6600, 140.9700, 18.0, ,JMA ,M , 3.4,
607764104,RSNC ,2014-03-31,00:25:32.90, 6.8670, -73.3360,122.0, ,RSNC ,ML , 2.3,
607475290,ATH ,2014-03-31,00:26:19.97, 38.1553, 20.3230, 6.2, ,ATH ,ML , 1.7,
606581846,JMA ,2014-03-31,00:26:37.90, 35.6500, 140.9600, 17.0, ,JMA ,M , 2.1,
608276340,ROM ,2014-03-31,00:26:58.27, 44.2772, 10.7885, 7.8, ,ROM ,ML , 1.6,GEN
609917823,WEL ,2014-03-31,00:27:07.25,-39.0091, 176.1862, 63.9, ,WEL ,M , 2.6,WEL
606480609,TAP ,2014-03-31,00:29:40.18, 25.0880, 121.7750,134.4, ,TAP ,ML , 2.4,
607475291,ATH ,2014-03-31,00:30:29.77, 38.3278, 20.4308, 10.2, ,ATH ,ML , 1.4,
609526285,NNC ,2014-03-31,00:30:40.55, 43.4595, 82.6685, 0.0, ,NNC ,mb , 3.0,NNC
608481909,OTT ,2014-03-31,00:34:19.87, 48.1538, -71.3242, 18.0,TRUE ,OTT ,MN , 2.2,
609917824,WEL ,2014-03-31,00:38:17.91,-39.4474, 175.7489, 18.5, ,WEL ,M , 1.6,WEL
606581847,JMA ,2014-03-31,00:39:38 , 28.2000, 129.5200, 19.0, ,JMA ,M , 1.6,
606581848,JMA ,2014-03-31,00:39:46.80, 36.9200, 141.4200, 35.0, ,JMA ,M , 3.0,
606480610,TAP ,2014-03-31,00:41:09.35, 23.9710, 122.2890, 27.9, ,TAP ,ML , 2.2,
609085866,HEL ,2014-03-31,00:41:42.30, 67.8960, 20.1110, 0.0,TRUE ,HEL ,ML , 1.3,
606480611,TAP ,2014-03-31,00:43:32.19, 23.8510, 120.9700, 14.6, ,TAP ,ML , 0.8,
606581849,JMA ,2014-03-31,00:45:43 , 36.6800, 140.6700, 10.0, ,JMA ,M , 2.9,
607122022,TRN ,2014-03-31,00:50:15.59, 17.4570, -61.2240, 8.2, ,TRN ,MD , 3.2,
604374637,NEIC ,2014-03-31,00:54:02.52, 36.8190, -97.6002, 5.0, ,TUL ,ML , 2.7
604400815,ISC ,2014-03-31,00:54:46.13,-32.9133,-178.5392, 35.0,TRUE ,IDC ,mb , 4.6,IDC
606581850,JMA ,2014-03-31,00:55:13.90, 40.2200, 141.7400, 18.0, ,JMA ,M , 0.9,
608276341,ROM ,2014-03-31,00:56:12.26, 43.4783, 12.4072, 8.5, ,ROM ,ML , 0.7,
605641204,ISC ,2014-03-31,00:58:01.66, 33.9061,-117.9448, 16.3, ,ANF ,ML , 2.4,PAS
608276342,ROM ,2014-03-31,00:59:45.31, 43.3403, 12.5418, 9.4, ,ROM ,Md , 1.5,
609849728,NEIC ,2014-03-31,00:59:50.25, 33.9112,-117.9444, 16.9, ,PAS ,ML , 2.3
606581851,JMA ,2014-03-31,00:59:53.90, 37.5100, 141.3500, 37.0, ,JMA ,M , 2.2,
CHAPTER 5. USING SEISAN 64
STOP
Save the output in a text file like above, here we use isc.csv, but it can be any name.
Convert to SEISAN with program ISCCSV2NOR
C:\seismo\WOR>isccsv2nor
Input file
isc.csv
Number of events 37
Output file name is csvnor.out
2014 0331 0001 56.5 L 33.440 -4.885 8.1 MDD 3.3bINM 2.0L 1
2014 0331 0002 31.3 L 37.040 140.510 8.0 JMA 1.6 1
2014 0331 0003 45.1 L 34.040 135.320 7.0 JMA 0.5 1
2014 0331 0004 01.9 L 42.781 12.562 10.2 ROM 1.2L 1
2014 0331 0008 47.5 L 38.405 21.994 7.8 ATH 1.4L 1
2014 0331 0009 47.9 L 37.085 36.756 5.4 ISK 2.2L 1
2014 0331 0012 09.0 L 17.454 -61.999 24.4 TRN 2.7D 1
2014 0331 0012 55.6 L 38.082 15.076 10.8 ROM 1.4L 1
2014 0331 0021 07.7 L 35.570 139.350114.0 JMA 2.1 1
2014 0331 0023 17.3 L 43.148 78.365 0.0 NNC 2.5p 1
2014 0331 0023 35.4 L 43.504 12.358 8.9 ROM 1.5L 1
2014 0331 0024 13.5 L 35.660 140.970 18.0 JMA 3.4 1
2014 0331 0025 32.9 L 6.867 -73.336122.0 RSN 2.3L 1
2014 0331 0026 19.9 L 38.155 20.323 6.2 ATH 1.7L 1
2014 0331 0026 37.9 L 35.650 140.960 17.0 JMA 2.1 1
2014 0331 0026 58.2 L 44.277 10.788 7.8 ROM 1.6LGEN 1.6l 1
2014 0331 0027 07.2 L -39.009 176.186 63.9 WEL 2.6 WEL 2.8LWEL 2.6L 1
2014 0331 0029 40.1 L 25.088 121.775134.4 TAP 2.4L 1
2014 0331 0030 29.7 L 38.327 20.430 10.2 ATH 1.4L 1
2014 0331 0030 40.5 L 43.459 82.668 0.0 NNC 3.0bNNC 2.8p 1
2014 0331 0034 19.8 L 48.153 -71.324 18.0F OTT 2.2N 1
2014 0331 0038 17.9 L -39.447 175.748 18.5 WEL 1.6 WEL 1.8LWEL 1.6L 1
2014 0331 0039 38 L 28.200 129.520 19.0 JMA 1.6 1
2014 0331 0039 46.8 L 36.920 141.420 35.0 JMA 3.0 1
2014 0331 0041 09.3 L 23.971 122.289 27.9 TAP 2.2L 1
2014 0331 0041 42.3 L 67.896 20.111 0.0F HEL 1.3L 1
2014 0331 0043 32.1 L 23.851 120.970 14.6 TAP 0.8L 1
2014 0331 0045 43 L 36.680 140.670 10.0 JMA 2.9 1
2014 0331 0050 15.5 L 17.457 -61.224 8.2 TRN 3.2D 1
2014 0331 0054 02.5 L 36.819 -97.600 5.0 TUL 2.7L 1
2014 0331 0054 46.1 L -32.913-178.539 35.0F IDC 4.6bIDC 4.8xIDC 4.1xIDC1
2014 0331 0055 13.9 L 40.220 141.740 18.0 JMA 0.9 1
2014 0331 0056 12.2 L 43.478 12.407 8.5 ROM 0.7L 1
2014 0331 0058 01.6 L 33.906-117.944 16.3 ANF 2.4LPAS 2.3L 1
2014 0331 0059 45.3 L 43.340 12.541 9.4 ROM 1.5d 1
CHAPTER 5. USING SEISAN 65
This file is a compact file, however program SPLIT can also work on compact files if there is a need to
put the data into a data base.
5.2.5 Getting data from USGS or EMSC into SEISAN, get web locations
Written by Terje Utheim, University of Bergen.
The purpose of this program is to download hypocenter information from international data centers. The
program has now been implemented for USGS and EMSC.
The program downloads the data to a SEISAN data base in a Nordic format file in Nordic or Nordic2
format. The program downloads a file from the web site called
get web locations EMSC.txt or get web locations USGS.txt
from which it picks up relevant information for the S-file. The download might have data from several other
sources which are entered into the S-file. The list of USGS sources can be found at
https://earthquake.usgs.gov/data/comcat/contributor/.
The source ’us’ is translated into USG in the S-file but the others are left as they are, e.g. ’ak’ is Alaska
earthquake Center’.
The input magntude types from the text file are converted to SEISAN magnitude types as follows:
mb b
ML L
mB B
Ms s
MS S
MW W
Mc C
mw W
mww W
ww W
wr W
ml L
md C
SEISAN_TOP..................................: /home/seismo
Valid program options, int is integer, float is a floating point number and text is an ascii string:
-loop 1
-tsrt t1 (start time, number of minutes back in time)
-tstp t1 (stop time, number of minutes back in time)
The program will query data from 60 minutes ago until 50 minutes
back in time from now.
The program will then sleep for 60 - 50 = 10 minutes and start again.
Minimum magnitude is 3.0 and the data is written to the data base TERJE.
It is created if not existing.
The next lines are output from the program so that the
user can see the progress.
start_time: 2021-03-19T15:50:02
end_time : 2021-03-19T15:55:02
web_agency: 0
web_agency: USGS
sleep 300 5
start_time: 2021-03-19T15:55:13
end_time : 2021-03-19T16:00:13
web_agency: 0
web_agency: USGS
CHAPTER 5. USING SEISAN 67
sleep 300 5
.
.
.
.
.
start_time: 2021-03-19T16:26:23
end_time : 2021-03-19T16:31:23
web_agency: 0
web_agency: USGS
sleep 300 5
start_time: 2021-03-19T16:31:33
end_time : 2021-03-19T16:36:33
web_agency: 0
web_agency: USGS
/home/seismo/sei11/REA/TERJE/2021 does not exist, create it
/home/seismo/sei11/REA/TERJE/2021/03 does not exist, create it
sleep 300 5
s-file generated
get_web_locations -ag 1 -srt 2021-03-20T00:00:00 -end 2021-03-21T15:00:00 -mag 6.0 -fm 2 -db EMSC
SEISAN_TOP..................................: /home/seismo/sei11
web_agency: 1
web_agency: EMSC
/home/seismo/sei11/REA/EMSC_/2021/03 does not exist, create it
#EventID | Time | Latitude | Longitude | Depth/km | Author | Catalog | Contributor | ContributorID | Mag
20210320_0000081|2021-03-20T09:09:46.5Z|38.52|141.55|60.0|EMSC|EMSC-RTS|EMSC|961496|mw|7.0|EMSC|NEAR EAS
20210320_0000043|2021-03-20T05:19:31.3Z|-59.65|150.21|10.0|EMSC|EMSC-RTS|EMSC|961440|mw|6.1|EMSC|WEST OF
CHAPTER 5. USING SEISAN 68
Running eev:
The setup below will start every hour at 0 minutes in a bash environment
0 * * * * /home/seismo/get_web_locations/cron_restart.bash 2.0 MYDB 0 800 2 1 >/dev/null 2>&1
The setup below will start every hour at 0 minutes in a csh environment
0 * * * * /home/seismo/get_web_locations/cron_restart.csh 2.0 MYDB 0 800 2 1 >/dev/null 2>&1
cron_restart.bash file
#!/bin/bash
rm -f /home/seismo/get_web_locations/prog.log
source /home/seismo/sei11/COM/SEISAN.bash
echo MAG: $1 DBASE: $2 MIN_DEPTH: $3 MAX_DEPTH: $4 START_HOUR: $5 STOP_HOUR: $6 AGENCY: $7 FORMAT: $8
start_time=‘date "+%Y-%m-%dT%H:%M:00" --date -$5hour‘
stopp_time=‘date "+%Y-%m-%dT%H:%M:00" --date -$6hour‘
echo $start_time
echo $stopp_time
CHAPTER 5. USING SEISAN 69
cd /home/seismo/get_web_locations
/home/seismo/PRO/get_web_locations -mag $1 -db $2 -mind $3 -maxd $4 -srt "$start_time" -end "$stopp_time
cron_restart.csh
#!/bin/csh
rm -f /home/seismo/get_web_locations/prog.log
source /home/seismo/COM/.SEISAN
echo MAG: $1 DBASE: $2 MIN_DEPTH: $3 MAX_DEPTH: $4 START_HOUR: $5 STOP_HOUR: $6 AGENCY: $7 FORMAT $8
set start_time=‘date --utc "+%Y-%m-%dT%H:%M:00" --date -$5hour‘
set stopp_time=‘date --utc "+%Y-%m-%dT%H:%M:00" --date -$6hour‘
echo $start_time
echo $stopp_time
cd /home/seismo/get_web_locations
/home/seismo/PRO/get_web_locations -mag $1 -db $2 -mind $3 -maxd $4 -srt "$start_time" -end "$stopp_time
been made, the event might be in the CAT part of the database and can be extracted by SELECT or the
editor.
c:\jens>check_base
Give file name or data base name, file name must have a .
Enter to search for all data bases
Base name(s), * is all, ,, is local, else, one pr line, return for no more
TIR
Start time
2018
End time, return for end of month
Check data base (c) or only update statistics for program base(u)
CHAPTER 5. USING SEISAN 71
c
2018 1 Reading events from base TIR__ 85
2018 1 1 1356 26.8 L 39.965 19.726 5.10 TIR .24 3.4LTIR 3.4LTIR1
2018 1 1 2216 13.7 L 41.099 22.719 24.9 TIR .37 3.5LTIR 3.5LTIR1
.
.
2018 131 21 2 34.2 L 40.077 20.406 26.3 TIR .20 1.7LTIR 2.7CTIR 1.7LTIR1
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
CHAPTER 5. USING SEISAN 72
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
**********************************WARNING***********************************
** Another EEV user in same directory or EEV was not properly terminated **
EEV with several months in alternative database: EEV yyyymm YYYYMM BASE
yyyymm is start year and month and YYYYMM is end year and month.
EEV to work with events is local directory: EEV
Only the S-files in local directory will be used.
EEV to work with an index file: EEV index.out
EEV can work with an index file and the command would be EEV index.out, where index.out is the index
file name (can have any name as long as it contains a ‘.’ except when used with HYP). For information on
index files, see 11.
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:
Note: Command letters can be upper or lower case.
Comments to commands:
#XXX : Go to event by number. When giving a number, only give the number of digits needed, 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.
Axxx: Append another event to current event. The event specified is appended to current event. All
header and lines in both files are saved and put in order in the current event. The main first header is
from the current event. The ID line for the appended event is saved as a comment line. The user will be
questioned if the appended event is to be deleted.
AA: Same as above using next event.
ARC: Adds an archive line so event can be plotted, see SEISAN.DEF for defaults to set. Use ’ARC
VNET’ (where VNET is an example of virtual network) to create ARC line with the virtual network.
ARC : Adds an archive line for the virtual network name given after the like ARC GSN for the GSN
virtual network.
ARCDEL: Deletes all ARC lines in the S-file
ARX: Extract waveform file corresponding to S-file and adds thew waveform file name to the S-file. See
program GET ARC for details.
AMPRATIO or AR: Run program AUTORATIO 25 to measure P and S amplitudes to be used as
amplitude ratios in FOCMEC and HASH.
AUTOSIG: Automatic processing with autosig program.
AUTOMAG and AM: Automatic amplitude for Ml and automatic spectral analysis. Only S-waves are
used and fixed windows are used.The results are overwriting result in S-file. For more details see program
AUTOMAG.
AMI: AUTOMAG, but questions about spectral window and window for Ml are asked. Type of spectrum
(P or S) is also asked.
AUTOPHASE and AP: Automatic phase picking with Lomax picker.
AUTORATIO and AR: Automatically calculates amplitudes from spectra and time domain for use with
FOCMEC.
B: Back one event
BOUCH: Run Bouchon’s modeling program
BOUSEI: Make SEISAN file from Bouchon synthetic file
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.
CHAPTER 5. USING SEISAN 74
CM: Copy many files to eev.out. The copying starts at current file and the user is asked for the number
of files to copy.
COMMENT: Comment are written into S-file, terminated by a blank line.
COM: Same as COMMENT
COMF: Add one or several felt information lines
COML: Add one geographical location line
COMP: Write province comment line in S-file
COMT: Write intensity comment line in S-file
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 14.
DM: Delete many events starting with the current event. The events are NOT backed up in DELET
data basea .
DELS: Delete specific phase lines in S-file, like P-phases. This is the simplest way to delete large specific
part of an s-file.
DD: Duplicates the header line
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 Linux vi is used and on PC Notepad 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 and 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.
EM: Edit ISO file in ISO directory. The ISO file name must be listed in the S-file.
EMAIL: Send s-file as email using mailx program defined in SEISAN.DEF (variable MAILX COMMAND)
(Linux only) for the addresses defined in SEISAN.DEF (variable ALERT EMAIL). The EMAIL command
can optionally be used to perform a system command. The system command is defined in SEISAN.DEF
variable EMAIL SYSTEM. If blank, no commands is executed. An example script below (Linux) is to send
the S-file nor2nor2.out to a web ftp server:
#!/bin/bash
HOST=ftp.geo.edu.al
[email protected]
PASSWORD=xxxxx
ftp -inv $HOST <<EOF
user $USER $PASSWORD
put nor2nor2.out
bye
EOF
IN SEISAN version before 12.0, the current S-file was sent. Now with 2 formats, the S-file is by de-
fault converted to Nordic format (the original format) so the same format (in nor2nor2.out file) is used
whether the user is using Nordic or Nordic2 format. Noridc2 format can also be used by setting parameter
ALERT EMAIL FORMAT to 2 in SEISAN.DEF.
CHAPTER 5. USING SEISAN 75
EMAILSUM: Send summary of s-file as email using mailx program defined in SEISAN.DEF (variable
MAILX COMMAND) (Linux only) for the addresses defined in SEISAN.DEF (variable EMAIL SUMMARY).
An example is shown below:
The Region is taken from the Locality: line. If a felt report is there it will be added from the FELTINFO:
line. The region is put in with GEO command, see that.
The title in the header is from SEISAN.DEF parameter EMAIL SUMMARY TITLE.
The command can optionally generate an epicenter map and embed it into the email. To do so set
parameter EMAIL SUMMARY MAP in SEISAN.DEF.
0: No map
1: map with EPIMAP (MAP command is used)
2: map with GMT (MAPG command is used)
In this case a different email command is used, set by parameter MAILX COMMAND MAP in SEISAN.DEF.
A typical example (Linux) is shown below:
mpack -s ”Earthquake report” -d summary.out -c image/jpeg map.jpg From:[email protected]
Eartheqake report is the title, the summary file made by EEV is summary.out, the jpg image file is
map.jpg and the From is to indicate an alternative sender, not needed if systems email is ok.
EEV genrates the PS file from MAP or MAPG and it is converted to jpg with hardwired command (in
EEV, file eev sub.for in the LIB folder) to make the map file map.jpg
gmt psconvert epimap.eps -Tj -Fmap
in case of epimap. So GMT must be installed, it is needed anyway for MAPG. For info on the geographical
localities files used, see MAP and MAPG.
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.
EP: Edit the print.out file, useful to see what happens if something wrong with location or no location.
EXP: Input of explosion information. This command creates 3 new lines (see format description in
Appendix A) and changes the main header line event type to explosion (E). The user is asked for location,
time, charge and comments. The explosion agency is used to classify types of sites and can be used by
SELECT for searching. If no event is available, a new event must be created with EEV command NEW.-
F: Make a fault plane solution. The program uses polarities. See section 23.1 for more details.
F OLD: Use the old version of Focmec, before SEISAN version 10.6.
FO: Just plot a solution in S-file. It must have data so it can be located. Polarities are shown.
FOO: Plot solutions even if no phases in S-file. Polarities are not plotted.
FD: Calculate the difference in orientation of P and T axis of any two fps
FI: Fault plane solution using PINV
FH: Fault plane solution using HASH.
FP: Fault plane solution using FPFIT.
FM: Plot moment tensor solution with Mopad.
FQ: Enter quality of fault plane solution. It is also possible to order the solutions so the prime comes
first.
FIX: Fix or unfix depth. It is also possible to give the depth.
FIXE: Fix or unfix epicenter
FIXO: Fix or unfix origin time
GMAP: Make an epicenter map of current event using Google Map. It is also possible to make maps
with many epicenters using GMAP outside EEV, see section 10.5 for more details.
MAPG: Makes a GMT map like the MAP command using the GMT software.
CHAPTER 5. USING SEISAN 76
GHYP: Show Google map or Earth (or not) at each location with HYP. The Google Earth option requires
Google Earth to be installed and in the path.
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.
GEO: Find the nearest location and calculates the distance and direction in terms of N, SE etc. The
information can optionally be put into the Locality line in S-file. The locations are found in place names.eev
in DAT. It contains 256 global locations. You can put in your own instead. One can plot the place names
in Google Earth with the GMAP program.
GETXXXXX: Get data from same event in data base XXXXXX like gISC.
gi: short for getISC ge: short for gEMSC gu: short for gUSGS
The command searches the XXXXX data base for all events +/- minutes around the current event in
EEC. The search window can interactively be increased or decreased. An event to be inserted in the the
current events can then be selected by a number. Thre are several options for inserting:
Put in header line as #1 line: The header from the XXXXX data base file is overwrting the header in
the current file and filename and ID are corrected accordingly, like if event was R and inserted event is D,
then event becomes D. This option is intnded to be used when the user wants to fix the hypopcenter to an
agency hypocenter in case not enough data is available to make a reliable solution. This is often the case for
distant events. Use commands fix and fixe to fix hypocenter.
Put in header as line nr 2: This option is used when a reference hypoocenter and magnitude is recorded
in file, e.g. from ISC.
Put in whole file: The file in EEV has the main header and all headers and phase lines are added from
external event.
Put in whole file but delete duplicate phases. Duplicate phases are defined as having same phase name,
station and component codes and to be within 0.1 s of the reference phase.
Put in whole file but weight out all inserted phases. This option allows the user to relocate and checking
residual, decide which phase to include.
NOTE that to automatically obtain a SEISAN data base of EMSC or USGS hypocenters, the program
get web locations can be used.
Below is an examaple. For each event time difference DT in minutes and distance DDIS in km is given.
Options:
Do nothing, return to EEV, Enter
CHAPTER 5. USING SEISAN 77
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.
IASP: Generate a file with theoretical arrival times for the current event for stations listed in S-file. .
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 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 for stations listed in S-file. . 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 30.4 for
more information. The command can also be used directly from MULPLT and in this case theoretical travel
times are calculated for all stations in waveform file(s).
IC: Enter one of predefined comments. The comments are given in SEISAN.DEF and any number of
comments can be predefined. Example:
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.
LR: Reject outliers and locate. Outliers remain in file. Can be removed with command UR. see
HYPOCENTER section for more details.
Lxx: Locate current event with event number xx. This is used to check if two events belong together.
LL: Locate current and following event together.
M: Input or remove model indicator on header lien.
MAC: Enter macroseismic information, you will be prompted for all information. For details of the type
of information, see definition of Nordic format, Appendix A.
MACROMAP: Felt information is read from a file with macroseismic information and plotted with GMT.
The file name of the file with macroseimic observations is given in the S-file.
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.12).
MAPF: The same as MAP but in addion the first fault plane solution found in file will be plotted. Ther
eis no requirement that there are polarities.
MODELS: Lists MODEL.DEF file in DAT that assigns names to single characters in STATIONx.HYP file.
MTP: Make Moment Tensor (MT) parameters, input wav file must tbe made first.
MTG: Make Green’s function for MT. MTP first.
MTI: Invert for MT solution. MTG first.
MTD: Delete all mt and synt lines.
MTE: Edit MT parameters in S-file. A menu comes up and different parameters can be edited.
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. The name and path of the current s-file is copied to a
file named eev.cur.sfile, this makes it easy to write your own programs to handel seisan data.
PB: Plot Bouch syntheticsi, autimatic with MULPLT
PH: Plot Herrmann synthetics, ——————
PW: Plot wkbj synthetics, ———————-
PM: Plot moment tensor synthetics
PD: Plot extracted data file for moment tensor, mulplt.wav
PG: Plot Greens’s functions when doing MT
PF or PFIT: Calculate the apparent velocity and back azimuth using the P-arrival times stored in the
S-file. The calculation is done by a free standing program PFIT, which also can be called outside eev. It is
assumed that the arriving wave can be approximated with a plane wave so this option is intended to be used
with events which are far away relative to the size of the network which then can be considered a seismic
array. The station coordinates are taken from the default station file and there is no correction for station
elevation. When starting the pfit option, the user will be given a choice of reference station and maximum
distance from the reference station. Linear distances will then be calculated from the reference station and
possible results will be associated with the reference station. All P-phases given as P, Pn, PN, Pg, PG, PKP,
PB and Pb will be used and it is up to the user to ensure that the event file only contains the phases to be
used. The output is displayed on the screen and the linear fit can be shown on a plot, which also can be
used to interactively check individual station values, see example below.
Example run of PFIT
2007 1 5 1652 23.3 D 55.991-159.065 13.5 BER 19 1.2 5.3SBER 5.5BBER 5.4BPDE
CHAPTER 5. USING SEISAN 79
Back azimuth =358.8 Apparent velocity =19.81 corr =-0.99 rms = 0.03
Relative to the reference station, the above output gives relative P-times and relative x and y-coordinates
(km). It is also seen that only 14 station were available within 1000 km from the reference station HYA.
These results are also available in an output file array.out. See also array processing section 6.29 on
FK-analysis.
PMM: Plot moment as a function of time. The values are taken from the SPEC lines. The intention is
to get an idea if the attenuation is correct by seeing the trend. If the line has a negative slope, then the Q
value is too and vise versa. On top of the plot the corresponding Q correction needed to make the moment
distance independent is shown. It is calculated at a third of the corner frequency. This value is only an
indication. On the plot it is possible to click on a symbold to get the corresponding channel used.
PML: Plot Ml as a function of distance. The plot can be used to judge any diance biars in the magnitude
calculations. On the plot it is possible to click on a symbold to get the corresponding channel used.
PMR: Plot magnitude residual as a function of distance. The plot can be used to judge any diance biars
in the magnitude calculations. On the plot it is possible to click on a symbold to get the corresponding
channel used.
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.
P: Plot event with MULPLT
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.
POO: Same as PO with the difference that the user enters MULPLT single mode directly.
POL: Plot vertical channels P onset with polarities using program PLOTPOLARITY 24. The polarity
picks can be chenged.
PP: Plot picture files with file names stored on type P-lines. The picture files must be in working
directory or PIC directory. Several files can be defined in the S-file and the user will be prompted for which
one to plot. The system command used for displaying the file must be defined in SEISAN.DEF, parameter
PLOT PICTURE COMMAND bitmap types and PLOT PDF COMMAND for PDF files. An example is
found for test event JUNE 3, 1996 at 19:55.
CHAPTER 5. USING SEISAN 80
Figure 5.1: The linear fit of P-arrival times to a plane wave. For more details, see Havskov and Ottemöller
(2010).
CHAPTER 5. USING SEISAN 81
PRINT: The current S-file is printed on the default printer, to set up printer command, see SEISAN.DEF
(section 3.12).
PS: Plot spectra and WA picks made with AM command. The bad fits that the user wants to deselect
can be deleted interactively.
Q: Quit EEV
QP: Make a ’quick plot’ to see short seismograms around phase picks using program PLOTPHASE. Picks
can be changed, and filters can be applied. 24
QUARRYCHECK: Calculate distance between epicentre and quarry locations given in quarry.dat in
DAT. If distance is less than maximum distance xx as given in quarry.dat, the quarry is listed. The file looks
like this:
50.
67.851 20.156 Kiruna (SWE), usual time 23:00
67.630 20.990 Svappavaara, Kiruna (SWE)
67.073 20.954 Gallivare (SWE)
67.201 20.711 Gallivare (SWE)
67.560 30.430 Kovdor (RUS)
It is now possible to select a site and put the info into the s-file as a comment.
REG: Same as PUT.
R: Rename event type - Giving an event a new type requires changing the header in the S-file and the
S-file name. All this is done with R-command. You are prompted for a new type (can be the same in which
case nothing is done). A new S-file is made and the old deleted. The CAT-file is NOT changed so if no
UPDATE is done, the event there will remain with wrong type. Event types are L: Local event, R: Regional
event and D: Distant event. Change events id - By adding a second charater to the event type the event
id will be changed too. E.g. changing the event to a local explosion one must type LE. Use LB, lb or l to
replace the E with a blank. Standard event id’s are: E = Explosion, P = Probable explosion, V = Volcanic
and Q = Confirmed earthquake
RMSDEP: Calculates and plots RMS as a function of depth for current event. Note: Program starts
by reading STATION0.HYP so if current events uses e.g. STATION1.HYP, STATION0.HYP must be there
also.
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.
STE: Set or unset the start location flag for epicenter
STD: Set or unset the start location flag for depth. The dept can also be entered.
SYNT: Make parameters for synthetic modelling, similar format as used for MT.
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
CHAPTER 5. USING SEISAN 82
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.
TT: Type only header of event.
TEST: Start program TEST PROG with the argument of the current file. The intention with this
command is to simplify testing a program with events accessed by EEV. TEST then excutes the command
’test proge current-sfile-name’
TTPLOT: The program reads P and S-arrival times from S-file and makes a travel time plots. The
program is useful for checking readings, see section 30.4. The lines connect the computed first arrivals for P
and S, respectively.
UPDATE or just U: 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
14.
UP: 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.
UR: Reject outliers and update S-file with hypocenter etc. Outliers are removed. See Hypocenter section
for more details.
US: Synchronize S-file name and ID with origin time. Will also make an ID line if not there.
USERCOM: Starts user defined program with command usercom -sfile <sfile-name>, where user-
com 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 but a program named
USERCOM which will look for the argument -sfile. See also command TEST.
W: Check if event has waveform files. If so, check in which directory they are if present on the sys-
tem. 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 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.eps.
WKBJ: Make synthetic seismograms with WKBJ program. See program for details.
Z: Automatic phase picking. A waveform file must be present. See also the AUTO program section 21.
Below is shown a session with EEV on PC.
Example of using EEV for November 1993
CHAPTER 5. USING SEISAN 83
eev 199311
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.
5.6 Printing
All SEISAN programs, that produce graphical output, also generate Postscript files with the file suffix eps
(note this was plt before version 8.1). 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.
CHAPTER 5. USING SEISAN 86
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.
89
Chapter 7
7.1.1 Phases
Local crustal phases:
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. The phase used by the program is indcated in output, see later.
Pb, Pn, Sb and Sn phases
If Pb and Pn phases (and Sn and Sn) are used as input, the depth will be kept below Conrad and Moho,
respectively provided RESET TEST(47) is set to 1.0. If the test parameter is set to 0.0 (default) the phases
will ttreatred like first arrivals.
Duplicate phases
In SEISAN before version 12.0 duplicate phases would not be used. From verison 12.0 thay are used and
it up to the user to remove them.
90
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE91
This can be done in the STATION0.HYP file or individually in the S-file. Known problem: If Azimuth on one
station and P and S on another station, HYP might not locate properly.
NOTE: XNEAR must be larger than the distance to the station. If TEST(58) is set to a value lower
than the apparent velocity associated with the backazimuth, no location will be made.
7.1.3 Magnitudes
The phase readings for magnitude determination is described on page 58.
In SEISAN version 8.3, there are substantial changes in the way amplitudes are read and two new
magnitude scales have been added (broad band body and surface wave magnitudes). Furthermore, the
Richter attenuation curve is now used be default for the body wave magnitude. The phase names used
for amplitudes have also changed. These changes are due to the new standards for magnitude calculation
approved by the IASPEI. For more on the application of the different magnitude scales, see Havskov and
Ottemöller (2010).
Magnitudes are calculated using coda, amplitude and spectral level. Parameters are given in the station
file using the RESET TEST variables. For magnitude based on amplitude, the amplitude must be given in
nanometers or nm/s in the input file (SEISAN standard).
Local magnitude Ml
The formula used to calculate local magnitude is
where a,b,c,d are constants, log10 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
used, if not set in STATION0.HYP, are for California (Hutton and Boore, 1987) which gives the following
relation
It is here assumed that the gain of the Wood-Anderson instrument is 2080. An amplitude of 1mm of
the Wood Anderson seismogram is then 106 nm/2080 and inserting this amplitude above together with a
distance of 100 km gives magnitude 3 as originally defined by Richter. If using the default STATION0.HYP,
distributed with SEISAN, the Ml parameters are for Norway. It is assumed that the maximum amplitude
is picked on a seismogram simulating the original Wood-Anderson seismogram, see program MULPLT.
SEISAN uses hypocentral distance, while the original Ml scale used epicentral distance (no deep earthquakes
in California). We use hypocentral distance so Ml also can be used for deep earthquakes, but the user
should be aware that the Ml relation for deep earthquakes might be different from the relation for shallow
earthquakes.
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 ’, Sg, SG, AMP, and AML, AMPL, IAML 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. The many possible phase names is a
result of changes over time and thus to ensure that Ml is calculated correctly with older data. From version
8.3, MULPLT produces the standard IASPEI name IAML.
At very short distance, the traditional Ml scale may not be valid and it is possible to include additional
terms in the Ml calculation (Luckett et al., 2018).
The values for e and f are given by TEST(xx) and TEST(yy), respectively.
Local magnitude Mw;
The mb(Pn/Sn) scale has recently been defined for the North Atlantic region (Kim and Ottemöller,
2017; Kim et al., 2020). This scale is based on Pn and Sn amplitudes measured, just like ML amplitudes,
on the Wood-Anderson simulated trace. The reason for introducing this scale was that in many regions ML
is defined to correct for attenuation in continental crust where Sg/Lg are typically the phases with largest
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE92
amplitudes. However, these are not propagating in Oceanic crust and amplitudes need to be measured from
Pn or Sn phases. As the scale is calibrated against GCMT MW, we label it Mw in SEISAN
The Mw scale in SEISAN is implemented as described in Kim and Ottemöller (2017), given by
where the amplitude is in units of nm and measured on Pn or Sn on the WA simulated trace, dist is in
km, S and E are the station and event (or source region) correction terms. For the North Atlantic, a = 1.86
and b = 1.62.
The scale is activated with RESET TEST(117).
The scale is defined in mbn.par, an example based on Kim and Ottemöller (2017); Kim et al. (2020) is:
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE93
#
# definition of scale for Pn and Sn
# MN = log10(A) - a log10(ref/dist) + S + E + b
# a ref b
SCALE MBPN +1.861 100. 1.618
SCALE MBSN +2.176 100. 1.426
#
# group velocity windows for Pn and Sn
#
GROUP VEL PN 5.0 9.0
GROUP VEL SN 2.0 5.0
#
# station corrections (S)
# Pn Sn
STATION CORRECTION ARE0 0.168 0.168
STATION CORRECTION BJO1 -0.217 -0.088
STATION CORRECTION DAG -0.285 -0.166
STATION CORRECTION DBG 0.101 -0.052
STATION CORRECTION HAMF 0.143 0.094
STATION CORRECTION HOPEN -0.348 -0.332
STATION CORRECTION HSPB 0.047 0.086
STATION CORRECTION JMIC -0.308 0.143
STATION CORRECTION KBS -0.072 0.001
STATION CORRECTION KEV 0.191 0.133
STATION CORRECTION KTK1 0.072 0.155
STATION CORRECTION LOF 0.153 -0.140
STATION CORRECTION MOR8 0.065 -0.137
STATION CORRECTION NOR 0.120 0.145
STATION CORRECTION NSS -0.046 -0.298
STATION CORRECTION SCO 0.331 0.343
STATION CORRECTION SPA0 -0.259 -0.086
STATION CORRECTION STEI 0.023 0.002
STATION CORRECTION TRO 0.120 0.028
#
# event corrections E
# name of area minlon maxlin minlat maxlat Pn Sn
SOURCE CORRECTION Gakkel Ridge -10.0 10.0 82.0 85.0 -0.090-0.082
SOURCE CORRECTION Spitsbergen TF -10.0 10.0 79.7 82.0 -0.194-0.352
SOURCE CORRECTION Molloy FZ 0.0 10.0 77.0 79.7 -0.047-0.118
SOURCE CORRECTION Knipovich Ridge 0.0 11.0 73.0 77.0 +0.215+0.215
SOURCE CORRECTION Mohns Ridge -4.2 8.0 71.0 73.0 +0.043+0.277
SOURCE CORRECTION Jan Mayen TF -14.0 -4.2 70.0 72.0 -0.260-0.077
SOURCE CORRECTION Kolbeinsey Ridge -20.0 -14.0 69.3 71.0 +0.274+0.379
Coda magnitude Mc
The coda magnitude is calculated using
where coda is coda length in secs and a,b and are constants (RESET TEST 7-9). If ‘a’ is given as a
negative number, the following formula will be used
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE94
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. The phase used can
be AMS, AMPS, AMP or blank. The current version of MULPLT produces the standard IASPEI name
IAMs 20. The many possible phase names are a result of changes over time and thus to ensure that Ms is
calculated correctly with older data. It is assumed that the amplitude has been picked on a WWSSN standard
LP trace and that the period is in the range 18 − 22s (see program MULPLT). Ms will be calculated even if
the period is outside this range, but it will not be correct according to the standard. The distance range is
between TEST(114) and 100 deg. before version 10.5, there were no distance limits. TEST(114)=20 deg by
default. Depth must be less than TEST(115). Before version 10.5, there were no depth limit. TEST(115) is
60 km by default.
Broadband surface wave magnitude MS (IASPEI code MS BB, but SEISAN uses MS for simplicity, new
from SEISAN version 8.3)
MS is calculated using the standard
or
where Vmax is the maximum velocity. The IASPEI definition is to use velocity and the period is thus
not needed but read for information. The velocity is in micrometer/s and distance in degrees, however in
the Nordic format nm/s and km are used and the program converts when calculating magnitudes. MS is
only calculated if the period is larger than 3 seconds and less then 60 seconds, distance must be larger than
or equal to 222 km (2 degrees) and less or equal to 160 degrees. The depth must be less than TEST(115)
(default 60 km). Before version 10.5, there was no check of depth. The phase used to report the amplitude
and period must be called IVMs BB which the current version of MULPLT produces. The biggest advantage
using MS compared to Ms, is that any period in the range 2 − 60s can be used.
Body wave magnitude mb
mb is calculated using
where Q is a hardwired function of distance and depth and amp is the amplitude in nm. There are two
possibilities: The default (set by REST TEST(108) is the standard Gutenberg and Richter (1956) curve
while alternatively the Veith-Clawson curve can be used (Veith and Clawson, 1972). Before SEISAN version
8.3, Veith-Clawson was always used. mb is only calculated if the epicentral distance is less than or equal to
100 degrees and larger than or equal to TEST(113), default 20 deg (IASPEI standard and SEISAN default
is 20 degrees).Before version 10.5, the lower distance was TEST(57) (default 1500 km). The period must be
smaller than 3s and larger then 0.2 s and the phase is P, AMP, AMb, AMB, AMPB, AMPb, blank character
or IAmb. The current version of MULPLT produces the standard IASPEI name IAmb. The many possible
phase names are a result of changes over time and thus to ensure that mb is calculated correctly with older
data.
Broad band body wave magnitude mB (new from SEISAN version 8.3)
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE95
The broad band magnitude mB (official IASPEI name is mB BB) is calculated using
or
where Vmax is the maximum velocity and Q is a hardwired function of distance and depth. The IASPEI
standard is to use velocity and SEISAN store the velocity in nm/s. There are two possibilities for the
atteneuation function: The default (set by RESET TEST(108) is the standard Gutenberg and Richter
(1956) curve while alternatively the Veith-Clawson curve can be used (Veith and Clawson, 1972). mB is
only calculated if the epicentral distance is less than or equal to 100 degrees and larger than or equal to
TEST(113) (IASPEI standard and SEISAN default 2 degrees. Before version 10.5, the lower limit was
TEST(57), default 1500 km) and the period is larger than 0.2s and less than 30s and the phase name is
IVmB BB . The current version of MULPLT produces the standard IASPEI name IVmB BB. The biggest
advantage using mB compared to mb, is that the mB scale does not saturate before magnitude 8.
Moment magnitude Mw
Mw is calculated as
M w = 2/3 ∗ log10 (moment) − 9.1
where moment is in Nm (see also section 8.12). When an event is relocated, the moment is also recalcu-
lated according to revised hypocentral distance. Mw is only calculated from moment as given on the SPEC
lines, see MULPLT.
NOTE: If an amplitude has a given period between 5 and 10 secs, it is not used for Ml and mb 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 3rd 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 3rd position, it
is not overwritten unless the default agency is overwritten, so there will often only be room for 2 calculated
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 print.out file. Mb and mB use the same correction and Ms and MS use the same
correction. Only calculate magnitude: If TEST(106) is set to 1.0, only magnitudes are calculated, provided
a distance is given.
NOTE*********
Amplitude phases and coda length (END-phase) can be given weight 4 and the corresponding magnitude
is not calcualted. Other weights cannot be used.
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’.
NOTE: Difference with Rg has not been implmented, could be done if need be.
NB. There must be at least one phase with absolute time to get a location.
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
KTK1 SZ3 sPKiKP 654 2.96
new:
STAT COM NTLO IPHASE W HHMM SS.SSS PAR1 PAR2 AGA OPE AIN RES W DIS CAZ7
KTK1 S Z sPKiKP 3 654 2.960 D
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.
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:
A number of different weights may be used to calculate the solution.
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE97
1. User specified weights: These are calculated using the HYPO71 style weight number 0 to 4, read with
each phase, where 0 corresponds to w1=1.0, 1 to w1=0.75, 2 to w1=0.5, 3 to w1=0.25 and 4 to w1=0.
Uncertain time is 9 meaning that absolute time is not used, see also use of S-P times on previous page.
2. Distance weighting: This is given by the formula w2=(xfar-delta)(xfar-xnear) where delta is the dis-
tance (km) of the event from the station and xnear and xfar are read from the station file, STATION0.HYP.
3. Bisquare weighting: This scheme, described by Anderson (1982) calculates residual weights, see details
in HYP manual.
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.
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.
iteration. If a point is found with a lower RMS than given by the iterative process, a new iterative process
is started with that point as start location. The grid search can be particularly useful for local earthquakes,
however, in the current implementation it is also done for distant earthquakes using the same parameters.
Note that using a large grid might significantly slow down the processing time.
When using the grid search option for start location, an extra ouput is given in the print.out file:
Grid rms smaller than solution rms 1.953 3.391
Hypocentral dist. (km) from epicenter to grid point min. 28.3
Depth change 10.00
Iterate again with new start location: 62.303 5.760 15.0
This information gives how far away the minimum is and what the RMS is.
The most likely local minimum is happening for the depth. The start depth (on control line in STA-
TION0.HYP) is therefore important and should be what is expected for the area. If there is a large variation
in depths, like in a subduction zone, and the network is small, it might be an advantage to use several start
depths. This can be done in two ways:
1: Set a range of start depths on the control line. In this case a complete location is done with each start
depth. Setting many depth will increase the processing time proportionally.
2: Set RESET TEST(96) to 1.0. With this parameter set, the program will, once a location is found,
look for the depth with the smallest RMS using the loction found. A new location is now made with the
a start depth location at the minimum rms depth. This procedure is fast since the mimumum RMS depth
is found with a fixed epicenter and no new location is found, however, since a new location is not found, it
will not always work as well as option 1. The procedure for this option is to start with a depth 3 times the
current depth (set to at least 40km) and then calculate rms in 40 steps from that depth to the surface. In
SEISAN before version 12.0, the procedure was to start with current depth and the go in steps of 10 to the
surface but this did not work well with shallow earthquakes.
sparse data set is available. In order to use this option, an additional input parameter file h models.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. For more details
and an example, see chapter 38.
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,
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE101
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 CUR-
RENT AGENCY (except possibly a second magnitude line with a different type magnitude as given on main
header line).
Problems: Sometimes HYP will not locate an event, look in the print.out file to see what happened. In
EEV this can be done with command ep. 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.
RESET TEST(01)=0.3
RESET TEST(03)=0.6
RESET TEST(06)=0.1
RESET TEST(07)= 3.0
RESET TEST(08)=2.6
RESET TEST(09)=0.001
RESET TEST(11)=50.0
RESET TEST(13)=5.0
RESET TEST(50)=1.0
! one and only one blank line here
UPP 5951.50N 1737.60E 14 ! station lines
COP 5541.00N 1226.00E 13
KBS 7855.08N 1155.44E 46
EBH 5614890N 330490W 375 ! high accuracy lat-lon
OSG 6029.80N 252.55E-100
01A06049.43N 1049.95E 426
BERGE6057.12N 1133.15E 100 ! 5 char station name
-BEBGE6157.12N 1133.15E1100 ! 5 char station name and at 1100 m
depth
...
the station file and that the coordinates are correct.i An example is
c:\seismo\WOR>get_stat BER
BER 60.3838 5.3338 50
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. The magnitude corrections for mb and mB are the same and similarly also for Ms and MS.
Format of model line: 3f7.3,a1,3f7.2. The information is:
P- velocity (km/sec)
Depth to interface (km)
S- velocity (not needed). If no S-velocity is given, the S-velocity is calculated from the P-velocity using the
given Vp/Vs ratio.
Interface indicator: N: Moho, B: Conrad
Density (g/cm**3)(not needed)
Qp (not needed)
Qs (not needed)
Density and Q is only used by modeling programs and moment tensor inversion. In this way the station
file is a complete model file for making synthtic seismgrams. 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 29. Format for additional info is 25x,4f10.1.
Format of control line: 3f5.0,f5.2,i5,2f5.1 Information is:
start depth in km, used if no range of start depths specified (see below)
xnear: distance at which distance weighting start
xfar: distance at which distance weighting is zero, beyond xfar, the phase is not used (local events only)
Vp/Vs ratio
number of start depths
start depth of range of start depths
increment in start depths
NB: If these parameters are used, the fixed initial start depth is not used
The input at the bottom is reporting agency used for both hypocenter and magnitudes.
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.
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE104
stn : Station
dist : Distance in km
azm : Azimuth at the source
ain : Angle of incidence at the source
phs : Phase specified by user
calcphs: Phase used by program
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 usedi by program, normalized to 1.0
di : importance of phase in %
: network and locaiton, no header
An example of output on screen is given below
date hrmn sec lat long depth no m rms damp erln erlt erdp
16 1 1 029 9.85 6749.40N 20 21.0E 15.0 8 3 0.53 0.000 54.9 42.6118.6
stn dist azm ain w phas calcphs hrmn tsec t-obs t-cal res wt di
KIF 137 7.6 55.1 0 P PN4 029 29.9 20.05 21.06 -1.01 1.00 16
KIF 137 7.6 BAZ 169.2 188.0 -18.82 0.20 9
KIF 137 7.6 55.1 0 S SN4 029 46.4 36.55 36.64 -0.09 1.00 29
HEF 152 63.2 55.1 0 P PN4 029 32.5 22.61 22.93 -0.32 1.00 12
KTK1 178 40.5 55.1 0 P PN4 029 36.2 26.36 26.07 0.29 1.00 4
STEI 215 275.5 55.1 0 P PN4 029 40.3 30.50 30.66 -0.16 1.00 10
FAUS 221 259.5 55.1 0 P PN4 029 40.9 31.09 31.38 -0.30 1.00 16
ARA0 283 45.3 55.1 0 P PN4 029 50.6 40.75 39.16 1.59 1.00 4
date hrmn sec lat long depth no m rms damp erln erlt erdp
16 1 1 029 9.60 6747.52N 20 25.9E 15.0 8 3 0.59 0.000 45.2 20.4 95.9
stn dist azm ain w phas calcphs hrmn tsec t-obs t-cal res wt di
KIF 140 6.1 55.1 0 P PN4 029 29.9 20.30 21.44 -1.14 1.00 29 FI00
KIF 140 6.1 BAZ-P 169.2 186.4 -17.22 0.20 5 FI00
KIF 140 6.1 55.1 0 S SN4 029 46.4 36.80 37.30 -0.50 1.00 26 FI00
HEF 151 61.5 55.1 0 P PN4 029 32.5 22.86 22.74 0.11 1.00 9 FI00
KTK1 178 39.0 55.1 0 P PN4 029 36.2 26.61 26.13 0.48 1.00 4 NS00
STEI 219 276.4 55.1 0 P PN4 029 40.3 30.75 31.13 -0.39 1.00 10 NS00
FAUS 224 260.6 55.1 0 P PN4 029 40.9 31.34 31.73 -0.40 1.00 12 NS00
ARA0 283 44.3 55.1 0 P PN4 029 50.6 41.00 39.16 1.84 1.00 5 NO00
BAZ means there is a back azimut for station KIF. For the Nordic2 format, it is shown that the BAZ is
on the P. In addion, KIF has NTLO shown at the end of the line. At the end of listin is shown the original
data (OLD) and the new hypocenter so it is easy to compare the effect of changing someting. In the print.out
file there are details of the difference between the two hypocenters.
A station weight wt=-1 means that the phase travel time could not be calculated. The output phases
can be e.g. PN2, where 2 means that the phase calculated has been refracted in layer 2 and PN5 refracted
in layer 5. The input phase is then just P and a local model is used.
To get a statistics of which phases the program has used, run the program HYP COUNT PHASES. It
uses the print.out file to count all types of local phases like PG, PN2 etc. For an example see, section
”Inversion of travel time...”
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.
7.1.19 Problems
If no location or an obviously wrong location is obtained, check print.out. Common problems are:
- Wrong location: Program gets into a local minimum. Use the individual event start location option
(‘S’ in header line). If the problem happen often, try either option for start location (nearest station
or start location routine). If dept is the problem, try a range of start depths (set in STATION0.HYP)
- No location: The program iterates outside the maximum distance set for a local or regional event
(RESET TEST 57) or the initial start location is outside limits. Use a fixed start location or check
readings to get a better start location.
• Since HYPOINVERSE only use first arrivals, all P and S phases will be converted to P or S, like PG
to P. There is then the possibility that there will be e.g. two P’s if the original data has e.g. Pg and
Pn.
• The S-P time cannot be used by HYPOINVERSE. The weigh 9 will result in zero weight on the P but
the corresponding S-time will be used so it should manually be weighed out.
• Lg and Rg phases are not used.
• Polarity and coda length are transferred.
• The hypocenter location is transferred to the norhin.out file but not the magnitudes.
• A fixed depth in input file is transferred to norhin.out. HYPOINVERSE cannot fix depth at zero,
must be at least 0.01 km. If put to 0.000, depth is not fixed. If event qualifier is P or E, the depth is
fixed in output file to 0.01 km.
• In order to recover the original component names, the two letter component code is put in at avail-
able places in the archive format (columns 87 and 109). This information is written out again by
Hypoinverse.
• The event id (minus year) is saved on the hypoinverse header line in the field for id. It is later used
for conversion back to Nordic format.
2. Make the control files with the program 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. If the hypinv.sta or hypinst files are present, they will not be generated.
This allows for changes in the Hypocenter parameters to be used in subsequent runs. On the other hand, if
the STATION0.HYP file is changed, the hypinst and hypinv.sta files must be deleted before the changes in
STATION0.HYP will be used. The following parameters are partly generated from STATION0.HYP:
• Vp/Vs
• Start depth
• Minimum number of stations, however less than 3 is not allowed.
• Distance weighting starts at iteration 4, starts at HYPOCENTER parameter xnear and is zero at
approximately xfar. However that assumes that xnear is further away than the second closest station.
Hypoinverse parameter DISCUT is set to xnear, DISW1 is set to 1, and DISW2 = xfar/xnear. See
Hypoinverse manual for details.
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.
The output file from HYPINV is now hypinv.out and it can be converted back to Nordic format with
program HINNOR, however, some of the original information is lost (like e.g. amplitudes). To avoid this,
see alternative 2. HINNOR transfers the following information:
• Angle of incidence.
• Azimuth.
• Weights used.
• Polarity.
• Coda length.
Alternative 2: Run the whole process using the driver program HYPINV SEISAN. The program does
the following:
• Run NORHIN
• Run MAKEHIN
• Run HINNOR
• Generate an output file in Nordic format hypinv seisan.out that contains the new HYPINV location
with corresponding residuals etc as well as all the original information in the Nordic input file like
amplitudes, spectral information etc. The only thing lost is the original P and S phase names. All
the R and D events skipped by NORHIN are put back in. To keep track of the events, the ID is used.
The ID line will get the action flag HIN. The original magnitudes, agencies and number of stations are
kept.
Using alternative 2 makes it very easy since Nordic file is both input and output.
Alternative 3: Running HYPINV from EEV using the command H. The steps are:
It is thus possible to use HYPINV to update the data base of local events with the limitations mentioned
under alternative 1.
Note: Hypoinverse use residual weighing by default so rms and errors might be smaller than locating
with Hypocenter.
Magnitudes
No magnitudes are transferred from Nordic files to Hypoinverse files. Coda magnitude is calculated
with Hypoinverse using the Hypoinverse default relations. If the magnitudes have to be updated due to
significantly changed location, it must be done with SEISAN EEV command ’u’ and with the hypocenter
fixed so the original HYPINV location is preserved.
How to run Hypoinverse with other parameters
Hypoinverse has many options of which the multiple models might be the most interesting. Generate the
standard input files as in alternative 1 and then modify them according to the Hypoinverse manual. Then
run HYPINV directly or, as the hypinst file is not changed if it exists, using alternative 2 or 3.
sectionHYP ISC (Unix and Linux only)
Program written by Richard Luckett
ISC has for many years used a standard procedure to locate earthquakes and the ISC locations have
often been used as a reference. The earth model used is the Bullen tables. ISC has recently rewritten
the old location program and it was therefore possible to also port it to SEISAN. The purpose is that it
should be possible to compare standard ISC locations with location using other programs and models. The
implementation in SEISAN was done using the standard hyp program where only the location routines have
been changed. The program then behaves almost identical to HYP and uses the same format input and
output files.
Parameter files: STASTION0.HYP is used for station coordinates, magnitude scales and agency code.
The crustal model information is not used and only the RESET TEST parameters related to magnitude are
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE112
used. In addition, there is a new parameter file (in DAT) iscloc.def with parameters specific for the ISC
location routines, see file for explanation of parameters.
Input data files: Just like for HYP
Output files: Hyp.out is like before, print.out is different.
Not all crustal phases used with HYP may be available. The weights used in SEISAN do not apply since
the program uses residual weighing only, see parameter file.
Magnitudes are calculated exactly like in SEISAN.
In eev, the command to locate with HYP ISC is ‘il’.
For more information about the ISC location program, see http://www.isc.ac.uk/Documents/Location/
7.3 Plugin for the iLoc location algorithm, ILOC SEISAN (Linux
only)
A plugin for version 2.04 of the iLoc program, written by István Bondár (Bondár and Storchak, 2011),
has been implemented in SEISAN to be used within EEV or as stand-alone. The purpose of the plugin is
to have the possibility of event location with a regional 3-dimentional velocity model. Since iLoc use the
Regional Seismic Travel Time (RSTT) (Myers et al., 2010) velocity model as part of its event location it
serves this purpose.
iLoc must be installed on the system used and the program iloc must be in the path. iloc is not included
in SEISAN.
One only need to compile iLoc with the ISF I/O option to be used with SEISAN. RSTT is part of iLoc and
is required. See the iLoc installation instructions: http://www.seismology.hu/index.php/en/home/iloc
Note, only stations registrated to the ISC are included in iLoc. Otherwise one must add used stations to
the file isc stalist in the iLoc aux data folder. If your stations have been registreated at the ISC recently,
download a new station file at: ftp://ftp.isc.ac.uk/pub/iscloc/isc_stalist
If iLoc does not have the station information it will type: textttReadISF: missing station STATIONCODE
There are three ways of using iLoc in SEISAN:
1 From EEV; in EEV type:
iloc
The process here is similar to the the stand-alone gien below, but the user will have the option to save
the output in the database.
2 Stand-alone, type:
iloc seisan <sfilename> <operator id>
The program ILOC SEISAN will read the sfile, convert the sfile to isf format, using the ISFNOR
program (output filename: norisf.out). Next the iLoc program is executed, it reads the isf file. If
data are not ok for hypocenter inversion iLoc will end. If data are ok for hypocenter inversion result
is printed on the terminal and written as isf format in the file iloc-out.isf.
3 In a loop over many events:
Make a index.out file with SELECT program, run the program ILOC LOOP. ILOC LOOP will read
all sfiles in index.out and add the iLoc solutiuon to the sfiles if a solution was found.
Below is the first header lines of an sfile that includes the iLoc hypocenter solution. The two last type L
lines are from iLoc:
2016 0229 2320 01.8 LE 67.177 20.623 0.1F UPP 9 0.2 1.5LUPP 1
LOCALITY: 612636992 Sweden 3
2016 0229 2320 02.67 67.1608 20.6182 0.0 f 0.45 INTAR ILOC L
GAP 79 E 0.98 j 4.2 i 3.9 A 82 s 16 d 26m 0.04M 3.87 INTAR ILOC L
The agency code is from the enviromental variable AGENCY or if that is not used from the station file,
e.g. STATION0.HYP.
CHAPTER 7. HYPOCENTER LOCATION PROGRAMS: HYPOCENTER, HYPO71 AND HYPOINVERSE113
The format of the first type L line is the same as the type H line described in Appendix X. The format
of the following comment line is:
1:4 ’ GAP’
5:7 Gap in azimuthal coverage (degrees), i3
8:9 ’ E’
10:14 Origin time error (seconds) f5.2
15:16 ’ j’
17:21 Semi-major axis of 90% ellipse or its estimate (km), f5.1
22:23 ’ i’
24:28 Semi-minor axis of 90% ellipse or its estimate (km), f5.1
29:30 ’ A’
31:33 Strike of error ellipse clock-wise form North (degrees), i3
34:35 ’ s’
36:39 Number of defining stations, i4
40:41 ’ d’
42:45 Number of defining phases, i4
46 m
47:52 Distance to closest station (degrees), f6.2
53 M
54:59 Distance to furthest station (degrees), f6.2
60 Free
61:65 Agency, a5
66 Free
67:73 ’ILOC ’ Method used, a7
74:79 Free
80 ’3’
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, do spectral
analysis and particle motion. 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 or PO). 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.
MULPLT reads and plots one channel at a time. This can be very time consuming when replotting traces
and from SEISAN version 8.2, a certain number traces are kept in a memory buffer in order to speed up
replotting and reprocessing The data is stored in one large array the size of which is determined at the time
of compilation so for systems with many or long traces, it might have to be larger and for systems with little
memory it might have to be smaller. The dimension is set in file seidim.inc in directory ./INC using variable
max mem sample. A typical value is 30 000 000.
Note on Seed/Miniseed reading
The routines will put in zeros for gaps
If an overlap occurs, the block with the overlap will be discarded and zeros inserted.
If a block is out of time sequence, the block will be discarded, this is like a large negative overlap.
The channel start time will be considered the time of the first block found for that channel. If a block
then occurs before the start time the block will be discarded.
Starting MULPLT from prompt line
Giving the command mulplt -h, will show the basic options:
The MULPLT program - for plotting earthquake data
## Options ##
-help Print this list
-h Same as -help
-plotdefault Will plot data directly with default values
-qdp Same as -plotdefault
-po Same as -plotdefault
-version SEISAN version
114
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 115
Examples:
1) mulplt
enter values
2) mulplt -plotdefault -sfile /home/seismo/REA/TEST_/1996/06/03-1955-40D.S199606
Filename, number, filenr.lis(all): 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 files has first been created and numbered in a file filenr.lis
using command DIRF, see section 15. By giving the number, the file corresponding to the selected 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.
Cont: Plot from a continuous data base. The program will use all data bases defined in SEISAN.DEF. A
question will be given for absolute start time and window length. See also 8.5. Conts: Plot from a large
SEED volume. A SEED file too large to be read in can be plotted in parts. A question will be given for file
name or number. The file is then read and available data is displayed. Start time and window length is then
entered.
arc: Plot from a BUD or SeisComp archive
Plot from a continuous archive. The program will use all channels defined in SEISAN.DEF. A question will
be given for absolute start time and window length. See also 8.5. Then follows a display showing all stations
and virtual networks that are defined in SEISAN.DEF before a channel selection is made. It is possible to
combine selection of stations with one or more virtual networks. MULPLT removes duplicates in case a
station should be selected more than once. See also secion ’Working with many channels in MULPLT’ a bit
later.
is chosen with f. If however F is pressed, only channels with readings are also selected for the remaining
channels without the following screens being shown. Similarly the command for only Z-channels are z and
F, respectively, to get all Z-channels for the whole data set.
Plotting only stations within a given distance, radius, from a user selectable point, the
midpoint (all input): Since most events with large networks are only recorded with the nearest stations,
this option is very effective in limiting the chosen data to the most important stations. There are several
options for selecting midpoint and radius using parameter MULPLT AREA in MULPLT.DEF:
In addition, in multitrace mode, the radius can be changed (command R) and a center station can be
entered (command S). If command S is given and there is no radius defined, the user will also be asked for
radius.
Plotting stations from an archive: A large number channels can be specified in the archive (currently
max 3000). All channels will initially be available to the the user and the starts times etc. read in. This
can take some time, so in order to avoid first reading the channels and then selecting channels present with
data, it is possible to preselect which channels should be checked (first station selection screen when using
arc). A furhter reduction in the number of channels to check is to use the option above for distance to a
station or a point. This distance check is done before the channles are checked.
Archive referencing in S-files is described in section 2.2.3. An example of an archive reference line is:
which is referring to one channel (station STAT, component COM, network NT, date-time and duration
DUR (s)). With many channels, this referencing becomes a bit cumbersome and some wild cards can then
be used:
If the station name begins with the ARC line is a link to a virtual network.
Station is blank or *, component, network and location are blank: All channels defined in SEISAN.DEF
will be plotted with start time and duration given in ARC line (if not blank, see next option). If a component
is given, only that component will be selected. If a network is given, only that network will be chosen. If a
location code is given, only channels with that location code is selected.
Start time and or durations blank: Start time will be origin time - a time given in SEISAN.DEF
(ARC START), duration will be a time given in SEISAN.DEF (ARC DURATION).
Station is P: All channels for all stations listed in the S-file found in the archive will be plotted. There is
no requirement for the station to have any other information than the station name, component code is not
used. So a new station can easily be added.
Plotting all stations without an archive reference line: If parameter ARC BY DEFAULT in SEISAN.DEF
is set to 1, all channels in the archive will be selected. Setting it to 2, only stations with readings are plotted.
NOTE: An ARC line can be inserted/edited in the S-file from EEV by command arc. If there is ARC
line(s) in the S-file, these will determine what is plotted and not the parameters in SEISAN.DEF. If .e.g.
the station name in ARC line is X, no channels will be plotted (assuming there is no station with name X)
and only otyher possible waveform file names will be used.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 119
Optionally, the archive channel specification lines can have a time interval of validity. This is to avoid
unnecessary checking of archive files if the archive has channels from different time periods. The format is:
yyyymmddhh for both start and end time, only as much info as needed has to be specified. If start time
is blank, start time is very early, if end time is blank, no end time. The start end end times are written in
columns 61-70 and 71-80 respectively.
How to specify many channels in a separate file, the LIST file: In some formats, a waveform
file can only have one channel (e.g. SAC). Referencing hundreds of waveform files (or ARC references) in
an S-file is not practical. These file names can be collected in a separate file in filenr.lis format. The file
name must end with LIST like e.g. 2012-12-01-1044-22.BERGEN LIST and the filename is referenced as a
waveform file in the S-file and also stored in the usual place of the waveform files. Up to 10 LIST files can
be referenced in the S-file so a large network can be broken up in regions, each with a LIST file, which then
can be selected separately in the file selection screen. There is no specific software, except DIRF, to create
LIST files.
Figure 8.1: Example of time marks at the “Start” and “End” of an event recorded at the KBS station. The
time marks is witten to the file mulplt.ext for data to be extracted and processed. Type “s” and “e” to
add time marks.
The time marks is written to the file mulplt.ext for data to be extracted and processed. Type “s” and
“e” to add time marks.
If the SEISAN LOGGING parameter is set to 1 in SEISAN.DEF the analysis done with this option, will be
saved in a log file in REA/BASE /LOG/YEAR/MM. BASE is the default database, YEAR and MM is the year and
month the analysis was done. The log files are named mulplt.cont.data-time.log, where date-time is the
time of the analysis. Logging is on by default.
traces. If a 2 way filter is desired, press the filter key twice and the filter will also run backwards in time
and the filter will be similar to an 8 poles filter. 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 by default. However, it is now also possible to interactively
select number of poles and number of passes (1: forwards, 2: both ways) using the ’ command. Press ’ and
the user is asked for filter frequencies, number of poles (less than 10, but more then 4 and the filter might
become unstable for high sample rates) and number of passes. In addition LP (low pass), HP (high pass)
and BR (band reject) filters can be used. E.g for a 5-10 Hz filter some of the choices are:
WHEN PLOTTING, THE FILTER LIMITS, NUMBER OF POLES AND NUMBER OF PASSES IS
WRITTEN ON THE SCREEN.
For band pass filters, the number of poles for both frequencies is the same. When doing spectral analysis
or response removal and specifying a filter before, the filtering is done in time domain and the filter has the
number of poles specified by the user, default 4. NOTE:When reading polarities, DO NOT USE FILTER,
if possible.
Filtering and instrument correction: Since filtering is done in time domain, there is an added stability
filter in frequency domain to avoid low frequency blow up. This filter is a 4 pole HP filter at 1/5 the filter
low frequency corner.
Filter limitations: For frequencies below 0.5 Hz, only 4 pole BP and BR filters can be used. If the user
try to select another number of poles, the number of poles is set to 4.
Filtered output: Extracting data with WAVETOOL, option ’Out’. It is only possible to use 4 pole BP
filters, forward in time, using any other filter and the data is not filtered. Using option OutW any filter
can be used but then only Ascii Helmberger format is possible. WAVETOOL can then convert to any other
desired format.
Prior to version 9.1 MULPLT used a 4 pole Butterworth filter in time domain and an 8 pole Butterworth
filter in frequency domain. The filters in frequency domain were use in connection with instrument response
correction and spectral analysis. It has turned out that the frequency domain filters distorted the signal in
some cases, particularly for narrow band and low frequencies. Therefore, frequency domain filters are no
longer generally used. The change in filter setup, might change Ml magnitudes by 0.05 to 0.1 depending on
which filter (if any) was used.
Displayeing epicentral or hypocentral distance
There is an option in MULPLT.DEF to plot epicentral or hypocentral distance on multi trace plots. The
distanc is shown just after the DC and is given in km. The option is set with parameter PLOT DISTANCE.
The default is not to plot distance.
Displaying uncertain time
In each trace header in the SEISAN waveform file, there is a flag to indicate if the time might be uncertain
(see Appendix B). 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 or if the data is converted from SEED/MiniSEED data. Simlarly plotting
SEED/MiniSeed data, uncertain time will be displayed if that flag is set in any block in the time window
read in for a particular trace.
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 8.2 shows an example.
Single trace mode:
In this mode, one trace is initially displayed on top of the screen, see example on Figure 8.7. The traces
used are the ones earlier selected and will be displayed one by one. Several options are now possible as can
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 122
Figure 8.2: 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.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 123
Figure 8.3: Examples of MULPLT with theoretical arrival times of some global phases. Short period seis-
mograms are shown. The theoretical phases are marked with onset y below the trace and the read phases
are marked normally above the trace.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 124
1 KONO L N
2 KONO L E
3 KONO L Z
10 15 20 25 30 35 40
Figure 8.4: 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.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 125
0: 8
0:38
1: 8
1:38
2: 8
2:38
3: 8
3:38
4: 8
4:38
5: 8
5:38
MIN
10 15 20 25 30 35
Figure 8.6: Example of the menu, which can be displayed on top of the plot. The current one might have
different options.
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.
All channel mode
In this mode, all channels for selected stations are displayed in a new window. This mode is particularly
useful for working with three component data. By selecting one or several stations in multrace mode, all
components for those stations will be displayed in new window by pressing y or ALLC on menu. Similarly
in single trace mode, prsssing y or ALLC will display all channels for that station. The user can then go
back to e.g. multitrace window and select another station to work with in three component mode.
Multiple screens in multitrace mode
If many channels are available (like more than 30), it might be difficult to distinguish all and the channels
can be displayed in multiple screens. The number of channels per screen is set in MULPLT.DEF. The number
of windows or screens for a particular data set is given in top left hand corner as e.g. ‘Win 2 of 7’ meaning
current window is number 2 of 7 windows. To move to the next window, use TAB or NextW in menu. In
each window, normal operation can be done. Channels selected will be kept. Using a large data set, the
user can then view each window separately, select the channels of interest and when all channels have been
viewed, only the selected channels will remain for display. It is possible to togle between showing all channels
and multiple screens by pressing N.
Plotting stations in a given distance range When many stations are available, it might be useful to only
plot the stations nearest the epicenter or a particular location. For this option to work, parameter MULPLT
AREA in MULPLT.DEF must be set to a value larger than 0.0. For more information, see section Working
with many channels in MULPLT”
Channel order in multitrace mode:
Channels are plotted by epicentral distance or in alphabetical order according to station name, see
parameter NSORT DISTANCE and CHANNEL SORTING in MULPLT.DEF. They can also be plotted in the
order they are stored in the waveform file(s). By setting the channel order parameter in the MULPLT.DEF
file, it is possible to plot the channels in distance or time order. If MULPLT is started from EEV (and
NSORT DISTANCE is set), the channels will be plotted in epicentral distance order unless the station if
is not in the station file . If the event does not have an epicenter the location of the station with the first
pick will be used as the epicenter for the ordering. 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. Ordering
can be turned on with the key ”-” or pressing (Dist). In this case distances are computed based on epicenter
and station locations. If set in the MULPLT.DEF file, it is set when MULPLT starts up. It cannot be turned
off for a given event when set from MULPLT but the flag is returned to the default value for the next event.
Plotting from continuous data base or archive
If a continuous data base is set up (see section 2.2.3), it is then possible to plot all traces from the
continuous data base with MULPLT. When MULPLT starts up, use option cont and the user is prompted
for a start time and interval. MULPLT will now check all continuous data bases for available data in
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 127
required interval and display the available data. The forward (next) or back option will display previous or
next window respectively. There is an 25 % overlap between windows. If no data is available for the whole
window, no trace is shown. If the beginning and the end is available, a line will join the two segments. If
only end or beginning is available, only the available data is shown. All normal operation can be done on
the window plotted so it is possible to e.g. extract data. If the register option is used, the whole window is
extracted from the continuous data base as one file, copied to WAV and the S-file created.
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 and Havskov, 1999), or other similar
programs like RTQUAKE (similar to SeisComP and and SC2SEI (gets data form SeisComP), see
ftp://ftp.geo.uib.no/pub/seismo/SOFTWARE/. However, events can also have been auto registered
with program AUTOREG.
3. Registering from continuous data: SEISAN continuous data base, BUD or SeisComp archives or a
large SEED file.
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. Four characters are predefined and should only be
used if the following definition correspond: P(probable explosion), E(explosion), Q(confirmed earthquake)
or V(Volcanic event). If the user enter L, R or D in lower case, the case will automatically be changed to
upper case. The same also happends with E, P, Q and V. A third cahracter can optionally be entered for the
model indcator which is put into column 21 of the header line. The volcanic events have a sub classification
which can be entered when registering an event as volcanic, see section 39. 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 8.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
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 128
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 Appendix 1) and waveform file(s)
copied to WAV. Before registering, it might be an advantage to merge waveform files and delete unwanted
files (could be false triggers), see section 8.5. Files can only be merged and deleted in working directory with
commands Delw and Merge (Menu). Delw command only deletes the waveform file names in the S-file. In
this process of putting new events into the database, it is also an advantage to delete unwanted events. This
is done with option ‘S’(Del S)’. The S-file is deleted, but the waveform files remain in the working directory.
Option (3)
When reading continuous data, an output file can be made with the Out option and that output file can
be registered. However, it is also possible to do this in a single operation using the Register option like above.
The selected time window is then extracted, the waveform file copied to WAV and the S-file registration
made. In addition to the questions above, additional questions are given:
Output channels on screen: s
No output, just register: n
No output, jusr ARC line: a
Output all channels: enter
These option are intended to be used with routine operation when many channels are present and the
user only view a few, like all vertical channels, but want to extract (and register a file with all channels).
For ARC archive, the user might want to work directly with the archive from EEV and thus not extract out
a waveform file but only create a reference to the archive.
Preprocessing of data while registering new events, option (1)
Normally a series of events are registered first and MULPLT terminated. Then EEV or SE 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.
Processing with a given program: Optionally MULPLT can, after registration, start any program process-
ing the newly registered event. E.g. the AUTOPIC program can be started or a program reading amplitudes
etc. The program name is defined in MULPLT.DEF.
Locating the event: As the final step after registration, the event can optionally be located and the
location optionally placed in the database.
The above options have been put in on the suggestion of Brian Baptie, who is using it for rapid processing
of volcanic events, where in most cases the operator only wants to look at the event once.
IAmb). Amplitude and period are calculated and stored with the phase. Otherwise, if none of these filters
are applied, a menu pops up and the user needs to select an amplitude phases name phase name to which
the amplitude and period readings are associated. If an attempt is made to pick amplitude on a trace which
is not in nm or nm/s, the reading must be confirmed since SEISAN assumes all amplitudes to be in nm or
nm/s (see section on instrument correction). If no amplitude phase is picked, no amplitude is stored. 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.
If A is pressed instead of a, the amplitude is read and marked automatically. It works in most cases,
but sometimes two subsequent peaks are not correctly chosen and the amplitude reading has to be done
manually. The method is to find the absolute extreme and then the largest amplitude before or after is
selected in order to obtain the peak to peak amplitude, from which the amplitude is calculated by dividing
by 2. For more information, see. ../LIB/auto amp.for.
Manual and automatic amplitude picking can be done in both single trace and multi trace mode. In
multi trace mode the amplitude will be picked at the trace nearest the cursor.
Component names when picking phases:
In the old Nordic format S-file (the default), the component only has 2 letters while in the waveform file
it has 3 letters (in old SEISAN waveform files it can be 4, but rarely used). 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 SHZ, 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.
In the new Nordic format, Nordic2, there is room for 3 character component names and in addtion
network and locateion codes are stored. So there is no problem with identifying a channel. The complete
station, component, network and location codes will be use to identify a reading.
Reading polarity:
If the cursor is above or below the trace at a distance marked by horizontal tics on the sides of the plot,
the first motion is also picked and displayed when the next phase is picked. So if e.g. picking a P with
dilatation, put cursor below the line and pick P. Do not use a filter if possible. Note that if you delete the
phase later, the polarity is also deleted.
Assigning weight:
A phase can be assigned a weight. Move the cursor close to a pick and press one of the keys 0-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 uses 0-4 and 9 (see section 7.1). 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 using
the parameter PHASE WEIGHT KEY.
The keys are defined as follows
The coda length can be quite variable among different operators and a function has been made to auto-
matically determine the coda length. The signal is bandpass filtered and the 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 automatically or c to determine manually. If parameter CODA AUTO is set in MULPLT.DEF, c is used.
In old Nordic format the position of the coda can only be determined if a P-phase is present sienc the coda
lenght (time between coda pick and P) is stored together with the P. The location of the pick is indicated
with Coda on the plot.
In new Nordic format, Nordic2, the coda can be picked even when there is no P since the coda is now
an independent phase called END (IASPEI convention, indicating end of earthquake signal). However, the
coda length is only given (on phase line END) if there is a P.
From SEISAN version 12, coda is no longer stored with the P but with the phase END. However,
magnitude is still calculated when coda is stored with the P.
Below is shown an example of old and new format, Nordic2.
Old:
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
ASK SZ IP 337 56.25 88 62 0.38010 171 140
New Nordic2:
STAT COM NTLO IPHASE W HHMM SS.SSS PAR1 PAR2 AGA OPE AIN RES W DIS CAZ7
ASK S Z IP 337 56.250 RRR dd 62.00.38010 171 140
ASK S Z END 339 24.680 88.0 171 140
8.8 Theoretical arrival times for global and local phases and loca-
tion
In order to assist in identifying seismic phases, there is an option for displaying the theoretical arrival times
of several global (using IASP91) and regional phases while picking phases (using ttlocal based on layered
model in STATION0.HYP). The steps to do so are the following:
1 Before entering MULPLT from EEV, the theoretical travel times can 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 theoretical arrival times using EEV command IASP with
the IASPEI91 traveltime tables (for more details, see section 30.5). The same command is also available
inside MULPLT in multitrace mode. All arrival times (or a subset, see 30.5) for all stations in current
S-file will now be calculated with program IASP if call from EEV. If call from MULPLT times will
be calculated for all stations in waveform file(s). In both cases, the times are stored in file iasp.out
(no importance for the user, just for information). See Figure 8.2 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 29. Theoretical phases can also be calculated when using
the location option, see next section.
2 When a trace is displayed on the screen, all theoretical phases inside the time window will 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 be
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 131
written in the S-file. Note that the phase names can be up to 8 characters long, see Appendix 1 for
the definition of long phase names when using old Nordic format.
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 (Locat), 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.
how the magnitude scale is defined. For Mn, the amplitudes are read from either Pn or Sn, which ever is
the largest.
Displaying response information
The response function for the current channel can be shown with option ‘:’ (Resp), see Figure 8.11. 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. This can only be done with very old waveform
files in SEISAN format.
Amplitude for determining mb:
Determining mb assumes that the maximum amplitudes are measured on classical 1 Hz WWSSN in-
struments having a peak gain around 1.5 Hz. This in reality means a band limited measurement. To pick
ground amplitudes for determining Mb on instruments with a broader or more narrow frequency band, like
most high frequency SP instruments, some filtering must first be done. Using the j(mb)-option, the trace is
corrected for the instrument to produce displacement. The displacement trace is then multiplied with the
response of the SP WWSSN instrument to produce a signal to look exactly like it would have been seen on
a SP WWSSN seismograph. The unit of the amplitudes seen on the screen is nm, however the amplitude
will only represent the ground motion correctly at the frequency of the maximum gain at 1.5 Hz and for all
other frequencies, the true ground motion will be larger than seen on the screen. The maximum amplitude
is now picked and displayed below the trace, corrected for the gain relative to the gain at 1.5 Hz and written
to the S-file with name IAmb. This means that the amplitude written to the S-file generally will be larger
than the amplitude displayed on the plot. The SP WWSSN response (PAZ) is hardwired in SEISAN and
cannot be modified with filters.
In SEISAN version to 8.2.1, the default filters used to simulate SP WWSSN were, by mistake, in the
band 0.9 (2 pole) to 1.8 Hz (3 poles). This will result in slightly wrong magnitudes unless the user had put
in correct new filter contants... Prior to SEISAN version 8.2, the default filters used were 0.5 Hz (8 pole)
and 5.0 Hz (8 pole filter), which was close to the correct values. No correction for relative gain was used in
SEISAN versions prior to 8.3.. All of these changes could have resulted in smaller errors in mb, which only
can be corrected by repicking the amplitudes.
Amplitude for determining mB
Amplitude for mB is defined as the maximum velocity on a wide band instrument (0.2 -30 sec or 0.033 -
5 Hz). The maximum amplitude Vmax is measured on a velocity trace. Using the J(mB) option, a velocity
trace (nm/s) in the frequency band 0.033 - 5 Hz is displayed. The maximum amplitude in nm/s (irrespective
of frequency) is picked and displayed below the trace. This amplitude is now written to the S-file with phase
name IVmB BB. In principle, mB can be calculated using any instrument, but in practice it can only be
used if the P-signal is seen clearly on an unfiltered broad band velocity record. The Butterworth filter 0.033
- 5 Hz , 8 poles, is hardwired and it cannot be modified with additional filters.
Amplitude for determining Ms:
The attenuation function for determining Ms assumes that the amplitudes are measured on classical LP
WWSSN instruments having a peak gain around 15 second. To pick ground amplitudes for determining Ms
on instruments with a broader or more narrow frequency band, like most broad band instruments, some
filtering must first be done. Using the k(Ms)-option, the trace is corrected for the instrument to produce
displacement. The displacement trace is then multiplied with the response of the LP WWSSN instrument
to produce a signal to look exactly like it would have been seen on a LP WWSSN seismograph. The unit
of the amplitudes seen on the screen is nm, however the amplitude will only represent the ground motion
correctly at the frequency of the maximum gain at 15 seconds and for all other periods, the true ground
motion will be larger than seen on the screen. The maximum amplitude is now picked and displayed below
the trace. This amplitude is then corrected for the gain relative to the gain at 15 seconds and written to
the S-file with name IAMs 20. This means that the amplitude written to the S-file generally will be larger
than the amplitude displayed on the plot. The LP WWSSN response (PAZ) is hardwired in SEISAN and
no additional filters can be used.
The attenuation function for determining Ms assumes that the amplitudes are measured in the period
range 18 - 22 sec and it is up to the user to make sure that the the amplitude is in the correct range..
For SEISAN 8.2.1, the default filters used were in the band 0.038 (2 pole) to 0.1 Hz (1 pole). Prior to
SEISAN 8.2 default filters were 0.042 to 0.063 Hz (8 pole filter). No correction for relative gain was used
in SEISAN versions prior to 8.3. These changes might have resulted in small errors in Ms and can only be
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 133
old:
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
ASK EZ EP 916 40.94 37.3 9.2 111 29.9 205
ASK EZ E 916 41.96 41.8 7.8
new:
STAT COM NTLO IPHASE W HHMM SS.SSS PAR1 PAR2 AGA OPE AIN RES W DIS CAZ7
ASK EHZ EP 916 40.940 111.0-1.0510 29.9 205
ASK EHZ BAZ-P 916 40.942 37.3 9.3 BER jh
ASK EHZ BAZ 916 41.962 41.8 7.8 BER jh
Two back azimuths (BAZ) have been picked, one associated with the P and one a bit after the P. In the
old format, the one picked with the P is also stored with the P-phase line since there is space on every phase
line for BAZ while the one picked later is put on a new phase line and marked with E.
In the new format, Nordic2, the 3 observations are on separate lines and the phase picked with the P is
identified as BAZ-P and the BAZ pick with E is marked as BAZ and no phase. The advantage of 3 lines is
that each observation can be changed independtenly of the others.
Figure 8.10 shows an example.
Azimuth and apparent velocity from array data, FK analysis f(FK)
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 134
Using this command, 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 by the program,
however 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 40.
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 back-azimuth 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
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 the 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-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 response removal to be correct, the 2 channels must have
the same response curve.
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.
Overlay two channels: It is sometimes practical to be able to overlay 2 or more channels. The channels
to be overlaid must follow each other on the screen (sorting might influence that). Move the cursor to the
channel name of the lower of the two channels, press & and the channel is marked with a cross. When doing
replot, that channel will be plotted in red on top of channel above. Both channels will be autoscaled, but
if absolute scaling is used, the real difference in amplitude is seen. Overlay cannot be deselected without
leaving MULPLT. This option is particularly useful when comparing real and synthetic seismograms results
from moment tensor inversion, see that section later.
Output of binary waveform file, O(Out)
It is often useful to be able to select part of a waveform file and save it. 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 by default SEISAN, even if some
input files have a different format. A different output format can be selected in MULPLT.DEF, parameter
MULPLT WAV OUT 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. The data is output exactly as displayed on
the last screen, so if filtering or instrument response has been made, the output file will also be filtered or
instrument corrected WITH SOME RESTRICTIONS: Not all response, channel or filter combinations are
possible. Only 4 pole band pass filters can be used, no rotated channels and none of the magnitude simulated
traces like Wood Anderson for Ml. if you want exactly what is seen on the screen for all combinations, use
option OutW. If any filtering or instrument response correction has been done, a note will be inserted in the
SEISAN waveform header so the user can see that this is no longer the original data. The note could be e.g.
‘ Displacement 1.250- 20.0 Hz’ indicating that output has been filtered and converted to displacement (nm).
Note that numbers have been scaled so only if the SEISAN file is read with standard SEISAN routines, will
the numbers be correct. If the output file is converted to ASCII by SEIASC, the number shown must be
multiplied with a given scaling factor, see SEISAN binary format description (Appendix B). There is no
response information in the header other than the short text. Since the station code is still the same, it is
technically possible to correct for the response again using the response information in the CAL directory,
however, be aware that this will give wrong results.
Option OutW: This option will output the signal exactly as seen on the screen with all the selected filter
and response combinations. It also handle rotated channels. The output file name is mulplt.wav and it is
an ASCII file with real numbers in Helmberger format (readable by SEISAN). To make the file, press OutW
and wait for message ’mulplt.wav written’ in top right of the screen. For many channels and high sample
rate it could take some time since the output is Ascii. If the traces in the window do not start and stop
and stop at the ends, then dc levels will be added so all channels in the output file has same start and stop
timers. Format description is found in section moment tensor inversion.
Output of ASCII waveform file
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 another way (see option O(Out) above) of getting an output file that has been filtered or
instrument response corrected. The main difference is that this file is only for one trace written in ASCII.
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.
Example of using MULPLT on Linux:
Comments are given with ! in front
This example shows how running MULPLT from EEV would look.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 136
MENU
MIN
1 2 3 4
ESG E
SEC
51 52 53 54 55 56
Figure 8.7: 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. In the new Nordic format, Nordic2, amplitudes are always
stored on separate phase lines.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 137
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
Channel: 10
Channel: 11
Channel: 12
! etc.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 139
P (f ) = exp(−π ∗ kappa ∗ f )
is meant to account for near surface losses (Singh et al., 1982) with the constant kappa having a value
of the order 0.02 sec. Anelastic attenuation Q is assumed to be frequency dependent following the relation
Q = q0 ∗ f ∗ ∗qalpha. For f less than 1 Hz, Q is, by default, assumed frequncy independent with the value q0
(before Dec 2013 it was frequecy dependent for f less than 1 Hz which could lead to a small overestimation
of seismic moments for events larger than 4.5. This change is also affects other programs using Q-correcion
like SPEC, AUTOMAG and AUTOSIG).
Before version 12.1, the transion of Q from high to low frequencies as a function of frequecy was made
with the function Q=Q0*(1+f)**qalpha. However, this has turned out not to be ideal since Q at 1Hz
then would be 2Q0 althought following the the function Q=Q0*(1+f/X)**qalpha at higher frequecies and
becoming contant at lower frequencies. So now there is no smooth function and Q=q0 below 1 Hz and Q0
at 1 Hz. This parameter is set in SEISAN.DEF . For teleseismic events, only t* is used and Q must be set to
zero (not used). The t* parameter is then entered using the kappa variable and is usually set to 1.0 (same
value is used for P and S). So kappa is no used for teleseismic events. 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:
Local and regional events geometrical spreading
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 geomet-
rical 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:
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 (Havskov and Ottemöller, 2010).
Geometrical spreading for teleseismic events
The geometrical spreading is approximated with (Havskov and Ottemöller, 2010)
where dist is epicentral distance in degrees. This approximation is only valid for depth is less then 100
km and dist larger than 30 degrees.
Attenuation and velocity specification for spectral analysis
The are 2 possibilities, use the values in MULPLT.DEF or use a spectral model in SEISAN.DEF.
Use the values given in MULPLT.DEF: Since only one value can be given for attenuation (Q and kappa),
the same attenuation is used for P and S. Likewise, if the hypocenter changes depth, it will be the same
fixed values for all attenuation and velocity parameters. For a particular fixed situation e.g. where the user
always analyze shallow events and always is using the same type of spectrum (usually S), this is adequate.
However in a situation with large depth variations, it is desirable to change all parameters as a function of
depth. It might also be useful to change attenuation as a function of phase type although there often is little
difference between P and S attenuation.
Use values in SEISAN.DEF: The spectral model is defined in SEISAN.DEF. In order to activate the model,
set parameter SPECTRAL MODEL in MULPLT.DEF to 1.0, then the spectral model is used instead of
the parameters in MULPLT.DEF. The model gives velocities (P and S), attenuation (P and S) at different
depths as will as kappa for P and kappa for S and the behavior of Q below 1Hz (P and S).
The Q below 1 Hz parameter can now be set to any frequecy. If set to 1.0, the Q function is as above
when using MULPLT.DEF parameters but if the frequecy is set to another valus, it is then the frequency f1
below which Q becomes constant with the value Q(f1). If the Q below 1Hz parameter is set to zero, the Q
functions will not become constant at any frequecy..
Remember that the attenuation given at a particular depth is NOT the attenuation at that depth but
the average between source and receiver. Values used will be interpolated between values in model and the
values used will be show in the plot and stored in the S-file. If the spec model is used, it will be indicated
on the plot (lower right hand corner). if a spec model is not there, MULPLT.DEF values will be used and
also indicated on the plot.
From the spectral parameters, source radius and stress drop can be calculated as follows:
Sourceradius = 0.37 ∗ V /f 0
where f0 is the corner frequency and V the P or S-velocity at the source for P and S-spectra, respectively.
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.
Spectral analysis to determine moment, source radius and stress drop:
Select the spectral option, s(Spec). Before the spectrum comes up, you will get a question of the type of
spectrum wanted and a few other options.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 141
where V is the seismic wave velocity at the source (P or S if P or S-spectrum respectively) and OM the
spectral flat level on the attenuation corrected displacement spectrum.
SPEC ITK S Z MO 13.0 ST 4.2 OM 1.5 f0 9.45 R .22 AL 2.50 WI 4.0 MW 2.6 3
SPEC ITK S Z K 0.002 T 7 GD 52 VP 6.00 DE 3.00 Q0 .0 QA 1.00 Q1 0.0 3
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. The station and component names are given at the start of the line. In case of a 5 character
station name, the station name is shifted one character to the left. The information is:
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 143
AV-SD MO 13.1 0.3 ST 4.0 6.0 F0 5.13 3.3 R 0.364.181 AL 2.0 0.0 MW 2.70 0.2 S
STA COM NTLO OM F0 AL T WI GD MO ST R K VX DE Q0 QA Q1 MWS
FOO HHZ 1.811.12.0 1242620.047.6012.6 110.12.0003.60S3.00 4400.701.0 2.4S
HYA HHZ 2.03.902.0 1244820.0123.013.32.00.34.0003.60S3.00 4400.701.0 2.8S
AKN HHZ 1.96.342.0 1245320.0140.013.27.80.21.0003.60S3.00 4400.701.0 2.8S
ASK HHZ 1.92.982.0 1245720.0161.013.30.90.45.0003.60S3.00 4400.701.0 2.8S
Now the spectral information is on one line and there is an explanatory line above with the same abbre-
viations as in Nordic format except VX which now indicates P or S velocity. SEISAN can read both new and
old format independent of whether Nordic or Nordic2 format is used but will only write S-lines if Nordic2
format is used. This should ensure backwards compability.
NOTE: MOMENT IS NOT CALCULATED IF THE SPECTRUM IS NOT IN DISPLACEMENT.
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. Spectra 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 relations between spectral and source
parameters. Program REPORT can read spectral parameters and combine in a 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.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 144
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.
Another option (s: Plot stored fitted spectrum) if spectral analysis already has been done, is to plot the
corresonding theoretical spectrum on top of the calculated spectrum. This option has the purpose to be able
to check previously made spectra whether manual or automatic. The SPEC lines have all the information
needed to make the theortical spectrum.
Entering constants and modeling: The modeling can only take place when the spectrum is seen on the
screen.
Press 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. S or s can
now be pressed again and 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 last moment calculation made
for thsi station, if any. If none, 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 (option M). If no moment is available, no modelling can be done and a message is given. The distance
and depth is likewise taken from the S-file. If no distance is available, no modelling can be done and a
message is given. 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 this would imply a Q-correction
two times. The best way is to use Q0=0 and kappa=0, so that Q is only corrected for when
modeling. The distance used is everywhere is GEO DISTANCE.
The spectral parameters shown are:
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
Power spectrum and noise spectrum
The 3 types of spectra (displacement, velocity and acceleration) can optionally be made as power spectra.
Instead of 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
8.8). When doing noise spectra, no attenuation correction is done. The normalization of the spectrum is as
follows
∆t2
P = |F DF T |2 × ×2
T
where P is the Peterson Power spectrum, F DF T is the discrete Fourier transform, ∆t is the sample interval
and T is the length of the time window. The factor 2 comes from the fact that only the positive frequencies
are used so only half the energy is accounted for. The total power is proportional to the length of the time
window since the noise is considered stationary, so by normalizing by T, the length of the time window
should not influence the results. This noise option is a handy method of checking the noise characteristics
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 145
of a given seismic station and compare it to global standards. This kind of analysis can also be done with
the SPEC program (section 32). For more information, see instrument.pdf in INF.
Problems: There is currently no check if a displacement seismogram has been calculated when calcu-
lating the spectral parameters. If spectral analysis is done outside EEV (output in MULPLT.OUT) or with
EEV when there is no origin time and/or epicentral distance, the output results are wrong for moment etc.
Before calculating moment etc, the S-file MUST HAVE BEEN UPDATED SINCE BOTH THE DISTANCE
AND ORIGIN TIMES ARE USED. If the spectra get very high amplitude levels when correcting for instru-
ment, this might be caused by correcting for Q. With a Q of 100 and a distance of 10 000 km, this gives
a very large correction. The Q-correction can be disabled in the MULPLT.DEF file. If picks are made, but
no readings appear in the S-file or readings appear with wrong component, the waveform file component
might not have been defined in subroutine componen.for. If poles and zeros are used to remove the response,
rotation cannot be used at the same time.
8.13 Spectrogram
SEISAN has two options for making spectrograms. The first is the built in SEISAN routines in MULPLT
and the second is an ObsPy script. The first can make a spectrogram of all the traces seen in the multi trace
window, while the second make of one trace with a fixed time window. A spectrogram makes a plot of the
frequency content of a signal trace as a function of time and is useful to distinguish different kinds of seismic
signals. It is often used to identify explosions, see examples below.
The built in program
In multi trace window, press ’s’ and a spectrogram appears for each trace. The signal is by default
filtered before the spectrogram is made using the predefined filter in MULPLT.DEF given by parameter
SPECTROGRAM FILTER. To disable the filter, put in 0.0 in the SEISAN.DEF. In spectrogram mode, the
usual commands for picking phases, zoom and selecting other traces etc. is working. To return to normal
plot, use replot. In order to do spectrograms with other filters, select filter (e.g. variable filter with ’.’)
and press ’s’. It is also possible to make spectrograms of instrument corrected signals. To e.g. make a
spectrogram of acceleration, choose ’g’ for ground motion, ’s’ for spectrogram and ’a’ for acceleration. This
can be done whether the current plot is a spectrogram or a trace plot. When a replot of the spectrogram is
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 146
F:Fin Q:Qui R:Rep Z-M:Flt G:Grd W:WA S:Spc O:Oth A:Amp H:3C C:Cod D:Del
SEC
35 40 45 50 55 60 5 10
Displacement
L
o
g 4.0
a
3.5
m
p
3.0
l
i
t 2.5
u
d 2.0
e
1.5
1.0
0.5
0.0
MENU
SEC
38 40 42 44 46 48 50 52 54 56 58 60 2 4
Max amp: 96372.7 Next filter 1.000 5.000 Select window for 3COMP
Z 9118
N 7959
E 4107
SEC
47 48
MENU
SEC
0 20 40 60 20 40 60
L P
o h
2
g a
s 150
a e
m0
100
p
l
i 50
t -2
u
d 0
e
-4 -50
-100
-6
-150
-2 -1 0 1 2 -2 -1 0 1 2
Log frequency Hz Log frequency Hz
Figure 8.12: Multi trace spectrogram. The numbers to the left indicate Nyquist frquency for each trace.
The filter used is indicated at the usual place above right. Dark blue is lowest amplitude and red is the
highest amplitude
done, the default filter is removed like for a replot in traceplot mode.
Figure 8.12 shows an example of a a multi trace spectrogram. Note how clear the P and S-arrivals are seen
on the plot. However, since the spectrograms are made doing spectral analysis in fixed time windows, the
arrival times will not fit the spectrogram exactly. It would have been possible to smoothe the spectrograms
(or make it contoured), see the ObsPy example. However without smoothing, we see the data as it is.
NOTE: The possible output file mulplt.eps does not contain the spectrogram. To get a plot file, use the
ObsPy option.
ObsPy spectrogram
The ObsPy SPECTROGRAM program in SEISAN is based on Python routines from ObsPy (docs.obspy.org)
so both Python and ObsPy must be installed, see installation section. In MULPLT, the spectrogram
is made in multitrace mode: Put the curser on the trace you want to analyse at a position where the time
series for the spectrogram should start. Press E (shift e) and the spectrogram will be plotted in a separate
window (close the trace window if opened first). To continue with MULPLT, close the spectrogram window.
The window length is by default 80 sec and a default high pass filter (2 Hz) with 2 poles is used before calcu-
lating the spectrogram. The reason for the filter is that most spectrograms are only interesting at the higher
frequencies, particularly for explosion discrimination. Optionally a window with the filtered signal can also
be plotted before the spectrogram comes up, see example below. The options are set up in MULPLT.DEF
and the parameters used are:
The window can have any value up to 300 sec (hardwired value in MULPLT). The filter is always high
pass and 2 poles. If no filter is to be used, set it to 0.0. If the trace is to be plotted, the parameter must be
set to 1.0.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 150
Figure 8.13: Top: Seismogram of an earthquake recorded at station OSL. Bottom seismogram of an explosion
at the same station. Both seismograms plotted with SPECTROGRAM. The filter is 2 Hz.
The spectrogram program can also be operated as a free standing program. An example is:
spectrogram waveform.out 80 3 1
where the first argument is the file name, second is window length, third is filter and last is trace plotting
options. All arguments must be there. In principle most waveform formats can be used (as implemented
by ObsPy) but some versions of SEISAN waveform format might not work. The safest is to use MininSeed.
If the waveform file contains several channels, the first one is used. Using the program independently from
MULPLT, there is not the 300 s limitation.
If several tests are to be made with different window lengths and filters, the simplest way is to first make
the output file waveform.out with MULPLT spectrogram option and then do the tests from the command
line as the shown with the example above.
Figure 8.13 shows an example of an explosion and an earthquake at about the same location recorded
at the same station . Figure 8.14 shows the corresponding spectrograms. It is clear from the seismogram
which is the explosion due to the monochromatic waves (probably Rg) and the spectrograms also show more
monochromatic content for the explosion than for the earthquake. Station OSL is close to the event and the
explosion (epicentral distances 10-20 km). However, the same is seen for station SKAR 157-159 km away
(Figure 8.15). This is a textbook example and not all explosions and earthquakes are so easily distinguished.
Figure 8.14: Spectrograms of the two signals from OSL, explosion left, earthquake right. Note the clear
difference in frequency content.
Figure 8.15: Spectrograms from station SKAR. Explosion to the left and earthquake to the right.
CHAPTER 8. TRACE PLOTTING, PHASE PICKING AND SPECTRAL ANALYSIS, MULPLT 152
MULPLT AREA : Options for plotting stations in a given distance from a midpoint. 0: do not
select option (default) 1: midpoint from s-filei epicenter, radius from MULPLT.DEF, 2: midpoint from
MULPLT.DEF, radius interactive 3: midpoint and radius from MULPLT.DEF, 4: midpoint from MULPLT.DEF,
radius interactive, 5: midpoint and radius interactive, 6: Midpoint from a station in MULPLT.DEF, radius
from MULPLT.DEF 7: Midpoint station asked at start of MULPLT, radius from MULPLT.DEF 8: Both
midpoint station and radius asked at start of MULPLT
MULPLT LAT LON : Midpoint
MULPLT STAT : Station for midpoint
MULPLT RADIUS : Radius in degrees
SPECTROGRAM COMMAND: name of spectrogram program
SPECTROGRAM WINDOW: window lenght of spectrogram
SPECTROGRAM FILTER: frequency of high pass filter for spectrogram, if zero no filter is used
SPECTROGRAM PLOT TRACE: if zero, no plot, if 1.0 plot trace
Chapter 9
TRACE PLOT is a simple program to create a distance trace plot using GMT version before 5 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 files. TRACE PLOT reads the waveform data and writes the x-y coordinates
of the lines in the plot to a file that is then 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. An example is seen in Figure 9.1 .
The parameters in trace plot.par are:
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 ampli-
tude) * 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
156
CHAPTER 9. DISTANCE TRACE PLOT WITH GMT, TRACE PLOT (UNIX ONLY) 157
Time
0 50 100 150 200 250 300 350 400 450 500
840
784
728
672
616
560
504
448
Distance
392
336
280
224
168
112
56
Plotting epicenters
In SEISAN there are several different programs for plotting epicenters, EPIMAP, W EMAP and GMAP,
MAPG and MAP. EPIMAP is the basic program for plotting epicenters in SEISAN and is the program that
is called from EEV, when you type map. Program MAP is an automatic version of EPIMAP and does not
require input parameters either than the hypocenter file. MAPG is a similar program to MAP using GMT.
W EMAP is a windows based program. GMAP is linked to the Google Earth and Google Map Internet
mapping tool.
10.1 EPIMAP
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, macroseismic intensities, stations and level contours as well as depth profiles. It is possible to
zoom in on selected areas (option by Mario Villagrán). The program has been much revised by Jim
Bolton.
Optionally the program can be started with flag n like epimap map.inp n to not plot info on left side.
This option is intended for making a map without the interactive options plotted.
Input files: Land contours and other contours
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). Fault plane solutions can optionally be plotted instead
of error ellipses. The first fault plan esolution found in file will be used. Name of intensity files (SEISAN
standard format, see Appendix A) are also entered here. The file name must have the 3 letters ‘mac’ after
the ‘.’ See also section 42.
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.
Macoseismic information
EPIMAP can plot SEISAN macroseismic observations, see section 42.
Magnitudes
The program will read all 3 magnitudes (magnitude1, magnitude2 and magnitude3) in the header line.
It will use the first non-zero magnitude in the order magnitude1, magnitude3 and magnitude2. Epimap
158
CHAPTER 10. PLOTTING EPICENTERS 159
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 NORHEAD can move magnitudes from following header lines to the first
line. Program REPORT can move magnitudes around on the header line.
A typical run is as follows, comment after !:
Projection menu
===============
Enter latitude of any grid line and also the grid spacing
: 60 2 ! possible to have grid spacing at any value
Enter longitude of any grid line and also the grid spacing
: 0 4
3) Red
4) Yellow
5) White
6) Black (default)
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
Press one of the letters to continue.
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 than one section is wanted (up to 9), press
the number of sections instead. The selected number of profile boxes will now be plotted, all the same size.
Pressing any character will 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
CHAPTER 10. PLOTTING EPICENTERS 161
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 file 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 epicenters 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. Note, you can
also zoom out by selcting zoom points at extreme corners of the plot outside the map.
MAP files The map files consist of blocks of coordinate pairs. Each block starts with the number of pairs
in the block. The format of the header line is i4 and the following lines 10f8.3. Thus each block can at most
have 9999 pairs.
Plotting place names 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:
name latitude degrees longitude degrees
eg:
The first 24 characters are for the latitude and longitude. The text must begin in column 25 or later.
NOTE: The format changed with SEISAN version 12.0.
An example of a place name file is place names.macro located in DAT.
Epimap contour file
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. The example
below is from an older version of SEISAN which had a program for making hazard maps. Currently the only
program for making a contour file is HYP when it is used for making a gridsearch. In the DAT directory,
there is an example of a gridsearch.out file made with HYP.
NB: In the input file shown below, the FIRST COLUMN MUST BE blank.
SEISMICITY IN NORWAY 1
10
20
30
40
50
Figure 10.1: 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. Top left shows how many
events there are in the input file and how many are plotted. Events not plotted is either because they are
outside the map or because the event has no location.
CHAPTER 10. PLOTTING EPICENTERS 164
SEISMICITY IN NORWAY
Magnitudes:
M = 0
M = 1
M = 2
M = 3 65.0
M = 4
M = 5
M = 6
60.0
55.0
0.0 30.0
5.0 25.0
10.0 15.0 20.0
SEISMICITY IN NORWAY
58.7
Total events: 2811
Selected events: 38
Magnitudes:
58.5
M = 0
M = 1
M = 2
M = 3
M = 4
M = 5
M = 6
58.0
Area plot...
See epimap.cor 57.7
for locations 5.4
of corners 6.0
7.0
Figure 10.2: 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.
CHAPTER 10. PLOTTING EPICENTERS 165
Figure 10.3: Example for plot using w emap (example not latest version).
can be used within ‘additional events’ representation; travel time curves can now be displayed; simplified
relief can be displayed (if available as a MAP file); more than one file can be used for each category layer
(coastlines, tectonic, relief and places names).
The program can be integrated within the SEISAN environment, since it uses SEISAN parameter files,
macrosseismic 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 HYPOCENT (Lienert, 1994) location program, included in
SEISAN, in the settable working directory.
During the first run, user is driven to edit the configuration file w emap.def that is created in the users
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 files, coastline files,
relief files, cartographic projections, etc.) are supported. The program also has an option for Google Earth
and Google map. Installation
All the files are included in the distribution file w emap.exe. To install it, you just execute this install script
and make sure W EMAP is installed under SEISMO TOP (Usually the seismo folder). The manual will only
be found in INF after installation. The current version of W EMAP is 4.8.2 but the manual has not been
updated since version 4.6. An important new option is be able to directly plot a file with many hypocenters
CHAPTER 10. PLOTTING EPICENTERS 167
with the command w emap filename. Known problem: Thre must be a type 7 line in S-file in order to be
able to plot a focal mechanism. Some versions of w emap plot some of the fault plane solutions with inverted
colors.
figure.pdf
GMT GRIDFILE: The GMT grid file used. A reasonably detailed world file is found at
ftp://ftp.geo.uib.no/pub/seismo/SOFTWARE/GMTEXAMPLES/DATA/newbathy.grd
GMT LOCALITY FILE, see above. Format is the same as otjher locations files in SEISAN. Latitude,
longitude and name, 2f12.3,a
MAP LAT BORDER and MAP LON BORDER, the same a sfor EPIMAP, distance to map center (deg)
when only one epicenter.
The map projection is hardwired to Mercator. The maximum horizontal size is 17 cm. The horizontal
size will be reduced if the vertical size is more than 1.5 times the horizontal size. The minimum lat-lon
division is 0.25 deg. The title is hardwired to Epicenters, can be changed in script.
The program uses latest version of GMT.
An example run is
c:\seismo\WOR>mapg t.out R
Enter phases to use for ray paths, one per line, terminate with enter
Only the chars given will be used so entring e.g. P, all P-type phases will be used
P
S
Minimum output weight for phase-stat to be used, enter for non zero weight phases
1996 0606 0648 27.2 L 62.916 4.491 34.3 BER 6 .30 3.2LBER 2.6CBER 3.0LNAO
1996 0606 0648 35.5 L 62.658 5.449 0.00 BER 9 3.3 3.1LBER 3.0LNAO
1996 6 6 649 2.8 L 60.678 3.180 15.0 BER 6 5.8 2.1LBER 2.6WBER 3.0LNAO
1996 0607 1325 37.3 L 60.899 4.782 12.0F BER 3 6.2 3.4LBER
1996 6 7 1325 37.3 L 60.899 4.782 12.0F BER 3 6.2 3.4LBER
1996 0625 0337 33.6 R 61.595 3.730 0.00 BER 12 .20 4.9CBER 3.2LNAO
1996 625 337 38.9JL 61.476 3.952 1.60 BER 9 1.9 3.4LBER 2.7SBER 3.2LNAO
End of s-file
Grid file to use: c:\a\gmt\newbathy.grd
Nordic input file
Return to use largest magnitude, or enter magnitude order (e.g. CLBSW)
CHAPTER 10. PLOTTING EPICENTERS 169
c:\seismo\WOR>figure.pdf
c:\seismo\WOR>
Normally the size of the plot in lat long is determied from the data in the epicenter file. However, the
u-option can override that and the user is asked for lat lon range. An alternative station file can be given
with option -s or S so specific stations can be plotted instead of the stations corresponging to the content
of the CAT file. Whhen option e is used, the map is sclaed by the epicenters is CAT file, but not plotted so
this option can be used to plot only stations.
NOTE: first argument is ALWAYS a CAT file, whether used or not.
If an input CAT file is only header lines, station names and cocrdinates must come from a separate file.
Most of the output is self explanatory. Only events with locations are used so number of events plotted
might be different from number of events in input file. The events used are output in mapg.out. An example
plot is seen in Figure 10.4.
The script file (Windows) corresponding to the above run is:
REM
REM Set font, size and color of title
REM
gmt gmtset FONT_TITLE = 14p,Helvetica,black
REM
REM Cut out desired area from grid file, area is 1.500/7.600/57.00/63.100
REM
gmt grdcut c:\a\gmt\newbathy.grd -R1.500/7.600/57.00/63.100 -Gmapg.grid
CHAPTER 10. PLOTTING EPICENTERS 170
REM
REM Make color table, global colors
REM
gmt makecpt -Cglobe -T-8500/8500/50 -Z > mapg.cpt
REM
REM Plot base map, midpoint is 60.05/4.55/ horizontal size in cm is 07
REM Longitude and latitude grids are: 2.00 2.00
REM
gmt psbasemap -Bxa002.00g002.00 -Bya002.00g002.00 -B+t"Epicenters" -JM60.05/4.55/07c -R1.500/7.600/57.00
REM
REM Compute directional gradients from a grid
REM
gmt grdgradient mapg.grid -Nt1 -A225 -Gmapg.gradient
REM
REM Make the map
REM
gmt grdimage -JM60.05/4.55/07c -R1.500/7.600/57.00/63.100 mapg.grid -Imapg.gradient -O -K
REM
REM Plot coast line
REM
gmt pscoast -JM60.05/4.55/07c -B -R1.500/7.600/57.00/63.100 -Dh -N1/1.00p,- -K -O -W >> mapg
REM
REM Plot epicenters, size proportinal to magnitude
REM
gmt psxy gmtxy.out -R -J -Sc -G200/0/0 -W0.3 -O -K >> mapg.ps
REM
REM Plot stations, blue triangles, size 0.4
REM
gmt psxy gmtstxy.out -R -J -St0.4 -Gblue -W1 -O -K >> mapg.ps
REM
REM Plot fault plane solutions, -1 to avoid date on top of
REM of fps, 1.0 is size proportinal to magnitude, to make
REM fixed size, add parameter -M
REM
gmt psmeca psmeca.out -R -J -V -Sa1.0/-1 -M -P -O >> mapg.ps
REM
REM
REM
REM Plot map on screen
REM
gswin32 mapg.ps
print_us.html). To change the color codes se e.g. http://html-color-codes.info/. See also chapter
3.6.
GMAP can run in three modes:
• The simple GMAP - runs in the browser with Google Map
• The advanced GMAP - runs in the desktop version of Google Earth
• The automatic GMAP - runs in the desktop version of Google Earth
The three modes are described below.
unix:/home/seismo/WOR: gmap
INPUT FILE NAME
select.out
Title:
West Greenland [2000;2008]
3. In Google Earth open the output file gmap.kml. See Fig. 10.5.
To make an animation for events over time use the -timespan flag. As an example explosions in the south
of Norway from 1983 to 2007 can be downloaded here: http://seis.geus.net/ber-exp.kml Press the play
button at the time slider at the top of the Google Earth. Use the ruler to control how the animation is
displayed (speed, days shown, etc.).
GMAP parameters added to SEISAN.DEF: Icon used for earthquake, explosion, probable explosion and
other events:
GMAP_ICON_QUAKE http://maps.google.com/mapfiles/kml/pal2/icon26.png
GMAP_ICON_EXPLOSION http://maps.google.com/mapfiles/kml/shapes/star.png
GMAP_ICON_PROB_EXPL http://maps.google.com/mapfiles/kml/shapes/open-diamond.png
GMAP_ICON_OTHER_EVENTS http://maps.google.com/mapfiles/kml/shapes/square.png
Events with magnitude smaller than GMAP ICON MSIZE will be plottet with size of GMAP ICON MSIZE:
GMAP_ICON_MSIZE 0.5
The scale of the earthquake icons is give by GMAP ICON XSIZE*magnitude**GMAP ICON YSIZE:
GMAP_ICON_XSIZE 0.2
GMAP_ICON_YSIZE 0.5
The scale of other events is furthermore multiplied by 2 Text can be added to the KML file, see this
example, note the text must be placed from character no 41 to no 120:
GMAP -help:
Figure 10.5: Example of mapping with gmap. Events in West Greenland. Note the folder and the subfolders
in the Places window.
CHAPTER 10. PLOTTING EPICENTERS 175
Figure 10.6: If the Earthquakes and data folder is selected in the Places window S-files can be shown.
CHAPTER 10. PLOTTING EPICENTERS 176
## Options ##
-help Print this list
-h Same as -help
-color Define color of epicenters [blue/green/yellow/
black/white]. Default color is red
To uses other colors see describtion below
-timespan Events gets timetag scroll in time domain
-nodata kml file will only contain header infomation
-errorellipse kml file will include error ellipse
-ellipsecolor Define color of ellipse in 8 digit hex code
-ellipsewidth Define width of the ellipse line, in pixels
-stat Station locations given in STATION?.HYP files
is converted to KML, output is gmapstat.kml
To change color/scale/icon edit gmapstat.kml
and change the content of Style Id=stat
-poly SEISAN polygon files like DAT/SALVADOR.MAP
is converted to KML, output is gmappoly.kml
To change color/width edit gmappoly.kml and
change the content of Style Id=poly
-out_file Define name of output file (default is gmap.kml)
-verbose Be more verbose
-version Seisan version
Scale:
The scale of the icons is set by the SEISAN.DEF
parameters GMAP_ICON_MSIZE, GMAP_ICON_XSIZE and
GMAP_ICON_YSIZE, see the manual for details.
Color:
Color and opacity (alpha) values are expressed in
hexadecimal notation. The range of values for any
one color is 0 to 255 (00 to ff). For alpha, 00 is
fully transparent and ff is fully opaque. The order
of expression is aabbggrr, where aa=alpha (00 to ff);
bb=blue (00 to ff); gg=green (00 to ff);
rr=red (00 to ff).For example, if you want to apply
a blue color with 50 percent opacity to an overlay,
you would specify the following:
<color>7fff0000</color>, where alpha=0x7f, blue=0xff,
green=0x00, and red=0x00. See also:
http://code.google.com/apis/kml/
documentation/kml_tags_21.html#color
Examples:
gmap -color blue -nodata -errorellise
gmap -timespan -color 7eee00ee
echo "collect.out\nDK events\n" | gmap -out_file dk.kml
CHAPTER 10. PLOTTING EPICENTERS 178
Figure 10.8: Example of automatic mapping with gmap. Earthquake in West Greenland. Blue dot is the
old location and the red dot is the current location. Green and yellow stations are stations with good and
ok residuals, respectively.
file:
GMAP_AUTO 0: no, 1:yes 1.0
GMAP_AUTO_ICON_EVENT http://maps.google.com/mapfiles/kml/pal2/icon26.png
GMAP_AUTO_ICON_COLOR ff0000ff
GMAP_AUTO_ICON_MSIZE 0.5
GMAP_AUTO_ICON_XSIZE 0.2
GMAP_AUTO_ICON_YSIZE 0.5
GMAP_AUTO_LOOKAT_ALTITUDE 2000000.0
GMAP_AUTO_SHOW_STAT 0: no, 1:yes 1.
GMAP_AUTO_ERROR_ELLIPSE 0: no, 1:yes 1.
GMAP_AUTO_ELLIPSE_COLOR ff00ff00
GMAP_AUTO_ELLIPSE_WIDTH 12.43
GMAP_AUTO_STAT_SIZE 1.1
GMAP_AUTO_STAT_URL http://maps.google.com/mapfiles/kml/shapes/triangle.png
GMAP_AUTO_STAT_RESIDAL_GOOD 0.5
GMAP_AUTO_STAT_RESIDUAL_BAD 1.5
GMAP_AUTO_STAT_COLOR_GOOD ff00ff00
GMAP_AUTO_STAT_COLOR_OK ff00ffff
GMAP_AUTO_STAT_COLOR_BAD ff0000ff
GMAP_AUTO_SHOW_OLD_LOCATION 0:no,1:yes 1.
GMAP_AUTO_OLD_LOCATION_COLOR ffff0000
GMAP_AUTO_SHOW_PATH 0: no, 1:yes 1.
GMAP_AUTO_PATH_COLOR ff929292
GMAP_AUTO_PATH_WIDTH 2.5
GMAP_AUTO_FILE_ACTION 0: no, 1:yes 0.
GMAP_AUTO_ACTION cp gmap.cur.kml /inetpub/www/html/seismo/nnsn
You can change the parameters to adjust the output file gmap.cur.kml for your system, see definition
here 3.12.
Inorder to run the display in a realtime mode, you must have an other KML file that makes Google Earth
reload the gmap.cur.kml file at short intervals. Such file could look like:
In this example the gmap.cur.kml file is reloaded every 3 second from a local C:\seismo\WOR directory
on a windows pc. And below is an other KML file is reloaded at 60min intervals from the Internet.
The above file is named gmap-automatic.kml and is found in the DAT directory.
1: Configuration Files:
2: Installation
seis2viewer is distributed as a single .jar file (seis2viewer.jar), containing all the necessary classes to
work, including Seismicity Viewer 5.0. This file is placed in the PRO directory of seisan. To facilitate
the usage of seis2viewer, an executable script file to call seis2viewer has been created, smap. As an
example, the executable script should contain the following line:
The configuration file, seis2viewer.def, and any other required files should be placed in the DAT
directory of seisan. Alternatively, the user may have its configurations on the working directory. the
configuration file refers to a more detailed map file, europe.xyz, which will be plotted superimposed on
the built in word map (can be turned on and off on the plot). The location of this file must be given
an absolute path. In the example file, the path is given for Windows as
seismicity.lines.gray = C:/\seismo/\DAT/\europe.xyz
where the ’/’ is needed under Windows. The user must adjust this line to the local environment.
Detailed map files in xyz format, using standard SEISAN MAP files, can be made with program
SELMAP.
2: Automatically Generated Files seis2viewer generates a set of files to be used by Seismicity Viewer
5.0. Although these files are, in principle, irrelevant to the user, it is nevertheless important to mention
them for reference purposes.
• input-file.hyp: This file contains a translation of the event file selected by the user for visual-
ization in NonLinLoc format, appropriate for Seismicity Viewer. Input-file is the input file name
without extension.
• input-file.hdr: This is an automatically generated grid file for the area surrounding the events
to be visualized. It is only created if the maximum distance in longitude or latitude between
events is less than 8 degrees.
Usage
seis2viewer can be used directly with a nordic file containing one or more events (e.g. select.out) as:
Seis2viewer noramlly requires a Nordic file for input and will only plot the header line hypocenter. To
plot all hypocenter lines in the s-file, use option -ia. This option can also be used to plot a compact file (ooly
header lines, no space between lines).
Chapter 11
There are several program to search the data base or search in files. The most important is SELECT when
working from the prompt. The most sophisticated search can be made with SeisanExplorer (see SE section).
SE and SELECT have overlapping functions and both have options not found in the other.
11.1 SELECT
Whenever selective search and extraction is wanted SELECT is used. The program can run on the CAT
database, single CAT files (Nordic or Nordic compact) or the S-file data base. 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: If SELECT is used on the CAT database (normal operation),
you need to UPDATE your S-file database in order to transfer changes from the S-files to the CAT database.
Select can work with input in 3 different ways:
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 !
PARAMETERS
182
CHAPTER 11. SEARCHING IN THE DATABASE, SELECT AND OTHERS 183
PARAMETERS
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. If start time is
blank, 1980 is used. The end time can also be blank, and 2025 is used. This option is useful when selection
on whole data base or whole file.
NOTE on time interval: If selecting from S-files or the CAT data base, selection will stop when one event
reach the time limit so a wrong time in S-file could stop search. When selection from a file, all events in file
will be checked so there is no requirement for correct time order.
Index.out file: It contains the indexes of files selected and can be used to access theses file only like eev
index.out. NOTE that the index file will only contain events which have an ID line since ID line is used to
create the reference.
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, B:
mB, s: Ms, S: MB and W: Moment magnitude. N: Find events with no magnitude in first position.
An event is selected if any one of the types of magntudes are found. Magnitudes are only searched on
first header line unless “Use all header lines is set”.
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 most used codes are: B: Blank (no
ID), E: Explosion, P: Probable explosion, V: Volcanic, S: Sonic boom, Q: Earthquakes. For a full list,
see the Nordic format in Appendix. If no selection is given, all events are selected. If e.g. Q is used
as input, only events with Q ID are selected. If B is selected, only events with no ID are selected. So
if all earthquakes and volcanic events are to be selected, use QV. Without the Q, only volcanic events
are selected. In most cases no ID is also earthquakes, but they have not been marded as so. In this
case, in order to get all earthquakes, use BQ. Selection is made if either one of criteria is met.
Note: Before october, 2018, using Q was equivalent to using BQ and there was no possibility to select
Q or no ID only.
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. Magnitudes are only searched on first header line unless Üse all header lines is
set.̈
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. If ONLY events with no
locations are wanted, enter 99 as lower latitude limit. This option is intended to find all events not
located in a file or data base.
8. - Longitude Limits
Range of longitude.
9. - Depth Limits
Range of depths.
10. - RMS Limits
Range of rms travel time residuals.
CHAPTER 11. SEARCHING IN THE DATABASE, SELECT AND OTHERS 186
The CODAQ option can also be used to select events in given distance range with a given number of
stations if the number of station option is also used.
Spectral paramter selection
There is no direct option to select events with spectral parameters except to select local events withe
MW and assumed they have been calculated with spectra. A posibility is to use MAG where events can be
output having particular spectral parameters. Another option is to use SeisanExplorer. /IndexSearch for
spectral parameters
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)
11.2 Getstressdrop
Written by Bladimir Moreno, August, 2014, [email protected]
This is a program to search in a SEISAN Nordic file (S-file) for the calculated stress drop, make average
stress drop and Mw for each event using all channels or selected channels as well as average for the whole
data set of several events. Only channels with a stress drop of 1 bar or more is used and the upper limit of
stress drop to use in average is user selectable. The output is the average stressdrop for each event versus
magnitude Mw, average stressdrop for the whole data set and a statistics of the stress drop distribution. In
addition events can be selected in a lat-lon polygon.
NOTE: Only works with Nordic format spec lines.
In SEISAN stress drops are calculated with either MULPLT in a manual or semiautomatic way, auto-
matically with AUTOSIG and automatically with AUTOMAG (a simplified AUTOSIG) either directly or
through EEV command av. In each S-file, the average stress drop (as well as the average of other source
parameters) is calculated when the event is updated, irrespective of the value of the stressdrop. The stress-
drop is a good indicator of the quality of the spectral fitting and stress drops less 1 and higher than 200
bars usually indicate an unreliable spectrum. The program GETSTRESSDROP will therefore be useful for
making reliable average stress drops using only the best data and channels.
The user calls the program with command line arguments. The first argument is obligatory and the rest
are optional. The program is called in the following way:
getstressdrop <nordic.inp> [ -c <stress cut> ] [ -s <stationslist file.inp> ] [ -p <points polygon.inp
]
Nordic.inp: an S-file, any name.
stress cut: the maximum stress drop to consider in the searching process.
stations.lis: a file (any name) with the station-channels list, with the same format as written in the
line SPEC of the S-FILES format, see example later.
points polygon.inp: a file (any name) with longitude, latitude pairs. The last point of the polygon
must be equal to the first (close polygon), see example below.
20.0 -76.7
20.0 -75.0
19.5 -75
19.5 -76.7
20.0 -76.7
Output getstressdrop histo.out: number of stressdrops in steps of 10 bars, can be plotted with LSQ.
getstressdrop mw.out: list of earthquake magnitudes Mw versus stressdrop, can be plotted with LSQ.
Example run
getstressdrop eev.out
1996 6 6 0648 23.8 L 63.005 3.955 8.0 TES 5 2.9 2.8LTES 2.7WTES 3.0LNAO1
SPEC FOO S Z MO 13.5 ST 26.2 OM 1.5 f0 12.7 R0.1754 AL 0.00 WI 10.0 MW 2.9 3
SPECHASK S Z MO 12.9 ST 7.7 OM 0.7 f0 13.0 R0.1713 AL 0.00 WI 10.0 MW 2.6 3
SPEC EGD S Z MO 12.9 ST 24.1 OM 0.6 f0 20.0 R0.1114 AL 0.00 WI 10.0 MW 2.5 3
SPEC ASK S Z MO 13.0 ST113.0 OM 1.7 f0 17.5 R0.0738 AL 0.00 WI 20.0 MW 2.6 3
SPEC EGD S Z MO 13.1 ST 35.7 OM 1.8 f0 10.9 R0.1185 AL 0.00 WI 20.0 MW 2.7 3
SPEC BLS5S Z MO 13.2 ST 5.8 OM 1.8 f0 5.66 R0.2281 AL 0.00 WI 20.0 MW 2.7 3
1996 6 7 1325 29.2 L 59.846 5.130 12.0F TES 12 0.6 1.9LTES 2.2CTES 2.0LNAO1
SPEC EGD S Z MO 12.0 ST 12.8 OM 1.1 f0 20.0 R0.0690 AL 0.00 WI 20.0 MW 1.9 3
SPEC KMY S Z MO 12.2 ST 23.5 OM 1.2 f0 20.0 R0.0690 AL 0.00 WI 20.0 MW 2.1 3
SPECHASK S Z MO 12.2 ST 23.5 OM 1.2 f0 20.0 R0.0690 AL 0.00 WI 20.0 MW 2.1 3
SPEC ODD1S Z MO 12.3 ST 27.8 OM 1.2 f0 20.0 R0.0690 AL 0.00 WI 20.0 MW 2.2 3
SPEC BLS5S Z MO 12.2 ST 23.1 OM 1.1 f0 20.0 R0.0690 AL 0.00 WI 20.0 MW 2.1 3
SPEC SUE S Z MO 12.4 ST 32.8 OM 1.1 f0 20.0 R0.0690 AL 0.00 WI 20.0 MW 2.2 3
SPEC HYA S Z MO 12.3 ST 29.3 OM 1.0 f0 20.0 R0.0690 AL 0.00 WI 20.0 MW 2.2 3
SPEC FOO S Z MO 12.5 ST 23.9 OM 1.1 f0 16.4 R0.0842 AL 0.00 WI 20.0 MW 2.3 3
CHAPTER 11. SEARCHING IN THE DATABASE, SELECT AND OTHERS 190
Each selected channel is printed out and in the end there is information of the total number of events
and channels used.
An example of a channel selection file stat is:
HASK1S Z
HYA S Z
HASK1S Z
HYA S Z
Note that station names with 5 characters on SPEC line uses the 5. character on the line for the first
character in station name.
Stress drop versus magnitude can give an indication if stress drops are reliable. According to the theory
of self similarity (see e.g. Havskov and Ottemöller (2010)), stress drops should be magnitude independent.
For small earthquakes (M < 3) it might be difficult to get a reliable corner frequency, it will often be to
small due to near surface attenuation (kappa, see MULPLT section). This results in smaller stress drops for
smaller events than larger events. It is therefore useful to plot the stress drop versus magnitude. Figure 11.1
shows an example made with program LSQ.
It is seen that there is only a slight tendency to increasing stress drop with magnitude indicating reliable
stress drops.
The distribution of stress drops can also be plotted with LSQ. Figure 11.2 shows an example of the data
from 11.1.
CHAPTER 11. SEARCHING IN THE DATABASE, SELECT AND OTHERS 191
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:
Start time :
End time, return for end of month:
Compact output file (Y/N=default)
If a local data base is input, default start time is 1980 and default end time 2015. In this way it is fast
to collect all data from a local data base. 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 CAT files, use SELECT. If an
update has been made, SELECT will always be the fastest program to use. COLLECT and SELECT are
the only programs that can make a CAT file from the individual S-files. Program input can also be on the
prompt line, below is an example:
collect -start time 19910912 -end time 19911015 -base name BER -compact
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.
193
Chapter 13
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 in the users own directory. Type SPLIT to start program
and questions are:
194
CHAPTER 13. INSERTING EVENTS INTO THE DATABASE, SPLIT 195
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.
Chapter 14
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 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 a monthly file is already present, 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.
The ID line is updated with the action UPD.
The update process can also change 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. 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). 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 13). The event will also be in
chronological order in the CAT database.
*****VERY IMPORTANT ******
By default, the ID and file name are not changed by using the UPDATE program. However, optionally
this can be done. The user gets the qustion:
Keep sfile name and ID (default=enter) or synchronize sfile name and ID with origin time (s)
By synchronizing, the S-filename and ID is synchonized to the origin time. If no origin time, the earliest
time of the phases is used. At the same time an S is put in on the ID line column 76 to indicate event has
been synchornized (this was L in version 11 and before). The S will remain for all future updates so it only
indicates that the event has been synchronized at some time. To find out when, see the history of the ID
lines. The S is only used for information. When the file has been syncronized, the action is set to UPS.
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.
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.
196
CHAPTER 14. UPDATING FINAL LOCATIONS IN DATABASE, UPDATE AND UPD 197
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 7, “Fixing location” (a ‘*’ in column 45 in header line).
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 ../REA/BER /LOG/ (unix). Filenames are similar to S-files.
Below is an example of a logfile with name 01-0000-00L.S199606:
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(U) is used from EEV, only one S-file is updated (name stays the same),
and a general update should be made.
UPDATE recalculate moments if distances (or depths) change, however it does not change the Vp or Vs
velocities used if a change is made in MULPLT.DEF.
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 can optionally synchonize the S-filename and ID with the origin time
in the same ways as UPDATE. The only difference is that the action is US instead of UPS to indcate that
no relocaiton has been made. The program is used to simply move single S-files into the monthly CAT-files
without relocating. It is mainly used to manipulate database events already processed. E. g. if ISC data a
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 for SELECT to work fast. KNOWN BUG: On Sun OS,
it seems that UPD can only operate on up to a 4 year time period.
Chapter 15
DIRF
The DIRF command is a useful program for making a file with a numbered list of files from a directory.
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
# 1 9101-10-0915-15S.KMY_01
# 2 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 file names less than 5 characters
cannot be used when the program asks for “Filename or number”. For a very long listing it might be an
advantage to only get the first or the last 20 files and dirf has the corresponding options -head and -tail
respectively. This argument must be the first argument like dirf -tail *.txt.
DIRF is dimensioned to a maximum of 99999 files.
DELF
DELF is a simple program that allows the user to delete a file that is listed in a filenr.lis file or
another index 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. In addition, DELF also has an option to
delete all the files in the filenr.lis or index file. This is a useful option if selected files in a data has to be
deleted. If e.g. all S-files from a particular agency has to be removed, run SELECT first and then DELF.
198
Chapter 16
The bulletin program BUL is intended for writing seismic bulletins in a nice format. The output is written
to a PostScript file.
Input files:
199
Chapter 17
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 collect.out
Date TimeE L E LatE LonE Dep E F Aga Nsta Rms Gap McA MlA MwA MbA MsA MWA Fp Spec Macro Loca
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
200
CHAPTER 17. REPORTS AND STATISTICS 201
The report.inp is a file with the choices used. Report can use that file (or a file with the same format
and a different name) as second argument:
report collect.out report.inp
in order to use a fixed set of choices.
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
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
it is important to select magnitudes by agency also, use program MAG. REPORT can also give a numbered
output by adding the second or third argument -n.
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 file name MUST have
a ’.’ not to be confused with option (b) below.
b: Give stations, one pr line, enter to finish, enter for def file statis.def
c: Just make a return and the stations given in file statis.def will be used. The file has one station
per line an dcan be located in either the working directory or DAT.
2. Standard questions about base or filename and time interval
CHAPTER 17. REPORTS AND STATISTICS 202
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 can be more than the number of events. If not counting all phases, the
program gives 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
CHAPTER 17. REPORTS AND STATISTICS 203
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
information about ”.. more than given stations” means that in addition to the stations searched for, the
event had additional stations not used in the statistics.
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 and convert format.. 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 most important program is WAVETOOL which can convert to and from many formats, do instrument
corrections and extract data from continous data bases (SEISAM and archive type) and large MSEED
volumes. Another important program is WAVFIX which can correct binar waveform files ( SEISAN or
MSEED formats) for many parameters.
The following programs are available:
APPEND: Append two or more waveform files following each
other in time
AUTOREG: Automatically register events
CONGAP: Check completeness of continuous waveform
database
CONNOI and EVANOI: Compute noise power spectral density and evaluate
out to produce plots
DATABASE2MSEED: Convert waveform data to miniseed based on para-
metric database
GET WAV: Check for available waveform files
GET ARC: Extract wav files from archive and register in S-file
GET ARC CHANNELS: Get a list of all channels in an archive
MSCUT: Cuts MiniSEED files into 1 hr or shorter files
RDSEED MANY: Simple way to chop up a seed volume
SEIASC: Convert SEISAN waveform files between ASCII and
binary form
SEICUT: Extract an interval of a waveform file
SEIDEL: Splitting up a SEISAN waveform file in 2
SEISEI: Split and merge SEISAN, GSE, SAC and MiniSEED
waveform files
P ALIGN: Time shifting waveform data to align P or S-phase
arrival times
WAVETOOL: Extract waveform data
WAVFIX: Fix waveform file header time correction, make stan-
dard file names, change headers etc.
WAV ADD Add wavform filenames to S-files.
WAVFULLNAME Print full file name including path for waveform file.
205
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 206
c:\seismo\WOR>autoreg
Event type for all events: Local: L (default)
Regional: R
Distant: D
r
Move (m) or copy (c) waveform files to WAV (enter=n) ?
c
Enter wav base to copy/move to, enter for WAV main folder
TEST
Files will be copied to default WAV base: TEST_
Operator, max 3 chars
jh
2004-05-11-0050-42S.NSN___013
sfile: c:\seismo\REA\TEST_\2004\05\11-0050-42R.S200405
Ignore all I
Overwrite duplicate: O
Overwite all duplicates: A
Create a new event, different ID: N
Create new events for ALL duplicates: *o
c:\seismo\REA\TEST_\2004\07\05-1809-44R.S200407
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 13). Since AUTOREG
automatically creates S-files for all events in filenr.lis, they will all be given an event type.
The fields are station and component code, date and time, expected duration and actual time with data.
The output file can be used to produce plots showing data completeness (tool for this not included). When
the program runs it also produces a summary output at the end, where the last column gives the percantage
of data completeness, and the actual and expected times are in seconds:
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 208
--------------------------------------------
# stat comp actual expected %
--------------------------------------------
1 EDI HHZ 86400.00 86400.00 100.0
2 EDI HHN 86400.00 86400.00 100.0
3 EDI HHE 86400.00 86400.00 100.0
--------------------------------------------
The output from CONNOI can then be used as input to EVANOI. You can enter station and component,
give a time interval, select a time of day interval, and chose a reference station. EVANOI produces GMT
plotting scripts files that are named after the station. Then simply run the script file to get a plot.
You can also output the data in a compact format using the -compact option. This output does not work
with EVANOI, but it is fairly easy to read in your own scripts. An example output :
By default, CONNOI calculates spectra every 30 minutes, with each spectra calculated over a 60-minute
interval. You can change this using the -spectlen and -spectspace options, where -spectlen gives the interval
over which to calculate the spectra (in minutes) and -spectspace gives the spacing between spectra with
respect to -spectlen (1.0 for no overlap, 0.5 for 50% overlap, etc). For example:
will calculate spectra over a 60-minute interval, spaced every 60 minutes (no overlap). Finally, you can
calculate the spectra for a single channel of a single station using the -sgram option. This option always uses
the -compact output format and sets spectspace to 1.0. For example:
connoi -start 20100501 -stop 20100502 -cbase BER -sgram TOTI BHZ
Figure 18.1: Example of plot created using CONNOI and EVANOI. The plot shows noise PDFs for station
BER for three components in January 2015.
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 211
The arguments are: -sfile <sfile-name> : The S-file name of the event you want to extract waveform
data from.
-wav files <file-name>: Extract from a list of waveform files in filenr.lis format. Input from S-file
will be ignored. This option merges all files from list (if within a ’reasonable time window’) and program is
then partly doing what SEISEI is doing. If file-name is given as ‘SEISAN’, then the output file name follows
SEISAN convention.
-wav in file: input waveform file.
-maxpoints : Skip points to get approximately maxpoints
-wav out file <file-name>: Name of waveform output file, not used if output format is SAC.
-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. Options are Start time relative earliest
channnel, Abs start time string yy...s.sss for all channels.If ABS time used, string MUST contain a ’.’.Abs
start time string yyyymmddhhmmss (integer), used to define cont start time.
-duration <time>: Select duration of time window in seconds if -start is used.
-interactive : enable interactive mode
-cbase: name of file with selected continuous databases,all bases is default
-command file: give arguments to wavetool in a file rather than on the command line (used by Seisweb)
-cwav: Input is from the SEISAN continuous data base, useful for extracting intervals
-cseed: Input from large SEED file, similar to -cwav -wav in file <file-name>: Input of one waveform file
-arc: Input from BUD or SeisComp archive.
-sfile <file-name>: Input of S-file name
-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. SEED is also possible on Linux.
-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.
-chan out file: file name of file with channel description if this option is given, program terminates after
writing out the file.
-chandef <file-name>: change station and/or channel names following standard also used in the conver-
sion programs, for example:
Header line text (29 chars) ... NetCd (5 Chars), comment in next line
3
1 60 300
2 60 300
3 60 300
The program assumes that a large number is absolute time.
-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.
Example
then 10, output will be scaled in SEISAN format. Note: Parameter MERGE WAVFORM in SEISAN.DEF
sets the network extension of extracted files.
18.7 GET ARC, extract waveform files from the archive corre-
sponding to S-files and register the name in the S-file.
The program uses an S-file as input (one or many files). The stations to select from the archive can be
user specified, all stations with readings, all stations in archive or all stations in a given distance from the
epicenter. All channels for each station are automatically selected and there is no option for selecting e.g.
all Z-channels. The output file get arc.out contains the input data with the waveform file line added. If the
process is done twice and the same waveform file name is created, it will only be recorded once in the S-file.
The output file must be split into the data base and possibly overwrite existing S-files. The program can
also be run with arguments for the operator and file e.g. get arc collect.out bb. This option is used when
the program is called from EEV with commend ARX.
Example run
get_arc
Give operator
jh
Give input file
collect.out
Interval in number of seconds before and after origin time
Default (enter) is 30 and 300
50 500
Extract stations with readings: enter
all channels in archive: a
for given stations interactively: s
for stations in a file: f
for stations at given distance to epicenter: d
for stations to given distance to given point:p
a
In details, the options are: Default: Use stations with readings. If a station has more than one reading,
it is only selected once.
a: All channels in archive. If a very large network, this option might select too much.
s: For given stations. Give station codes, one per line.
f: For given stations. Give stations from a file, one per line.
d: Use all stations in archive within a given distance. If there is no epicenter, the stations in S-file will
be used. If no stations in S-file, all station in archive will be used.
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 214
p: Use all stations at a given distance from a point. The user will be asked for the latitude and longitude
of point and distance.
.:
2019
2020
2021
2022
./2019:
HA
HC
HI
HL
HP
HT
./2019/HA:
ATAL
ATHU
AXAR
FYLH
KALE
KARY
LAKA
LOUT
MAGU
MAKR
SNT5
STFN
VILL
./2019/HA/ATAL:
HHE.D
HHN.D
HHZ.D
MME.D
MMN.D
MMZ.D
SOH.L
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 215
./2019/HA/ATAL/HHE.D:
HA.ATAL..HHE.D.2019.225
HA.ATAL..HHE.D.2019.226
HA.ATAL..HHE.D.2019.227
HA.ATAL..HHE.D.2019.228
HA.ATAL..HHE.D.2019.229
.
.
Which channels like HHE or **Z, enter for all, else one per line
* is wild card
**Z
The user can select two formats ARC or ARC2. There are also options for selecting out particular
stations, channels or networks. If choosing ARC2, the ARC2 line archive identification will be given the
name arc loc, later to be associated in SEISAN.DEF with the location of the archive. The start and end
time for each channel is determined from first and last channel found in the archive. Files with channel code
LOG are ignored.
get_wav
INPUT FILE NAME
select.out
Where to copy files to, default . on Linux and blank on Windows
The ’where to copy’ option can be used to write the complete path to where files are copied. This option
is only used for waveform files, not calibration files. Note: On PC the files copy wav and copy cal have
names copy wav.bat and copy cal.bat, respectively
In the above example, a select.out was used. For each file, it is checked if the waveform and response
files are available in the system. All waveform data bases and directories specified in SEISAN.DEF are
searched. Calibration files are seached for in working directory and CAL. 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 to working directory. On Unix, just source the copy wav.out file, on Windows, change the
file to a .bat file (e.g. copy get wav.out wav.bat) and run it. For the calibration files there is similarly a
file called copy cal.out.
MSCUT chop up MiniSEED files
The program cuts up MiniSEED files into 1 hour, 15 minutes or x minutes files. Where 60 modulo x is
equal to zero. Note that mscut is splitting miniseed files at block level and not at the first sample in the
new minute, in order to keep the original header information. To compile the program, the miniseed library
libmseed by Chad Trabant is required. The options are
-H Cut into one hour files (default)
-Q Cut into 15 min files
-D Cut into files with a duration defined by minutes
60 modulo the number of minutes must be zero.
-V Report program version
-h Show this usage message
-v Be more verbose, multiple flags can be used
-p Print details of header, multiple flags can be used
-s Print a basic summary after processing a file
-r bytes Specify record length in bytes, required if no Blockette 1000
file File of Mini-SEED records
rdseed many
Seed file name
test.seed
start time YYYY,MM,DD,HH,MM
2005 01 01 01 01
Interval in minutes
20
Number of intervals to extract
200
The output format is SAC, other format require a change of the program.
The program will generate 2 new files, one with the channels removed and one with the remaining
channels. The original file is still present.
Works ONLY with SEISAN format
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 218
• Waveform files with time shifted headers, all have the same time, but station names are labeled STA01,
STA02 etc in the same order as given in input file. Only first 3 letters of station code is used.
• tsd.out : A file in Nordic format with the new waveform file names of the time shifted data. This
file can be split and then used with EEV for plotting all traces. It can be split into a local data base
or any other data base. Or copy tsd.out to a file e.g. named 27-1200-00L.S207011 and then start
EEV.
The waveforms in the output file tsd.out can also be plotted with the command mulplt -sfile
tsd.out.
The arrival time of the selected phase in the new waveform files is the pseudo date and time: 2070-11-27
12:00.
Note: The station name is renamed in the output. If there are more than one P-phase observation for a
single event (e.g. Pn and Pg, or P read on two different channels) it is the first P that is time shifted. The
program can only time shift 99 waveform files and they have to be in SEISAN format. The waveform file
must be present in the working directory.
Figure 18.2 show an example.
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 219
Figure 18.2: Example of aligning traces from 5 events for the same station. Note that the alignment is
critically dependent on the original P-picks.
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 220
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.
ONLY the first waveform filename in the Noridc files is used.
WAVFIX will also take input from the prompt. Writing wavfix -help gives
wavfix -help
wavfix
usage: wavfix -infile <infile> [-uncertain_time -polarity] [-time_correction <x in seconds> ]
-uncertain_time add uncertain time flag to all channel headers
-polarity change polarity
-time_correction apply time correction of x seconds
The uncwrtain time option does not seem to work for MiniSeed output.
Example of running WAVFIX
CHAPTER 18. WAVEFORM FILE MANAGEMENT TOOLS 221
18.18 WAVFULLNAME
Prints full filename including path for a waveform file by searching directories and databases specified in
SEISAN.DEF. Filename is to be given on prompt line, e.g. wavfullname 1996-06-13-1248-15S.NSN 003.
Chapter 19
There are mainly two types of files to convert, parameter files with readings and related parameters and
binary waveform files.
The conversion to Nordic format from some other format will in many cases be to Nordic format and
not to Nordic2 since many formats now are rarely used. The most used programs convert to Nordic2 like
IMSNOR. If the program converts to Nordic format and you need Nordic2, use program NOR2NOR2 to get
Nordic2 format.
222
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 223
that is used since it is assumed that it is the prime estimate. When making compact files it is also the first
header line, 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.
Optionally, also hypocenter type M lines can be used as type 1 lines. The output file cat aga.out will
contain the sorted events.
DELS, deletes parts of S-file
DELS, program to delete specific lines in an S-file with one or many events
There is often a need to delete particular parts of an event file like the spectral lines or the P-phases etc.
Below is an example run.
C:\\seismo\\WOR>dels
hyp.out
Any combination of options can be selected or deselected. The output is in file dels.out. If used withing
EEV, it is used with current event S-file. Note: Option 11 can use several stations and all phases for those
stations are deleted, however not SPEC phases.
A special option is 99. This will write out IAML amplitudes for Z, N and E if all three present. Output
file is dels amp.out. The program can also be used with arguments
First argument is file name
Second argument is optionally ’overwrite’ meaning that input file will be overwritten, can only be used
with a file with one event, if more program stops. Third argument is operator
The last two arguments are used with EEV, command dels in EEV.
EDRNOR: USGS monthly bulletins (EDR files) to Nordic format
Program to convert USGS weekly EDR files (ftp://hazards.cr.usgs.gov/weekly/mchedr*) to Nordic format.
The program is written by Mohammad Raeesi (email [email protected]).
ISCCSV2NOR: ISC CSV catalog to Nordic format
Program converts csv ascii format to nordic format, csv is used by ISC for catalog data. Only the first 3
magnitudes are used, if a magnitude type in input is b1, output type is x.
GIINOR, Geophysical Institute of Israel to SEISAN
The input files are the bulletin type files.
GSRNOR, Geophysical Survery of Russia to Nordic
Program to convert data from Geophysical Survey of Russian Academy of Science to SEISAN Nordic
format.
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 225
2020 9 1 1738 58.26L 44.010 39.302 10.5 GS 4 .33 2.1LGS 2.1 GS 2.1LGS 1
GAP=237 2.6 2.6 1.1 E
2020 9 1 1738 58.2 L 44.010 39.302 10.5 ORG 4 .33 2.1LORG 2.1 ORG 1
2020-09-01-1736-59M.TEST__012 6
Magnitude Mp: 2.1 3
Energy class: 5.3 3
ACTION:H71 20-11-09 18:57 OP:jh STATUS: ID:20200901173858 I
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
GOYR EZ EP 3 1739 4.38 0.830 26.9 13
GOYR EN IS 1 1739 7.22 -.220 26.9 13
GUZR SZ IP 0 1739 10.43 0.250 65.6 91
GUZR SN IS 1 1739 18.83 -.080 65.6 91
VSLR EZ IP 1 1739 13.12 -.420 84.9 136
VSLR EN ES 2 1739 24.98 0.250 84.9 136
GRYR EZ IP 1 1739 22.90 -.020 144 85
GRYR EN IS 1 1739 40.52 -.430 144 85
GOYR EZ AMP-P 1739 6.38 40.0 0.72 26.9 13
GOYR EN IAML 1739 6.57 150.0 0.92 26.9 13
GOYR EE AMP-S 1739 9.22 160.0 0.62 26.9 13
GUZR SZ AMP-P 1739 12.44 10.0 0.20 65.6 91
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 226
c:\seismo\WOR\gsrnor
Give input hypo file
sep.bin
Give input arr file
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 227
sep.arr
Give operator, max 3 chars
jh
Time difference in secs for wav file to be include in s-file, def 600s (enter)
Model number 6
Number of phases found in hypo file 50
Waveform file added 2020-09-01-0049-29M.TEST__075
2020 9 1 059 6.06L 43.997 39.142 7.59 GS 25 1.0 3.4LGS 4.9 GS 3.4LGS
Model number 8
Number of phases found in hypo file 6
Waveform file added 2020-09-01-1038-00M.TEST__009
2020 9 1 1040 31.78LE 44.808 37.642 0.00 GS 3 .28 3.4LGS 2.0 GS 3.4LGS
.
.
.
.
.
Model number 8
Number of phases found in hypo file 8
Waveform file added 2020-09-23-1034-59M.TEST__012
2020 923 1037 19.38LE 44.835 37.638 0.00 GS 4 .29 3.1LGS 2.2 GS 3.1LGS
**************************************************
Special option for rewriting SAC response files
**************************************************
The GSR response files are not written in a standard way as used by SEISAN so they have to be rewritten
A GSR response could have the name GOYR_EHZ_2017jul14.sac while the corresponding name in SEISAN is GOYR
The GSR file looks like
# Station GOYR
# Channel EHZ
# Location ??
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 228
# Network OBN
# Time 2017.07.14 00:00:00
ZEROS 3
POLES 6
-2.9102 0
-1.5196 0
-176.198 -420.291
-176.198 +420.291
-336.6282 -84.213
-336.6282 +84.213
CONSTANT 1.548e19
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, it is as-
sumed also to be the same as for hypocenter. Only first 3 charac-
ters of code is 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, be-
tween 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 are always relative to the ISC identified phases.
Running ISCNOR:
Below is an example of a run where a latitude - longitude window has been used.
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.
ISCSTA, selecting stations in the complete ISC station file
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
the latest ISC format as found on the ISC home page. 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
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.
Optionally, the output can be in high accuracy format, but that is generally only needed for very small
networks or small arrays. The latest version of the program supports 5 letter station codes. As of April,
2020, the ISC list contains more then 27000 stations. Hypocenter can work withe 30000 stations.
NOTE: The ISC file must only have the stations so remove any text before or after the list.
In ISF2, there can also be component, network, location, phase agency, phase operator. However, network
often wrong so not used.
At ISC, the incoming phases are reinterpreted. This is particularly unfortunate for crustal phases, like
Pn, which then no longer is Pn as a refracted phase but rather a direct phase. However, for events not
processed by ISC, the original phase names remain. This will create an inhomogeneous data base for user
who want to process data located by ISC and located by a local agency. Consequently all Pb, Pn, Sb and
Sn phases have benn changed to P and S. Pg/Sg are also chenged to P and S. THIS PHASE CHANGE IS
DONE FOR ALL EVENTS, ALSO EVENTS NOT PROCESSED BY ISC since it seems that picking of n,g
and b-phases is not consistent. This unfortunate situation with the ISC reinterpretations has been created
by the way the AK1535 software works according to Dmitry Storchak at the ISC (personal communication):
” Regarding the crustal phases, it is true that Pn, in its IASPEI standard understanding ¡http://www.isc.ac.uk/standards/p
is also the P-wave that bottoms in the uppermost mantle. The working group (which included yourself) has
decided at the time that we must follow the ak135 notation, simply because the corresponding code did not
differentiate between the classical Pn travelling as a headwave alongside the Moho and the branch of direct
P that leaves a source in the uppermost mantle ( 400km), bottoms no deeper than that and eventually going
up towards a station. I recall that Peter Bormann wasn’t particularly easy about it, but connection with
ak135 and corresponding software was dearer, so he reluctantly agreed.”
Hypocenters
Hypocenters are ordered according to a hardwired table in program. The same order is used for the
magnitudes. However, the prime solution (ISC or the last in the list) always come first since residuals
are referred to that solution. The priority is: ISC, NEI, GCM, IDC. The list is hardwired in routines
sort source info.
Relocating ISC events gives higher rms with SEISAN. Part of the problem is that epicentral distance is
different, at certain distances up to 100 km. The travel time model is also different. Using residual weighting
gives similar rms to ISC, might be what ISC is using.
Fault plane solutions
Fault plane solutions are also ordered, different table. The priority is: GCM, NEI and ISC.
Magnitudes
Only standard magnitudes are put on header lines, same order as for hypocenters. The first 5 magnitudes
are put on first hypcenter, the rest distributed among following hypocenters and if more put in as comments.
The first magnitude is repeated in 3. position on header line, therefore only 5 different. Non standard
magnitudes are listed in comments.
Macroseismic data is not included, but if event is felt, it is marked with a blank type 2 line.
Event type
IMS use the folloing characters to define event types:
The leading characters are
s = suspected
k = known
f = felt (implies known)
d = damaging (implies felt and known)
The trailing characters are
c = meteoritic event
m = mining explosion
e = earthquake
n = nuclear explosion
h = chemical explosion
r = rock burst
i = induced event
x = experimental explosion
l = landslide
In SEISAN they are converted to event types using the 2 or one letter(s):
se to E = mining explosion
n to E = nuclear explosion
sh to P = probable explosion
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 234
ke to Q = known earthquake
se to ’ ’ = probably earthquake
sl or kl to L = probably or know landslide
si or ki to I = probably or known induced event
f or d indicated as a felt event (type 2 line)
All remaining IMS types are ignored (blank)
To run the program type imsnor and you get question about the input file. When writing the output file
the main header is duplicated.
Optinally you have the following arguments:
-infile: name of input file
-agency: the agency code given to the prime hypocenter and magnitude if they are blank.
-def dup: the agency code given to the duplicated prime hypocenter and magnitude.
-dist indicator: distance indcator. By default the distance indcator is R, can be set here.
NORCSV, NORDIC to CSV format
The program converts the date and time, hypocenter location and magnitude to a simple CSV file that can
be loaded into spreadsheet software. An example of a line is
where the columns are date, time, latitude, longitude, depth, magnitude and magnitude type. The mag-
nitude with type of the highest priority is selected as given by the magnitude order in SEISAN.DEF. For
example ML from your agency may be given priority over MC, or you may prefer your ML over that from
another angency.
NORGSE, NORDIC from and to GSE parametric format
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.
NORHIN, From Nordic to Hypoinverse archive format
The program is started by typing norhin input-file. The output file is norhin.out. For more details, see
program HYPINV. indexHYPINV
NOR2NOR2 Converts NORDIC phase readings to and from old style to new style introduced in 2021.
The program is started by typing nor2nor2 or by typing
nor2nor2 -format 2 -file input-file [-aga xyz] [-ope abc]
Where if format is 1 the program converts from new format to old format, and if format is 2 the program
converts from old format to new format. Using the aga flag one can add the agency id on the phase readings
in the new format. Using the ope flag one can add the operator id on the phase readings in the new format.
The output file is nor2nor2.out.
NOR2QML From Nordic to and from Qml. The program has many options, see below. To simplify,
there are two scripts:
NOR2QML filename
QML2NOR filename
They have some fixed options so if only converting one file in working directory, they are the easiest to
use.
NORHYP, From Nordic to HYPO71 format (SUN and PC)
The program is written by F. Courboulex. The program asks for the input file name and the output file
name is norhyp.out.
NOTE, the program expect there to be a type 7 line for each event, else it will not output anything.
PDENOR, converting PDE bulletin file to NORDIC format
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 for the monthly files and PDEWE for the weekly files. This database must have been created before
running the program. Both CAT and S-files are made and SELECT and EEV can be used afterwards. Files
can be received by email or picked up at hazards.cr.usgs.gov, dir pde for monthly files and weekly for weekly
files, must be ehdf type.
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 235
RSANOR
Program converts between format used by “Red Sismologica de Andalucia” and a few others in Spain.
NOR2QML
NOR2QML is an program that enables conversion of parametric data in NORDIC format into QuakeML
and QuakeML to NORDIC format.
The program is described in detail in section 19.1.1.
An online NOR2QML service that enables conversion of parametric data in NORDIC format into
QuakeML and QuakeML to NORDIC format is found at http://nnsn.geo.uib.no/nor2qml/
Nordic → QuakeML
Convertsion from Nordic format to QuakeML is found at http://fnsn.geo.uib.no/seis2qml/sfile-to-quakeml.
Here one needs to select a file in Nordic format on the local harddisk, next select ”UPLOAD ALL”. A new
window will open where one can choose QuakeML version, prefix and autority ID. Autority ID is important
if the data will be made public.
Next choose ”GENERATE XML”.
Type in a filename for the QuakeML file that is generated and select ”SAVE FILE”.
QuakeML → Nordic
Conversion from QuakeML to NORDIC format is found at http://nnsn.geo.uib.no/seis2qml/quakeml-to-sfile/
web-service.
There are three options:
1: ”Web-Service link” provide conversion from third party QuakeML web services. Type in the URL from
a web service in the box (see ”Click here for an example”) and select ”GENERATE”.
2: ”XML text” converts plain text QuakeML into Nordic format. Paste the QuakeML format into the box
and select ”GENERATE”. In the new window enter name of output file and select ”SAVE FILE”, below is
the Nordic format shown.
3: ”XML file” converts QuakeML files the Nordic format, select a QuakeML file on the local harddisk and
select ”UPLOAD”. In the new window enter name of output file and select ”SAVE FILE”, below is the
Nordic format shown.
Please report bugs to the developer, Christian Rønnevik, University of Bergen.
SEIGMT, Nordic to GMT input
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
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.
The files written by SEIGMT are:
gmtxy.out - event locations, to be plotted with psxy
gmtxyz.out - event locations and depths, to be plotted with psxy
gmtstxy.out - station coordinates (longitude, latitude and station code)
gmtpath.out - travel path data, to be plotted with psxy
psmeca.out - fault plane solutions, to be plotted with psmeca (Aki and Richards convention)
SELMAP, selecting a subsection of a MAP file
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 also creates an output file in xyz format for the Lomax SeismiciyViewer. The
program can output a smaller number of points than available in the input file by using the parameter skip.
STASEI
Converts the official global station file from USGS (comma format) or ISC global station file to SEISAN
station format (same as HYPO71 format with SEISAN extension for 5 letter station codes). A list of most
global stations are now found on the SEISAN CD. It seesm that the USGS format is no longer used.
USGSNOR, USGS catalog to NORDIC format
The program converts USGS CDROM hypocenters to NORDIC format. Most of the information is used.
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 236
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
4. Arguments
The two first sections describe the conversion from the Nordic format to QuakeML. The third section
gives an explain on how to enable conversion from QuakeML to the Nordic format. The fourth section gives
an overview of all the possible arguments that can be used within this application along with default values
for each argument.
How to run the application
Make sure that you have java installed. Check by typing ”java -version” into the terminal.
Run without options in the SEISAN environment:
Two scripts (in COM) have been made to facilitate the simplest way of converting. The scripts are:
norqml filename.out
to convert filename.out to qml. The output filename is nor2qml.xml.
qmlnor filename.xml
to convert from qml to Nordic. The output filename is sfile.out.
In addition an alias has been defined for nor2qml (java -jar $ SEISAN TOP/PRO/nor2qml.jar) to make
it easier to used the converter with all options, see below. The default is to convert to Nordic format. If you
need Nordic2 format, either run the complete Java command with flags as described below or change the
script in COM.
Input
The application has a built-in file scanner, which is designed to identifying s-files within in SEISAN catalog
structures. Hence, a folder will only be scanned if the folder name follows the convention of a catalog name
with underscore (” ”) at the end, for example the catalog name ”NNSN ”. The file scanner will also search
through folders with a folder name of numbers, which is true for the catalog’s subsequent folders of year and
month. Examples of valid input for folders are:
" Folder (whole catalog): "<path to seisan>/SEISMO/REA/NNSN_"
" Folder (specific year): "<path to seisan>/SEISMO/REA/NNSN_/2014"
" Folder (specific month): "<path to seisan>/SEISMO/REA/NNSN_/2014/09"
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 237
During file scan, only files that has the extension starting with ”S” will be read. However, if the given input
path is pointing at a single file, the application can read any file regardless of extension or filename. Hence,
following examples of file input can be used:
" File (particular file): "<path to seisan>/SEISMO/REA/NNSN_/2014/09/01-2050-05L.S201409"
" File (particular file): "<path to any folder>/testfile.out"
Output
The output argument has a default value of the path where the application (jar file) is located. If you
are running the converter through the seisan structure it is recommended to specify another path for the
output. The ouput value should the complete path with a filename and extension at the end of the path.
If converting from Nordic to QuakeML, please give the ”xml” extension. If converting from QuakeML, you
are more free to chose extension, but as a guideline you can use the ”.out” extension. Example for running
the application
In SEISAN environment
In Java environment
Configure ID generation
Within QuakeML, each entity has a public ID for identifying each resource given. This may for instance be
a particular event, origin, magnitude, or amplitude. The resource IDs is crucial for linking these entities.
The application has a build-in ID generator that follows the QuakeML standard of resource identifiers. By
default, these identifiers are built by some predefined values and attributes given by the event itself. The
attributes taken from the events are fixed, but two of the predefined values can be overwritten by providing
arguments. Since the application provide default values, the conversion can take place without specifying
these arguments, but it is recommended that you at least give a value for the authority ID as this will link
the resource to your institution. Before explaining which arguments to use, a brief overview of the resource
identifiers by QuakeML is given.
[smi|quakeml]:<authority-id>/<resource-id>[#<local-id>]
An example can be ”no.uib.nnsn”, where ”no” (Norway) is the top-level country domain, ”uib” (University
of Bergen) is the organisation and ”nnsn” (Norwegian National Seismic Network) is the sub-unit of the
organisation.
Example with ID generation
Running the application for an s-file within the NNSN catalog could then look like this:
In SEISAN evironment
IN Java environment
To convert a QuakeML file to the Nordic format, three arguments is required: convert, input and output
arguments. For SEISAN environment, the convert argument is already predefined and can thus be omitted.
Description about the input and output parameters are given in the section above on how to run the
application. For Java environment, the convert argument is by default set to ”q” (meaning QuakeML),
specifying the output format. Similarity ”s” can be given to point to s-file output in the Nordic format.
Thus, in order to convert to Nordic, attach –convert=”s” to the command. The order of arguments does
not matter.
The full command would then looks like:
Configuring to read from a QuakeML web-service requires four arguments: output, convert, source and
url. Both output and convert are set in a similar fashion as for converting a QuakeML file (see previous
section). The source parameter is telling the application that it should fetch data from either a file or an
external web-service. The default source value is file. To fetch data from a web-service, attach -source=”ws”
to the command. As a web-service is an external source, an internet connection is required to make use of
this command. In addition to source, an URL to the web-service is also required and should be given in
with the URL parameter , by attaching -url=”¡path to web-service¿”.
The full command would then looks like:
Arguments
General Arguments
Key Value type Default value Description
–convert ”q” or ”s” (type ”q” Specify to which format the files should
String) be converted to. ”q” means convert
from s-files to QuakeML, while ”s”
means convert QuakeML to s-files.
–input Path (type String). Current path Select where the input files are. If
The value must be no path is specified, the program will
enclosed with ””. search the current folder for files to be
converted.
–output Path (type String). Current path Select where the converted file should
The value must be be placed. If no path is specified,
enclosed with ””. the program will create a single file
in the current folder with the filename
and extension to either ”quakeml.xml”
or ”sfile.out” based on the conversion
type.
QuakeML specific arguments
Key Value type Default value Description
–version ”nordic”, ”1.2” Specifying the QuakeML version out-
”nordic2””, 1.2” or put.
”2.0”
–prefix String that should ”smi” Specifying the prefix of generation of
be ”smi” or IDs
”quakeml”
–agency String ”authorityid” Specifying the agency for generation of
IDs (e.g. ”no.nnsn”)
–source String that should ”file” Specify if the source is a file or a web-
be ”file” or ”ws” service (ws)
–url String (mandatory Specifying the url if the source is a web-
if source is ws). service
The value must be
enclosed with ””.
References
[1] https://quake.ethz.ch/quakeml/docs/REC?action=AttachFile&do=view&target=QuakeML-BED-20130214b.pdf
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 is being
taken care of by having a definition file, and 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 as input (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).
When converting between the major analysis format (MiniSEED, SEISAN, SAC and GSE) mostly using
program WAVETOOL, only SEISAN and MiniSEED will preserve the network and location codes as well
as the flag for uncertain timing since the other formats only partly have room for this information.
Conversion programs definition file
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.
Default assignment of station code and component:
This is very much dependent on the conversion program used since some data files have complete
information and others very little, see description of individual programs in manual or at start of source
codes. In all cases, the conversion program will make both station and component codes based on what is
available of information in the input files. IT IS THESE CODES THAT are used for input code as described
below. In order to find out what they are, it is easiest to run the conversion program once (without a def
file) and see what codes the program assign. Alternatively, some of the programs have documentation in
the manual. Some of the station codes might be instrument serial numbers, which are not always known.
Therefore, running a test might be the best way to find out.
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.
Principle of conversion in order of precedence:
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 char-
acters. 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:
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 241
The ARCFETCH and RT SEIS programs, both part of the RefTek software package, have to be installed
(see RefTek documentation) and the PATH variable set to include the directory where the programs are
stored. It is assumed that the RefTek data archive exists and that the user is familiar with the content of
the archive. The archive content can be shown with the command ARCINFO. To test that the program is
installed correctly, open the Windows command tool (from the menu, or by selecting Start . Run . cmd)
and type ARCSEI <RETURN>.
The definition file: arcsei.def
The purpose of the definition file is to set some parameters needed to run ARCSEI, however, the program
also works without. The arcsei.def file can either be stored in the seismo/DAT directory, or the current
working directory. The program first checks in the current directory. The arcsei.def file should be adjusted
to the user’s set-up, before ARCSEI is started.
The parameters are:
ARCHIVE: The path of the RefTek data archive, can also be entered manually
at run time.
OUTPATH: The directory in which the SEISAN files are to be stored. The
default is ‘.\’ (the current directory).
MERGE: Select if SEISAN files from several stations for the same time
interval should be merged (Y), or not (N).
NETWORK CODE: Network code used in case SEISAN files are merged.
CHANNEL: Data channel in RefTek archive consisting of the unit, stream and
channel (unit,stream,channel). The * can be used as wildcard to
select all streams or channels, BUT not to select all units (since
ARCFETCH is used in cooked mode, which means that the time
interval extracted matches the input start- and end-time.
Example of the arcsei.def file
KEYWORD............Comments.............Par1........................
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 244
arcsei <RETURN>
ARCSEI - DATA EXTRACTION FROM REFTEK ARCHIVE AND CONVERSION TO SEISAN FORMAT
Return to accept default, which is set in the arcsei.def file, or give the archive path.
Type channel and <RETURN>, if defined in arcsei.def channels are listed, otherwise an example is
shown. The channel is given as unit,stream,channel. Wildcards can be used for stream and channel, but not
for the unit.
NEXT CHANNEL OR RETURN TO CONTINUE
Additional channels can be entered, to continue press <RETURN>.
DELS, program to delete specific lines in an S-file with one or many events
There is often a need to delete particular parts of an event file like the spectral lines or the P-phases etc.
Below is an example run.
C:\\seismo\\WOR>dels
hyp.out
Any combination of options can be selected or deselected. The output is in file dels.out. If used withing
EEV, it is used with current event S-file. Note: Option 11 can use several stations and all phases for those
stations are deleted, however not SPEC phases.
A special option is 99. This will write out IAML amplitudes for Z, N and E if all three present. Output
file is dels amp.out. The program can also be used with arguments
First argument is file name
Second argument is optionally ’overwrite’ meaning that input file will be overwritten, can only be used
with a file with one event, if more program stops. Third argument is operator
The last two arguments are used with EEV, command dels in EEV.
DIMASSEI, USGS DIMAS to SEISAN all, chan. def. yes, resp yes
Converts Dimas files to Seisan format.
DRSEI, Sprengnether data recorders to SEISAN all, chan. def. yes, resp yes
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 are used. If station codes are set up, these are used, else the serial numbers are used for station
codes.
GIISEI, Geophysical Institute of Israel to SEISAN all, chan. def. yes, resp yes
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.th character of station name indicates
component (N or E), that is blanked out and transferred to 4.th character of component name BEFORE
using the def file conversions.
GURSEI, Güralp to SEISAN all, chan. def. yes, resp 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 1 200 000, channels codes can be defined using the gursei.def definition
file. If no definition file, the station name is the first 4 letters from internal station name and the component
is BH Z. If a file name indicates that the file is thought to be from AFAD, no def file is used since it is
assumed that intern codes are correct. .
GCF2MSD MANY
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 248
Runs Güralp gcf2msd many times from files in a file structure. It is only tested for one particular structure
with 15 min files, so the program has to be adopted to other structures. Requires program gcf2msd from
Güralp.
GSERESP, conversion between GSE and SEISAN response files all
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).
GSRSEI, GeoSig to SEISAN all, chan. def. yes, resp yes
Converts from GBV recorders to SEISAN. GeoSig was earlier GeoSys. Before version 8.1, there was a bug
in program so start time was wrong by the amount of the prevent time.
IRISEI, IRIS ASCII to SEISAN all, chan. def. no, resp 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.
ISMSEI, ISMES to SEISAN PC, chan. def. no, resp no 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.
KACSEI: Kinemetrics ASCII acceleration to SEISAN all, chan. def. yes, resp yes
Kinemetrics ASCII film record acceleration files (type *.v1) to SEISAN. It is assumed that:
- channel 1 is N, 2 is Z and 3 is E
- there are always 3 channels in file
- input values are in 1/10 g, the output is in 1/1 000 000 g
- station code is taken from file name as given in first line of input file
- the 3 channels can have different number of samples, however it is assumed that they all start at the
same time
KINSEI, Kinemetrics DATASEIS to SEISAN PC, chan. def. yes, resp yes
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.
K2SEI, Kinemetrics K2 to SEISAN PC,Linux, chan. def. yes, resp 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.
LEESEI, Willy Lee binary files to SEISAN PC, chan. def. no, resp no
The number of channels is fixed to 16 and the time information is not read, it must be entered when
converting the file.
LENSEI, Lennartz ASCII to SEISAN all, chan. def. yes, resp yes
NANSEI, Nanometrics to SEISAN or mSEED PC, Sun, chan. def. yes, resp no
The program converts from the Y-file format to SEISAN waveform format or MSEED. 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 (Solarisi, only available in older versions of SEISAN) or
*.DLL files (PC), which are included and installed with SEISAN (see installation section). These libraries
are not available un Linux. The program converts single channel files only.
NEISEI, NEIC digital data to SEISAN PC, chan. def. no, resp no
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.
OS9SEI, converting SEISLOG files to SEISAN PC, SUN, chan. def. no, resp yes
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.
PCQSEI, converting PCEQ format to SEISAN PC, chan. def. yes, resp no
PCEQ format to SEISAN. Earlier used with IASPEI software libraries.
PDASEI, converting PDAS files to SEISAN all, chan. def. yes, resp yes
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 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.
PSNSEI, Public Seismic Networks to SEISAN all, chan. def. yes, resp 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. There might be a newer version of PSN format not supported.
QNXSEI, SEISLOG QNX version to SEISAN all, chan. def. no, resp 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 B. The program recalculates the sample rate based 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.
RSASEI, Andalucian Seismic Network to SEISAN all, chan. def. yes, resp yes
Conversion of network and broad band files to SEISAN format. Covers several versions of the DTS format
also used by other institutions in Spain. Not tested on Linux.
RT SEIS, Reftek Passcal to SEISAN PC, chan. def. no, resp no
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. In order to make use of the RTU.INI definition file, the environmental
variable RTU needs to be set to for example c:
seismo
dat (see RefTek documentation for more details). This file can be used to set station names for respective
unit IDs.
Example of RTU.INI:
[8020]
Station=SB00
Network=CTBTO
CH1Band=
CH1Type=
CH1Axis=a
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 250
CH1Loc =
CH2Band=
CH2Type=
CH2Axis=b
CH2Loc=
CH3Band=
CH3Type=
CH3Axis=c
CH3Loc =
[8021]
Station=SB01
Network=CTBTO
CH1Band=
...
SEI2PSXY
Converts waveform file to GMT psxy trace plotting ASCII file. The output files have one line for each sample
giving the date and time and amplitude value, e.g.:
2005/06/16T00:59:59.51 -40.0000
Each trace will have its own file and the output names are given for each like
Output file name: 2005-07-31-1544-10S.STOK 003 STOK S Z
Output file name: 2005-07-31-1544-10S.STOK 003 STOK S N
Output file name: 2005-07-31-1544-10S.STOK 003 STOK S E
To plot the trace data with psxy, use projection ‘-JX<xsize>T<ysize>’ and option ‘-R’ giving time
range in the same style as the data. To plot the data the gmtdefaults should be set to ‘gmtset IN-
PUT DATE FORMAT yyyy/mm/dd INPUT CLOCK FORMAT hh:mm:ss.xx’. See psxy man pages for
more details.
SGRSEI PC, chan. def. yes, resp yes
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.
SEED
The Standard for Exchange of Earthquake Data (SEED) format is defined by the Federation of Digital
Seismographic Networks (FDSN). The rdseed program is distributed with SEISAN to extract data from
SEED volumes. 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://www.iris.washington.edu/pub/programs. A PC
version (rdseed.exe) is distributed with SEISAN CD (also on home page). SEED volumes contain the
complete response information, details on how to convert the SEED response to GSE response format can
be found in Havskov and Alguacil (2004).
SEIM88A, conversion from SEISAN to MARS88 ASCII format all, chan. def. no, resp no
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 used as input.
SEIPITSA all, chan. def. yes, resp yes
The program converts from SEISAN to PITSA ASCII format and back. 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.
SEISAF, SEISAN to SESAME ASCII all, chan. def. no, resp no
The 3 first channels in SEISAN file are read. There is no check if from same station. It is assumed that the
order in SEISAN file is Z,N,E, that all 3 channels have the same start time, number of samples and sample
CHAPTER 19. FILE CONVERSION AND MODIFICATION PROGRAMS 251
Program to convert any seisan waveform file to a 2 column ASCII file. One file will be made per channel
as well as one file for all the converted data. The start of the converted file looks as follows:
31.490 2159.00
31.515 3002.00
where the header has station, component, location, network, time, number of samples and sample rate.
The following times are referred to the minute in the header.
the channel output filename is like
2007-09-28-1345-31A.COCO BH E
where a stands for ASCII
The input can be an s-file where all waveform files in s-file will be used or it can be a waveform file or a
filenr.lis of waveform files.
Chapter 20
The SAC software is interfaced to SEISAN and can be started directly from EEV. This is done since SAC
has functions that SEISAN does not have. It only operates on Unix.
20.1 SAC2000
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 gen-
eral 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 WAVETOOL 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
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
WAVETOOL, GSESEI or SACSEI, and the programs can be started without using EEV.
254
Chapter 21
The section describes the routines in SEISAN that can be used for analysing data automatic.
255
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 256
If input is from a data base or index file, the results are also written back to the data base, overwriting what
was there from before. The ID line is not updated by AUTO. When picking automatically, a few bad picks
can throw the solution off so for a local event, the distance might wrongly be very large. It is then important
that the range used for distance weighting in HYP is large so the initial wrong location can be made and the
outlier rejection gets a chance to eliminate bad picks. Doing fault plane solution is only recommend with
very good data. It is then important to use at least the default values set for both minimum number of
polarities and maximum az gap. Note the gap is not the gap as in a hypocenter solutions but the gap when
polarities are plotted on the projection on the focal sphere.
See list of argument below
c:\seismo\PRO>auto help
Write auto help to get list of arguments. If no
arguments, all defaults are used. This is autophase,
location with outlier rejection and ML and spectral Mw
When using amplitude ratios for fps, velecity is the harwired default.
where xxx is a single event S-file and yyy is one waveform file in MiniSeed format. AP can only work
with one S-file.
AUTOPHASE also has other options not used in SEISAN, see RTQUAKE manual:
ftp://ftp.geo.uib.no/pub/seismo/SOFTWARE/RTQUAKE/
Parameters
AUTOPHASE has no parameter file since it seems that the default parameter work will in most cases.
Default FilterPicker parameters are set at the top in the source program under the comment:
”Default FilterPicker parameters” and can be changed by the user. See M. Vassallo and Lomax (2012)
for documentation. The program must be recompiled.
#define Picker FW 300.0 Longest period for a set of filtered signals from the differential signal of the
raw broadband input trace (300 multiplied by sample rate)
#define Picker LTW 500.0 Time scale used for accumulating time-averaged statistics of the input raw
signal (500 multiplied by sample rate)
#define Picker TH1 10.0 Trigger threshold used for event declaration. A trigger is declared when the
summary CF (characteristic function) exceeds Picker TH1
#define Picker TH2 10.0 A pick is declared if and when, within a window of predefined time width,
Picker TUP after trigger time, the integral summary CF (characteristic function) exceeds the value: Picker TH2
multiplied by Picker TUP (see below).
#define Picker TUP 20.0 Time window used for pick validation (20 multiplied by sample rate).
Default time-difference MINDEF is set to:
MINDEF = 1.5
Coda is computed for vertical components only, and only for events marked local (L) or regional (R) in
the s-file. Computation of coda can be turned off by changing the SETCODA switch in the source code to
zero, and recompiling. Default is SETCODA=1. The coda is computed by comparing a long-term average
of the signal before the P phase with long-term averages after the P-phase divided by a factor.
Example: The AUTOPHASE picker is started from EEV with the command: ap
# 13 9 Dec 2015 08:03 54 LM-22.259 -66.832 0.0 N 1.2 2.3WBER 11 ? ap
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 259
12 SPEC PB08BH Z MO 14.4 ST0.002 OM 3.2 f00.137 R8.6423 AL-0.00 WI 20.0 MW 3.6 3
13 SPEC PB08BH Z T 8 517 K 0.020 GD 183 VS 3.20 DE 2.60 Q0400.0 QA 0.70 Q1 1.00 3
14 SPEC PB04BH Z MO 12.2 ST 2.2 OM 1.0 f0 8.00 R0.1480 AL-0.00 WI 20.0 MW 2.1 3
15 SPEC PB04BH Z T 8 530 K 0.020 GD 184 VS 3.20 DE 2.60 Q0400.0 QA 0.70 Q1 1.00 3
16 SPEC PB05BH Z MO 11.9 ST0.335 OM 0.7 f0 5.32 R0.2226 AL-0.00 WI 20.0 MW 1.9 3
17 SPEC PB05BH Z T 8 534 K 0.020 GD 187 VS 3.20 DE 2.60 Q0400.0 QA 0.70 Q1 1.00 3
18 SPEC PB11BH Z MO 12.7 ST 6.1 OM 1.4 f0 8.00 R0.1480 AL-0.00 WI 20.0 MW 2.4 3
19 SPEC PB11BH Z T 8 527 K 0.020 GD 200 VS 3.20 DE 2.60 Q0400.0 QA 0.70 Q1 1.00 3
20 2015-12-09-0803-18.TST___054_00_01 6
21 ACTION:NEW 15-12-09 08:04 OP:SEIS STATUS: ID:20151209080418 I
22 STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
23 PB16 BZ IP A 8 5 4.49 120
24 PB11 BZ IP A 8 4 49.15 132
25 PB08 BZ IP AC 8 4 43.76 105
26 PB01 BZ IP A 8 4 38.26 125
27 PB07 BZ IP A 8 4 39. 1 122
28 PB09 BZ IP AC 8 4 33.65 121
29 PB03 BZ IP A 8 4 37.56 113
30 PB04 BZ IP A 8 4 41.36 89
31 PB06 BZ IP A 8 4 36.51 86
32 PB05 BZ IP A 8 4 42.61 87
33 PB15 BZ IP A 8 4 37.86 94
34 PB11 BN IS 3A 8 5 28.64
35 PB08 BN IS 3A 8 5 19.16
36 PB01 BN IS 3A 8 5 9.81
37 PB06 BN IS 3A 8 5 7. 6
38 PB15 BN IS 3A 8 5 9.31
# 13 9 Dec 2015 08:03 54 LM-22.259 -66.832 0.0 N 1.2 2.3WBER 11 ?
21.3 AUTOSIG
AUTOSIG is a program to perform some automatic processing. The program includes routines for P-phase
picking, determination of signal duration, amplitude determination, determination of spectral parameters
(Ottemöller and Havskov, 2003) and determination of distance type (local, teleseismic, noise). The program
can still do with improvement. The input to the program can be either a parametric Nordic file (with one
or several events) or waveform files. In both these cases, the output is written to the autosig.out file.
Additional output files are autosig.trace and autosig.err, which will help to find potential problems.
Alternatively, the program can also be started from EEV; the output is then directly written to the S-file.
The input parameters are defined in the file autosig.par, which is located either in the DAT or the working
directory.
Following are descriptions of the automatic processing routines:
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 (STA/LTA ratio above trigger level), it is tested whether the signal
spectral amplitudes are significantly higher (factor of 2 in amplitude) 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
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 262
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 8.12) and,
using either a converging grid search or a genetic algorithm determines the seismic moment and the corner
frequency by minimizing the difference between observed and synthetic source spectra. The frequency band
is determined by comparison with the pre-signal spectrum. The grid search is generally more cost effective
and produces better results. The method is described in Ottemöller and Havskov (2003). 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 given by ‘DIST FREQ SELECT’ are compared,
the rules are (f1<f2):
Spec signal amp(f1) - Spec noise amp(f1) > Spec signal amp(f2) - Spec noise amp(f2): teleseismic
Spec signal amp(f2) > Spec noise amp(f2): local
There are a few command line options that can be used to run autosig in non-interactive mode, syntax is
autosig -infile <filename> [-spec on/off -phase on/off -clear on/off]
where
-spec on/off: determine spectral parameters if option given
-clear on/off: remove phases from input S-file before start if option given
-phase on/off: detect phases if option given
-infile <file>: give name of input file, either S-file or waveform file
-help: get help
Note: When running the program the first time and the hypocenter location is not known, the determi-
nation 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:
AUTO PHASE, AUTO SPECTRUM and AUTO AMPLITUDE: Logical flag to activate phase
picking, spectral analysis and amplitude reading, respectively (1. for true)
GA POPULATION SIZE: Number of elements in the population, used only if SEARCH ALGO-
RITHM is 1.
GA GENERATIONS: Number of generations in one run, used only if SEARCH ALGORITHM is 1.
Note: Increasing GA POPULATION SIZE and GA GENERATIONS will increase the computation time.
GRID NLOOP: Number of loops in converging grid search for spectral parameters, used only if
SEARCH ALGORITHM is 2. Resolution increases with every loop.
NGRID FREQUENCY: Number of grid points in search for corner frequency, used only if SEARCH
ALGORITHM is 2.
NGRID SPECTRAL AMP: Number of grid points in search for spectral amplitude, used only if
SEARCH ALGORITHM is 2.
NORM: Norm for computation of residuals in spectral fitting can be set, however, tests show that 1 or
2 produce the same result, and generally default of 1 can be used.
SEARCH ALGORITHM: Defines whether genetic algorithm (1) or converging grid search (2) should
be used. Converging grid search is recommended.
SELECT PHASE: Defines, which phase to use for spectral analysis, choices are: 0 for P by AUTOSIG,
1 for computed P arrival for given location, 2 for computed S arrival, 3 for P from s-file, 4 for S from s-file
or 5 for S or P from s-file.
SEPCTRUM F LOW: Lower limit of frequency band to be used.
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 263
SPECDURATION CHOICE: The time window for computation of the spectrum can be given either
as a time window starting from the phase onset (0.) or can be defined by a group velocity window (1.).
SPECTRUM P LENGTH: Duration in seconds of signal starting from P arrival.
SPECTRUM S LENGTH: Duration in seconds of signal starting from S arrival.
SPECTRUM PRE LENGTH: Duration in seconds of signal to be included prior to phase arrival.
GROUP VEL WINDOW P: Range of group velocities defining time window to be used for P spec-
trum. Time window is given by (distance/group velocity)
GROUP VEL WINDOW S: Range of group velocities defining time window to be used for S spectrum.
Time window is given by (distance/group velocity)
STALTA NREC/REC: There are two STA/LTA algorithms, recursive (0.) and non-recursive (1.).
STATION LINE: One line with processing parameters for phase detection is given for each channel.
The parameters are (also see example below):
STAT - station name
COMP - component name
STA - duration of STA
LTA - duration of LTA
RATIO - trigger ratio
MINCOD - minimum coda required for trigger
DTRLE - de-trigger level
FILL - bandpass filter low cut
FILH - bandpass filter high cut
Example of the parameter file autosig.par:
#
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.
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 264
NORM 1.
SEARCH ALGORITHM 1.=GA 2.=GRID 2.
#
# window selection
#
SPECTRUM P LENGTH in seconds 5.
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.
#
# grid dimension in case of grid search
#
GRID NLOOP 5.
NGRID FREQUENCY 100.
NGRID SPECTRAL AMP 100.
#
# 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
#
# STAT- COMP -sta-- -lta-- -ratio mincod -dtrle fill filh
STATION MOL S Z 3.0 20.0 10.0 2.5 1.5 5.0 10.0
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 265
21.4 AUTOMAG
Program to make automatic readings of WA amplitudes and make spectral fitting for channels for one or
several events in an S-file. This is a simplified version of AUTOSIG and the program does not require any
parameter file. The program will, by default, process Z channels for which the stations has a P or S reading
and the window following the S-phase will be used. Optionally P can be used for spectra and N and E
channels can also be used. A check is made for P-window length so if the window will include the S-waves,
no spectrum is made. If only a P-phase available, the S-phase time will be calculated from the P-phase
arrival time. If the epicentral distance is more than 500 km, the S-phase is assumed to be the Lg phase and
an Lg velocity of 3.5 km is used. However if the depth is more then 50 km, S is assumed. In any case, if an
S is present, the observed S-time is used.
The program can be used stand alone or in EEV with command automag(am) or command ami (input
of parameters).
***************** The agnecy used is taken from SEISAN.DEF *******************************
A special option is to do a grid search for the best Q-parmeters that fit the Brune spectrum using one
or several events.
If the S-file has distances, both Ml and Mw can be calcculated. The parameter for Ml is taken from
STATION0.HYP in local directory or in DAT. If not found, the standard Hutton and Boore(1987) values
are used. The additional filter limits for Ml (if any) are taken from MULPLT.DEF, in local directory or
DAT. If not filters in MULPLT.DEF, no filters are set. If a filter is used, the amplitudes read are corrected
for the gain of the filter at the determined peiod.
The average Ml and Mw are shown on screen after one run. In order to get the average Ml and Mw in
the S-file after using AUTOMAG, an update must be made. However each value is printed out and can also
be shown with program PLOTSPEC (see later).
The program has a lot of output on screen when running. This can mostly be used to check why a
particualr spectrum or amplitude operation failed.
Program input
Interactive input: Give s-file name, spec window and wa window, if zero window length, the corresponding
operation is not done, give frequecy range for spectral fit, give channel names. If station is called ALL, all
Z-channels from all stations with readings (P or S) are used. Alterentively other components can be used
for all stations. If not using option ALL, the user must give each channel in which case any channel can be
used. Give if P or S-spectrum.
If the spectral window is given, data outside this window will not be used. However, the signal to noise
ratio is still check so the actual spactral range might be smaller than the spcified range.
Input from prompt, options are:
S-file name: If only S-file name, all stations are used and default values of window lengths are applied.
s xxx : where xxx is spectral window
w xxx : where xxx is wa window
p : P-spectrum (S is default)
n : use north-south component
e : use east-west component
overwrite : If given, input file will be overwritten, but automag.out also made. Option can only be used
with one event. Used with EEV.
grid : Grid search, see below
Examples, input file is sfile:
Automag sfile s 10 : Makes S-spectra only, with 10 s window length
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 266
order to limit number of parameters, an initial value of kappa= 0.02 can be used. For the qalpha parameter,
the best fits are usually obtained for qalpha in the range 0.3 to 0.9. For Q0, the values with a good fit are
often in the range 100-400, depending on qalpha. A good fit to the Brune spectrum does not automatically
indicate correct attenuation parameters, since the spectrum could have another shape than the theoretical
shape, but at least it gives an indication of possible values. equency range can in most cases be default.
However, sometimes the antialias filter cut off the signal in the high end (not corrected by SEISAN) which
will give a bad fit so a high cut should be selected. Check first with MULPLT how it looks or run for one
event and plot all spectra with PLOTSPEC.
The frequecy below 1 Hz at which Q becomes constant cannot be searched for and is a fixed parameter
set in SEISAN.DEF. The default value is 1.0 Hz.
There is thus many combinations that give a similar residual and it might be difficult to chose. One
option is to average all Q-results with the lowest residual. This can be done with the AVQ program. The
program will read all Q-results from automag grid.out and average the results over a given user specified
number of results. This process is then done for all the results in a running average so it is possible to get an
idea of how the parameters change with increasing residual. For details on how AVQ calculates the average,
see the AVQ program under section CODAQ. An example of running the program is shown below. It is
important that curves that are averaged using the same kappa since the averaging does not take kappa into
account. AVQ will also make a plot showing the Q-relations for the Q-curves averaged (the first avarage) as
well as the average curve.
Example of running the AUTOMAG program:
automag grid
Give input S-file
dels.out
Give spec window, enter for def (20)
25
Give spectral range, enter for 0.05-srate/2.5
give max distance, enter for all
Start q0, step Q0 and number of steps
50 50 10
Start qalpha, step qalpha and number of steps
0.3 0.1 9
Start kappa, step kappa and number of steps
0.03 0.0 1
Number of tests is: 90
Continue(n/y=enter)
Station code and component (e.g. BER BHZ), end with blank
Station code and component (e.g. BER BHZ), end with blank Giving station code ALL : Use all Z
channels with readings Giving station code ALL C : Use all C channels with readings
ALL
P or S-spectrum=default (enter)
Output file for the above input:
q0= 50.0 qa= 0.500 ka= 0.030 nf= 5 re= 0.081 mw= 3.46 f0= 4.19 st= 42.0
q0= 50.0 qa= 0.600 ka= 0.030 nf= 8 re= 0.092 mw= 3.41 f0= 4.18 st= 31.8
q0= 100.0 qa= 0.900 ka= 0.030 nf= 50 re= 0.095 mw= 3.24 f0= 5.11 st= 26.4
q0= 150.0 qa= 0.900 ka= 0.030 nf= 49 re= 0.095 mw= 3.17 f0= 4.01 st= 9.3
q0= 100.0 qa= 1.000 ka= 0.030 nf= 51 re= 0.096 mw= 3.25 f0= 4.18 st= 13.1
q0= 50.0 qa= 0.300 ka= 0.030 nf= 4 re= 0.096 mw= 3.48 f0= 5.80 st= 45.3
q0= 200.0 qa= 0.800 ka= 0.030 nf= 47 re= 0.097 mw= 3.11 f0= 4.23 st= 9.0
q0= 300.0 qa= 1.100 ka= 0.030 nf= 33 re= 0.097 mw= 3.17 f0= 3.42 st= 5.4
q0= 400.0 qa= 1.000 ka= 0.030 nf= 33 re= 0.097 mw= 3.15 f0= 3.51 st= 5.4
q0= 500.0 qa= 0.900 ka= 0.030 nf= 33 re= 0.097 mw= 3.14 f0= 3.58 st= 5.5
q0= 150.0 qa= 0.800 ka= 0.030 nf= 49 re= 0.097 mw= 3.16 f0= 4.90 st= 16.4
q0= 100.0 qa= 0.800 ka= 0.030 nf= 43 re= 0.097 mw= 3.22 f0= 5.94 st= 34.9
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 268
q0= 150.0 qa= 0.600 ka= 0.030 nf= 43 re= 0.097 mw= 3.20 f0= 5.82 st= 35.6
q0= 350.0 qa= 1.100 ka= 0.030 nf= 33 re= 0.097 mw= 3.16 f0= 3.38 st= 5.2
q0= 450.0 qa= 1.000 ka= 0.030 nf= 33 re= 0.097 mw= 3.15 f0= 3.47 st= 5.2
q0= 50.0 qa= 1.000 ka= 0.030 nf= 37 re= 0.097 mw= 3.35 f0= 6.22 st= 55.2
q0= 300.0 qa= 0.800 ka= 0.030 nf= 41 re= 0.097 mw= 3.12 f0= 3.71 st= 6.3
....
....
q0= 400.0 qa= 0.400 ka= 0.030 nf= 45 re= 0.103 mw= 3.05 f0= 4.36 st= 9.0
q0= 400.0 qa= 0.500 ka= 0.030 nf= 42 re= 0.103 mw= 3.08 f0= 4.15 st= 8.0
q0= 350.0 qa= 0.600 ka= 0.030 nf= 42 re= 0.103 mw= 3.09 f0= 4.27 st= 8.3
q0= 500.0 qa= 0.500 ka= 0.030 nf= 41 re= 0.104 mw= 3.09 f0= 3.97 st= 6.9
q0= 450.0 qa= 0.500 ka= 0.030 nf= 42 re= 0.104 mw= 3.08 f0= 4.17 st= 7.6
q0= 150.0 qa= 0.300 ka= 0.030 nf= 24 re= 0.104 mw= 3.34 f0= 4.19 st= 21.1
q0= 500.0 qa= 0.400 ka= 0.030 nf= 41 re= 0.105 mw= 3.08 f0= 4.12 st= 7.6
q0= 200.0 qa= 0.300 ka= 0.030 nf= 37 re= 0.106 mw= 3.18 f0= 5.38 st= 29.6
q0= 100.0 qa= 0.400 ka= 0.030 nf= 19 re= 0.108 mw= 3.34 f0= 4.16 st= 27.0
q0= 100.0 qa= 0.300 ka= 0.030 nf= 13 re= 0.109 mw= 3.32 f0= 4.54 st= 28.4
q0= 100.0 qa= 0.500 ka= 0.030 nf= 20 re= 0.112 mw= 3.33 f0= 4.69 st= 30.1
q0= 50.0 qa= 0.800 ka= 0.030 nf= 13 re= 0.112 mw= 3.26 f0= 6.09 st= 58.0
q0= 100.0 qa= 0.600 ka= 0.030 nf= 25 re= 0.112 mw= 3.26 f0= 5.31 st= 32.5
q0= 50.0 qa= 0.400 ka= 0.030 nf= 4 re= 0.114 mw= 3.47 f0= 6.04 st= 51.2
avq
File name, enter for automag_grid.out
q0= 50.0 qa= 0.500 ka= 0.030 nf= 5 re= 0.081 mw= 3.46 f0= 4.19 st= 42.0
q0= 50.0 qa= 0.600 ka= 0.030 nf= 8 re= 0.092 mw= 3.41 f0= 4.18 st= 31.8
q0= 100.0 qa= 0.900 ka= 0.030 nf= 50 re= 0.095 mw= 3.24 f0= 5.11 st= 26.4
q0= 150.0 qa= 0.900 ka= 0.030 nf= 49 re= 0.095 mw= 3.17 f0= 4.01 st= 9.3
q0= 100.0 qa= 1.000 ka= 0.030 nf= 51 re= 0.096 mw= 3.25 f0= 4.18 st= 13.1
q0= 50.0 qa= 0.300 ka= 0.030 nf= 4 re= 0.096 mw= 3.48 f0= 5.80 st= 45.3
q0= 200.0 qa= 0.800 ka= 0.030 nf= 47 re= 0.097 mw= 3.11 f0= 4.23 st= 9.0
q0= 300.0 qa= 1.100 ka= 0.030 nf= 33 re= 0.097 mw= 3.17 f0= 3.42 st= 5.4
q0= 400.0 qa= 1.000 ka= 0.030 nf= 33 re= 0.097 mw= 3.15 f0= 3.51 st= 5.4
q0= 500.0 qa= 0.900 ka= 0.030 nf= 33 re= 0.097 mw= 3.14 f0= 3.58 st= 5.5
...
...
q0= 500.0 qa= 0.400 ka= 0.030 nf= 41 re= 0.105 mw= 3.08 f0= 4.12 st= 7.6
q0= 200.0 qa= 0.300 ka= 0.030 nf= 37 re= 0.106 mw= 3.18 f0= 5.38 st= 29.6
q0= 100.0 qa= 0.400 ka= 0.030 nf= 19 re= 0.108 mw= 3.34 f0= 4.16 st= 27.0
q0= 100.0 qa= 0.300 ka= 0.030 nf= 13 re= 0.109 mw= 3.32 f0= 4.54 st= 28.4
q0= 100.0 qa= 0.500 ka= 0.030 nf= 20 re= 0.112 mw= 3.33 f0= 4.69 st= 30.1
q0= 50.0 qa= 0.800 ka= 0.030 nf= 13 re= 0.112 mw= 3.26 f0= 6.09 st= 58.0
q0= 100.0 qa= 0.600 ka= 0.030 nf= 25 re= 0.112 mw= 3.26 f0= 5.31 st= 32.5
q0= 50.0 qa= 0.400 ka= 0.030 nf= 4 re= 0.114 mw= 3.47 f0= 6.04 st= 51.2
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 269
Q0= 155.1 qalpha= 0.83 res= 0.096 mw= 3.22 f0= 4.31 avst= 18.4
Q0= 161.2 qalpha= 0.85 res= 0.097 mw= 3.20 f0= 4.28 avst= 16.6
Q0= 164.2 qalpha= 0.87 res= 0.097 mw= 3.19 f0= 4.26 avst= 15.4
Q0= 176.7 qalpha= 0.86 res= 0.097 mw= 3.18 f0= 4.18 avst= 14.4
Q0= 183.2 qalpha= 0.86 res= 0.097 mw= 3.18 f0= 4.16 avst= 14.2
Q0= 196.3 qalpha= 0.81 res= 0.097 mw= 3.18 f0= 4.22 avst= 14.7
Q0= 202.8 qalpha= 0.84 res= 0.097 mw= 3.16 f0= 4.10 avst= 12.7
...
...
Q0= 243.4 qalpha= 0.55 res= 0.102 mw= 3.13 f0= 4.52 avst= 14.2
Q0= 243.2 qalpha= 0.54 res= 0.102 mw= 3.13 f0= 4.54 avst= 14.2
Q0= 238.8 qalpha= 0.53 res= 0.102 mw= 3.14 f0= 4.50 avst= 14.4
Q0= 241.0 qalpha= 0.54 res= 0.102 mw= 3.13 f0= 4.47 avst= 14.0
Q0= 234.1 qalpha= 0.53 res= 0.103 mw= 3.14 f0= 4.53 avst= 15.0
Q0= 222.7 qalpha= 0.52 res= 0.103 mw= 3.15 f0= 4.52 avst= 15.9
Q0= 216.9 qalpha= 0.53 res= 0.103 mw= 3.16 f0= 4.49 avst= 16.2
Q0= 206.6 qalpha= 0.52 res= 0.104 mw= 3.17 f0= 4.51 avst= 17.3
Q0= 192.4 qalpha= 0.55 res= 0.104 mw= 3.18 f0= 4.56 avst= 19.2
Q0= 182.1 qalpha= 0.56 res= 0.105 mw= 3.18 f0= 4.58 avst= 20.0
Q0= 186.4 qalpha= 0.54 res= 0.106 mw= 3.20 f0= 4.59 avst= 20.8
It is seen that the average parameters, including residual, mw and corner frequecy now is a slowly varying
function of the average residual. It is also seen that a high Q0 and a high qalpha give a better fit than a low
q0 and a low qalpha. If some test have few good fits, they can be eliminated by usin the parameter ” Min
number of fits to use in average”. In this example, 20 could have been used.
Q, kappa, density and velocity come from the spec model in SEISAN.DEF. If no spec model available,
the model is taken from MULPLT.DEF. Notice that the frequecy dependence of Q from frequency lower
than 1 Hz can only be set with the spectral model parameters in in SEISAN.DEF. See also MULPLT and
SEISAN.DFF. if the parameter form MULPLT.DEF are used, Q is assumed constant=q0 below 1 Hz.
For explantion of the output of spectral parameters in the S-file, see MULPLT, spectral section.
The Ml constant are taken form STATION0.HYP
The Ml filter constants are taken from MULPLT.DEF
The spectra for one event can be plotted after running AUTOMAG, see program PLOSPEC.
21.5 PLOTSPEC
The program PLOTSPEC is plotting of spectra generated by AUTOMAG.
The command AM in EEV automatically generates the spectra for the corresponding event and read
the maximum WA amplitudes. The automatic obtained parameters, within the error limits defined in
AUTOMAG, are then saved in the S-file. In some cases, both the automatic spectral analysis and the
automatic amplitude can fail. The spectra most often fail because the automatically determined frequency
interval has been wrongly selected. The automatic amplitude can fail if the signal to noise ratio is high
so amplitudes are determine in the noise. Manual analysis of course spot these problems at once but for
the automatic analysis it is hard to judge if a deviating magnitude is real or caused by wrong analysis.
PLOTSPEC can therefore plot all the accepted results for the automatic analysis for one event and it is easy
to judge the results (see Figure 21.2). Determinations considered in error can then be deleted on the plot
and will, when finishing the program, also be deleted in the S-file. The command in EEV to plot is PS.
Program operation
AUTOMAG generates a series of output files intended for plotting with names like BKS.BH Z.noise,
BKS.BH Z.obs, BKS.BH Z.synth. The station and component information for all accepted determinations
are stored in the file AUTOMAG.list, see example below showing entries for the first 5 channels in Figure
21.2:
1996 625 0337 31.1 L 61.687 3.283 15.0 TES 31 2.0 3.3LTES 3.0CTES 3.2LNAO
FOO S Z
Ml=3.4 A= 1425 T=0.24
f= 0.09-20.00
Mw=3.5
1996 625 0337 31.1 L 61.687 3.283 15.0 TES 31 2.0 3.3LTES 3.0CTES 3.2LNAO
SUE S Z
Ml=3.4 A= 1094 T=0.20
f= 0.49-20.00
Mw=3.3
1996 625 0337 31.1 L 61.687 3.283 15.0 TES 31 2.0 3.3LTES 3.0CTES 3.2LNAO
OSG S Z
Ml=3.5 A= 941 T=3.58
1996 625 0337 31.1 L 61.687 3.283 15.0 TES 31 2.0 3.3LTES 3.0CTES 3.2LNAO
HYA S Z
Ml=3.8 A= 1146 T=0.32
f= 0.09-20.00
Mw=3.6
f= 1.82-20.00
Mw=3.2
The first line is the header line from the S-file so it does not reflect the magnitudes calculated automatically
until an update has been made. Second line is the station and component. Third line is local magnitude
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 271
and corresponding amplitude (nm) and period(s). Fourth line the frequency interval used for the spectral
fitting and the fifth line the moment magnitude. Values that could not be determined are left blank.
The plot has room for 15 pairs of spectra/WA traces. The fitted spectrum is plotted in red and for the
WA trace, the trace between the two extremes used for the amplitude observation, is plotted in red. If either
the spectrum or the WA-trace is not used for a particular component, the corresponding part of the plot is
left blank. If there are more then 15 component plots, several pages can be plotted.
To delete a value, put the cursor in the corresponding plot square and press d. A diagonal line will
appear in plot to indicate that a value is to be deleted. When terminating the program, the user will have
to confirm the delete of all. There is no undelete option for single channels.
NOTE. Both spectral information and WA amplitudes can be deleted from the s-file with command
DELS.
PLOTSPEC is intended to be used from EEV but it will also work outside EEV by giving command
PLOTSPEC. The program will then look for the latest AUTOMAG.list in working directory and plot spectra
for the FIRST event ONLY. If AUTOMAG has been used with many events, some of the results for the
first event might have been overwritten if the same STAT-COMP is used in several events and will not be
plotted. PLOTSPEC has one optional argument which is the S-file to use.
~/WOR/condet
Give operator
jh
Start time (yyyymmdd...), at least yyyymmdd
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 272
Figure 21.2: Plot using program PLOTSEC. The WA amplitude for OSG and spectral estimate for LOF
have been deleted. The automatic fits are plotted in red. This event is found in the TEST database.
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 273
20210318
Stop time (yyyymmdd...), at least yyyymmdd, blank is end of day
2021031803
....
....
....
A lot of listing comes out while running like missing channels. At the end there is a summary of what has
been detected. In this case there were 81 detection on all stations and 5 events with more then 3 detections
in window.
The input parameters are given in condet.par:
STATION: give continuous database name, station and component code. If an archive, the data base
name is not used.
WAVEOUT: Set to 1. to write out waveform files with the original data and trigger channels.
EXTRACT DURATION: Length of extraction window in seconds, used in extract.batch
PRE EVENT TIME: Time to start extract before detection time in seconds, used in extract.batch
INTERVAL: Length of data segment read at a time. The default is 60 minutes.
DET ALGORITHM: choices for the detection algorithm are STA for squared STA/LTA, COR for corre-
lation and CAR for Carl Johnson’s detection algorithm
MIN TRIG DURATION: Minimum duration the trigger level needs to be exceeded for
MIN TRIG INTERVAL: Only allow for one detection within this time, given in seconds
FILTER LOW: Low cut for bandpass filter
FILTER HIGH: High cut for bandpass filter
If DET ALGORITHM is STA:
STA LENGTH: Short term duration in seconds
LTA LENGTH: Long term duration in seconds
TRIGGER RATIO: Ratio of STA/LTA required for trigger
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 274
#
# parameter needed if net detection
# else not
NET DETECTION: If set to 1.0, net detection will be run after station detection and there is no need
to run again with -net flag.
WAV EXTRACT: if 1.0, wavforms will be extracted to working directory, one each time an event is found
and the batch file is not used.
MAKE SFILE: An s-file in the data base is made.
BASE SFILE: The data base for the s-files, if blank, the default data base is used. A local data base ’,,’
can also be used.
COPY WAV: Optionally copy extracted waveform files to WAV. If blank, no copy, if m, file is moved and
if c file is copied.
WAV BASE: If blank, copy to WAV, else to data base given. NOTE, the parameter COPY WAV DIR
in SEISAN.DEF is not used, data base must be given here.
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 275
If the option to use AUTOPIC is used (if parmeter set and if enough triggers), by default no trigger times
are written out since now the automatic picks from AUTOMAG are shown. However, if the AUTOPIC
parameter is set to 2.0, the trigger times are kept as phase x. Optionally the event can be located (using the
program HYP in reject mode), and optionally the magnitudes for local events can be calculated with
AUTOMAG program (Ml and Mw). Optionally, the phases for a local events can be repicked with
AUTOPIC which often will give more phases and will in addition pick S-phases. Finally there is an option
for sending out an email in case an event triggers with either a minimum number of stations, a location
and/or a given minimum magnitude. These last options are not excecuted if the event is distant since the
location often is not reliable and automag is not used for distant events.
NOTE THAT IN ALL CASES WHERE MINIMUM NUMBER OF STATIONS IS USED AS CRITERIA
FOR AN OPERATION, IT IS THE MINIMUM NUMBER OF TRIGGERS AND NOT THE NUMBER
OF STATION AFTER USING AUTOPIC THAT IS USED.
Real time operation can work in the background (cron job) or be started from the prompt. In that
case the window cannot be closed. Several instances of NETDET can be started as cron jobs, each with a
different parameter file.
After the network detection, the next minute is read and the process continues.
Temporary files are stored in the netdet directory. If not in real time and no directory given in parameter
file, output is in working directory. If netdet dir is given in parameter file, then the temporary file are
there. If running a cron job, a netdet directory must be given in the start script. This becomes the working
directory. Then if a netdet dir is given in the parameter file, it must be the same. In the netdet directory
there will be a file called parfile.err (like netdet.err) with messagaes of errors.
Other files made are parfile.now and parfile.html used for monitoring, also in the netdet directory. These
file are only made if realtime operation.
Offline operation: In this case the user must give start time and end time and the program goes through
the data base in given interval in a similar way as CONDET. There is then no option for sending email but
S-files will always be output in one file, netdet.out, in addition to optional output in data base of S-files and
WAV-files. The location and magnitude is only calculated for events going to the data base. The offline
operation is useful for testing trigger parameters or for processing data which is not available in real time
like aftershock data from a field experiment.
Installation
NETDET and corresponding scripts are part of SEISAN. The only additional requirement is that the
directory SEISAN TOP/CRON is created. The data bases for writing S-files and WAV files must be created
manually. The script for starting NETDET has two versions, netdet start.csh and netdet start.bash and the
relevant one must be edited to fit your environment. It can be given any name.
Data source
The data can come from a local SeisComP system or the data can be pulled from an available SeedLink
server into a local archive using slarchive. https://ds.iris.edu/ds/nodes/dmc/software/downloads/
slarchive/
How to check trigger operation
When starting NETDET in real time mode from a terminal window, there will be a running output
showing the readings each minute. If there is a crash or other malfunction, it will be shown. There is
also a parameter in the parameter file that turns on debug details of the triggering process. The files are
netdet debug trig.out and netdet debug sta lta.out. The latter will only written if a specific station has been
defined in the parameter file. Debug output is turned of in realtime mode to avoid filling up the disk. So to
test for the best trigger parameters, the program can be operated in offline mode, as described above, and
it can then be verified which parameter best trigger on known events in the given data interval.
Examples of netdet debug trig.out
In this file, a line is written each time one minute of data is read for one channel. When reading starts
for the next minute, the message ’Read next minute’ is given. If there is a trigger, a message ’Trigger now’ is
given. The trigger is then checked for duration, and if ok, the message ’Trigger ok with ratio and duration’
is given and the trigger is accepted and put into trigger ring buffer. The trigger time is given as well as
which parameter set is used (e.g. filt=2). When the detrigger takes place, a message is also given ’Detrigger
now.’ which can be due to ratio or duration. This message might come in the following minute.
Example with 3 filter sets and no events declared
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 277
When an even is detected, the message ’NEW EVENT’ is printed out together with the number of
stations triggering. After that follows the content of the entire trigger buffer at that time where the trigger
time, station, trigger status and filter set used are shown. Trigger status 0 means that the trigger has not
yet been associated with a trigger from another station, 1 means that it has been associated but maybe
not used and 2 means it is a duplicate and not used. In the example below, 3 stations triggered occurred
within the array propagation window starting at (hour:minute:second) 13:04:19.7, on 1 January 2022. The
first station is HYA, the next is ASK with trigger set 3, the next 2 from ASK are duplicates and not used
and the third one used is DOMB.
NEW EVENT
2022 01-01 13:04:19.7 ndet= 3
2022 01-01 13:01:57.0 ASK trig=2 filt=3
2022 01-01 13:01:58.5 FOO trig=1 filt=3
2022 01-01 13:01:59.1 FOO trig=2 filt=2
2022 01-01 13:01:59.3 FOO trig=2 filt=1
2022 01-01 13:01:59.4 ASK trig=1 filt=2
2022 01-01 13:02:30.8 HYA trig=1 filt=3
2022 01-01 13:03: 4.0 ASK trig=1 filt=3
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 278
The detailed triggering can also be check for one station and output is in file netdet debug sta lta.out.
For this to be written out, a station code must given in the parameter file in addition to setting the debug
flag. An example is shown below.
BLS5 HHZ 01 13:05:50.0 STA= 1.2 LTA= 1.2 R= 1.0 Trig= F Fil
BLS5 HHZ 01 13:05:51.0 STA= 1.3 LTA= 1.2 R= 1.0 Trig= F Fil
BLS5 HHZ 01 13:05:52.0 STA= 1.4 LTA= 1.2 R= 1.1 Trig= F Fil
BLS5 HHZ 01 13:05:53.0 STA= 1.5 LTA= 1.2 R= 1.2 Trig= F Fil
BLS5 HHZ 01 13:05:54.0 STA= 2.0 LTA= 1.2 R= 1.6 Trig= F Fil
BLS5 HHZ 01 13:05:55.0 STA= 2.1 LTA= 1.3 R= 1.7 Trig= F Fil
BLS5 HHZ 01 13:05:56.0 STA= 1.6 LTA= 1.2 R= 1.3 Trig= F Fil
BLS5 HHZ 01 13:05:57.0 STA= 1.5 LTA= 1.2 R= 1.2 Trig= F Fil
BLS5 HHZ 01 13:05:58.0 STA= 1.3 LTA= 1.2 R= 1.0 Trig= F Fil
BLS5 HHZ 01 13:05:59.0 STA= 1.1 LTA= 1.2 R= 0.9 Trig= F Fil
BLS5 HHZ 01 13:06: 0.0 STA= 0.9 LTA= 1.2 R= 0.7 Trig= F Fil
BLS5 HHZ 01 13:05: 0.0 STA= 0.5 LTA= 0.5 R= 0.9 Trig= F Fil
BLS5 HHZ 01 13:05: 1.0 STA= 0.4 LTA= 0.5 R= 0.8 Trig= F Fil
BLS5 HHZ 01 13:05: 2.0 STA= 0.5 LTA= 0.5 R= 0.9 Trig= F Fil
BLS5 HHZ 01 13:05: 3.0 STA= 0.5 LTA= 0.5 R= 0.9 Trig= F Fil
BLS5 HHZ 01 13:05: 4.0 STA= 0.5 LTA= 0.5 R= 0.9 Trig= F Fil
BLS5 HHZ 01 13:05: 5.0 STA= 0.4 LTA= 0.5 R= 0.8 Trig= F Fil
BLS5 HHZ 01 13:05: 6.0 STA= 0.5 LTA= 0.5 R= 0.9 Trig= F Fil
BLS5 HHZ 01 13:05: 7.0 STA= 0.5 LTA= 0.5 R= 0.9 Trig= F Fil
BLS5 HHZ 01 13:05: 8.0 STA= 0.5 LTA= 0.5 R= 0.9 Trig= F Fil
For this particular station, for each second STA, LTA, trigger ratio (R), trigger status and parameter set
is shown.
Sending email
The conditions for sending an email are minimum number of stations and/or minimum magnitude but
there is no requirement for a location being present. However if magnitude is present, it is assumed that
there is a location. If minimum magnitude is set to -1000.0, then only the requirement of minimum number
of stations (triggers) is used since minimum magnitude is initilized to -999. The command for sending email
as well as the email addresses to send to is defined in SEISAN.DEF. The command is the same as the one
used by EEV while the email addresses are specified separately with the keyword ALERT EMAIL NETDET
for sending the whole file and EMAIL SUMMARY NETDET for sending the summary file. An E-mail is
not send if a distant event.
Output of S-file
In offline mode, all trigger S-files are written to one CAT file netdet.out. This is also the case if individual
S-files are written. However, in real time operation, nothing is written to netdet.out since that file could be
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 279
accumulating for a long time and eventually become very big. So only S-files are written to the data base
which can be a local data base or a normal data base. The location and operator of readings will have the
agency of the institution as given in netdet.par and the operator is net. In the S-file, the trigger times are
labelled IP and can be used to make an initial location.
Running netdet
Offline mode: Just start NETDET with command netdet and you will asked for a time interval. NETDET
will then start with the default parameter file netdet.par. Alternatively you can start with another parameter
file with command netdet -parfile xx.par where xx.par is the parameter file. The parameter file must end
with ’.par’. The parameter file must be in local directory or DAT.
Real time interactive: Start by typing ’netdet realtime’ and the program starts. There will be output for
every minute on the screen. Here also an alternative parameter file can be chosen.
Cron job in the background: A script e.g. netdet start located in COM is used to start NETDET.
Use either the csh or bash version to make this file. It checks if NETDET is running and if not, it starts
NETDET. For a cron job, the parameter file must be in DAT.
The parameter file name must be given, even if the default name, in order to distinguish different
NETDET cron jobs. Note that the netdet start has been renamed to the name without extension.
The csh scrip starting NETDET is
#!/bin/csh
#
# directory where netdet is running, also set in netdet.par
#
cd /home/seismo/netdet
#
# start netdet if it is not running
# the file must be edited for your environment
#
#
# check if netdet is running
#
set check=‘ps ax | grep -v grep | grep "netdet realtime -parfile netdet.par" | wc -l‘
In this script, a mail is sent to a user to inform that NETDET has started. Both the mail command and
the mail address are hardwired and must be edited for your own system. If NETDET crashes, the user will
then be informed within 5 min (example above) when NETDET starts again.
If you want to run 2 jobs at the same time, make another netdet start with a different name and hardwire
the new name of the parameter file like e.g. n.par. An example crontab file is then
#
*5/ * * * * /home/seismo/COM/netdet\_start2 > /dev/null 2>&1
*5/ * * * * /home/seismo/COM/netdet\_start1 /dev/null 2>&1
The netdet.log file only contains the start time of the cron jobs for all jobs running like
#!/bin/bash
#
# directory where netdet is running, also set in netdet.par
#
cd /home/seismo/netdet
#
# start netdet if it is not running
#
#
# check if netdet is running
#
if ps ax | grep -v grep | grep "netdet realtime -parfile netdet.par"
then
/usr/bin/echo "netdet is running"
else
/usr/bin/echo "netdet is not running, start again"
#
# define env variables
#
source /home/seismo/COM/SEISAN.bash
#
# start netdet
#
/home/seismo/PRO/netdet realtime -parfile netdet.par >/dev/null
#
# send mail that it has been started
#
/usr/bin/echo "netdet has been started" | /usr/bin/mailx -s "netdet startet" [email protected]
#
/usr/bin/echo "netdet started:" >> /home/seismo/CRON/netdet.log
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 281
If the parameters have to be changed while in real time operation, first change the parameter file and the
stop NETDET with netdet check. NETDET will then start up again at the time given in the crontab file.
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 282
Parameter file
The parameter file can be located in local directory or in DAT. The file name must end with ’.par’ and
the default name is netdet.par. If the parameter file is in the local directory (where NETDET is started),
that file will be used instead of file in DAT. The parameters will be written out on the screen when NETDET
is started so that is a way of checking that they have been entered correctly.
The channels of the network must be defined in SEISAN.DEF and it is important that both location and
network codes are correct and identical in SEISAN.DEF and netdet.par.
Channels to be written out can be given separately (CHAN OUT parameter). If none are given, all
channels defined in SEISAN.DEF are written out.
The channel detection can be made with up to 3 different sets of trigger parameters, namely filter, STA,
LTA, minimum trigger duration, minimum trigger interval, trigger ratio and detrigger ratio. The number of
trigger sets are defined by how many filter sets are given since the most common parameter to set differently
is the filter. So if e.g. 2 sets will be used with only the filter as a difference, only the two filters are given
and other parameters will be given identical to the parameters for the first filter. In general, one trigger set
is used.
The parameter file is intended to be self-explanatory, an example is shown below.
#
# netdet.par: netdet input parameter file, comments can be added to this file,
# but the comments must not match a KEYWORD
#
#
#
KEYWORD............Comments.............Par 1.....Par 2
#
# the network agency and operator, 3 chars
#
#.......................................1.........2........
AGENCY TES jh
#.......................................xxxxxxxxxxxxxxxxxxx
#
# directory for netdet temporary files,
# must be given also in netdet_start
# script, 40 chars
# if not given, WOR will be used
#
#.......................................1......................................
NETDET DIR /home/s2000/seismo/netdet
#.......................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#
# Debug and station to debug. Set
# debug to 1.0 if debugging. Station
# can be blank if no STA/LTA output
# for that station. Debug will be
# turned off in real time mode.
#
#.......................................1.........2.......
DEBUG 0.0 FOO
#.......................................xxxxxxxxxxxxxxxxxx
#
# Channels used for triggering
#
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 283
#
#######################################
# delay to start data collection
# relative to GMT, usually minimum
# 300 s
########################################
#
#.......................................1.........
REAL TIME DELAY 600.0
#.......................................xxxxxxxxxx
#
########################################
# channel trigger parameters
########################################
#
# length of short term average
#
#.......................................1.........2.........3.........
STA LENGTH in seconds 03.
#.......................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#
# length of long term average
#
#.......................................1.........2.........3.........
LTA LENGTH in seconds 300.
#.......................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 284
# making S-files
########################################
#
# parameter needed if s-files are made
# in addition to a cat file with all
# events. the cat file is not made in
# real time mode so in that case
# the S-file flag must be set to
# get S-files.
# 0.0 or blank: no S-files
# 1.0 : make S-files
#
#.......................................1.........
MAKE SFILE 1.0
#.......................................xxxxxxxxxx
#
# base for S-files.
# blank : def base
# 1-5 letter: data base
# ,, : local data base
#
#.......................................1.........
BASE SFILE TEST
#.......................................xxxxxxxxxx
#
########################################
# Real time location and email
########################################
#
# pick phases with AUTOPIC (1.0), if
# not netdet triggers are used.
#
#.......................................1........
AUTOPIC 1.0
#.......................................xxxxxxxxx
#
# min. number of stats. for location
# of local events
#
#.......................................1.........
MIN STAT LOCATION LOCAL 4.00
#.......................................xxxxxxxxxx
#
# min. number of stats. for location
# of distant events
#
#.......................................1.........
MIN STAT LOCATION DIST 99.0
#.......................................xxxxxxxxxx
#
#
# fix location depth:
# blank or < 0: do not fix
# if ge 0.0 : fix to that depth
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 287
#
#.......................................1........
FIX DEPTH 12.0
#.......................................xxxxxxxx
#
# min. number of station for email
#
#.......................................1.........
MIN STAT EMAIL 99.0
#.......................................xxxxxxxxxx
#
# excute a command after location,
# like making a map
#
#.......................................1............................
COMMAND
#.......................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#
# min. magnitude for email in addition
# to minimum number of stationss. If
# magnitude not used, set to -1000,
# then only number of stations is
# used. More mail parameters in
# SEISAN.DEF
#
#.......................................1.........
MIN MAG EMAIL 2.0
#.......................................xxxxxxxxxx
#
#######################################
# the end
#######################################
SLARCHIVE example
In this part an example is given on how to run the SLARCHIVE program as a cron job on a linux server.
SLARCHIVA can e.g. be downloaded from
https://ds.iris.edu/ds/nodes/dmc/software/downloads/slarchive/
One can as an alternative to the example below e.g. use a seiscomp server.
The example below shown how to stream data from IRIS and GEOFON. Here SLARCHIVE from IRIS
is installed in the folder /home/seismo/PRO.
Setup the cron job to make sure SLARCHIVE is running and check every 5 minute, by adding this line
to the users crontab:
This is the script autorun-slarchive.sh used to run SLARCHIVE, it will restart SLARCHIVE if it has
stopped. The script is here given using the SH shell, other shells will work too:
#!/usr/bin/sh
#
echo This script will dump mseed data from several seedlink servers to a SDS archive, in real time.
echo The script makes sure that all subscripts are running at all times. See crontab.
echo ----
date
echo $0
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 288
uname -a
echo ----
#
SLA="Slarchive IRIS"
SSH="slarchive -k 704"
SSH_PID="‘ps -efa | grep "$SSH" | grep -v grep | tr -s ’ ’ ’ ’ | cut -d ’ ’ -f 3‘"
if [ $SSH_PID ]; then
echo $SLA is running
else
date
echo $SLA is NOT running, starting $SLA ...
/home/seismo/PRO/slarchive -k 704 -l /home/seismo/DAT/streamlist.iris -SDS /home/seismo/archive rtserve.
fi
#
SLA="Slarchive GEOFON"
SSH="slarchive -k 705"
SSH_PID="‘ps -efa | grep "$SSH" | grep -v grep | tr -s ’ ’ ’ ’ | cut -d ’ ’ -f 3‘"
if [ $SSH_PID ]; then
echo $SLA is running
else
date
echo $SLA is NOT running, starting $SLA ...
/home/seismo/PRO/slarchive -k 705 -l /home/seismo/DAT/streamlist.geofon -SDS /home/seismo/archive 139.17
fi
##
echo ------------------------------------------------------------------
echo REMEMBER TO remove old archive files, if needed
#/usr/bin/find /home/seismo/SDS/2022 -type f -mtime +26 -exec rm {} \;
#echo remove old archive folders
#/usr/bin/find /home/ seismo/SDS/2022 -type d -empty -delete
#echo Done $0
echo ------------------------------------------------------------------
exit 0
#EOF
The two input files giving the network and station codes requested from the IRIS and GEOFON seedlink
servers:
NU BILN
NU CARN
NU RIBN
TC DRK0
TC PTJ1
TC TCS1
TC TRT2
SV CEDA
SV CNCH
NU ACON
NU BLUN
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 289
NU BOAB
NU ESPN
Add other stations or seedlings servers to improve the monitoring in your area.
Fit the paths given above so that they fit your system.
Once the cron job is started, data will be found in the /home/seismo/SDS folder.
Find more information on SLARCHIVE at:
https://ds.iris.edu/ds/nodes/dmc/software/downloads/slarchive/2-2/manual/
NETDET in a browser
NETDET will create a netdet.html file in the working folder. The html file is updated every minute with
new information on the last detection.
An example on the NETDET html file is seen in a browser above. In addition the html file can display
the epicentre on a map, but his requires that a command program or script is executed by NETDET (see
COMMAND in the parameter file). In the example below, found in COM, is shown an example of a Linux
script using SEISAN and GMT to create the map file.
COMMAND /home/seismo/COM/plot-netdet.gmt
#.......................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#!/bin/ksh
#
# script to map epicenters from the SEISAN netdet program
# works with GMT - The Generic Mapping Tools, Version 6.1.1
# (c) 2022 peter voss
#
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 290
cd /home/seismo/netdet
echo $0 > plot-netdet.log
date >> plot-netdet.log
AP="-R-100.0/-75.0/5.0/18.0 -JM9c"
#EOF
Execute the code and inspect the file netdet map.png with a image viewer. If the map does not show the
area of your network, change the area in the AP line, where
AP="-Rminlon/maxlon/minlat/maxlat -JM9c"
Further details on the GMT commands are given in the GMT documentation, see https://docs.generic-
mapping-tools.org
- SEISAN
- Acces to SeisComP program and data base
If operating close to real time like getting data every 2 minutes, SCP can make several solutions before
the final solution. Within the time window defined as instant-time back, all duplicate solutions will be
deleted.
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 291
scpnor
seiscomp version 4
sql user: seiscomp
sql pass: xxx1922scmp
sql ip : localhost
sql data base seiscomp
make s-file T
insert ARC line T
wa gain 2800.0
sfile data base SCP
sfile 2. data base SCP2
agency operator SCP sc
instant time back 1440.0
In this example, data is collected for 24h and 5 events were found. The first output is a summary of the
parameter file. Although a second data base is defined, no data is collected for the second data base since
the instant option is not used. Output is in scpnor.out and data base SEISAN SCP.
Example option 2
scpnor instant
seiscomp version 4
sql user: seiscomp
sql pass: xxx1922scmp
sql ip : localhost
sql data base seiscomp
make s-file T
insert ARC line T
wa gain 2800.0
sfile data base SCP
sfile 2. data base SCP2
agency operator SCP sc
instant time back 1440.0
In this example, data will be collected for the last 24 h. There were already 3 events collected before and
the 3 checked are the same so nothing is copied to the SEISAN data bases. However, the 3 events are listed
in scpnor.out.
Data converted
SCPNOR reads most if the data in the SCP output file ‘event’. For magnitudes, only amplitudes for ML
and Mb are transferred. For the IAML amplitudes, they are converted from mm Wood Anderson to nm.
SCP by default uses the wrong Wood Anderson gain of 2800 (see SCP setup) but can also use the correct
2080 (Uhrhammer and Collins,1990) In the SCPNOR parameter file, the gain used by SCP can be set in the
SCP configuration. SCP does not give a period for IAML and since SEISAN needs a period to judge if the
reading is within a correct period range, a fixed period of 1.0 s is used.
Example of a script for the cron job. It could be started e.g. every 5 minutes.
#!/bin/bash
#
# directory where scpnor is running
#
cd /home/seiscomp/seismo/scpnor
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 293
#
#
# define env variables
#
source /home/seiscomp/.bashrc
#
# start scpnor
#
/home/seiscomp/seismo/PRO/scpnor instant >/dev/null
#
# put info in log file
#
/usr/bin/date > /home/seiscomp/seismo/scpnor/scpnor.log
/usr/bin/echo "scpnor started:" >> /home/seiscomp/seismo/scpnor/scpnor.log
#
# parameter file for scpnor
#
# KEYWORD identifies the parameter and up to 2 parameters
# can be given. They are given in column 41 to 50 and
# 51 to 60 respectively. Numbers can be anywhere in the
# fields but characters must start in 41 or 51
# respectively. If blank, a default is used.
#
KEYWORD............Comments.............Par 1.....Par 2
#
#
#######################################
#......................................
#
# SeisComp version, 3, 4 or 5
# 4 is default and also works with 5
#
#.......................................1.........2........
SEISCOMP VERSION 4
#.......................................xxxxxxxxxxxxxxxxxxx
#
# the network agency and operator,
# 3 chars, default SCP and sc
#
#.......................................1.........2........
AGENCY
#.......................................xxxxxxxxxxxxxxxxxxx
#
#
#######################################
# parameter for sql data base
#######################################
#
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 294
#................................................
#
# sql user name
#
#.......................................1.........
SQL USER seiscomp
#.......................................xxxxxxxxxx
#
# sql password
#
#.......................................1............................
SQL PASS xxx1922scmp
#.......................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#
# sql data base
#
#.......................................1.............................
SQL DATABASE seiscomp
#.......................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#
# sql ip number
#
#.......................................1............................
SQL IP localhost
#.......................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#
# in instant mode, give number of
# minutes back from real time (UTC)
# from which to start data collection
#
#.......................................1........
INSTANT TIME BACK 1440.0
#.......................................xxxxxxxx
#
# put 1.0 if making an S-file, else 0.0
#
#.......................................1.........
MAKE SFILE 1.0
#.......................................xxxxxxxxxx
#
# base for S-files.
# blank : def base
# 1-5 letter: data base
# ,, : local data base
# this base is used with instant
# operation where data is added
# INSTAT TIME BACK
# or for normal operation when
# instant is not selected. All
# data collected is stored here.
#
#.......................................1.........
BASE SFILE SCP
#.......................................xxxxxxxxxx
CHAPTER 21. AUTOMATIC ROUTINES IN SEISAN 295
#
# insert ARC line (1.0), default is no
# ARC line (blank or 0.0)
#
#.......................................1.........
INSERT ARC LINE 1.0
#.......................................xxxxxxxxxx
#
# seiscomp wood anderson gain, default
# is 2800 (blank) or 2080
#.......................................1.........
WOOD ANDERSON GAIN
#.......................................xxxxxxxxxx
#
# for instant operation only:
# second base for S-files where only
# s-files for instant time back are
# kept.
#
# blank : no second base
# 1-5 letter: data base
# ,, : local data base
#
#......................................1.........
SECOND BASE SFILE SCP2
#.......................................xxxxxxxxxx
#
#
#######################################
# the end
########q###############################
Chapter 22
BVALUE is a program to make b-value plots using a NORDIC input file (also compact). The magnitude is
selected among all magnitudes on all header lines, but when the first is found, no more are searched for. So
only one value is used for each event. A magnitude agency can be specified for the magnitude selection.
A postscript plot file is generated.
The questions are:
Output:
Number of events selected from file: 91
Duration of catalog in years: 0.502
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
296
CHAPTER 22. CALCULATING B-VALUE, BVALUE 297
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
CHAPTER 22. CALCULATING B-VALUE, BVALUE 298
1000
100
10
1 2 3 4
Figure 22.1: An example of a b-value plot. The bars are number of events and crosses the accumulated
number of events.
above. The file can be used with other plotting programs to make ’nicer looking’ b-value plots. An example
is shown in Figure 22.1.
Chapter 23
SEISAN includes five programs for estimating the fault plane solution, FOCMEC, FPFIT, HASH (called
hash seisan),EBEL and PINV. The programs are described below, they can all be called from EEV. Fault
plane solutions can be plotted with EPIMAP (new from version 9.0), W EMAP (Windows only) and FOC
(see below).
Apart from MULPLT, polarities and amplitude ratios can be read in a more efficient way with the programs
PLOTPOLARITY, AUTORATIO and PLOTRATIO.
The program GMTNOR also makes output which can be used with GMT. In EEV fault plane solutions can
be added manually to an event with commands inputfps or ifp.
23.1 FOCMEC
The program can be used to determine double couple earthquake focal mechanisms using polarities and/or
amplitude ratios for both local and global earthquakes. The program also provides an interactive graphical
display. The existing solution can be plotted without any station data or location being available, however
if existing polarities should be plotted, 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.
*****************************************************
Changes to Focmec
*****************************************************
SEISAN used the 2001 version of Focmec and has now updated to the 2017 version and this has implied
some significant changes. Polarity weight can now be used. When using polarity weight, each wrong polarity
does not count as one but as the normalized (to 1.0) amplitude. This is done in order to give less weight
to polarities near the nodal planes. The number of wrong polarities to use for an accepted solution is
therefore a real number and calculated as the sum of the weights. In an extreme case, all polarities could be
wrong but the sum of the polarities less than 1.0 but generally, according to Snoke, polarity weight improves
the reliability of a solution. Amplitude ratios are calculated as before but counted differently in case of
observations near a nodal plane where the calculated ratios could be extreme as indicated by N&D in the
output (nominator and denominator both below a given threshold, now hardwired to 0.1 for both P and S,
before it was 0.05 and 0.15, repsectively). In the old version of Focmec, these ratios were simply discarded
so. E.g. if 8 out of 10 ratios were indicated by N&D, and one error was accepted, only one of the 2 remaining
rations had to be ok for the solution to be accepted. In the new version, every N&D ratio is counted as an
error so it is more difficult to get an accepted solution, however unrealistic ratios are not accepted.
NOTE: The old version of FOCMEC is included. Running from EEV, the command is f old and running
from the prompt it is focmec old.
The SEISAN program FOCMEC provides the interface between the database and the program that
determines focal mechanisms, which in SEISAN is the program FOCMEC EXE. This program is written by
Arthur Snoke (Snoke et al., 1984) and distributed as part of the FOCMEC package (http://www.iris.edu/
299
CHAPTER 23. FAULT PLANE SOLUTION 300
pub/programs/focmec/). FOCMEC EXE is identical to FOCMEC in Snoke’s package and can be easily
upgraded (unless formats are changed). Generally the user will use FOCMEC when working with SEISAN
data, however, it is also possible to run the original version (see documentation by Snoke: INF/focmec.pdf).
Before FOCMEC EXE is started the user can optionally change the inputfile focmec.run.
The program works with polarities and amplitude ratios. See the MULPLT section on how to read
polarities and amplitudes. Note that since amplitude ratios are used, there is no need to correct for instrument
response provided the response is the same for the different components (within 5-10 %).
• Calculate angle of incidence at the station and correct for the free surface effect.
• For local earthquakes, use the calculated travel time for a particular phase to correct for Q. Different
Q for P and S can be used and the frequency used is the frequency of the maximum amplitude phase.
• For distant earthquakes, correct for t∗ . Different t∗ for P and S can be used. The frequency used is
the frequency of the maximum amplitude phase.
Different values can be set in file FOCMEC.DEF, which can be located in DAT or working directory.
If there is no definition of Q in FOCMEC.DEF or the file is not there then the attenuation parameters
have default values of:
Q = 100 × f 1.0 for P and S-waves
t∗ = 1.0 for P-waves
t∗ = 4.0 for S-waves
For amplitudes, a model and vpvs are needed. They are dfined in STATION0.HYP.
The observations to be made are:
• Rotate the seismogram (if three component record) to get R and T components.
• Read maximum amplitude P-phase and corresponding period on Z, phase P.
• Read the maximum amplitude S-phase (same type) and corresponding period on Z, phase (SV).
• Read the maximum amplitude S-phase (same type) and corresponding period on H, phase (SH).
The wave type Pg/Sg or Pn/Sn has to be given when the amplitude is read. When reading on uncorrected
seismograms, MULPLT will want a confirmation that the user wants to save uncorrected amplitudes, since,
normally, all amplitude observations in an S-file are in nm. It is possible to filter the signals provided the
same filter is used for P and S. Ideally, the amplitude observation should be made at a frequency below the
earthquake corner frequency and consequently also the filter high cut frequency should be below the corner
frequency.
It is also possible to read amplitudes on the radial component. However, SV amplitudes and phases
change rapidly around the critical angle and the amplitudes can therefore be unreliable (see INF/focmec.pdf
for details). So, although SEISAN will use the amplitudes read on the radial component, it is in general not
recommended to use them. Assuming reading on only Z and H, the following amplitude ratios are calculated:
• SV/P
CHAPTER 23. FAULT PLANE SOLUTION 301
• SH/P
• SV/SH
In reality, the data only provides 2 independent ratios so ideally only 2 should be used. Since it is hard
to know which 2 are the most reliable, SEISAN uses all.
The most reliable amplitudes are P on Z and SH on T so if enough data is available, try not to use SV.
However, if only Z-channels are available, SV on Z has to be used.
Unwanted amplitudes can be weighted out with wight 4 in S-file.
FOCMEC also uses polarities on S-waves but this has not been implemented in SEISAN since S-polarities
seldom are seen clearly. However, they cab be used by editing the focmec.dat file.
Phase names in SEISAN used for amplitudes for FOCMEC have the names AMPG, AMSG, AMPN and
AMSN for direct and first arrival (refracted), respectively. For local earthquakes both PG and PN types can
be used while for distant earthquakes only PN types can be used.
preferred solution, which can be stored in the input file or the database. The program is intended to work
from within EEV (option F), however it can also work independently (see below). The program uses an input
file called focmec.inp (automatically generated). This is a Nordic format file. Direct waves have angle > 90
and refracted arrivals angle < 90 degrees. If the angle is > 90, the polarity is plotted at an azimuth+180. If
the user wants to use FOCMEC as a freestanding program, the angle of incidence information may have to 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.
NOTE that the number of polarity errros is an integer number if no relative weighting of polarities is
used and a real number if relative weighting is used, see intro for FOCMEC above and/or FOCMEC manual
in DAT.
When the program runs, all amplitude information and corresponding corrections are listed. First there
is a question of which type of amplitudes to be used. In the example below, automatic amplitudes are chosen.
Number of polarities: 7
Amplitude types: Manual: 0 Automatic: 10 Spectral: 10
The abbreviations are STAT: Station code, C: Component, PH: Phase, AMP: Amplitude in count, PER:
Period in sec, TRTIME: Travel time in sec, QCOR: Log Q-correction, ANGINC: Angle of incidence at the
source, ANGEMG: Angle of emergence at the station, Fcorr: Free surface correction for this amplitude, Az:
Azimuth from the event to the station, DIST: Epicentral distance in km., Ratio type (see text), T: indicator
of ratio type, Amp1 and Amp2: The two amplitudes (count) in the ratio, Fcor is the free surface correction
in the amplitude ratio (to be multiplied with ratio) and LogRat is the logarithm of the corrected amplitude
ratio used. Total obs: Total number of ratios and polarities, gap in az: the gap of no observations (amplitude
CHAPTER 23. FAULT PLANE SOLUTION 303
and polarity), should be less then 180 deg, gap in ain (amplitude and polarity): gap in angle of incidence,
should be as small as possible.
Following, the user get the choices:
Stop (0)
Plot saved solution(s) (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 data base (S-file). See secetion ”Storing and selecting fault
plane solutions” below.
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 23.1
4. Starting a search for new solutions
Option 4 gives the following information and questions:
Give maximum allowed difference between observed and computed log amplitude ratio, default is 0.2,
which often is a good value.
The program will now start the searching and write out on the screen (and in a file) the solutions which
fit the requirement of number of misfits. The maximum number of solutions is limited to 100 as a default, or
to the value defined by ‘FOCMEC MAXSOL’ in SEISAN.DEF. 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. Also, the solutions will be printed in
text form to the screen, see Figure 23.1.
The abbreviations are Pol: Number of polarity errors for P note it is a real number, SV(not used) and
SH(not used), AccR/TotR: Number of accepted to total number of ratio errors, RMS RErr: The RMS error
for the ratios used, AbsMaxDiff: The maximum error. See also FOCMEC manual.
The polarities and amplitude ratios can be plotted on the focal sphere using the same convention as the
original FOCMEC program, which is:
CHAPTER 23. FAULT PLANE SOLUTION 304
o= compression
∆ = dilatation
V = amplitude ratio SV/P
S = amplitude ratio SV/SH
H = amplitude ratio SH/P
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 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 and the solutiosn will also be written to fps.out.
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 line type is F.
The following files are created:
focmec.dat: Input parameters to FOCMEC EXE.
focmec.log: Log of the FOCMEC EXE run.
focmec.lst: More details on solutions
focmec.out: Gives input parameters and solutions
focmec.eps: A Postscript plot file of LATEST plot
focmec.run: Run parameters for FOCMEC EXE, you can re-run FOCMEC by ‘focmec exe ¡ focmec.run’
23.1.6 Making synthetic amplitudes and polarities to test FOCMEC and HASH
A synthetic input can be generated for FOCMEC. The purpose is, for a given fault plane solution with a
given set of stations, to test how well ’correct amplitudes and polarities’ can be inverted to the known fault
plane solution. The procedure is: 1: Select an event with a set of observations and a fault plane solution.
2: Write SYNTET in the F-line in S-file where method is given, using e.g. FOCMEC, this is FOCMEC,
replace with SYNTET. 3: Run FOCMEC from EEV. The synthetic polarities and amplitudes will then
be generated for the same observations as given in the S-file. These observations are normally written out
to the file focmec.dat as polarities and corrected amplitudes. The focmec.dat is then input to the original
FOCMEC. The synthetic observations are now made by correcting the focmec.dat file to the theoretical
polarities and amplitude ratios corresponding to the SYNTET fault plane solutions. The theoretical values
are therefore at the source and not affected by Q and free surface. The original observations in the S-file are
not changed. 4: Do the inversion in the normal way.
Since the theoretical values are generated by FOCMEC routines, FOCMEC should exactly return the
SYNTET solution. However depending on the number and types of observations, this might not be the case.
Before making the solution with FOCMEC, it is possible to edit the focmec.dat file to introduce errors or
remove observations in order to test the sensitivity of the solution to errors in input or insufficient input.
All promt line options for FOCMEC:
a: Calculate angles
o: Plot saved solution, no questions
p: Just run foc preparation
d: Use auto amp as default, use velocity
pd: Options p and d above
s: Calculate thoretical amplitudes from fps
None: Fault plane solution after using HYP
Theroretical amplitudes: Used to calculate amplitudes on the focal sphere for a given fault plane solution,
example:
c:\Seismo\PRO>focmec s
CHAPTER 23. FAULT PLANE SOLUTION 305
strike,dip,rake
30 40 50
Enter az and ain, enter to stop
22 33
p-amp= 0.0301 sv-amp= 0.6091 sh-amp= -0.3259
log ratios, sv/p, sh/p and sh/sv 2.0272 1.7556 0.2716
P-polarity is: C
For this option, vpvs is hardwired to 1.74. There is no Q-correction or free surface correction, it is just
the amplitude on the focal sphere.
Computer limitations: Total number of polarities must be less than the dimension of array DATA (pa-
rameter max data) for Nordic data (see file seidim.inc in INC directory).
Figure 23.1 shows an example of a fault plane solution calculated with FOCMEC.
23.2 FPFIT
This well known program, written by Reasenberg and Oppenheimer (1985), uses polarities to find one or
several fps’s (see manual fpfit.pdf in INF). Quoting the manual ”Program FPFIT finds the double couple
fault plane solution (source model) that best fits a given set of observed first motion polarities for an
earthquake. The inversion is accomplished through a two stage grid search procedure that finds the source
model minimizing a normalized, weighted sum of first motion polarity discrepancies”. The weighted sum
is expressed through the F-factor (0-1) given as output in S-file. A value below 0.5 is a good fit and
a value of 1.0 is means a perfect misfit. A station distribution ratio STDR is calculated. Quoting the
manual ”The station distribution ratio is 0.0 < STDR < 1.0. This quantity is sensitive to the distribution
of the data on the focal sphere, relative to the radiation pattern. When this ratio has a low value (say,
STDR < 0.5), then a relatively large number of the data lie near nodal planes in the solution. Such a
solution is less robust than one for which STDR > 0.5, and, consequently, should be scrutinized closely
and possibly rejected”. This value is also written to the S-file. One advantage with FPFIT compared to
FOCMEC is that formal errors are estimated and usually only one solution is given. The software is found
at http://earthquake.usgs.gov/research/software/
The original program FPFIT is left unchanged except for a minor gfortran adaption, however it has
changed name to fpgit org. FPFITi ORG is an interactive program with many options for parameters
stored in a parameter file and different data input formats can be used. In the SEISAN implementation, this
has been simplified and a SEISAN driver program FPFIT is used. This program converts the observations
to an input file in hypo71 format, fpfit.dat, makes a parameter file with preset parameters, fpfit.inp and
a run file fpfit.run to run the program. After running FPFIT (either free standing or through EEV with
command fp), it is possible to run the original program directly with command fpfit org and test different
FPFIT parameters, using fpfit.inp as a starting parameter file (default). It is then possible to interactively
get information about the different parameters. The hardwired parameters essentially use default settings,
ensure the use of all data (e.g. no magnitude-distance restrictions) with the same weigh on all data. In
addition, the following is set:
- Search in as fine a grid as the program allows, one deg for fine search.
- Search for multiple solutions, not just the best. Gives an idea of uncertainty.
- Minimum number of polarities to attempt a solution is 6.
Run the program: In EEV, use command fp, first solution is written to S-file. The previous solution of
FPFIT will be overwritten. FPFIT in SEISAN implementation can work with both global and local data,
CHAPTER 23. FAULT PLANE SOLUTION 306
Figure 23.1: Top: An example of a fault plane solution plot. Symbols are explained in the text. Bottom: A
fault plane solution also showing the stations with corresponding polarities.
CHAPTER 23. FAULT PLANE SOLUTION 307
while the original FPFIT only works with local data. Outside EEV. See section on composite fault plane
solution.
Output files:
fpfit.out Details of inversion. In the
FPFIT manual, this file
is called ”Statistical sum-
mary file”
fpfit.fps The fps solution etc. In
the FPFIT manual, this
file is called ”Extended
hypocenter summary card
file”
fpfit.pol Station and polarities
used, see FPFIT manual
fps.out The fps in SEISAN format
in a cat file
****************NOTE*************** IN the FPFIT outptut on screen from FPFIT ORG, strike is
downdip azimuth so to get the standard notation as used in SEISAN, 90 degrees is subtracted. ****************************
Note: There is no check if polarities are read on Z-channel but it is required that the phase is P.
23.3 HASH
NOTE: internally in SEISAN, the program is called HASH SEISAN to avoid conflict with bash command
hash.
This program (Hardebeck and Shearer, 2002, 2003) determines fault plane solutions using P-polarities
and amplitude ratios as input, just like the FOCMEC program. The P-amplitude used by the program is
the theroretical radial amplitude and that was
p p obtained by reading (Hardebeck and Shearer, 2003) AP =
(A2r + A2z ) and the S-amplitude AS = (A2sv + A2sh ) where A is amplitude, r is radial (on rotated
seismogram) and z is vertical. The S used was the maximum p S on any of the rotated components or Z.
This was then compared to the theoretical amplitude AS = (A2sv + A2sh ) where sv is SV, and sh is SH. This
approximation apparently worked well. The free surface and attenuation correction is not built in, but was
replaced by a fixed factor per station, which had to be determined independently. In order to simplify the
input, the free surface and attenuation corrected amplitude ratios from FOCMEC are used as input for HASH.
The program was modified to use only SH and by using the free surface corrected P on the Z-component, the
true P-amplitude is used. Thus only one amplitude ratio is used for each station (SH to P). HASH returns
solutions with less than a given number of polarity errors and average amplitude errors less than a given limit.
If no solutions are found, error limits are increased and normally many solutions are returned. Using this,
an estimate of the best solution is made and likely errors calculated. The advantage with HASH is that it
finds one or a few best solutions, while for FOCMEC the user must select one among many. Also HASH will
not completely change the solution by one wrong amplitude ratio, since the average of the amplitude errors
is used as selection criteria and not a single amplitude. FOCMEC does not give any estimate of the errors in
the solution. HASH calculates an estimated error; however that requires an input where each event has been
located with e.g. 10 different likely input models and all data is used as input in order to get estimate of fault
plane solution uncertainties generated from the model. This was not done in the SEISAN implementation
so only the error estimated from the spread in solutions is used. This might lead to smaller error estimates
as compared to the original HASH implementation. The SEISAN HASH implementation is a simplified
implementation compared to the original HASH with many parameters hardwired, see hash seisan.for for
implementation details and changes. Like FPFIT, the F-fit function is calculated (called weighted fraction of
polarity misfits) and similarly the station distribution ratio (see FPFIT). Both values are given in S-file as well
as the average amplitude error. For more information, see the HASH manual hash.pdf and FPFIT manual
fpfit.pdf in INF. The software is found at http://earthquake.usgs.gov/research/software/index.php.
HASH does not estimate errors in strike, dip and rake but errors in fault plane and auxiliary plane (degrees).
HASH, like FOCMEC uses the Vp Vs velocity ratio to calculate amplitudes. In versions of SEISAN before
CHAPTER 23. FAULT PLANE SOLUTION 308
10.6, this was hardwired to 1.74. Now it is read from the input file focmec.dat also used with FOCMEC.
This ratio is in turn read from STATION0.HYP.
Grid angle for focal mech. search, enter for def 2 Comment: Smallest is 2
Enter angle for computing mechanisms probability, def is 60 Comment. Default 60 deg. Sel.
Enter probability threshold for multiples, def is 0.1 Comment: Default 0.1 selected
Number of polarities is : 11
Number of amplitude ratios is : 5
Minimum number of polarity misfits overall : 0
Minimum average amplitude error overall : 0.13
New number of pol. misfits inc. extra is : 1
New average amp limit inc. extra : 0.23
Minimum average amplitude error for pol ok : 0.27
New average amp limit is : 0.37
Number of solutions found 92
Explanations of input:
The ”mechanism probability” is the probability that the real mechanism is ”close” to the preferred
mechanism, within ”angle for computing mechanisms probability” where angle define ”close.” If there are
clustered outliers, alternative solutions (or ”multiples”) are found based on those outliers. You can set the
minimum probability for the multiples (i.e. ignore multiples with a low probability.)
158.0 53.1 -156.4 7.0 3.8 0.30 0.57 0.76 FCF HASH F
39.2900 66.3900 -63.6500 0.13 2 1 FCF FOCMEC F
42.0 68.0 -62.0 7.0 5.0 3.0 0.1 0.2 FCF FPFIT A F
18.7 67.8 -63.3 4 FCF PINV F
In this example, there are 4 solutions made by the 4 programs and the solution made by FPFIT has been
selected as a prime solution with quality A. The content and format is:
Quality indicator: The indicator can be any character, but usually A to F is used with A as the best.
It is up to the user to manually assign a quality indicator. Events can later be selected based on quality
indicator. Programs SELECT and FOC use quality indicators. The quality indicator as well as the selection
of the prime solution can be select by command fq in eev. An example is given below:
Fault plane solutions for this event 1 180.3 55.1 -123.7 5.0 4.4 0.04 0.67 0.38 SJA HASH A 2 6.1000
48.4400 -48.0700 2 SJA FOCMEC 3 191.0 51.0 -110.0 SJA DREGER 4 185.0 48.0 -121.0 HRV CMT A Give
fps number to be prime solution, enter for no change
23.4 PINV
This program makes a preliminary best fault plane solution based on polarities and is intended as a help to
other methods of fault plane solution. The original program was written by Suetsugu and some information
is found in (Suetsugu, 1998). A copy of this report, which also gives general information about fault plane
solutions, is available as foc.pdf at http://iisee.kenken.go.jp/lna/?mod=view&cid=S0-250-2007
To run the program from EEV:
Command pi will locate the current event and then start PINV (stands for P-inversion). PINV is
hardwired to use hyp.out as input file and it will use all polarities from P-phases (capital P as the first
letter). The result of the inversion is written out on the screen and in file pinv.out. The strike, dip and
CHAPTER 23. FAULT PLANE SOLUTION 310
rake and number of wrong polarities is also written to the S-file provided at least 5 polarities are available,
however PINV will make an inversion with any number of polarities and write the result to the screen. In
the S-file, the result is written as an OF-line giving the source of the inversion as PINV. A new inversion will
overwrite the previous solution. This means that a PINV solution will be additional to the solution given
by the F-line and therefore not considered as prime. It is also possible to directly compare the solution to
the solution obtained by FOCMEC.
To run program outside EEV.
The program can run with one or many events (composite solution). First locate event(s) with HYP,
then give command ‘pinv’ and the inversion is made. All polarities in the hyp.out file are used. The result
only goes the screen, hyp.out, fps.out and pinv.out.
Principle of operation:
Moment tensor inversion can be done most simply using amplitudes as observed on the focal sphere. In
PINV, polarities are considered to be amplitudes of +1 or -1 corresponding to compression and dilation,
respectively. This is a gross oversimplification since there will be large variation of real amplitudes over the
focal sphere. This input data of ‘amplitudes’ is then inverted to get the moment tensor under the restriction
of finding a single double couple. Despite the simplification, the advantage of this method is that it very
quickly gives a ‘best’ approximation to the fault plane solution. This “best“ solution, particularly with few
data, might be just one of many possible (see FOCMEC), but it serves to give an idea of a possible ‘best’
solution and it is in general consistent with the observations (Suetsugu, 1998). Unfortunately PINV does
not give an error estimate to judge how reliable the solution is. It is therefore not recommended to use PINV
to obtain prime fault plane solution, but rather as a help to select a solution when using FOCMEC unless
much well distributed data is available. In some cases, FOCMEC will find a solution where all polarities
fit, while PINV will get a similar solution with some polarity errors. This can be explained by PINV using
the assumption of +1 and -1 amplitudes and thus an overall fit to amplitudes near nodal planes might be
difficult. The original input to the PINV program has an option to give zero amplitude of observations
judged nodal, however in our experience it is hard to judge if a first polarity is nodal or just has a small
amplitude du to path (e.g. Pn) so this option has not be included.
An example of a run is:
There were 8 observation which all fitted. The pseudorank indicates how many parameters can be
determined in the inversion. In this case 5 since there are 8 observations. If less than 5 observations, the
pseudorank will be less than 5. The Absolute pseudorank tolerance is a measure of the fit.
If e.g. the program calculates that the first arrival is Pg, but the arrival is very emergent, the first arrival
might be a refracted arrival due to wrong model or depth. In some cases a clear Pg arrival might be seen a
bit later and can be used instead.
In some cases due to incorrect model, the hypocenter must be fixed to a depth different from what it
locates to naturally in order to get a solution.
Note that in order to compare FOCMEC and HASH, amplitudes should only be used on Z and T since
HASH cannot use amplitude on Z. In anay case, these amplitudes are the most reliable. In HASH, the
number of solutions will depend mainly on the error limit given for the amplitude ratios. If very few solution
are found, the solution might be less reliable so increase the limit then. A few hundred solutions is a good
number. The results from two solutions can be compared with EEV command ’fd’ which calcultes the
difference it P and T orientations. It is easy to compare the solutions. Run each program in EEV, then plot
using command fo. Each solutions will be plotted in a different color, see Figure 23.3. If doing composite
solutions, use program FOC with input from fps.out.
1: Select the events to be used together in one file using e.g. SELECT or the graphical options in EPIMAP.
2: Locate the events with HYP. There are now two output files, hyp.out and print.out available for input
to the fault plane solution programs. The fps program must be executed in the directory of the print.out
and hyp.out. Once the fault plane solution has been made, the solution is available with the first event
in hyp.out.
3: Do the fault plane solution:
Plot the composite fault plane solution: The solution can be plotted with command ’focmec o’. Only
polarities will be plotted. The solution can also be plotted with plotfoc using hyp.out as input. In
thsi case no polarities are shown. The solution with the first event in hyp.out is used. No agency is
written for the composite solution. A previous solution without agency and quality is overwritten. If
all 4 programs have been used, all 4 solutions will be present in hyp.out and plotted together. It is
possible to plot stations corresponding with all polarities with program focmec. Then type ’focmec’
and when the menu 0-4 comes up, chose -1.
The solution(s) will also be written to the cat-file fps.out in standard SEISAN format. For each run of
a program, the solutions accumulate in fps.out. This can be used to compare solutions from different
programs, see FOC. The solution can also be plotted with PLOTFOC. An example of the plot with
FOCMEC is seen in Figure 23.1.
Finally the solutions will also be written to hyp.out and can be plotte with PLOTFOC, however in
that case only the mechanisms are shown.
CHAPTER 23. FAULT PLANE SOLUTION 312
NOTE: All fault plane solutions made from the different programs are accumulated in file fps.out.
When the first event has been read in, general questions comes up. The all events are read in and after
last event, there is info on the toal number of data, see example below:
4: c:\FPS>focmec
Number of polarities: 10
Amplitude types: Manual: 4 Automatic: 0 Spectral: 0
Figure 23.2: Composite solutions using 5 events and the 3 programs FOCMEC, FPFIT and HASH. Only
polarities are used.
Stop (0)
Plot saved solution(s) (1)
Plot new solutions (2)
Plot selected solution (3)
Find new solutions (4)
-1, -2, -3 also plot station
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:
Select the event from EEV
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 amplitude phases AMPG or AMSG (direct phases). This
will create a separate line with amplitude readings only. The polarity must also be indicated on
a separate phase , which must be Pg or Sg 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 STA-
TION0.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.
Figure 23.3: Compare fault plane solutions from different programs. For explanation of symbols, see
FOCMEC.
Figure 23.4: Example of plotting many solutions. Each solution is given with number, the fault plane solution
and the quality (A-E). Up to 24 solutions can be plotted on one page.
CHAPTER 23. FAULT PLANE SOLUTION 316
Figure 23.5: Plotting many fault plane solutions. Left: Using W EMAP. Notice that the colors in the
solutions are inverted compared to normal practice. Right: Using EPIMAP. The data for the two plots is
the same.
NOTE: Some versions of W EMAP plots some of the fault plane solutions with inverted color e.g. inverse
fault becomes a normal fault).
The EPIMAP plot for the same events is shown in Figure 23.5. See EPIMAP for more explanation.
EPIMAP can also plot the fault plane solutions in a section, the solutions are still seen in the horizontal
plane.
23.9 FOC: Plot many FPS, stress inversion and Rose diagram
The SLICK program
This program is part of the Slick package doing the following quoting the author Michael (1984) ”The slick
package uses fault slip data (either field observations or from focal mechanism) to find the stress tensor that
best explains the observations. Inputs are the orientation and slip direction of a set of fault planes. Outputs
are the orientation and shape of the stress ellipsoid, including confidence regions, and statistics used to judge
the success of the inversion. This method uses the linear inversion algorithm and non-parametric bootstrap
statistics”. The software is available at http://earthquake.usgs.gov/research/software/index.php.
In SEISAN, only the inversion part has been implemented so the error analysis is missing. Program
SLICK can be run as a separate program, but is normally run as part of FOC which prepares the input for
SLICK and plots the output. The method is explained in Michael (1984) where also examples are given with
data available at the above web site. Running SLICK: slick ”file”, where ”file” is a file with strike of dip,
dip and rake. An example input file is:
Note that in SEISAN, strike of fault plane is used so the strike of the dip is strike of the fault plane+90
degrees. The output is ”file.oput” which gives the found stress tensor and the fit to the data, for details
see Michael (1984). The stress tensor has a corresponding slip angle, (average slip) and for each event the
difference in slip angle for the individual event and the average slip is calculated as well as the average
difference and standard deviation. When running SLICK with FOC, an input file foc.slick is made for
selected events (making the corrections to strike of slip) and the output file is foc.slick.oput. FOC also
plots the direction of maximum compressive stress s1, minimum compress stress s3 and null axis s2. In the
example below s1 has max value of 0.68 and strike and dip are 19 and 34 respectively. S3 has strike and dip
of (113, 5) and s2 (-149, 56) respectively. The average fit angle is 59 with a standard deviation of 51, a bad
fit.
For a complete stress analysis it is recommended to also do the error analysis using the complete slick pack-
age or e.g. the program ZMAP (not a SEISAN program, uses MATLAB, found at http://www.earthquake.
ethz.ch/software/zmap/ftp). FOC writes a file which is formatted for input to ZMAP. However doing
stress analysis as implemented in SEISAN gives a good impression of the consistency of the fault plane
solutions in a particular area. It is recommended that at least 10 events are used for inversion.
FOC program
FOC is a program doing different things with fault plane solutions given in a CAT-file: Converting data
to other formats, plotting many solutions, running the SLICK program and displaying the results, plot P
and T axis for many events and make statistics of polarities. The input is:
foc
Give input file
collect.out
Quality, ABC.., up to 5 chars, enter for all
AB Comment: Different qualities can be selected
Cumulative(c) or individual misfit(def) Comment: See later
Plot all solutions selected (Y=enter/n) Comment: Analysis can be done without plotting all
N
The plot of the many fault plane solutions is seen in Figure 23.4. After plotting the fault plane solutions,
a plot comes up plotting the location of the P and T axis and the results from SLICK, see Figure 23.6.
Output files:
Foc.out: P and T axis for all events, can be used as input to make rose diagrams.
Foc events.out: The events used based on quality selection
Foc pol.out: Statistics of polarities:
Stat C D
AZ05 3 2
MESC 18 60
VIF0 5 2
MIRA 10 32
VIF 44 19
LFA 52 18
PRCH 36 6
CHAPTER 23. FAULT PLANE SOLUTION 318
Figure 23.6: Left: The position of the T-axis given by the event numbers. The triangle is the SLICK
minimum compressive stress direction and the circle is the null axis. Right: Corresponding for P-axis and
the triangle is now the maximum compressive stress direction. Top: The misfit for each event as a function
of event number. This figure can also show the cumulative misfit, see example run of FOC.
CHAPTER 23. FAULT PLANE SOLUTION 319
PVER 26 3
FRA0 0 2
AZ07 1 1
.
.
SET2 3 0
PSAN 1 3
Sum of maximum number of polarities 570
Sum of minimum number of polarities 158
For each station the different polarities are counted and a sum of the consistent polarities are given at
the end. Foc.zmap: Input file in format used by ZMAP, notice direction of slip is used instead of strike of
fault, see SLICK.
Foc.slick and foc.slick.oput: See SLICK.
NOTE: FOC uses the first instance of the fault plane solution found in file for a particular event.
Figure 23.7: Example of plotting the focal sphere of a moment tnesor solution
Chapter 24
PLOTPHASE and PLOTPOLARITY are two programs for relatively quick and dirty plotting of short data
segments. The purpose of these tools is to efficiently display observations that are stored in the sfile. They
also allow to make simple adjustments. Both tools can be started from the command line or EEV (commands
QP and POL).
PLOTPHASE takes the s-file name as input and plots a time window of data around all phase picks
found in the s-file. The user specifies the window length. The tool allows to change picks, apply filters (given
by characters that are the same as defaults in MULPLT), go forward or back to start if many channels. All
commands are displayed on the screen (Figure 24.1). To start from the command line, use e.g.:
plotphase 09-2257-08L.S201508
321
CHAPTER 24. QUICK PLOTTING AND CHANGING OF PHASES AND POLARITIES, PLOTPHASE AND PLOTPOLA
PLOTPOLARITY takes the s-file name as input and makes a plot of P-wave onset with polarity readings
if available. The program provides an efficient way to plot and change polarities used to determine fault
plane solution. Only vertical channels of data are shown. If changes are done, the program will save, if the
user wants to, these back to the s-file. The plots can extend over several pages when there are many traces.
PLOTPOLARITY can be started from EEV using command ’pol’, or from the command line using either,
e.g.:
plotpolarity 09-2257-08L.S201508
to plot all vertical channel data. This is the default option when starting the program from EEV.
The program asks for some input at the startup:
total window duration (default 1s):
2
This is the total window duration that will be displayed around the P arrival, which is taken from the s-file.
This number gives the position of the P arrival within the time window as percentage of the total window.
Setting this to 0 would mean that the signal starts from the P arrival, 50 means that P will be in the center
of the window, and so on. Numbers less than 10 and greater than 90 will be reset to 10 and 90, respectively.
One typically wants enough pre-phase time to see how the signal is changing.
This allows to average the samples for the given time period starting the given length prior to the time of
a sample. The averaging will act as a filter without a phase response, and can be looked at for noisy signals,
best only to confirm if the signal seen on original trace is still the same when applying averaging filter.
Next the plot comes up, and the polarities can be inspected and changed, using keys c=compression,
d=dilatation and r=remove. In case of a change, a message is written to the terminal, and the graph-
ics are updated. For each trace, the station name is shown together with the the phase, the polarity (empty
if not available), the distance and azimuth. The graphics are written to a Postscript file polarity.eps, an
example is given in Figure 24.2.
CHAPTER 24. QUICK PLOTTING AND CHANGING OF PHASES AND POLARITIES, PLOTPHASE AND PLOTPOLA
The program runs on an s-file and measures P and S amplitude in both time and frequency domain. The
measurements are done for a number of frequency bands and the results are obtained by averaging. The
results can be used with FOCMEC and HASH to determine the fault plane solution. Data windows are
selected based on the arrival time picks in the file and have a user selectable length (default 2 sec). The
program adds 20% of time as pre-phase time. AUTORATIO can convert to displacement or velocity units
and allows for filtering of the data. The user can set a maximum hypocentral distance, default is 100 km.
While the program would work with Pg/Sg or Pn/Sn, it is probably wise to work with short distances and
direct phases only. The results are written to the autoratio.nor output file in Nordic format. If called from
EEV (command ar), the results are written directly to the s-file. Another output file, autoratio.out, lists all
the amplitude readings.
The data processing steps are as follow, first for P, then S signal:
• Read the complete trace, for P this is the vertical channel, for S the horizontal channels are read and
rotated into radial and transverse using the computed back azimuth
• Taper and remove DC, possibly filter and convert to ground motion
• Select time window
• Read amplitude of time domain data: P on Z, SV on Z and SH on T.
The following amplitude names are used in the Nordic output file:
• ATPG: amplitude Pg time domain
• ATSG: amplitude Sg time domain
325
CHAPTER 25. MEASURING AMPLITUDE RATIOS, AUTORATIO 326
Waveform inversion
• Make sure the event is well located and all response files are available. If doubt about depth, fix it in
S-filer header line.
• Start EEV.
328
CHAPTER 26. WAVEFORM INVERSION 329
• Select channels desired for analysis. Select as many channels as possibly can be used. It is possible
later to deselect without going back to MULPLT. NOTE: You can only make a data set of the channels
seen on the screen! See below how to deal with many channels.
• Select a time windo starting about 30 s before the first P and lasting for about 10 min, but at least
long enough to get all waves to use for analysis.
• Rotate channels (if 2 horizontals), check that all channels are rotated (no back azimuths of 999).
• Select filter band and plot signals instrument corrected and filtered. Start with just filtering the signals
e.g. in band 0.01 to 0.1, this gives an idea of which channels have good low frequency signals. A good
filter to use is often 0.03 to 0.1 Hz. For small events, a filter of 0.5 to 1.0 might have to be used Inspect
the signals to see if they look reasonable. E.g., the instrument corrected amplitudes should not be very
different. At this stage errors in the response files or bad data might be detected. If so correct data
and select again. A wrong response can seriously affect the solution.
• When signals look ok and are displayed instrument corrected, filtered and rotated, press button OutW,
and wait for message in to right hand corner ’File mulplt.wav finished’. The Ascii file mulplt.wav
has now been written out. It can take some time since it is an Ascii format of real numbers (see below).
In a multi-trace window there can be missing data in front of the signals and at the end of the signals
for some channels. These gaps are filled out with the DC level.
• Quit MULPLT.
How to deal with many channels: By default, MULPLT shows 99 channels per screen, but this is
often reduced to a smaller number by setting parameter NCHAN PER SCREEN in MULPLT.DEF to a number like
24. So if e.g. 100 channels are available, the data will be shown on several screens. The procedure is then:
• Select channels to use on each screen. If no channels are selected on a screen, all will be used.
• When the selection is finished and if there are more channels than fitting on one screen, press N. This
will plot all channels on one screen and a file with all channels desired can be made. Pressing N again
brings back the original number of channels per screen.
At this stage, a file with possible data for analysis has been written out with the original sample rate,
instrument corrected (units nm or nm/s) and filtered. The two first letters in the component names has
been replaced by RR to indicate reprocessed data. The file can be plotted with MULPLT or from EEV with
command pd.
Step 2 Create parameters needed for MT
The generation of the Greens function needs a series of parameters including the crustal model, which
might be the most critical input. The model used will be taken from the STATIONx.HYP file so it will be
possible to use a station file different from the default by either working in a local directory with a local
STATION0.HYP or having a STATIONx.HYP in DAT, where x corresponds to the model ID given in the S-file.
Note that a STATIONx.HYP file can contain Q and density, but often does not and then default values are
used. All parameters will be written in the S-file in the SYNT format (including extra mt-variables), see
section on synthetic seismograms and the example below. The stations selected for analysis will be the
stations given in the mulplt.wav file as made under step 1. Default values are given for many parameters.
In order to generate parameters, in EEV:
• Give command mtp (p for parameter). All needed parameters are now stored in S-file as well as
parameters for the synthetic seismogram programs, since many of these parameters are the same. An
example of the parameters is given below. At this time a backup file of mulplt.wav is made for future
reference. The name is yyyy-mmdd-hrmm-ss.mulplt.wav.
• Edit the S-file to change default parameters to desired values, see example below. Often a first test can
be made with the default values. By default, modeling is only done for one depth, but it is possible
to test a range of depths by editing the parameter file. It is however recommended to use the default
depth from the S-file for the initial test.
CHAPTER 26. WAVEFORM INVERSION 330
NOTE: Command mtp does not overwrite any parameters already in S-file. If a completely new set of
parameters is needed, all the old ones can be deleted in the S-file or by using command mtd.
Step 3 Generate and inspect unfiltered Greens functions.
The Greens functions should now be generated with the parameters given in S-file. In EEV:
• Give command mtg (g for Green’s functions). This makes Helmerger format files all.green$$$ with
all the time series Greens functions needed for the given data set and the requested depths $$$. By
default only one depth is used. This might take some time (minutes) depending on number of points
used, however the time is independent of the number of stations used. The default is to generate a
512 point time series which by default is 512 secs long. NOTE: All previous Greens function files are
deleted before the new ones are made.
• Plot the Greens functions with command pg (g for Green). It is useful to check if the Greens functions
look ”reasonable”. NOTE: If Greens functions for several depths have been made, only the Greens
function with the largest depth can be plotted in this way (file all.green). The other ones must be
plotted directly with MULPLT outside EEV. For component codes, see Dreger documentation in
SEISAN. Note that the transverse components TSS and TDS have no P-waves so they appear to start
later. Not all models and distances might produce reasonable signals, there should at least there should
be some resemblance with the data signals. Note that the signals, starting at the origin time (read
from S-file) have been time shifted with the reduction velocity to appear to arrive at similar times. At
this stage it might be decided that a different time window or sample rate is needed. Then edit S-file
and redo step 3.
Note that the all the Green’s function files and the time shifted data files do not have accurate absolute
time due to time shifting.
Step 5 Make the inversion
The desired time windows from all.green$$$ are filtered by the selected filter and written out. The filtered
time shifted window from mulplt.wav are now selected, filtered by a (desired sample rate)/5 Hz antialias
filter and resampled to the desired sample rate and written out. The inversion is now performed. All this is
done in EEV. NOTE: All data files from previous inversion are deleted before the data selection.
The inversion is now done and the results given on the screen. If a range of depths have been selected,
inversion will be done for each depth and the inversion will be repeated for the depth with the best fit so this
becomes the last inversion, which can be save in S-file. A table of fit parameter (VR) and depth is displayed
together with corresponding fault plane solution. If results are good (see later), they can optionally be saved
in the S-file. Note particularly the value of Zcor which is how many samples the data has to be shifted to fit
with the Greens function.
Step 6 Check results
See Dreger documentation in INF for the explanation of the output. The variance reduction (VR) is
shown for each station as well as for all stations. A low value indicates a bad fit and a negative VR might
indicate inverted polarity. The most important check is to see how the synthetic seismograms fit the observed
seismograms.
• In EEV, give command pm. The plot of overlaid seismograms is now shown. They should be similar.
Plot also with fixed scale to see the absolute difference between the traces.
CHAPTER 26. WAVEFORM INVERSION 331
Figure 26.1: Plot of original filtered instrument corrected data (blue) compared to the synthetic seismograms
(red). The filter used is 0.02 to 0.05 Hz. The plot is made with a fixed scale of 30 000. Note how the T-
components dominate the solution. The data is the Dreger test data included in the SEISAN training data.
Note that when plotting a file in Helmberger format, the overlay function (see MULPLT section) is turned
on automatically for channels starting with SY.
Figure 26.2: Same data as shown in previous figure but only for station BKS. The data is now auto scaled.
The fit on all channels is quite good. Notice the small amplitude of the radial component.
CHAPTER 26. WAVEFORM INVERSION 332
The fault plane solution can be plotted (if saved in step 5) with command fo. Compare to any solution
from other sources (if given in S-file, see section 23 on fps in SEISAN).
In the above plots, the original data has been shifted corresponding to the value of Zcor. This means that,
for a positive Zcor, the last Zcor data sample on the trace has no data and is replaced by zeros. Similarly if
Zcor is negative the first Zcor samples are zero.
Judging the results
See the Dreger documentation for a discussion. Generally the variance reduction VR should be as high as
possible. A bad fit could give an unrealistic moment (and Mw) so that is also an indicator of the quality. A
good fit is not a guarantee for correct results. If e.g. the gap is large, there might not be sufficiently different
data to give a reliable solution, even if the fit is good. The quality given has been assigned by Dreger as
follows
It is necessary to check the solution against the P polarities to confirm that they generally match the
solution as wrong alignment can result in inverted solutions. However, it is not to be expected that all the
synthetic polarities fit the observed polarities since the fault plane solution from MT (measures overall slip)
might be different from fault plane solution with polarities (measures the slip of the initial rupture). Use
command fo to plot the solution together with observed polarities recorded in the S-file.
Example of a run of the inversion
Depth=8
CHAPTER 26. WAVEFORM INVERSION 333
Station Information
Station(0): PKD__.data R=122.0km AZI=137.0 W=1.000 Zcor=14
Station(1): BKS__.data R=142.0km AZI=331.0 W=1.164 Zcor=13
Station(2): CMB__.data R=171.0km AZI=34.0 W=1.402 Zcor=13
Station(3): KCC__.data R=201.0km AZI=71.0 W=1.648 Zcor=12
Mo=4.12984e+023
Mw=5.0
Strike=223 ; 130
Rake=18 ; 172
Dip=83; 72
Pdc=98
Pclvd=2
Piso=0
Station(0)=78.607796 4.95437e+010
Station(1)=82.944862 3.37622e+010
Station(2)=82.605667 1.91152e+010
Station(3)=56.903259 6.36377e+009
VAR=7.48972e+006
VR=79.39 (UNWEIGHTED)
VR=79.00 (WEIGHTED)
Var/Pdc=7.668e+004
Quality=3
• New model: Delete in S-file, edit station file and run mtp. Or correct directly in S-file. However if a
new model results in new distances and azimuths, then the station lines should also be deleted before
using mtp. Similarly with the depth line if depth changes.
• New depth: If location is unchanged, only change depth in parameter file and start with step 3.
• Range of depths: Edit S-file depth line.
• New event location: Delete station lines in sfile and start with step 2.
• Take out some stations: Change the ID in the first station line (the one with mt specific parameters),
e.g. write xSTATION instead of STATION. Then run inversion again, step 5.
• Take out components for a station: Edit the field MT-COMP: TRZ, see below. Then run inversion again,
step 5.
• Change filter: A new data selection in MULPLT must be made with the new filter and the new filter
must be written into the S-file. There is a check if filter in S-file corresponds to filter in data file. Then
continue with inversion, step 5.
• Add a completely new station: Start from the beginning, this requires complete data selection and
computation of Green’s functions. The simplest is to delete all parameters with mtd.
• Change from displacement to velocity: Start from the beginning.
• Change sample rate: Change in S-file and start from step 3 making Greens functions. Remember
to change the number of points for inversion correspondingly, that is e.g., if sample rate is doubled,
number of points must also be doubled to analyze the same length time window.
CHAPTER 26. WAVEFORM INVERSION 334
• Change reduction velocity. Change in S-file and ideally start from step 3. However, starting from step
4 gives the same result provided the time window is long enough, see also below.
• Adjust time shifts: Zcor gives the number of samples the data automatically has been shifted to
correlate with the Greens function. Check how the synthetic seismograms fit the observed seismograms.
This number can be adjusted in the s-file. The number should be Zcor plus or minus a few data points.
If zero, the automatic correlation is used. If real data is seen to the left of the synthetics, reduce Zcor
and increase if the data is to the right of the synthetics (indicated on top of plot as D̈ata left. -Zxor¨).
Zcor can be positive or negative.
• In general, if deleting a line with parameters, they can be regenerated by command mtp.
The most common editing in the S-file can be done with command mte in EEV. The command shows:
Edit MT station lines
NUM STAT ACTIVE COMP ZCOR-SFIL ZCOR-AUTO DIST AZ
1 PKD 1 TRZ 0 40 122 137
2 BKS 0 TRZ 0 0 142 331
3 CMB 1 TRZ 0 39 171 34
4 KCC 1 TRZ 0 38 201 71
Enter station number to flip if station is used or not
Enter station number and components to use, e.g. 4 TZ
Enter station number and new zcor, e.g. 3 33
Enter to terminate
With this command it is possible to very quickly weight out or in a station, select components and change
zcor.
If a range of depths is used or the new mt solution is updated, the mt is written to a file named psmeca.in
that can be used to plot the mt solution with the GMT program psmeca. With the command
psmeca psmeca.in -R10/80/0/42 -JX16/-20 -Sd0.3 -Gred -P -B10f5:"Variance reduction":/1:Depth:
> mt.ps
the double couple part was plottes in figure 26.3. Using -Sm0.3 will show the mt.
Summary of mt related commands in EEV
Influence of parameters
Filters: Try to find a filter giving a good signal to noise ratio. There can be substantially difference using
different filters.
Reduction velocity: It has little influence on the results except that Zcor changes due to relative change in
arrival times. It is normally selected to include signals before the P arrival and to include all surface waves.
Even different reduction velocity for real and Greens function data does not matter. The use of reduction
CHAPTER 26. WAVEFORM INVERSION 335
velocity only has the purpose of reducing the length of the traces by putting events close in time. This is
particularly important when using events in with a wide distance range.
Time window : The most important is that the time window includes the whole time signal to be inverted.
The time window actually used by the program will depend on how close it is to a 2n number.
The correlation is done only with 2n samples. The number of samples selected for correlation can be both
larger and smaller than the number of samples in the data file. E.g. if number of samples is between 90 and
181, 128 samples will be used and if between 182 and 362, 256 samples is used etc.
The inversion also seems to use a 2n number and there can, in a few cases, be a radical difference between
using e.g. 256 and 257 points in calculating the fit VR, but apparently not the solution itself. The default
number of samples to use is therefore 257. So if the number of samples is near a 2n number, use a number
a bit larger than 2n . This change in fit is not generally observed, in most cases VR is not affected.
Inspect the Greens function file all.green (command pd) or use MULPLT with all.green$$$ to see how long
the Green function signal is and similarly look at the data files. The time shifted data files are STAT.data
and can be plotted with MULPLT.
Sample rate: Seems to have little influence if well above the frequencies of analyzed data. One or two
Hz seems ok for data where the inversion is made for frequencies below 0.1 Hz. For 1 Hz data 4−8 Hz or
similar (depending on sample rate of original data).
Number of stations and components: It is often difficult to get good results with all stations and com-
ponents. Start with a few stations (even one god one) and gradually add data. Note that changing station
configuration also can change the time shift between synthetic seismograms and the data. It is important to
have as small a location gap as possible.
Zcor : Zcor is calculated by correlating the Greens functions with the data and the synthetic seismograms
might need a correction as observed from the overlay seismograms. The Zcor time shift will change with
different solutions so there is no final Zcor that will work in all cases. Small changes in Zcor can significantly
improve the results. In the worst case, Zcor might have to be large enough to reverse the polarity of a signal
or even larger if e.g. P has been correlated with S (small events at higher frequencies). The automatic
correlation is what creates most problems.
What can go wrong
• Very bad fit. This can be caused by the correlation not working well, Signals might be shifted several
cycles. Try using a different time window, particularly a longer one. This can also be cause by a bug
which results in a factor 2 wrong sample rate. it is clearly seen whan comparing the synthetics and
real data. Just run again usually fixes the problem:
• Crash of inversion program. This might be caused by correlation not working. Zcor for a particular
station might have a value of millions. Do not use the particular station.
• Deselecting components does not always seem to work, then use all 3 component or deselect station.
• The invasion does not start. Use Ctrl+c and start again.
TDMT INVC SEISAN: The only parameter that cannot be tested through EEV is to make the analysis
window smaller than the data window. This sometime improves the results.
Running in this way, the synthetic file readable by SEISAN is not generated and cannot be updated with
the results.
Example of parameters in S-file
Most of the parameters are explained under synthetic seismograms. The new ones used only for mt and
other important ones are:
DEPTH--: The first number is start depth, the following number of depth to test and the last number is the
increment in depth. The default is one depth only. MT-NP-USE: Number of points for the inversion, default
257. The number does not have to be 2n but it seems that, in some cases, a number a bit larger than 2n is
CHAPTER 26. WAVEFORM INVERSION 337
Technical notes
The Dreger MT inversion essentially consists of a Green’s function generation program, fkrprog (in
SEISAN called fkrprog seisan), several data manipulation programs and scripts using SAC to prepare
data for the inversion program tdmt invc (in SEISAN called tdmt invc seisan). The two key programs
have been left nearly unchanged (all changes are clearly marked in programs) while the data manipulation
programs mostly have been replaced by standard SEISAN functions (mostly within EEV) and one modified
Dreger program wvint9 (now called wvint seisan) so only 3 programs have been added to SEISAN. A
significant change is that Dreger uses cm as a unit while SEISAN uses nm, so software has been changed to
nm like elsewhere in SEISAN. The Dreger code has no provision for using less than 3 channels. However,
undocumented information indicates that if a data channel has zeros, it is not used and this is how it is
implemented in SEISAN. In some cases it does not seem to work well, should be investigated more. The data
and Greens functions in Dregers software are using the Helmberger format, a simple Ascii format without
reference to time and channel name. SEISAN will, for simplicity use the same format, but it has been
extended to also include channel information, absolute time and an ID of the event being processed (the
S-file name), see example below.
The two first lines are main headers. The first line has number of channels in file (format i8) and has
been extended with, filter band, number of poles and passes and S-file name. Only the number of channels
is required information for plotting. The second line gives format of data, extended with help text which
in this case is information that file is in displacement (nm). The following two lines are channel headers
for each channel. The first channel header has undocumented information. The second channel header has
number of samples in channel (i8), sample interval(s)(f10.3), undocumented and starting from column 32,
the station code, channel code and start time.
The program flow in SEISAN is
• Plot, rotate, filter and instrument correct signals. This generates an output file mulplt.wav. A
parameter is set in MULPLT to enables the output. This file has not been re-sampled.
• Make parameters in S-file (command mtp): Parameters are selected from mulplt.wav (stations to use,
filter and whether displacement or velocity), from s-file (depth, distances and azimuths), from station
file (model) and some are hardwired. The operation takes place in EEV. At this point the backup data
file is made.
CHAPTER 26. WAVEFORM INVERSION 338
• Generate the 10 Greens functions (command mtg): All old Green’s functions are deleted and param-
eter files to fkrprog seisan (green.par$$$, $$$ is depth) are made from the S-file (inside EEV),
fkrprog seisan is run giving an output file with frequency domain Greens functions green.out. This
file is converted to a Greens function time domain files, all.green, with wvint seisan (modified ver-
sion of original program wvint9). Since it is assumed there is no explosive component, only 8 of the 10
greens function are written out in time domain (as the original program). all.green is in Helmberger
format. Information of using displacement or velocity is read from S-file.
• Make inversion (command mti). In EEV, same length time windows, one for each station, are extracted
from all.green and seisan mt.out. Names are STA.green and STA.data. The old STA.green and
sta.data are deleted first. The Greens function files are antialias filtered with a LP filter of 4 poles at
(desired sample rate)/5 Hz (not sure it is needed), re-sampled and time shifted, all in EEV. If a channel
has been deselected or not available, zeros are written out. The Greens functions are band-pass filtered
and anti alias filtered with same filters as used for the data. The parameter file (mt inv.in) for the
inversion program tdmt invc seisan is made (in EEV) and the inversion program started from EEV.
The inversion program makes an output file with signals and synthetics (synt.out) which is converted
to Helmberger format file synt seis.out in EEV. Command pm will plot this directly in EEV. File
mt inv redi.out (as the original) has details of the results and is read by EEV to optionally get results
back into the S-file.
Fkrprog seisan: The parameter file format has been changed to include station names and the s-file
name.
Tdmt invc seisan: The program has minor changes to accept new Helmberger format (it also reads the
original format). It did not work properly under Windows with more then 450 points, so memory allocation
was doubled to fix this. The plotting routine has been simplified to only write original and synthetic
seismograms.
To get correct overlay, the channels must be sorted alphabetically. MULPLT turns on sorting (normally
set in MULPLT.DEF) if the filename is synt seis.out.
The SEISAN implementation is dimensioned to max 99 stations.
CHAPTER 26. WAVEFORM INVERSION 339
Figure 26.3: The double couple part of the moment tensor solution shown with respect to the variance
reduction at different depths. The GCMT solution is also shown with arbitrary variance reduction. This
figure was made with the GMT program psmeca, see text.
Chapter 27
This chapter contains the main program CODAQ to calculate coda Q, program CODAQ AREA to sort
output from CODAQ into areal bins, CODAQ POLYGON to average in a polygon and a help program AVQ
to average Q-relations.
27.1 Codaq
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) and in more details in Havskov et al. (2016). The program can only operate in connection with
the SEISAN format S-files. The program can use all waveform file types accepted by SEISAN and there can
be more than one waveform file in the S-file. The program will also take advantage of the SEISAN database
structure.
NOTE From SEISAN version 10.6, the error calculations in CODAQ has changed. Luis Matias pointed
out that they seemed too small and indicated how to do it correctly (see https://en.wikipedia.org/wiki/Propagation of uncertai
Consequently, most errros have incrased and this also affected the calcualted of Qzero and Qalpha (see later
for definition). So rerunning CODAQ with identical data might give differenr results from verison 10.6 as
comparesd to earlier versions.
27.1.1 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, and with the test data set and the example files
in DAT, a test run can be done. An example of a parameter file is shown below:
-------------------------------------------------------------------
start in s times and Vp/Vs ratio (optionally)
2.0
absolute start time (sec)
0
window length (sec)
20
spreading parameter
1.0
340
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 341
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 and number of octaves (optional)
3
frequencies and bands (optional if octave given)
4,2
8,4
16,8
default stations(1. line) and components (2. line), 30a5
HYA ASK SUE
S Z S Z S N
-------------------------------------------------------------------
Start in s-times and Vp/Vs ratio (optinal): 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. e S-time is calcualted from the P-time using and Vp/Vs = 1.78. Optionally, the user
can select an Vp/Vs ratio to be used. This parmeter is optional so parameter files prior to version 8.3 can
be used.
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 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)
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 342
Number of frequencies and number of octaves: Number of frequencies to use, maximum 10, 5 is a good
number. The number of octaves for the filter can also be given, then all filters have the same bandwidth.
Frequencies and bands: The corresponding center frequencies and frequency bands. The frequency band
should increase with increasing frequency to avoid ringing. E.g. 8,4 means that the signal is filtered between
6 and 10 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 are 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 fc = sqrtfu fl . 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. The filter width should be at least one octave like 2-4 and
8-16. The number of octaves can be given with number of frequencies so then there is no need to calcule
the correct bands. It is recommended to use a 1-2 octave filter and when using the option of specifying
octaves, the geometric center frequency is always used. At ther end of the calculations, the octaves and filter
bands is written out. Default stations: The stations and components that will be used if not specified in
the codaq.inp file. The stations are on the first line and the components on the second line. A maximum
of 300 channels can be used. THE 2 LINES MUST BE THERE CONTAIN AT LEAST SOME BLANK
CHARACTERS, if not, stations will not be read from codaq.inp file and the program will crash.
Use of components; Component blank: Note that the program will use the first available component for
the given station in waveform file. The compoent actually selected will be shown in output and on plot.
Component with orientation e.g. Z: First Z-channel for station is se—lelected.
After reading the parameter file, the program will by default use the codaq.inp file to get the event
station information. However, any other name can be used if specified interactively, see below. The station
codes can have up to 5 characters.
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, where default stations are used, 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
Since the above example only uses the default stations given in codaq.par there are no stations in the
input file. Below is an example where particular stations and components have been selected with particular
events, for this to work the station line and component line in codaq.par MUST be blank. Component lines
can be blank or only with orientation.
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
Z
7 /top/seismo/seismo/REA/BER__/1992/06/30-1504-30L.S199206
HYA EGD
S E 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, the
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 343
first compoent with given station name will be chosen. THE COMPONENT LINE MUST BE THERE,
EVEN IF BLANK. Since it can be quite a lot of work to generate this file manually with both stations and
components, SELECT has an option to generate it, see SELECT. SELECT is able to make an output file
with all event-station combination within a given range. However, SELECT will give incomplete component
names since not complete in S-file. It is possible to use one or three components. The file from SELECT is
called index.codaq.
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
In the above examples, all results from one run are averaged. However it can sometimes be desirable
to run several datasets and get individual results from each. There is therefore the option of running one
set of events with many different sets of stations and for each set, the reults are written out separately.
Typically in a large area, one would want to get codaq for each station or small groups of stations using a
large earthquake set. This can be done using several sets of default stations, see example below.
SUE KMY
S Z S Z
ASK
S Z
ODD1
S Z
SUE
S Z
In this example, the first dataset has two stations, the others only one. The summary output for each dataset
is given in file codaq.summary . An example is seen below, for abbreviations, see later:
SUE S Z KMY S Z
ntotal= 37 q0= 71 sd= 25 v= 1.19 sd= 0.14 cor= 0.99
ASK S Z
ntotal= 10 q0= 54 sd= 22 v= 1.19 sd= 0.19 cor= 0.98
ODD1 S Z
ntotal= 11 q0= 61 sd= 19 v= 1.25 sd= 0.13 cor= 0.99
SUE S Z
ntotal= 20 q0= 54 sd= 26 v= 1.27 sd= 0.19 cor= 0.98
Average coda Q is also calculated for each station or channel. The default is to calculate average for
all components for each station. The output is given in file codaq.channel and also with more details in
codaq1.out. Optionally the averages can be made for each channel if codaq is called with the argument -c.
An example of an output file with channel averages is seen below.
PIL BH Z n= 4 q10= 1066 q0=147 sd= 5 v= 0.86 sd= 0.01 cor= 1.00
PIL BH N n= 5 q10= 1012 q0= 87 sd= 25 v= 1.06 sd= 0.12 cor= 0.99
PIL BH E n= 5 q10= 995 q0= 66 sd= 9 v= 1.18 sd= 0.08 cor= 1.00
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 344
YJI BH Z n= 11 q10= 1033 q0=113 sd= 5 v= 0.96 sd= 0.03 cor= 1.00
YJI BH N n= 3 q10= 965 q0=107 sd= 33 v= 0.96 sd= 0.13 cor= 0.99
Q10 is Q at 10 Hz.
The program will now start to run. Alterantively, the progran can be started with arguments on the
promt line:
codaq n parameter-file data-file
or alternatively when doing channel averages
codaq -c n parameter-file data-file
and no questions are asked. n is the choice 0 to 3 above.
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 are few data.
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.
The abbreviations are:
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 345
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 aver-
ages
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
cor: Correlation coefficient on determining q vs f
corr: Average correlation coefficients of individual codaq calculations
when fitting the envelope, both average and standard deviation is
given
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 the first.
2009 117201030 LYN BH Z 34.58 112.67 1.0 91.2 1.1 10.0 37.5 38.8
2009 117201030 LYN BH Z 34.58 112.67 2.0 223.9 2.7 10.0 37.5 38.8
2009 117201030 LYN BH Z 34.58 112.67 4.0 444.0 6.9 10.0 37.5 38.8
2009 117201030 LYN BH Z 34.58 112.67 8.0 833.4 11.9 10.0 37.5 38.8
2009 117201030 LYN BH Z 34.58 112.67 16.0 1324.1 16.6 10.0 37.5 38.8
2009 117201030 LYN BH N 34.58 112.67 1.0 132.2 2.0 10.0 37.5 38.8
2009 117201030 LYN BH N 34.58 112.67 2.0 255.3 4.7 10.0 37.5 38.8
2009 117201030 LYN BH N 34.58 112.67 4.0 374.2 4.6 10.0 37.5 38.8
2009 117201030 LYN BH N 34.58 112.67 8.0 683.0 8.3 10.0 37.5 38.8
2009 117201030 LYN BH N 34.58 112.67 16.0 1252.1 14.9 10.0 37.5 38.8
2009 117201030 LYN BH E 34.58 112.67 1.0 92.0 0.6 10.0 37.5 38.8
2009 117201030 LYN BH E 34.58 112.67 2.0 156.8 1.5 10.0 37.5 38.8
2009 117201030 LYN BH E 34.58 112.67 4.0 330.3 4.2 10.0 37.5 38.8
2009 117201030 LYN BH E 34.58 112.67 8.0 652.5 7.4 10.0 37.5 38.8
2009 117201030 LYN BH E 34.58 112.67 16.0 1167.3 13.8 10.0 37.5 38.8
2009 3 11636 0 YMG BH Z 39.43 112.73 1.0 70.0 0.4 13.3 0.0 13.3
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 346
The content is: Event date, station code, component,lat -lon of midpoint, frequency, Q, sd in Q, depth,
epicentral distance and hypocentral distance. This information can be used to plot the areal variation in Q
and SEISAN provides one such program, CODAQ AREA, see below. It can also be used for statistics with
QSTAT, see below.
codaq.index
A file called codaq.index is created. This index file contains all the events accepted for calculating the
codaq values and can therefore e.g. be used for making an epicenter map of events actually used (use collect
with the index file)
codaq1.out
Output file codaq1.out contains the same output as codaq.out except there is no print out for each
event. Additionally it has the average results for each station/component.
Example of codaq.out:
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
1/q cq0= 82 sd= 38 q0=128 sd= 57 v= 0.69 sd= 0.20 cor= 0.93
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 general, the start time for each channel of digital data would be different. 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 data selected for that frequency. The average lapse time is the average of the tc - values.
codaqxx.statis
Q-values at each frequency xx is given in file codaq08.statis for e.g. 8 Hz. The file can be used to plot
the results with other programs.
codaq.summary
the files give a summary of the runs, e.g.
ntotal= 1096 q0= 68 sd= 3 v= 0.95 sd= 0.02 cor= 1.00
codaq.channel
The file gives the average values for each station, see example below:
LYN n= 21 q10= 622 q0= 64 sd= 4 v= 0.99 sd= 0.03 cor= 1.00
YMG n= 88 q10= 570 q0= 68 sd= 6 v= 0.92 sd= 0.04 cor= 1.00
DAX n= 16 q10= 701 q0= 78 sd= 7 v= 0.95 sd= 0.04 cor= 1.00
TIY n= 38 q10= 668 q0= 81 sd= 9 v= 0.92 sd= 0.06 cor= 0.99
XAX n= 40 q10= 605 q0= 67 sd= 10 v= 0.95 sd= 0.07 cor= 0.99
LIF n= 50 q10= 719 q0= 57 sd= 3 v= 1.10 sd= 0.03 cor= 1.00
HEYT n= 12 q10= 676 q0= 77 sd= 18 v= 0.94 sd= 0.12 cor= 0.98
KEL n= 34 q10= 666 q0= 60 sd= 6 v= 1.05 sd= 0.05 cor= 1.00
DOS n= 105 q10= 629 q0= 63 sd= 4 v= 1.00 sd= 0.04 cor= 1.00
TAG n= 24 q10= 694 q0= 73 sd= 8 v= 0.98 sd= 0.06 cor= 0.99
JIC n= 90 q10= 663 q0= 79 sd= 5 v= 0.92 sd= 0.03 cor= 1.00
SZZ n= 72 q10= 617 q0= 80 sd= 4 v= 0.89 sd= 0.03 cor= 1.00
HSH n= 114 q10= 511 q0= 78 sd= 2 v= 0.82 sd= 0.01 cor= 1.00
HZH n= 16 q10= 698 q0= 75 sd= 5 v= 0.97 sd= 0.03 cor= 1.00
JIN n= 10 q10= 706 q0= 74 sd= 6 v= 0.98 sd= 0.04 cor= 1.00
GUJ n= 12 q10= 756 q0= 71 sd= 14 v= 1.03 sd= 0.10 cor= 0.99
LIS n= 4 q10= 651 q0=125 sd= 0 v= 0.72 sd= 0.00 cor= 1.00
XIY n= 11 q10= 492 q0= 61 sd= 22 v= 0.91 sd= 0.16 cor= 0.96
YUQ n= 52 q10= 598 q0= 62 sd= 5 v= 0.98 sd= 0.04 cor= 1.00
YAY n= 81 q10= 621 q0= 66 sd= 5 v= 0.98 sd= 0.04 cor= 1.00
HMA n= 22 q10= 638 q0= 76 sd= 3 v= 0.92 sd= 0.02 cor= 1.00
codaq.area.nor This file gives the midpoint coordinates in Nordic format so ready to plot with epimap
and other mapping programs. Example below.
codaq.map
This file is a MAP type file containing just two points for each contour, the epicenter and the station
location for accepted Q-values. The file can be used with EPIMAP to plot a line between the station and
the epicenter. Am example is:
2
43.980 39.267 43.936 39.481
2
43.980 39.267 43.936 39.481
2
43.980 39.267 43.936 39.481
2
43.980 39.267 43.936 39.481
2
43.980 39.267 43.936 39.481
2
43.980 39.267 43.936 39.481
2
43.697 40.333 43.700 40.265
2
43.697 40.333 43.700 40.265
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.
which assumes that the test data base is installed under seismo. In a standard Windows installation,
that would work. Under Linux it must be change to something like /home/seismo.... Alternatively create
the file with SELECT.
Figure 27.1 gives 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
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 349
this 200-sec window and data is available, the program continues, but the coda window is not plotted on the
figure.
HYA 95 2 6 17 0 1 H= 19 M=2.5 TP= 22.9 TC= 81.5 WIN= 15.0 START= 2.0
5983
10 20 30 40 50 60 10 20 30 40 50 60 10 20 30 40 50 60 10 20
F= 1.0 Q= 0 CO=0.26 S/N= 0 F= 2.0 Q= 197 CO=-.41 S/N= 3 F= 4.0 Q=1223 CO=-.22 S/N= 8
80 130 166
50 60 10 20 30 40 50 60 10 20 30 40 50 60 10 20 30 40
50 60 10 20 30 40
KMY 95 2 6 17 0 13 H= 19 M=2.5 TP= 15.0 TC= 53.4 WIN= 15.0 START= 2.0
13233
20 30 40 50 60 10 20 30 40 50 60 10 20 30 40 50 60 10 20 30
F= 1.0 Q= 128 CO=-.60 S/N= 0 F= 2.0 Q= 0 CO=0.59 S/N= 3 F= 4.0 Q= 558 CO=-.33 S/N= 6
232 102 334
20 30 40 50 60 10 20 30 40 50 60 10 20 30 40 50 60 10
20 30 40 50 60 10
SUE 95 2 6 17 0 23 H= 19 M=2.5 TP= 24.2 TC= 86.2 WIN= 15.0 START= 2.0
2468
30 40 50 60 10 20 30 40 50 60 10 20 30 40 50 60 10 20 30 40
F= 1.0 Q= 0 CO=0.96 S/N= 0 F= 2.0 Q= 211 CO=-.32 S/N= 2 F= 4.0 Q= 232 CO=-.67 S/N= 4
120 74 106
0 10 20 30 40 50 0 10 20 30 40 50 0 10 20 30 40 50
0 10 20 30 40 50
Figure 27.1: 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.
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 351
The comments between the lines with numbers are just for information but there must be a line. This
example file is also in DAT.
Example run with input from parameter file so no questions:
C:\>codaq\_area
Frequencies 1.00 2.00 4.00 8.00 16.00
Min no for grid average, min no of freq for Q0 calculation 3 4
Constant in Q-relation, print number of observations 0.00000000 0
Extrapolate, plot Q0 0 0
Lat range and delta 34.0000000 44.0000000 1.00000000
Lon range and delta -14.0000000 -2.00000000 1.00000000
Number of q-data in input file 4581
Number of q-data inside grid 4581
Example of the areal output file coda area.out showing the lat-lon bins, note the midpoint of the bin is
used:
freq= 1.00000000
-13.5 -12.5 -11.5 -10.5 -9.5 -8.5 -7.5 -6.5 -5.5 -4.5 -3.5 -2.5
43.5 0 0 0 0 0 0 0 0 0 0 0 0
42.5 0 0 0 0 0 0 0 0 0 0 0 0
41.5 0 0 0 0 0 0 0 0 0 0 0 0
40.5 0 0 0 0 0 0 0 0 0 0 0 0
39.5 0 0 0 0 81 93 0 0 0 0 0 0
38.5 0 0 0 0 136 114 0 0 196 0 0 0
37.5 0 0 0 0 0 0 0 0 0 88 94 0
36.5 0 0 97 0 0 141 0 83 124 0 103 0
35.5 0 0 0 134 0 0 0 0 107 0 0 0
34.5 0 0 0 0 0 0 0 0 89 0 0 0
freq= 2.00000000
-13.5 -12.5 -11.5 -10.5 -9.5 -8.5 -7.5 -6.5 -5.5 -4.5 -3.5 -2.5
43.5 0 0 0 0 0 0 256 0 0 0 0 0
42.5 0 0 0 0 323 0 0 227 0 0 0 0
41.5 0 0 0 0 0 394 150 0 0 0 0 0
40.5 0 0 0 0 0 112 0 0 0 0 0 0
39.5 0 0 0 0 221 227 0 0 0 0 0 0
38.5 0 0 0 0 256 338 303 0 0 0 0 0
37.5 0 0 0 0 0 245 273 0 0 126 125 0
36.5 0 219 141 0 0 156 0 133 155 0 135 0
35.5 0 0 0 155 0 0 0 0 155 0 0 0
34.5 0 0 0 0 0 0 0 0 128 0 0 0
freq= 4.00000000
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 352
-13.5 -12.5 -11.5 -10.5 -9.5 -8.5 -7.5 -6.5 -5.5 -4.5 -3.5 -2.5
43.5 0 0 0 0 0 0 487 0 0 0 0 0
42.5 0 0 0 0 619 0 0 411 0 0 0 0
41.5 0 0 0 0 0 640 485 565 0 0 0 0
40.5 0 0 0 0 0 502 546 0 0 0 0 0
39.5 0 0 0 0 556 531 0 0 0 0 0 0
38.5 0 0 0 0 503 560 540 0 0 623 0 0
37.5 0 0 0 0 319 500 505 0 265 235 207 0
36.5 0 287 210 384 280 303 287 196 211 0 204 0
35.5 0 0 0 273 0 0 207 0 233 0 0 0
34.5 0 0 0 0 0 0 0 0 209 0 0 0
freq= 8.00000000
-13.5 -12.5 -11.5 -10.5 -9.5 -8.5 -7.5 -6.5 -5.5 -4.5 -3.5 -2.5
43.5 0 0 0 0 0 790 803 0 0 0 0 0
42.5 0 0 0 0 921 1121 0 712 0 0 0 0
41.5 0 0 0 0 0 859 896 808 0 0 0 0
40.5 0 0 0 0 0 732 797 0 0 0 0 0
39.5 0 0 0 0 948 880 667 0 0 0 808 0
38.5 0 0 0 0 884 897 836 0 1002 1028 0 0
37.5 0 0 0 0 622 812 899 970 774 463 379 0
36.5 0 486 386 604 569 607 577 0 0 0 358 0
35.5 0 0 0 492 0 0 0 0 754 0 0 0
34.5 0 0 0 0 0 0 0 0 518 0 0 0
freq= 16.0000000
-13.5 -12.5 -11.5 -10.5 -9.5 -8.5 -7.5 -6.5 -5.5 -4.5 -3.5 -2.5
43.5 0 0 0 0 0 1238 1306 1342 0 0 0 0
42.5 0 0 0 0 1362 1574 0 1216 0 0 0 0
41.5 0 0 0 0 0 0 1499 1302 0 0 0 0
40.5 0 0 0 0 0 0 1451 0 0 0 0 0
39.5 0 0 0 0 1558 1376 0 0 0 0 0 0
38.5 0 0 0 0 1534 1375 1295 1442 0 1537 0 0
37.5 0 0 0 0 1413 1306 1366 1418 0 970 805 0
36.5 0 0 0 0 1007 1427 0 0 0 0 0 0
35.5 0 0 0 1188 0 0 0 0 0 0 0 0
34.5 0 0 0 0 0 0 0 0 989 0 0 0
Q0
-13.5 -12.5 -11.5 -10.5 -9.5 -8.5 -7.5 -6.5 -5.5 -4.5 -3.5 -2.5
43.5 0 0 0 0 0 0 160 0 0 0 0 0
42.5 0 0 0 0 226 0 0 133 0 0 0 0
41.5 0 0 0 0 0 256 129 0 0 0 0 0
40.5 0 0 0 0 0 58 0 0 0 0 0 0
39.5 0 0 0 0 103 126 0 0 0 0 0 0
38.5 0 0 0 0 142 162 193 0 196 266 0 0
37.5 0 0 0 0 69 169 166 310 0 85 77 0
36.5 0 114 83 0 0 87 0 0 0 0 83 0
35.5 0 0 0 118 0 0 0 0 93 0 0 0
34.5 0 0 0 0 0 0 0 0 72 0 0 0
Q10
-13.5 -12.5 -11.5 -10.5 -9.5 -8.5 -7.5 -6.5 -5.5 -4.5 -3.5 -2.5
43.5 0 0 0 0 0 0 923 0 0 0 0 0
42.5 0 0 0 0 1032 0 0 841 0 0 0 0
41.5 0 0 0 0 0 1115 1005 0 0 0 0 0
40.5 0 0 0 0 0 1468 0 0 0 0 0 0
39.5 0 0 0 0 1061 965 0 0 0 0 0 0
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 353
Output file codaq grid.out contains details of the averages in each bin see part of file below:
freq= 1.00000000
34.500 -13.500 0.0 0.0 0
34.500 -12.500 0.0 0.0 0
34.500 -11.500 0.0 0.0 0
34.500 -10.500 0.0 0.0 0
34.500 -9.500 0.0 0.0 0
34.500 -8.500 0.0 0.0 0
34.500 -7.500 0.0 0.0 0
34.500 -6.500 0.0 0.0 2
34.500 -5.500 89.5 21.1 81
34.500 -4.500 0.0 0.0 0
34.500 -3.500 0.0 0.0 0
34.500 -2.500 0.0 0.0 0
35.500 -13.500 0.0 0.0 0
35.500 -12.500 0.0 0.0 0
35.500 -11.500 0.0 0.0 0
35.500 -10.500 134.9 13.7 3
35.500 -9.500 0.0 0.0 0
35.500 -8.500 0.0 0.0 0
35.500 -7.500 0.0 0.0 0
35.500 -6.500 0.0 0.0 0
35.500 -5.500 107.8 15.8 4
35.500 -4.500 0.0 0.0 0
35.500 -3.500 0.0 0.0 0
35.500 -2.500 0.0 0.0 0
36.500 -13.500 0.0 0.0 0
36.500 -12.500 0.0 0.0 1
36.500 -11.500 97.4 49.9 5
36.500 -10.500 0.0 0.0 0
36.500 -9.500 0.0 0.0 0
....
41.500 -2.500 0.0 0.0 0
42.500 -13.500 0.0 0.0 0
42.500 -12.500 0.0 0.0 0
42.500 -11.500 0.0 0.0 0
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 354
The output is: Bin midpoint, average Q, standard deviation in average and number of points in bin.
Finally a plot is made with contours of Q, see Figure 27.2.
The map with the contours is produced automatically from the input. The projection is Mercator
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 355
Figure 27.2: Map with contours. The ’epicenter’ symbols show gridpoints with data and the size of the
symbols show the total number of Q-results for that gridpoint, the number are shown to the left (not shown
in real plot, have been put in manually). The color of the symbols indicate Q-values where the range of
Q-values have been divided by 3 so blue is highest Q, green is average and red the smallest.
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 356
and the land contour is WORLD.MAP in DAT. Another map file can be used by setting parameter
EPIMAP MAP FILE in SEISAN.DEF. The commands for running EPIMAP are in output file codaq area epimap.inp,
so this file can also be modified to change map projection etc (see EPIMAP) and the plot regenerated by
giving command
epimap codaq area epimap.inp
codaq_polygon
c:\jens\Q-port\ALL>codaq_polygon
Frequencies 1.00 2.00 4.00 8.00 16.00
f= 2.00000000
216. 269. 308.
f= 4.00000000
696. 450. 602. 776. 677. 494. 614. 489. 707. 643.
764. 687. 649. 573. 816. 841. 834. 518. 536. 524.
786.
f= 8.00000000
1366. 878. 968. 1295. 803. 999. 979. 967. 1155. 1080.
940. 1110. 1042. 994. 992. 999. 1023. 1020. 1009. 853.
1177. 1007. 1316. 1186. 777. 898. 959. 1052. 1097. 945.
1030. 1206. 1123. 1008. 1140. 1062. 1455. 1029. 1125. 809.
1298. 871. 1386. 1231. 1175. 1100. 771. 1171. 891. 897.
740. 1286. 1352. 1108. 1037. 1240.
f= 16.0000000
1667. 1514. 1648. 1638. 1898. 1777. 1381. 1667. 1620. 1810.
1220. 1251. 1543. 1344. 1436. 1520. 1772. 1575. 1586. 1455.
1666. 1534. 1491. 1696. 1514. 1575. 1690. 1597. 1352. 1450.
1358. 1672. 1674. 1514. 1633. 1543. 1392. 1552. 1619. 1474.
1647. 1425. 1510. 1456. 1374. 1391. 1389. 1366. 1657. 1449.
1342. 1689. 1238. 1667. 2297. 1573. 1972. 1463. 1405. 1449.
Number of Q-midpoints within polygon: 140
f= 2.0 av= 259.0 sd= 46.9 n= 3
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 357
q0= 172.7 sd 38.8 qalpha= 0.81 sd 0.10 q10=1107.8 sd=182.1 corr= 0.98 rms= 0.00 nf= 4
For each frequency, all the Q-values are printed so it is possible to get an idea of the variation of the
values. The averages are calculated for each frequency if 2 or more values are available. The Q-realtion is
then
calculated if averages are available for at least 3 frequecies. Finally, a Q-relation is calculated if also one
value is available, but then there is no weighting with the standard deviations of the averages.
How to calculate coda Q in polygon areas
Calculate coda Q in large area of interest.
indexCoda Q in a polygon Plot all the midpoints between station end events with EPIMAP using com-
mand map codaq.area.nor . The input epicentre file is codaq.area.nor which is output from CODAQ.
Do the following for each polygon area:
With EPIMAP, use polygon function to select an area. Terminate EPIMAP.
Run codaq polygon to calculate coda Q for that area, the polygon outline is stored in file
POLYGON.MAP for later plotting.
After e.g. 5 runs, the 5 areas are stored in POLYGON.MAP and the Q-relations have been printed out.
Figure 27.3: The top plot shows Coda Q as a function of epicentral distance and the bottom plot shows the
distribution of individual Q-values for each frequency. n is the number of Q-values for each frequency
CHAPTER 27. CALCULATION OF CODA Q, CODAQ, AND RELATED PROGRAMS 359
-For each relation, 1/Q is calculated at the frequencies 1, 2, 4, 8 and 16 Hz. -At each frequency, average
1/Q is calculated using the number of observations in the original determination of Q for a particular relation
as weight. -A new least squares determination of v in q0 is made with the Q-values.
The program uses an input file with q0, v and number of observations, one relation (free format) per
line. An example of a run is seen below:
C:\seismo\wor>avq
File name, enter for automag_grid.out
input.txt
Q0,alpha,n 100.000000 0.500000000 100
Q0,alpha,n 150.000000 0.300000012 50
Q0,alpha,n 200.000000 0.200000003 10
Q0,alpha,n 170.000000 0.400000006 22
Q0,alpha,n 250.000000 0.150000006 5
Q0,alpha,n 80.0000000 0.800000012 10
Number of curves to average: 6
Running average over how many, enter for average of all?
Figure 27.4: Figure AVQ: The figure shows the Q-relations to be averaged and the average Q-relation (red).
Chapter 28
The programs described in this chapter are used for merging events in SEISAN as well as for comparing two
catalogs.
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, three files are output (associ rest.out, associ merg.out and associ base.out) with
events from file which were not merged, events that were merged and events from data base that were
appended too, respectively. These can then be put into another data base with split, if desired. This
function can also be used to separate the input file in two files.
Note: When merging within one data base, the first event will get the next one merged into it. If
merging from file into a data base, the event in the data base will by default always be the first and
keep the main header. This thus a safe method when you want to keep the main header uncheged in
the data base. Optionally you can decide to always put the header from the file first.
Putting new data in a data base where locations are available in one place and waveform files have to be
merged in:
Use AUTOREG to make a data base with s-files with only waveform file names. This is done by using
the option to copy or move waveform files to the WAV structure and the s-files will be made in a data base
of the same name.
361
CHAPTER 28. MERGE EVENTS IN SEISAN AND COMPARE CATALOGS 362
Use ASSOCI to merge in the s-files with locations and phases from a file and use the option to put the
headers from the file first.
If the event files are put into the data base first, then the s-files from AUTOREG will also go into the
data base (with opeion to move or copy waveform files the WAV data base) and ASSOCE will have to merge
files which all are in the data base. Then there is no control whinch header comes first.
28.2 Merge events near in time and delete duplicate phases, MERGE S
This program works in a similar way as ASSOCI, however with a better control of the merging.
The program can merge two files or a data base and a file. The two inputs are main input and merge
input. The main input can be a data base or a file while merge input only can be a file. The merge input file
is merged into the main input and the merged file written to an output file. None of the inputs are changed.
Events from the merge file is compared to events in the main input and merged if within user given time
difference.
Duplicate phases are deleted if from same station with a time difference of less than 0.1 s. There is no
check for component since some input sources, like from ISC, have no component. The user can specify if
the phase from main input or merge input will be deleted. Normally the whole phase name is compared, but
there is an option to use only the first letter. This can be used if two agencies use different upper and lower
case like PN or Pn so only the first letter can be compared. However, this does not apply to SPEC phases
since only used in SEISAN and we do not want to confuse S with SPEC.
For spectral phases, also component is used since that is always given. The spectral averages are taken
from the main input. If no averages in main but in merge, they are taken from the merge input. So spectral
averages might not be a correct representation of SPEC lines are merged, but that will be fixed with next
update.
The first header and ID line will come from the main input file. The Id line from the merge file is
converted to a comment line.
The merge event can be merged into several main events if the time differece allow this.
The locality line from main is kept and if there is a locality line in merge file, it is renamed from
LOCALITY: to MER-LOCA:
Both inputs must be in chronological order, if not the program stops. Input from a data base (or using
e.g. a collect from a data base) might therefore require can update with new ID lines.
Input can be old or Nordic2 format but output is the one set up by the SEISAN.DEF.
There is no check for distance id.
All events from main input is written out again and events from merge file that does not match in time
can optionally be put in main output file or in a separate file.
All the events from repective input files that have a time match are wrttien out again in separate files
with added name ’used’. These two files will then have the same events from two different sources and can
e.g. be used to compare location for the same events from two different sources either by plotting with
EPIMAP or using COMPARE HYP.
Example run:
c:\seismo\WOR>merge_s
Main data base or file to merge into - select one:
Delete duplicate phases: 0=no, 1: from merge file (default enter), 2:from main file
Put all events from file to merge in output file y,n=default (enter)
Main: 1996 7 1 142 19.8 L Merge: 1996 7 1 144 19.8 L dif= -120.0
Main: 1996 7 1 759 36.0 L Merge: 1996 7 1 144 19.8 L dif= 22516.2
Main: 1996 7 1 759 36.0 L Merge: 1996 7 1 759 38.0 L dif= -2.0 *Appended*
Main: 1996 7 1 8 3 16.1 L Merge: 1996 7 1 759 38.0 L dif= 218.1
Main: 1996 7 1 8 3 16.1 L Merge: 1996 7 1 8 3 16.1 L dif= 0.0 *Appended*
Main: 1996 7 1 1040 53.8 L Merge: 1996 7 1 8 3 16.1 L dif= 9457.7
Main: 1996 7 1 1040 53.8 L Merge: 1996 7 1 1044 45.3 L dif= -231.5
Main: 1996 7 1 1044 55.3 L Merge: 1996 7 1 1044 45.3 L dif= 10.0 *Appended*
End of s-file
Note how the reading advances in each file one by one and each line compares two events with the
difference given. The time differences are are calculated from the first header line for each event.
Input:
A SEISAN data base. The data base is not modified by ASSO.
Output:
All duplicate events will be merged with the Main event. The largest event will be listed first. The
output file with merged events is in asso.out. Optionally, a debug output can be made, either on screen or
in a file (see asso.def). An example is seen below
Each potential main (Main) event is listed. To be considered potential main event, it must have both
location and magnitude. If a duplicate event is found (Asso), it is shown with the parameters: M: The inter-
polated maximum magnitude difference used, T: The interpolated maximum time difference (sec) used and
the actual time difference(sec), D: The interpolated maximum distance (km) used and the actual distance.
In the above example, the lower magnitude difference limit for the first associated shown is 0.7, the limit
in distance is 38 km and in time difference 46 sec. The Main event is listed first, then all associated events
so the list as shown above might not be in chronological order if there is an event within the accepted time
range which do not fulfill the other criteria. In the above example, the Main event (1996 6 3 1955 35.7) has
been merged with the 2 following events shown. But in between there is event (1996 6 3 1955 39.4 47.9 153.2
0.1 5.6 bPDE) which has a too large magnitude to be merged with the Main event, so this will then appear
out of order and will be a potential new Main event. Once an event has been merged with a Main event, it
will not be merged with another Main event.
Merging across day boundaries: This usually does not create problems. If the first event is before midnight
and the second event after midnight, phase readings from the second event might have 24 h added if the
readings are from the second day. However in some cases, ASSO will select the first event after midnight
and the second event before midnight due to the magnitude size. In this case the header cannot refer to the
earlier phase times since they cannot be negative and the phases for the second event are not merged. A
message will be given.
Example of a asso.def file
This file is parameter file for asso. The file can be in working directory
or DAT.
Only the lines with recognized keywords and a non blank field
under Par 1 will be read. The comments have no importance. Lines with
keywords MAGS MDIF DIST TIME must come grouped
together in increasing magnitude order. Parameters for these lines are:
Reference magnitude, minimum magnitude difference of corresponding
event to merge, distance(km) and time(sec).
All number must be real numbers. Columns Par 1-Par 4 start in
columns 41,51,61 and 71 respectively.
All keywords in capital letters.
"Hypocentral" distance is calculated assuming main shock is at depth h1
and associated event at depth h2, epicentral distance at dist so
CHAPTER 28. MERGE EVENTS IN SEISAN AND COMPARE CATALOGS 365
If and event has no depth (field is blank), the depth is set tp 20 km.
The MAX DEPT DIFFERENCE will consider only events with a depth
difference less than MAX DEPT DIFFERENCE as possible associated events.
MAGS MDIF DIST TIME Mag. dep. par. 2.5 0.5 19.5 6.0
MAGS MDIF DIST TIME Mag. dep. par. 3.0 0.5 22.5 10.0
MAGS MDIF DIST TIME Mag. dep. par. 3.5 0.6 26.0 22.0
MAGS MDIF DIST TIME Mag. dep. par. 4.0 0.6 30.0 30.0
MAGS MDIF DIST TIME Mag. dep. par. 4.5 0.7 35.0 40.0
MAGS MDIF DIST TIME Mag. dep. par. 5.0 0.7 40.0 50.0
MAGS MDIF DIST TIME Mag. dep. par. 5.5 0.8 47.0 60.0
MAGS MDIF DIST TIME Mag. dep. par. 6.0 0.8 54.0 70.0
MAGS MDIF DIST TIME Mag. dep. par. 6.5 0.9 61.0 75.0
MAGS MDIF DIST TIME Mag. dep. par. 7.0 0.9 70.0 80.0
MAGS MDIF DIST TIME Mag. dep. par. 7.5 1.0 81.0 90.0
MAGS MDIF DIST TIME Mag. dep. par. 8.0 1.0 94.0 90.0
MAGS MDIF DIST TIME Mag. dep. par. 8.5 1.0 110.0 100.0
Reads two CAT Files or Sfiles in nordic format and associates events,
merging the information and respective files. Merged events have information
from both files interspersed. Both files must be sorted. Also each event
of the first set can only be associated with at most one event of the second set,
and vice versa.
DBASE If cat1 is three to five letters long and a file of the same
name does not exist the corresponding catalogues is created on
the fly from the S-files in the respectiv database. If the code
DBASE or D is used, use the current database
Options:
Method of association:
-D can be combined with -T but cannot be used on its own (both conditions need to be fulfilled).
It also cannot be used with -I option
Output control
-S=A Output only events in A (only makes sense when combined with -b or -B option)
-S=B Ouptut only events in B
-S=~A Output only events not in A (i.e. only in B, only makes sense with -B option)
-S=~B Output only events not in B (i.e. only in A, only makes sense with -A option)
-b=1,2,m For associated events, take all header lines of the type listed from second
CHAPTER 28. MERGE EVENTS IN SEISAN AND COMPARE CATALOGS 367
set, all other headerlines from first set (implies -A). If the second set
does not have the required headerline, they will not be included in the output
(i.e., specified header lines will never be taken from first set if there is
an event association)
1...9,F,E,I,H : the corresponding header lines (Note that line type 4 refers
to phase pick lines, even if they have a blank in column 80
o: : Origin time (from type 1 line only)
e: : Epicentral coordinates (from type 1 only)
d: : Depth (from type 1 line only)
m : copy all magnitude information into header line
mW,mL,mb,mS : only copy designated magnitudes (note that magnitudes are copied
into the same slot unless option -M is set
-a=1,2,.. Like -b, but copy information from first set to 2nd set, implies -B (not
implemented yet)
-m=1,2,.. Like -b, but add header lines to existing header lines, effectively merging
the information in both files. Other header lines are taken from A (implies -A).
-M Find named slot for copied magnitudes (only relevant if -b={mW,ML,mb,mS} is set
Both type and agency need to match; otherwise the first empty slot is occupied, or
the last slot is overwritten)
Input file
Confidence covscale
68% 1.0
90% 2.71 [ Value for NEIC and JHD Oxford ]
95.4% 4.0
99% 6.63
99.73% 9.00
4:00: 4.0
km
28
3:30: 3.5
23
Earthquake Depth
3:00: 3.0
18
2:30: 2.5
13 2:00: 2.0
8 1:30: 1.5
3 1:00: 1.0
94:30: 95:00: 95:30: 96:00: 96:30: 97:00: 97:30: 0 20 40
0
20
40
Figure 28.1: (Left) Histogram of the offsets between locations in the GCMT catalogue and a catalogue based
on an OBS/land deployment offshore Nortern Sumatra (Tilmann et al., 2010), generated using the -d=xyz
option and GMT pshistogram. (Right) Map and cross-sectional views. Large rimmed circles are events
in the local catalogue, and small borderless circles are locations in the GCMT catalogue. Lines connect
associated events (drawn using -d=gmtd option and GMT psxy). The red arrow points in the direction of
the average shift between CMT and local locations, with the little red circle showing the formal uncertainty
of the average shift vector (generated using -d=bias option and GMT psvelo). Its absolute size is only
meaningful if the formal errors of the contributing locations are all realistic. The plots show the tendency
of CMT centroids in subduction zones to be located seaward off and deeper than their actual location.
is skipped. The the list of skipped events is given in a file compare hyp.skip. The number of magnitudes
for each event does not have to be the same so not all events need to have magnitudes. Only magnitudes
available in both data sets are compared and listed. The magnitudes are always listed in order Ml, Mc, Mb,
MB, Ms, MS, Mw. For the magnitudes there is no check if the agency is the same. If a magnitude appears
2 times, the last one will be used. Note that magnitude in position 3 on header line will not be overwritten
when relocating unless it has the agency identical to the agency in the STATION0.HYP file, this can create
problems when comparing so make sure the agency in that position corresponds to the agency used when
locating.
SO IF ALL MAGNITUDES DO NOt HAVE THE SAME AGENCY, THE COMPARISON WILL NOT
BE ACCURATE SINCE MAGNITUDES FORM DIFFERENT AGENCIES COULD BE COMPARED.
There is no check if epicenter is fixed since normally this is what will be compared. Since the depth very
often is fixed, fixed depths are not used for comparison.
The output is a file called compare hyp.out. It lists each event with the data from the reference event
and the difference with the relocated event. Events with a difference of more than user defined values for
the parameters, have their differences marked with a star, see example below. Events with less than a given
number of stations are skipped. Events with no RMS are skipped. Events with flag set for no location
are skipped. The skipped events are listed in file compare hyp.skip. An example run is shown below. The
default minimum differences used indicating with a star are 5 km in lat-lon and depth, 1 s in origin time,
0.5 s in rms and 0.2 magnitude units.
Example run
c:\seismo\wor>compare\_hyp
Give input file 1, the reference, or single input file
eev.out
Give input file 2, the file to compare
If blank (enter) only one file is used
hyp.out
2016 721 1517 46.7 D 41.340 44.040 5.0F SC3 20 1.5 4.2LSC3 5.7BSC3 4.3bSC3
2016 721 1628 47.7 D -23.860-175.560 10.0F SC3 43 1.9 6.0LSC3 5.8BSC3 5.3bSC3
2016 721 23 9 3.5 D 40.780-124.070 10.0F SC3 33 2.0 4.9LSC3 4.9BSC3 4.7bSC3
2016 722 040 26.3 D 39.360 25.970 7.0 SC3 34 1.4 3.1LSC3 3.0SSC3
2016 722 1131 49.5 D 19.900 120.900 10.0FSSC3 17 1.8 5.1BSC3 4.7bSC3
2016 722 2140 10.2 D 42.400 35.210 23.0 SC3 49 1.0 4.4LSC3 3.9SSC3 4.6BSC3
2016 722 2344 57.8 D 36.940 26.680 8.0 SC3 15 1.0 2.7LSC3
2016 723 1 0 20.0 D 47.680 147.050395.0 SC3214 1.0 6.9LSC3 5.7BSC3 5.7bSC3
2016 723 226 20.3 D -7.410 128.920132.0 SC3 19 1.1 5.4LSC3 5.3BSC3 5.0bSC3
2016 723 252 12.1 D 30.140 142.110 61.0 SC3 14 0.7 4.9LSC3 4.9BSC3 4.8bSC3
2016 723 741 45.1 D -6.710 101.270 10.0F SC3 83 1.5 6.0LSC3 5.8BSC3 5.3bSC3
End of s-file
2016 721 1517 46.5 D 41.342 44.053 5.0F SC3 20 1.6 4.2LSC3 4.6bSC3
2016 721 1628 47.6 D -23.873-175.548 10.0F SC3 43 1.8 6.1LSC3 5.2bSC3 5.9BSC3
2016 721 2309 3.2 D 40.770-124.070 10.0F SC3 33 2.0 4.9LSC3 5.0bSC3 5.1BSC3
2016 722 0040 27.1 D 39.365 25.988 7.3 SC3 25 1.4 3.0LSC3
2016 722 1131 49.4 D 19.911 120.895 10.0FSSC3 17 1.7 4.7bSC3 5.3BSC3
2016 722 2140 11.9 D 42.343 35.206 22.2 SC3 42 1.3 4.4LSC3-4.1SSC3
2016 722 2344 58.5 D 36.951 26.683 10.5 SC3 13 0.9 2.7LSC3
2016 723 0100 19.3 D 47.772 147.040385.8 SC3214 0.8 7.3LSC3 5.4bSC3 5.6BSC3
2016 723 0226 20.3 D -7.409 128.924135.3 SC3 19 1.1 5.6LSC3 4.8bSC3 5.0BSC3
2016 723 0252 12.1 D 30.140 142.097 61.9 SC3 14 0.7 5.1LSC3 4.4bSC3 4.9BSC3
2016 723 0741 45.1 D -6.701 101.262 10.0F SC3 83 1.5 6.1LSC3 5.2bSC3 5.9BSC3
End of s-file
The last two files can be used to plot bad and good events repectively.
In textttcompare hyp.out, all the input headers are listed for the two files and at the end a summary of
the differences is given. In the example above, note that there were 11 events. Five events had fixed depth
so only 6 were used for depth comparison. For RMS, only 10 out of the 11 has an RMS. Also note that
not all events had all the magnitude types. This example is comparing locations done with SeisComp3 and
SEISAN.
NOTE: If RMS is 0.0, it is assumed there is no rms and it is not used. Below is shown the output file.
For each event, the difference in value is shown. Note that the difference value has a star behind it if it
exceeds the user specified values. The event numbers are also listed.
CHAPTER 28. MERGE EVENTS IN SEISAN AND COMPARE CATALOGS 372
compare_hyp
Give input file 1, the reference, or single input file
test.out
Give input file 2, the file to compare
If blank (enter) only one file is used
In this example the files select.out and hyp.out were compared. A number of output files are generated.
Chapter 29
BOUCH and BOUSEI, HERRMANN and HERRSEI and WKBJ are all programs which is used for generating
synthetic seismograms.
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 based on 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 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 short. 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
374
CHAPTER 29. MAKING SYNTHETIC SEISMOGRAMS 375
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.
The head waves on an interface appear automatically as a by-product of the reflected phases, as soon as the
epicentral distance is larger than critical. That means for example that the Pn phase appears automatically
on the synthetic seismogram as a by-product of the PmP phase. In order to synthesize or calculate the
arrival time of a Pn or Sn phase, you must then specify ’PmP’ or ’SmS’ (see below).
For a receiver at the free surface, the synthetic seismograms must include the free surface reflection coef-
ficient 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 different phases compared with those at the free surface.
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.
All three programs are hardwired to use triangular sources.
Running the programs
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 fewer layers, ideally just a halfspace under the deepest ray. The programs seems
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 limit is 2. BOUPAR parameter, currently set at default value of 2000. The speed
of this output (NPOINT/2+1 lines) gives a good indication of how long time it will take.
CHAPTER 29. MAKING SYNTHETIC SEISMOGRAMS 376
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
CHAPTER 29. MAKING SYNTHETIC SEISMOGRAMS 377
MODEL: The model to be used. THICK is layer thickness, VP is Vp velocity, VS is Vs velocity, DENS is
density and QP and QS, are P and S q-values respectively. The model, velocities and Q-values are taken from
the STATION0.HYP file with first choice from current directory and second choice from DAT directory (like
the HYP program). The S-velocities are calculated using the Vp/Vs ratio given there. Moho is indicated
with N at the end of the line with the first mantle layer. A Q of zero means infinite Q. The densities are
approximate values and should be modified. See below for maximum number of layers.
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. (0,0,0) is an explosion. The convention is Aki and Richards.
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, 512 is set as default, must be 2**N. Used by BOUCH and
HERRMAN only.
TIMES–: Three different times:
TOTAL: The total time window for generating data and synthetic seismograms for all channels, see also
REDVELO.
INITIAL: The initial time of the earliest trace in the output file, with reference to the source origin time.
CHAPTER 29. MAKING SYNTHETIC SEISMOGRAMS 378
The synthetics at the station with smallest epicentral distance automatically start also at this initial time.
SY-TRACE: The duration of the synthetic seismogram for each channel, might have different start times,
see REDVELO.
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.
REDVELO: Reduction velocity to calculate the initial times at subsequent distances (put 0. for no
reduction velocity). NOTE: Seems to not be correctly implemented so use 0 always.
PHASES-: The names in format A4 (right justified) of the phases to be synthesized with WKBJ. The
phases may be given in any order, with a maximum of 6 phases per line, and there may be several ”SYNT:
PHASES-” lines.
Possible phases:
Pg (direct P from source to receiver)
Sg (direct S)
PmP (includes automatically Pn at distances larger than critical)
pPmP (includes automatically pPn at distances larger than critical)
sPmP (includes automatically sPn at distances larger than critical)
SmS, pSmS, sSmS (includes automatically Sn, pSn, sSn at distances larger than critical)
SmP, PmS
P1P, P2P, S1S, etc: the same as PmP, SmS etc, but on interface number 1, 2, etc.
(The free surface gets interface number 0 in the convention taken here. Thus in HYP, PN2 is the same as
P1N here. There associated head waves are labeled Pn1, Pn2, Sn1, etc.
COMPON-: RADIAL for radial-transverse components, NORTH for North-South, East-West compo-
nents.
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.
BOUPAR: Modeling parameters L, Nt and e. L is length of periodicity (should be a few times 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. If Nt is reached, the results are unreliable.
NEW STAT: Comment line
STATION: Station to be modeled with component(s) to be displayed. The S means that short period
instruments are used. The default is S, so if e.g. BH is used, S must be chaged to BH, else the waveform
data is not found. If no component is given, all 3 components are assumed. The other option is to indicate a
component (e.g. Z) and only that component will be displayed (see also description of BOUSEI). DISTANC
is epicentral distance used, this distance is taken from the current location, AZIMUTH is azimuth from the
source to the station taken from current location, BAZIMUTH is the back azimuth at the station, calculated
by EEV, used to rotate if so specified. Each new station isrepresented by the above 3 lines.
The source time function
The time duration of the triangular source time function for Bouchon is given as Tsou above, and is also
used in WKBJ and Herrmann.
Hints on modeling
Event 199606071325 in the test data set 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. For line up, it is important
CHAPTER 29. MAKING SYNTHETIC SEISMOGRAMS 379
that the correct first arrival is included in phase list (WKBJ), see what is identified by HYP. If PN2, then
P1N must be given for WKBJ.
Testing different parameters
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, locate with
fixed depths, see HYP.
NOTE: THE SOURCE AND RECEIVER CANNOT BE AT THE SAME DEPTH (BOUCH AND HER-
RMANN) AND IN NO CASES CAN THE SOURCE BE AT DEPTH ZERO.
Running time
This depends mostly on the number of points and to some degree on number of layers. The number of
stations has an insignificant effect on running time.
Program limitations: HERRMANN and WKBJ is set up with max 20 layers and Bouchon with 20 layers.
Maximum of 32 stations Change programs and recompile if more layers are needed. Bouchon is compiled
for 2048 frequencies (4096) points.
Computer notes:
The original Bouchon 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’s 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 run these 4 programs in an automated sequence.
All References, a detailed manual, source code and parameters as well as other related programs: “Com-
puter Programs in Seismology”, Volumes I - VIII. By Robert B. Herrmann, Saint Louis University, Saint
Louis, Missouri.
WKBJ:
Input file hyp.out, read by ”WKBJ.
Output file iasp.out, written by ”WKBJ”. Contains the arrival times of
the different phases at the stations, in SEISAN format.
Output file wkbjsei.out, written by WKBJ in the SYNTSEL.FOR subroutines. A waveform file (SEISAN
type) containing the data and the synthetics, which can be plotted 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, created by WKBJ for input to WKBJ OR. The same information as in hyp.out, in a WKBJ OR
format.
wkbj.tab, output from WKBJ OR, reprocessed by WKBJ. Contains tables as a function of ray parameter.
wkbj.out, output from WKBJ OR, reprocessed by WKBJ. Contains the Green functions.
CHAPTER 29. MAKING SYNTHETIC SEISMOGRAMS 380
xxx 9502-06-1700-50S.xxx_004
Plot start time: 95 2 6 17: 0 53.257
13100
1 KMY S Z
yPgyPn
yPmP ySg ySn
ySmS
56413
2 KMY SB Z
yPgyPn
yPmP ySg ySn
ySmS
209381
3 KMY SH Z
yPgyPn
yPmP ySg ySn
ySmS
768411
4 KMY SW Z
yPgyPn
yPmP ySg ySn
ySmS SEC
54 56 58 60 2 4 6 8 10 12 14
Figure 29.1: 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.
Chapter 30
In SEISAN, travel times are generated from a 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.
381
CHAPTER 30. CALCULATION AND PLOTTING OF TRAVEL TIMES 382
30.2 Calculation of travel times for layer and gradient model, TT-
LAYER
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 not be very useful. 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 gives the station, epicentral distance, type of phase and travel time for the P-phase. The travel
times for the S-phases are calculated using the Vp/VS ratio given in the station file and NOT by using a
possible S-velocity model in the station file.
Free standing program for calculation of theoretical arrival times for station given in an S-file To operate
in this mode, the command ttlocal sfile is given. The program calculates theoretical arrivals for the phases
given in the s-file and write the output file with the original arrival times replaced by the theoretical times.
All weights etc are kept. N and B-phases are used if given in S-file and specified in station file. A possible
CHAPTER 30. CALCULATION AND PLOTTING OF TRAVEL TIMES 383
S-velocity model is ignored. Relocating the output file should give same locations as given in input file with
zero residuals. In this mode there can be many events in the input s-file. The station file used is the one
from the first event. Optionally the arrival times can be have added noise if a second argument is used like
e.g. ttlocal collect.out 2.0 where input file is collect out and random noise is added. The noise generator is
the Fortran RAND function which gives random numbers from 0-1 so in the example we would get random
numbers between 0 and 2. The nose added to the arrival times for P is then between -1 and 1. The noise
added to the S is multiplied with Vp/Vs.
The output file is ttlocal.out
Phase ID Phase---
--------------------
IASP-PHASE P
IASP-PHASE PP
IASP-PHASE PPP
IASP-PHASE PKP
IASP-PHASE pP
CHAPTER 30. CALCULATION AND PLOTTING OF TRAVEL TIMES 384
Figure 30.1: Example of travel time plot. Both P and S observed travel times are plotted with ”+” symbol.
Calculated times are shown by the solid lines, the lower one gives the first P arrivals, the upper line gives
first S arrivals. The two outliers are observations from a station with incorrect timing. In thsi plot the
g-phases are not shown
CHAPTER 30. CALCULATION AND PLOTTING OF TRAVEL TIMES 385
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
Notice that the definition file might prevent display of phases expected. In the axample above, e.g. Pg
would not be seen so it is important to set up the definition file for the phases wanted. Fort local earthqukes,
it is not enough to write P or S since these phase are named Pn, Pg, Pb, Sn, Sg and Sb so these phases
names must be written like that.
Chapter 31
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.
The information can be used to obtain a first impression of crustal parameters. 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 output gives:
T0 : Wadati calculated origin time
N: Number of stations used for Vp/Vs
VPS : Vp/Vs ratio
NP : Number of stations for P- velocity
NS : Number of stations for S-velocity
AVSP: Average S-P times with sd
AVDI: Average distance with sd
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. A minimum of 3 stations is required for an
event to be used. Only same type phases are used (like PG and SG).
Example of a run to calculate Vp/Vs
Input file name
collect.out
Wadati (1), apparent velocity (2) or both (3) ?
1
Wadati parameters: Minimum number of stations
3
Maximum rms
1
Minimum correlation coefficient
0.9
1994 616 1841 28.3 No data for Wadati
1994 10 4 1322 55.8 No data for Wadati
1995 822 0141 5.3 T0: 141 8.1 N: 8 VPS: 1.84 RMS: 1.19 CORR: 0.997
1995 1120 0401 58.9 T0: 4 1 59.5 N: 7 VPS: 1.76 RMS: 0.87 CORR: 0.995
1996 6 3 1955 35.6 No data for Wadati
1996 6 3 1955 35.6 No data for Wadati
1996 6 3 1955 40.1 No data for Wadati
386
CHAPTER 31. WADATI 387
1996 6 6 0648 29.8 T0: 648 1.1 N: 22 VPS: 1.51 RMS: 11.00 CORR: 0.380
1996 6 6 0648 30.6 T0: 648 38.7 N: 3 VPS: 2.16 RMS: 0.80 CORR: 1.000
1996 6 6 0648 29.8 No data for Wadati
1996 6 7 1325 28.5 T0: 1325 28.1 N: 9 VPS: 1.72 RMS: 1.06 CORR: 0.973
1996 6 7 1325 29.1 T0: 1325 28.1 N: 9 VPS: 1.72 RMS: 1.06 CORR: 0.973
1996 610 1 4 47.0 No data for Wadati
1996 610 1 4 47.0 No data for Wadati
1996 623 0117 57.8 No data for Wadati
1996 623 0117 58.1 No data for Wadati
1996 625 0337 31.7 T0: 337 33.1 N: 21 VPS: 1.75 RMS: 1.36 CORR: 0.999
1996 7 5 0220 46.5 T0: 220 45.8 N: 6 VPS: 1.76 RMS: 0.28 CORR: 0.999
1996 713 0556 46.0 No data for Wadati
1996 718 0946 51.4 No data for Wadati
1996 718 2255 6.0 No data for Wadati
1996 726 0742 12.0 T0: 742 11.8 N: 6 VPS: 1.74 RMS: 0.47 CORR: 0.993
The SPEC program is used for making spectra of many seismic signals in a semiautomatic manner. It can
be used for several investigations:
A: Making a large series of signal spectra, which can be corrected for instrument and path.
Average spectra are calculated. There are two options for further processing the calculated spectra:
Option (1): Calculate acceleration density spectra which are plotted compared to the Peterson noise model.
Option(2): Using the slope of the flat part of the displacement spectra to calculate the near surface attenu-
ation kappa (see 8.12.
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 makes
output files for generating GMT plots in addition to standard SEISAN plots.
Note: Parameter file has changed between SEISAN 7.2 and 8.0 (number of windows and overlap has been
added).
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 or a filenr.lis type file with waveform file names (can
only be used if no readings are needed, like for Nakamura studies). 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.
The program produces several output files. The main output is in spec.out with the parameters used,
the station event combinations used and error messages. The other files are giving output of most graphs
shown. These ASCII output files can be used in other plotting programs, however they have been specifically
formatted for the SEISAN GMTXY plotting script. Note that the numerical values given for the spectral
output given in those files is the same that appear on the plots and the values are linear. So if a spctrum
has been instrument corrected and smoothed, that is what is given. Similarly if a relative spectrum is used.
The number of files depends on number of stations used. Examples of files could be
388
CHAPTER 32. CALCULATING SPECTRA, THE SPEC PROGRAM 389
FOO S Z SUE S Z
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. Optionally, give a second input,
number of seconds to start before the window.
Window length, #of windows, overlap:
- Window length: Window length in secs for both signal and noise (if selected).
- # of windows: If more than 1, spectra will be made in several windows following the first window and
average spectra will be made. This option can only be used if selection criteria is 4. Used for noise
studies or Nakamura studies.
- Overlap: Windows can overlap (factor < 1.0) exactly follow each other (factor=1.0) or have gaps
(factor > 1.0). E.g. 0.9 is equal to 10 % overlap.
A cal file for each channel must be available in the CAL directory (see section 4.6). For 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 spectra 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.
Q0, qalpha and kappa:
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 first 2 parameters are 0,0, no Q-
correction. New from SEISAN7.2 is that a kappa correction also can be used (see MULPLT spectral section).
Note that from version 10.1, Q=Q0 for f ¡ 1 Hz.
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, S-velocity must be given (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 for components used must be available in order to calculate Q. Q is
calculated as pi * f * (t2-t1) / (ln(A2(f)/A1(f)) + alpha * ln(t2/t2)), where A1 and A2 are spectral levels
at frequency f for the two stations, t1 and t2 are travel times and alpha is geometrical spreading exponent
(1.0 is body wave spreading). Q values lower than 1 and higher than 5000 are not used, the Q(f) plot might
then display a long straight line. The Q=Q0*f**qalpha is calculated from the ’good’ values’.
Distance correction alpha: The spectral amplitudes are multiplied by R**(distance correction) if
different from zero. This option MUST be set if moment or moment magnitude options (see below) are
selected as well as calculation of Q. However, it can be used without instrumental correction. For body
waves, use 1. Note that the geometrical spreading use here is simpler than used in MULPLT.
Minimum correlation coefficient and minimum signal to noise ratio for kappa and optional
maximum hypocentral distance: The minimum correlation coefficient and signal to noise ratio for an
event to be included in average kappa. The coefficients are from the linear fit to the flat part of the spectrum.
The optional maximum hypocentral distance can be used to limit the data to e.g. 50 km. if used here, then
the data in the input file does not have to be distance limitied.
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.
Magnitude spectrum: If 1, the spectral level is converted to moment magnitude, see 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.
NOTE: Note for component, only the orientation need to be used like Z instead of S Z. This can be useful
if the data contains different component codes for same data set like HH Z and S Z.
Calculation is done separately for each station so the the program stops between each and the average
plots is shown unless option -batch is used.
Averaging in spec:
Q: For each frequency, the average linear 1/Q and corresponding sd is calculated. The upper and lower
bounds are calculated by subtracting and adding the sd. These values are then converted back to Q and
finally the log is taken. Only the ‘good’ individual values are used. There is a possibility that the lower
bound becomes negative. In that case, the log Q is set to zero. Because the average is made in 1/Q, the
upper and lower bounds curves will not be symmetric around the average Q-curve.
Power spectrum: For each frequency the dB values are averaged and upper and lower curves should be
symmetric.
Kappa: Same as for Power spectrum.
CHAPTER 32. CALCULATING SPECTRA, THE SPEC PROGRAM 392
Other spectra: The linear spectra or relative spectra are averaged. The sd used in the log spectra are
calculated by subtracting log average spectrum from log(average spectrum + sd).
If many data sets are to be processed at the same time one can have one CAT file for each station or
station pairs and optionally also a location for the corresponding waveform files. On the station line, the
CAT file name is then given starting from column 25 and the directory of the waveform files starting at
column 105. In the example below, the names of the CAT files all have the same name but they are in
different directories but they could also have had different names and placed in the working directory. The
specification of the waveform directory is needed if the waveform files are not in the working directory or
the in WAV.
If cat files are given on the channel line, there is no question later of name for the cat file.
Example:
***************THIS OPTION HAS ONLY BEEN TESTED FOR KAPPA CALCUALTION***************
STAT COMP STAT COMP Abs location CAT file, start col 25 Directory for WAV files, start col 105
KTK1 Z /home/seismo/WOR/jens/kappa/KTK1/spec.inp.q /home/seismo/WOR/jens/kappa/KTK1
KTK1 N /home/seismo/WOR/jens/kappa/KTK1/spec.inp.q /home/seismo/WOR/jens/kappa/KTK1
KTK1 E /home/seismo/WOR/jens/kappa/KTK1/spec.inp.q /home/seismo/WOR/jens/kappa/KTK1
ARA0 Z /home/seismo/WOR/jens/kappa/ARA0/spec.inp.q /home/seismo/WOR/jens/kappa/ARA0
ARA0 N /home/seismo/WOR/jens/kappa/ARA0/spec.inp.q /home/seismo/WOR/jens/kappa/ARA0
ARA0 E /home/seismo/WOR/jens/kappa/ARA0/spec.inp.q /home/seismo/WOR/jens/kappa/ARA0
SKAR Z /home/seismo/WOR/jens/kappa/SKAR/spec.inp.q /home/seismo/WOR/jens/kappa/SKAR
SKAR N /home/seismo/WOR/jens/kappa/SKAR/spec.inp.q /home/seismo/WOR/jens/kappa/SKAR
SKAR E /home/seismo/WOR/jens/kappa/SKAR/spec.inp.q /home/seismo/WOR/jens/kappa/SKAR
LOF Z /home/seismo/WOR/jens/kappa/LOF/spec.inp.q /home/seismo/WOR/jens/kappa/LOF
LOF N /home/seismo/WOR/jens/kappa/LOF/spec.inp.q /home/seismo/WOR/jens/kappa/LOF
LOF E /home/seismo/WOR/jens/kappa/LOF/spec.inp.q /home/seismo/WOR/jens/kappa/LOF
In this example, it was desired to calculate kappa for many different stations and since only stations in
a given distance were used, a separate CAT files was needed for each station. Since a complete specification
is given to where the waveform files are located, there is no requirement of having the waveform data in the
the currem directory, WAV or the defualt WAV data base.
If all data is in the default data base, a simpler way to calcualte kappa for many stations is setting a
distance limit in spec.par
minimum correlation, minimum signal to noise ratio, max distance
0.0,2.0,50
and having a spec.inp with the station in many different distances. Then the channel part of the par file
could be:
Normally, at the end of calculation, there is a plot of all the results. If calculation for many stations, the
plot can be skipped if spec is started with option -batch. There is a summary output file for the kappa value
for each station and component called spec kappa average.out. The content is station, component, kappa,
sd of kappa and number of values.
For kappa, there are also ouput files in Nordic format with average kappa at a particular station. The
epicenter is the station coordinates and the magnitude is proportinal with kappa. The file can be plotted
with map or mapg and also used for furhter ananlysis, see example next section.
Running the program:
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, calculates the average spectral ratios for all
pairs (max 100). All spectra 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.eps 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 (or Q) 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 spectra 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, Q0 and qalpha are calculated.
When calculating kappa, the average spectrum do not have much physical meaning since the averages
are made from absolute spectra of events that might have very different moments. So the kappa calculated
from the average spectrum is not to be used.
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.
There are 4 interactive input options:
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.
4: Only final plot on laser.
5: No plotting so no graphics window come up anytime. Can be used e.g. for batch mode.
How to run the program with only waveform files available: Two options:
(A) Using S-files
Step 1: Generate S-files in your local directory with AUTOREG,
Step 2: Make the spec.inp file with COLLECT.
(B) Using filenr.lis
Step 1 : Make a dirf of waveform files to use
CHAPTER 32. CALCULATING SPECTRA, THE SPEC PROGRAM 394
Kappa is given on second line and also on header line as a magnitude. Example of output GMT file is
kappa station.gmt:
CHAPTER 32. CALCULATING SPECTRA, THE SPEC PROGRAM 395
Figure 32.1: 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. Lower right
shows the input parameters used. In some cases (kappa and Q) the values calculated for this case are also
shown.
CHAPTER 32. CALCULATING SPECTRA, THE SPEC PROGRAM 396
Figure 32.2: An example of a GMT plot. The figure shows an example of making noise spectra of several
traces.
CHAPTER 32. CALCULATING SPECTRA, THE SPEC PROGRAM 397
This section is written by M. B. Sørensen, based on a previous version by K. Atakan. Extensive testing
of the programs was done over the years by many users.
Introduction
Currently, the SEISAN package includes a series of stand-alone programs and Seisan Explorer (SE)
functions 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 (PSHA) may be summarized as
follows:
• Collect the best possible earthquake catalog for the study area.
• Homogenize the earthquake catalogue and assess the completeness.
• Compute hazard in terms of different ground motion parameters (e.g., peak ground acceleration (PGA),
peak ground velocity (PGV) or spectral acceleration (SA) at different periods).
• Assess site effects.
• Prepare response spectra.
398
CHAPTER 33. SEISMIC RISK RELATED PROGRAMS 399
is useful when merging catalogs to avoid double entries. ASSOCI will perform a similar search, but only
based on the time difference between events. Furthermore, ASSOCI can only merge two events at a time.
It is thus recommended to use ASSO rather than ASSOCI when merging catalogs for hazard assessment
purposes.
EXFILTER: Identifies probable explosions, based on user-defined parameters involving time-of-day dis-
tribution and the mining locations. It can be used for catalogue clean-up and for discrimination between
earthquakes and man-made explosions.
MAG: Magnitude regression and conversion program. Prepares a plot showing the data scatter and the
best-fitted line for conversion between two magnitude types. Magnitude conversions can then be performed
after a user defined priority list.
EPIMAP: Plots coastlines, national boundaries and earthquake epicenters. It is also possible to select a
subset of earthquakes from a chosen polygon on the epicenter map.
BVALUE: Prepares magnitude-frequency of occurrence diagrams and computes a- and b-values with max-
imum likelihood and least square approximation. In addition, the threshold magnitude and the maximum
observed magnitude can be obtained. It is generally recommended to use the Gutenberg-Richter or Weichert
functions built into Seisan Explorer instead of BVALUE.
SPEC: Computes amplitude spectra for a given set of earthquake records and plots spectral ratios. It can
be used to assess local site effects.
CRISIS2012: Computes seismic hazard in terms of the probability of exceedance vs. earthquake intensity
measure. Any intensity measure can be provided through user defined ground motion prediction equations
in addition to a large number of built-in relations. Epistemic uncertainty can be considered through the
definition of a logic tree. Results can be provided as hazard maps or in terms of hazard curves for selected
sites. The program can furthermore provide a deaggregation of the results. The program only runs under
Windows and needs to be installed separately. Look for a MSI file in SUP.
SEISAN EXPLORER: A number of functions have been built into Seisan Explorer to aid the preparation
of input to a PSHA:
- Function ’Gutenberg-Richter relation’ allows for determining a- and b-values for a given catalog using
different magnitude intervals and bin sizes (similar to the BVALUE program).
- Function ’Poisson distribution’ allows for visually checking whether an earthquake catalog is Poisson dis-
tributed or not.
- Function ’Completeness check’ provides a ’staircase plot’ of the earthquake catalog, showing for different
magnitude classes the cumulative number of events as a function of time. This plot allows for defining catalog
completeness for different magnitude classes.
- Function ’Weichert method’ allows for determining a- and b-values for a given catalog, accounting for
varying catalog completeness for different magnitude classes.
Probabilistic seismic hazard computations are done using the Crisis2012 program. In addition, the
programs listed above and a number of other programs that manipulate 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. Crisis2012 is developed by Mario Ordaz of the Institute of Engineering, UNAM (Ordaz,
1991, 1999).
Step by step procedure for seismic hazard analysis
Following is a summary of the steps that need 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. Most commonly,
several catalogs are merged. After quality control of the individual catalogs (SELECT, CATSTAT and
some of the Seisan Explorer tools can be useful for this) the catalogs can be merged using SPLIT and
ASSO.
2. Evaluate the preliminary catalogue completeness by using the ’Catalog completeness’ function of Seisan
Explorer.
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.
CHAPTER 33. SEISMIC RISK RELATED PROGRAMS 400
4. Clean up the catalogue for dependent 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. Program CLUSTER can be used for this purpose. The probable explosions may be removed by
using the program EXFILTER. Following, the ’Poisson distribution’ function of Seisan Explorer can
be used to confirm that the cleaned catalog is Poisson distributed.
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. Delineate earthquake source zones for the area of interest. The zonation can be based on a seismicity
map with the clean catalog and additional information from geology, geophysics, seismotectonics,
paleoseismology etc. A seismicity map can be prepared using EPIMAP or GMAP (with Google Earth).
Both programs have zooming and area selection procedures which can be used to define the source
zone polygons.
7. For each earthquake source zone select the subset of events that fall in the chosen area. This can be done
by using the SELECT program. Alternatively, EPIMAP can be used to draw polygons interactively
on the screen and put the subset of events within this polygon into a file.
8. The seismicity within each source zone is assumed to be uniform following a Poisson distribution. This
can be checked using the ’Poisson distribution’ function of Seisan Explorer. For each source zone, the
following parameters then need to be defined:
- The a and b-value of the Gutenberg-Richter relation: these can be defined using the ’Weichert
method’ or ’Gutenberg-Richter relation’ functions of Seisan Explorer or from BVALUE. When applying
these programs, magnitude interval and bin sizes must be chosen critically, taking into account the
catalogue completeness and the detection threshold.
- Maximum expected magnitude with its standard deviation: This is usually inferred through other
available information, such as geology, palaeoseismicity, or subjective judgment of the scientist.
- 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 engineering
considerations. Usually magnitudes less than 4.0 are not considered engineering significant.
9. It should be assessed whether there are characteristic earthquakes in the region of interest. This can be
done through careful examination of the catalogue and the active faults in the area. If characteristic
earthquake sources are included in the analysis, it is important that the seismicity rate is reduced
correspondingly in any area sources overlapping with the characteristic fault sources.
10. Ground motion prediction equations (attenuation relations), describing the level of ground shaking as
a function of magnitude and distance, must be defined for each source zone. Such relations are based
on empirical ground motion observations. If no suitable relations are available for the chosen study
area and cannot be derived based on existing data, relations can be adopted from tectonically similar
regions. In that case it is important to check the predictions of the chosen relations against available
recordings from the study area. Many relations are defined for different types of ground conditions
(rock, stiff soil, soft soil) and it is important that appropriate relations are chosen.
11. Run the CRISIS2012 program in order to set up a hazard model with the parameters determined in
steps 6-10. The model can be defined through the graphical user interface of CRISIS2012. Optionally,
a logic tree can be set up to account for epistemic uncertainty. Results can be displayed as hazard
maps or hazard curves directly, or exported as ASCII files. There is also an option for deaggregating
the results.
12. The local site conditions should be considered for critical sites. SPEC program can be used to obtain
the amplification factors due to unconsolidated sediments. These factors can be used later to adjust
the response spectra.
CHAPTER 33. SEISMIC RISK RELATED PROGRAMS 401
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.
33.2 CRISIS2012
CRISIS2012 is a computer program to compute seismic hazard in extended regions. It was developed at the
Institute of Engineering, UNAM, Mexico, by Mario Ordaz, Armando Aguilar and Jorge Arboleda.
Basic input data are: geometry of the sources, seismicity parameters of the sources, and ground motion
prediction equations. In addition, the spectral ordinates, for which the hazard is calculated, must be defined
together with the calculation grid and parameters related to the integration and display of results. Details
about the use of CRISIS2012 are given in the separate CRISIS2012 manual PDF file contained in the MSI
installation file in SUP.
CRISIS2012 is only available under Windows and needs to be installed separately. An MSI file is available
in SUP. When opening the MSI file, an installation widow appears asking a number of questions in Spanish.
The following choices should lead to successful installation of CRISIS2012:
During the process, it may be necessary to update the .NET framework of the computer.
After installation, a number of files will be available at the location specified in the 2nd installation
window. CRISIS2012 is launched through CRISIS 2012.exe . A comprehensive manual is found in CRISIS
2008 Manual.pdf and through the help function of CRISIS2012.
log(N ) = a − bM (33.1)
where log is the base-10 logarithm and N is the number of events with magnitude M (or larger in case of
regression on cumulative data, see below).
The user can choose which magnitude type to use (M is the first magnitude given for each event ). The
database is read, and a histogram is plotted showing the number of events in different magnitude bins. The
minimum magnitude to be considered and the bin size can be chosen by the user. Optionally, the incremental
number of events and the cumulative number of events above a given magnitude can be overlain as symbols.
The a- and b-values can be determined by regression on either the incremental or the cumulative values.
The starting magnitude is selected by the user and should be set such that only the complete part of the
catalog is considered. It is also possible to set a maximum magnitude in the regression. The obtained a- and
b-values are returned, and the fit is compared to the data in the plot.
CHAPTER 33. SEISMIC RISK RELATED PROGRAMS 402
Function ’Poisson distribution’ allows for visually checking whether an earthquake catalog is Poisson
distributed. The function reads the database and plots a histogram showing the number of 1-year intervals
with a given number of earthquakes, as a function of the annual number of earthquakes. This histogram is
compared to the theoretical Poisson distribution derived from
ν n −ν
P (N = n) = e ,
n!
where n is the number of earthquakes for a given year and ν is the mean annual number of events. A good
fit between the histogram and the theoretical curve indicates that the data fulfills the Poisson distribution.
Function ’Completeness check’ allows for defining catalog completeness for different magnitude
classes. The function provides a ’staircase plot’ of the earthquake catalog, showing for different magni-
tude classes the cumulative number of events as a function of time. Assuming that the catalog is complete
during the most recent part of the time interval, the user can search for a change in slope, indicating a
change in seismicity rate. Such change is interpreted as a change in catalog completeness. The completeness
time can thus be read as the time where the staircase plot changes slope for a given magnitude class and
entered into a table. The plot can be zoomed by scrolling and moved by dragging with the mouse. The user
can select the minimum magnitude to be considered and the magnitude interval for each curve. The entered
completeness values are shown in the plot and saved to a file se-completeness.out, to be read by function
’Weichert method’, when pushing ’Replot’.
Function ’Weichert method’ allows for determining a- and b-values for a given catalog, accounting
for varying catalog completeness for different magnitude classes following Weichert (1980). The magnitude
classes and their corresponding completeness times are read from the file se-completeness.out, which is
generated by function ’Completeness check’. The user can choose which magnitude classes to consider
through ’Select intervals to be used’. The function performs a standard linear regression for the Gutenberg-
Richter a- and b-values for the complete part of the catalog. In addition, a regression is performed following
Weichert (1980). This regression returns the b-value, the Mmin value used and a value of Ny(M) for a
magnitude selected by the user, defined through:
33.4 CLUSTER
The purpose of CLUSTER is to find and remove dependent events (foreshocks, aftershocks and swarm
events) from a catalog. In contrast to the old CLUSER in SEISAN before version 10.0, this completely
new version will search for dependent events using more parameters: Time difference, epicentral distance
and depth distance. These parameters can be magnitude dependent and can be different before and after
the main event. The program requires an input parameter file cluster.def which can be placed in working
directory or DAT. An example is given in DAT and seen below.
For declaring an event as a dependent event, the dependent event must be occur at less than a given time
difference from the main event, it must be smaller than a specified magnitude (relative to the main event),
the epicentral or hypocentral distance between main and dependent event must be less than a given value
and the difference in hypocentral depth between the two events must be less than a given value. Hypocentral
distance is calculated as the direct distance between main shock and dependent event.. The time and distance
limits are generally magnitude dependent so larger values are used for larger events. Different magnitude
dependence can be used before and after the main event.
If the event has no location or magnitude, it will not be considered as a possible dependent event and
will be included in the list of main shocks.
The magnitude used is selected among all prime magnitudes in the file (the 6 magnitudes on main header
line, can be 2 lines if more than 3 magnitudes). The magnitudes can be given an order of priority in
SEISAN.DEF:
KEYWORD............Comments.............Par 1.....Par 2
CHAPTER 33. SEISMIC RISK RELATED PROGRAMS 403
MAGNITUDE_ORDER LBER
MAGNITUDE_ORDER LNAO
In this example, LBER (local magnitude calculated by BER) is first chosen, if not there, LNAO and if
not there either, the first magnitude found in file. If no order is given in SEISAN.DEF, the magnitude used
will be the first found for the event, irrespective of type or agency. It is possible to leave either magnitude
or agency blank in which case the blank represents a wildcard.
Potentially all events can be a mainshock so all combinations, within the time limit, will be searched. A
search is first made after the main event (for aftershocks) and then before the main event (for foreshocks).
Input:
A file in Nordic format. If only header lines, there must be a blank line between events.
Output:
All dependent events will be removed and put out in a file called cluster reject.out while the cleaned
catalog will be in file cluster use.out. Optionally, a debug output can be made, either on screen or in a file
(see cluster.def). An example is seen below
Main : 2012 210 1222 22.3 66.4 14.2 14.0 0.9 LTES
Main : 2012 210 1316 8.1 66.3 14.9 0.0 1.1 LTES
Main : 2012 210 1356 25.0 71.2 -8.1 13.0 3.5 LTES
After: 2012 212 2332 7.8 71.2 -8.2 12.9 1.8 LTES M2.5 T 22 2 D 26 3
After: 2012 213 853 34.5 71.0 -8.0 19.7 1.3 LTES M2.5 T 22 2 D 26 19
After: 2012 216 1322 6.1 71.1 -7.7 0.1 1.5 LTES M2.5 T 22 5 D 26 18
Fore : 2012 124 027 10.9 71.1 -8.0 43.2 2.3 LTES M2.5 T 22 17 D 26 14
Fore : 2012 122 1248 16.6 71.1 -8.3 23.7 1.7 LTES M2.5 T 22 19 D 26 12
Fore : 2012 120 128 10.3 71.1 -7.5 13.2 1.8 LTES M2.5 T 22 21 D 26 22
Main : 2012 210 1543 54.2 73.3 7.8 15.0 2.8 LTES
Main : 2012 210 1549 52.9 -27.6-176.6 33.0 5.0 BNAO
Main : 2012 210 1654 31.8 2.2 122.2 33.0 5.4 BNAO
Each potential main (Main) event is listed. To be considered a potential main event, the event must
have both location and magnitude. If a dependent event is found, its type is shown (After or Fore) with the
parameters: M: The interpolated main shock magnitude used, T: The interpolated maximum time difference
used and the actual time difference (days), D: The interpolated maximum distance (km) used and the actual
distance. In the above example, the upper magnitude limit for dependent events is 2.5, main event is 3.5,
the limit in distance is 26 km and in time 22 days. Directly following the Main event comes a listing of all
dependent events. The next potential main event will then be the first unused event following the previous
Main event and that Main event can then jump back in time since there might be several events following
the previous Main event which were not declared as dependent events.
Example of a cluster.def file
This file is parameter file for cluster. The file can be in working
directory or DAT.
Only the lines with recognized keywords and a non blank field
under Par 1 will be read. The comments have no importance. Lines with
keywords MAGS AFTER DIST TIME and MAGS BEFORE DIST TIME must come grouped
together in increasing magnitude order. Parameters for these lines are:
Reference magnitude of main event, maximum magnitude of corresponding after/foreshock
(AFTER/FORE), distance(km) and time(days).
All number must be real numbers. Columns Par 1-Par 4 start in
columns 41,51, 61 and 71.
All keywords in capital letters.
Hypocentral distance is calculated as the direct distance between main shock and
dependent event.
Parameter values are interpolated for magnitudes between the ones given.
The values shown in debug output are the interpolated values.
CHAPTER 33. SEISMIC RISK RELATED PROGRAMS 404
If event is larger than largest event in table, the values for the largest event is
used. If event is smaller than smallest event in
table, no dependent events will be searched for.
The MAGS AFTER DIST TIME are magnitude of main shock, corresponding magnitude
of largest aftershock, distance and time. Similarly for the foreshocks.
The MAX DEPT DIFFERENCE will consider only events with a depth
difference less than MAX DEPT DIFFERENCE as a possible dependent event.
MAGS AFTER DIST TIME Mag. dep. par. 2.5 1.5 19.5 6.0
MAGS AFTER DIST TIME Mag. dep. par. 3.0 2.0 22.5 11.5
MAGS AFTER DIST TIME Mag. dep. par. 3.5 2.5 26.0 22.0
MAGS AFTER DIST TIME Mag. dep. par. 4.0 3.0 30.0 42.0
MAGS AFTER DIST TIME Mag. dep. par. 4.5 3.5 35.0 83.0
MAGS AFTER DIST TIME Mag. dep. par. 5.0 4.0 40.0 155.0
MAGS AFTER DIST TIME Mag. dep. par. 5.5 4.5 47.0 290.0
MAGS AFTER DIST TIME Mag. dep. par. 6.0 5.0 54.0 510.0
MAGS AFTER DIST TIME Mag. dep. par. 6.5 5.5 61.0 790.0
MAGS AFTER DIST TIME Mag. dep. par. 7.0 6.0 70.0 915.0
MAGS AFTER DIST TIME Mag. dep. par. 7.5 6.5 81.0 960.0
MAGS AFTER DIST TIME Mag. dep. par. 8.0 7.0 94.0 985.0
MAGS AFTER DIST TIME Mag. dep. par. 8.5 7.5 110.0 1000.0
MAGS BEFORE DIST TIME Mag. dep. par. 2.5 1.5 19.5 6.0
MAGS BEFORE DIST TIME Mag. dep. par. 3.0 2.0 22.5 11.5
MAGS BEFORE DIST TIME Mag. dep. par. 3.5 2.5 26.0 22.0
MAGS BEFORE DIST TIME Mag. dep. par. 4.0 3.0 30.0 42.0
MAGS BEFORE DIST TIME Mag. dep. par. 4.5 3.5 35.0 83.0
MAGS BEFORE DIST TIME Mag. dep. par. 5.0 4.0 40.0 155.0
MAGS BEFORE DIST TIME Mag. dep. par. 5.5 4.5 47.0 290.0
MAGS BEFORE DIST TIME Mag. dep. par. 6.0 5.0 54.0 510.0
MAGS BEFORE DIST TIME Mag. dep. par. 6.5 5.5 61.0 790.0
MAGS BEFORE DIST TIME Mag. dep. par. 7.0 6.0 70.0 915.0
MAGS BEFORE DIST TIME Mag. dep. par. 7.5 6.5 81.0 960.0
MAGS BEFORE DIST TIME Mag. dep. par. 8.0 7.0 94.0 985.0
MAGS BEFORE DIST TIME Mag. dep. par. 8.5 7.5 110.0 1000.0
There must be at least one "MAGS AFTER DIST TIME" line but "MAGS BEFORE DIST TIME" are not
needed. In that case there will be no search for foreshocks.
Chapter 34
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.
ALL HEADER LINES ARE SEARCHED FOR MAGNITUDE INFORMATION
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 MUST 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
Coda magnitude Mc: The coda magnitude scale used is
M c = 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 depth 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
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 TYP COF (see below). IN ORDER FOR THE CODA SCALE OPTION TO
WORK, THE DISTANCE COEFFICIENT MUST BE DIFFERENT FROM ZERO.
405
CHAPTER 34. MAGNITUDE AND SPECTRAL RELATIONS, MAG 406
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. On the other hand, if a best dist cof has been found, B is calculated as B=A*dist cod
A typical coda magnitude relation is :
The relation above 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.5km/sec, the relation is
where b = dist cof f 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 1.25 Hz to resemble Wood Anderson seismograms, see MULPLT). The distance ratio
between stations 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 M l = 3 at dist = 100km and amp = 1/2200mm = 454nm (assuming gain
of the Wood Anderson seismograph to be 2080, (Hutton and Boore, 1987). The determination of a and b
CHAPTER 34. MAGNITUDE AND SPECTRAL RELATIONS, MAG 407
does not work well unless the observations are very good. The relation for California is (Hutton and Boore,
1987)
Figure 34.1: Example of using the MAG program. Relation between NORSAR and Bergen local magnitudes.
This file is for parameters for MAG and called MAG.PAR. The name must
be in lower 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. The text fields are left justified, the
real numbers can be anywhere within the 10 columns of the parameter.
MAGAGA is the magnitude type and agency to use for the converted magnitude.
MAGREL gives the magnitude and agency to use for conversion e.g. LBER and
the parameters 2 and 3 gives the relationship:
The magnitude conversion uses one of the MAGREL relationships, where the
priority is in the same order as found in the list.
CHAPTER 34. MAGNITUDE AND SPECTRAL RELATIONS, MAG 409
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
Chapter 35
ML inversion, MAG2
MAG2 is a program to invert for the local magnitude scale ML. The difference to the inversion done in MAG
is that MAG2 inverts amplitudes from all events simultaneously for the scale and station corrections. The
program can invert for different scale parameters depending on selected distance ranges. The reason for this
is that it is known that the geometrical spreading is not the same for example between Pg and Pn. Some
authors have suggested distance dependent scales, but most commonly a single scale is used for all distances
for simplicity.
The general ML scale is given by
where we measure the displacement amplitude A in nm, R is the hypocentral distance in km, S is the
station correction of the individual stations, and c is a constant added to make the scale comparable to
other places at a reference distance. The station corrections add up to 0. The region dependant parameters
in the scale are a, accounting for geometrical spreading, and b, accounting for attenuation. The part
(alog10 (R) + bR + c) is commonly written as (−log10 A0).
The program applies singular value decomposition using the Numerical Recipe (Press et al., 2003) routines
to invert the observations for a, b and S. It then computes the parameter c based on the reference given
through distance, amplitude and magnitude. This allows to calibrate scales between different regions so
that they are the same at the reference distance. Commonly c is set such that 480 nm amplitude at 17 km
gives ML=2 (this is equivalent to 1 mm on a Wood-Anderson seismograph giving ML=2 at 17 km (Hutton
and Boore, 1987). The original definition was 480 nm at 100 km giving a ML=3 (equivalent to 1 mm on
a Wood-Anderson seismograph at 100 km distance), however it is now considred that a shorter reference
distance will give a more accurate scale. The inversion can be setup to invert for the geometrical spreading
term a in the scale for up to three distance ranges. However, a single attenuation term b is used.
As input the program requires a parameter file mag2.par (or other name can be given as input) in the
working directory, and a standard station file e.g. STATION0.HYP. Then the user only has to enter the
input file of events in Nordic format, and if needed the name of the parameter file if different from mag2.par.
A sample file, mag2.par, and an input file, mag2nor.cat, with events from Norway are in given in DAT.
The parameter file has the following settings given by keywords (any order):
INVERSION TYPE (f10.1) - 1. = singular value decomposition (no other choice yet)
DISTANCES (2f10.1) - distance range in km for observations to use
MINIMUM NUMBER OF OBS/EVEN (f10.1) - only events with more or equal number of observations are
used
MIN DISTANCERANGE RATIO (f10.1) - minimum range required computed as ratio of distances defined
by DISTANCES
ORIENTATION (f10.1) - use of components: 0. = horizontal and vertical, 1. = horizontal only, 2. = vertical
only
SYNTHETIC (f10.1) - set to 1. for synthetic test, scale defined by FIX SCALE A and FIX SCALE B; 0.
for inversion of data
NOISE (f10.1) - ratio of amplitude to be added as noise to synthetic test
410
CHAPTER 35. ML INVERSION, MAG2 411
FIX SCALE A (3f10.1) - set the fixed parameter a in scale, possible for the three distance ranges given by
SCALE DISTANCE
FIX SCALE B (3f10.1) - set the fixed b parameter in scale, possible for the three distance ranges given by
SCALE DISTANCE
FIX SITE (f10.1) - set to 1. to not invert for station corrections; 0. for default inversion for station corrections
IGNORE COMP (a4) - give component not to be used
IGNORE STAT (a5) - give station not to be used
REFERENCE DISTANCE, REFERENCE AMPLITUDE, REFERENCE MAGNITUDE (all f10.1) - setup
of the reference, used to calculate parameter c, give amplitude as Wood Anderson amplitude in mm
SCALE DISTANCE (2f10.1) - give up to two distances which give the transition between the possibly three
distance dependent scales; blank or numbers larger than maximum distance will give only one scale
RANGE A (3f10) - The parameter ’a’ in the ML scale can be fixed to values given here. Three numbers
have to be given, the first gives the start value, the second the end value and the third gives the spacing
(e.g., .5,1.5,.1 means that mag2 inverts for ’a’ values between .5 and 1.5 with .1 spacing); if this parameter
is set, mag2 does run the invesion for the given (fixed) values of ’a’.
The program produces a number of output files:
mag2 amp dis.out - amplitude versus distance for each event
mag2 amp obs.out - list of observed amplitudes
mag2 events read.out - listing of events that were read in
mag2 events used.out - events used in Nordic format
mag2 evxy.out - coordinates of events used
mag2.out - general output file, lists data used and computed scale
mag2 paths.out - event-station path coordinates
mag2 station hyp.out - hyp station file with scale and station corrections
mag2 stat list.out - simple output of stations used
mag2 statxy.out - coordinates of stations used
The output file mag2.out will give some details on the input data, as number of stations, events and
observations. It reports the reference used to fix the scale at the reference distance. Next it gives the scale,
consisting of three parts if inversion is done for all possible segments. This will be given by a1, a2, a3, while
b will be assumed to be the same. First the scale is presented to include the reference distance, second it is
shown without the reference distance included with the scale. Then comes a section with the stations and
the respective site terms, and finally the list of events with the source term inverted for.
The output file mag2.out for the example in the DAT directory should look like this:
ML inversion output
SVD inversion
35.1 MAGSTAT
The program MAGSTAT can be used with MAG2 to produce statistics that allow to evaluate the magnitude
scale. As input it takes a STATION file, as produced by MAG2, and a Nordic input file. Here, one can use
any data set, or the events that were used in the MAG2 inversion.
This program is still under construction.
Chapter 36
The program MAGRES is used to calcualte average magnitude residuals for each station and component in
a given data set. Currently the program only work with Nordic2 format, which has the magnitude residual
in the S-file after it has been updated. So if data is in Nordic format, transfer to Nordic2 with NOR2NOR2,
relocate the events and run the program. The progrsam is intended to check a data set for stations with
a magnitude bias. In addition, if magnitudes are available on all 3 components, the average difference in
magnitude between vertical and horizontal components, are calculated. This can be used to find if there is
a bias using vertical compoent instead of horizontal component.
Below is an example:
hyp.out
2021 3 2 1955 28.1 L 34.971 22.361 3.00F TIR 15 1.4 3.9LTIR 3.7WTIR 3.8LNOA
2021 3 3 437 15.8 L 44.994 15.893 3.00F TIR 12 .70 4.1LTIR
2021 3 3 1016 8.4 L 39.594 22.345 10.0F TIR 16 1.8 6.3LTIR
2021 3 3 1016 7.8 L 39.612 22.315 0.00 TIR 16 1.7 6.2LTIR 6.3STIR 6.0LNOA
2021 3 3 1016 8.2 L 39.686 22.229 8.80 TIR 16 1.5 6.2LTIR 6.0WTIR
2021 3 3 1016 7.3 L 39.638 22.318 0.40 TIR 12 1.0 6.2LTIR 5.9STIR 5.8WTIR
2021 3 3 1034 7.4 L 39.681 22.278 14.1 TIR 19 1.1 4.9LTIR 4.9WTIR 4.9LNOA
...
...
2021 330 326 8.4 L 42.429 16.091 41.1 TIR 7 1.5 2.6LTIR 3.5WTIR
2021 330 735 40.0 L 42.476 15.767 10.0F TIR 8 1.3 4.1LTIR 3.9WTIR
2021 330 11 1 40.0 L 42.405 16.252 37.5 TIR 6 2.8 3.2LTIR 3.7WTIR
2021 330 1624 8.1 L 50.842 12.937 5.10 TIR 9 1.0 5.0LTIR
2021 331 1849 41.8 L 42.414 16.104 23.6 TIR 9 .60 3.4LTIR 3.6WTIR
End of s-file
413
CHAPTER 36. MAGRES, CALCULATE AVERAGE MAGNITUDE RESIDUALS 414
STAT COM N AV SD
IGT HHZ 106 0.10 0.12
IGT HHN 104 0.14 0.14
IGT HHE 105 0.03 0.10
SRN HHZ 103 -0.02 0.10
SRN HHE 99 -0.01 0.08
SRN HHN 102 0.01 0.10
THE HHZ 94 -0.43 0.19
THE HHN 93 -0.35 0.19
BERA HHE 87 0.08 0.12
BERA HHN 87 0.10 0.13
BERA HHZ 75 -0.08 0.27
PHP HHN 104 0.04 0.09
PHP HHZ 105 -0.14 0.14
PHP HHE 108 0.65 0.51
PUK HHN 82 -0.03 0.09
PUK HHZ 86 -0.39 0.13
PUK HHE 84 0.00 0.07
SDA HHZ 62 -0.10 0.14
SDA HHE 60 -0.11 0.13
BCI HHN 84 0.21 0.13
BCI HHE 82 0.19 0.14
BCI HHZ 81 0.08 0.11
PDG HHZ 41 -0.13 0.13
PDG HHN 41 -0.04 0.13
PDG HHE 42 -0.08 0.11
TIR HHN 55 -0.25 0.11
TIR HHE 54 -0.27 0.12
TIR HHZ 54 -0.37 0.13
KBN HHZ 95 -0.02 0.09
KBN HHN 93 0.14 0.11
KBN HHE 93 0.00 0.05
THE HHE 92 -0.32 0.21
VLO HHN 38 0.35 0.11
VLO HHZ 40 0.10 0.10
VLO HHE 38 0.29 0.13
SDA HHN 61 -0.07 0.12
NEST HHZ 37 0.07 0.13
NEST HHE 37 0.06 0.17
NEST HHN 37 0.05 0.12
LSK HHZ 6 0.00 0.00
LSK HHE 6 -0.12 0.04
LSK HHN 6 0.27 0.10
In the above example, N is the number of values, m the magnitude, AV is average and SD standard
deviation.
Chapter 37
The program EXFILTER is used to identify probable explosions in a catalog of seismic events. Man-made
seismic events like quarry blasts, mining explosions and other explosions show a certain distribution in time
and space. Therefore the method of explosion identification here is based on normalizing the time of day
distribution of seismic event occurrence as a function of area. The program works on the following principle:
Areas where explosions occur are defined. If an event is located in one of these areas, with a magnitude
below a given maximum magnitude, with a depth less than a given maximum depth, within a given time of
day interval and within a given year interval, it is identified and marked as probable explosion. The areas are
defined by polygons of any shape. For definition of the filter areas, a list of mine locations (with consideration
of location accuracy), locations of explosions and locations of event clusters (they might be clearly related to
mine locations, but others might indicate unknown explosion sites) can be used. The next step is to define
the parameters for each area to get a normal time of day distribution. They can be determined following
the steps:
416
CHAPTER 37. EXPLOSION FILTERING, EXFILTER 417
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. Example of program run
<exfilter>
NUMBER OF AREAS: 55
FILENAME... ?
june.cat
************************************
Number of probable explosions found: 90
Output written in file: exfilter.out
************************************
CHAPTER 37. EXPLOSION FILTERING, EXFILTER 418
Figure 37.1: Figures that show how the exfilter works for events in Scandinavia:
The top figure shows the filter areas used for Scandinavia. The bottom right figure shows the time of day
distribution for a 10 year Scandinavian catalog before filtering (made with CATSTAT) and the figure bottom
left shows the distribution after filtering.
Chapter 38
38.1 VELEST
Introduction
The program VELEST is used to solve the coupled hypocenter velocity model problem for local earth-
quakes. 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,
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).
Before you start please see the two articles Kissling-1988.pdf and Kisslig-1994.pdf in the INF directory.
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: falder-
[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.
The implementation of VELEST to SEISAN is given by the program VELMENU.
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.
Example of program run :
velmenu
419
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION420
select.out
VELEST MENU
-----------
Choice ?
The complete inversion-process of earthquake data in SEISAN format, including all conversions and
preparation of parameter files, can be done with VELMENU. The steps are as follows:
#
# 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.
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION421
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: 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, 1995). The conversions and the inversion programs 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 :
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 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.
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION422
Example of JHD:
VELEST MENU
-----------
Choice ?
1
Inversion or JHD (I / J) ?
j
Origin of cartesian coordinates : 59.394 -5.707
number of events: 61
Potential problem: We have seen cases where in JHD mode the depth parameter in the inversion is
sensitive to invertratio, which when set to 1. in JHD means that VELEST inverts for station correction
in every iteration. VELEST in this case worked better with an invertratio of larger than 1. See VELEST
manual for details.
List of files generated by VELMENU / VELEST
data.cnv earthquake data in CNV format, VELEST input, generated by VEL-
MENU
data.nor earthquake data in Nordic format, HYP input, generated by VELMENU
fin hyp.cnv final hypocenter locations in CNV format, VELEST output
hyp.out earthquake data in Nordic format, HYP output
hypsum.out HYP output file
input.mod input model, VELEST input, generated by VELMENU
invers.out documentation of inversion, VELEST output
nor1.date earthquake data in Nordic format, VELMENU input
print.out HYP output file
selstat.lis selection of stations, generated by VELMENU
sta cor.out station corrections, VELEST output
station.sta station locations, VELEST input, generated by VELMENU
velout.dif difference file between HYP and VELEST location routine, VELMENU
output
velout.nor final hypocentre locations, same as fin hyp.cnv, in Nordic format,
VELMENU output
velest.cmn VELEST control file, VELEST input, generated by VELMENU
The input MUST be from a single file, NOT from the data base. THE PROGRAM MUST RUN IN NON
INTERACTIVE MODE.
Difference with VELEST
VELEST makes an inversion for velocity in a given fixed layer thickness model. This is fast and give a
good average velocity since all data is used together. Many different layer thicknesses must be searched (kind
of grid search) and it is up to the user how to do this and often a script is made by the user. A disadvantage
with VELEST is that only first arrivals can be used and other arrivals must be filtered out. First arrivals
are not always easy to identify, however, it is up to the user to do this independently of VELEST. With
HYP grid search, all phases are used.
Example of doing grid search
An example is shown using data from Western Norway. A data set of 127 events has been selected
(available in test data set under CATALOGS/wn-grid.cat), see Figure 38.1. In order to sample the area
uniformly, and not use too much data, only the 18 red events in the center are used for the grid search.
The data is in Nordic2 format so parameter NORDIC FORMAT in SEISAN.DEF must be set to 2.0.
The model used for this data is the standard model used for continental Norway and has been developed
with data from S. Norway.
Vp [km/s], Depth [km]
6.2 0.0
6.6 12.0
7.1 23.0
8.05 31.0
8.25 50.0
8.5 80.0
This model has been used for more than 30 years and there is no strong indication that it is wrong. So
it should be interesting to see if it can be improved or if the grid search finds the same model.
The first step is to locate the test data set with the current model. The distance weighting was set to
200-250 km to only sample the area near the events. Then a check is made of which layers are sampled.
This is done with program HYP COUNT PHASES. The program counts the phases used for location as
they appear in the print.out file. The phases counted are local phases as identified by the program and not
the phases given as input. Zero output weight phases are not counted. In addition the sum of the weights
used for the phases are counted. Only phases for up to 9 layers are counted. The output will give an idea
of how many rays sample different layers. The program is started and no questions are asked. It is assumed
that the print.out is in current directory. For the above data set of 18 events, the run is
hyp_count_phases
Number of phases
pg pn2 pn3 pn4 pn5 pn6 pn7 pn8 pn9
171 10 0 77 0 0 0 0 0
sg sn2 sn3 sn4 sn5 sn6 sn7 sn8 sn9
173 10 0 67 0 0 0 0 0
Figure 38.1: The total data set has 127 events (black and red). The red events in the center are used for the
grid search.
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION425
layer # start vp delta vp # delta start h delta h # delta start vs delta vs # delta st. vp/vs del vp/vs
1 5.6 0.2 4 0.0 1.0 1 1.70 0.02
2 6.4 0.2 3 6.0 2.0 5
3 6.9 0.2 5 16.0 2.0 6
4 7.80 0.1 5 28.0 2.0 4
4 8.25 0.05 1 50.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. Optionally also the S-velocities can be varied independently of the P-velocity,
here the option is left blank to indicate that Vp/Vs is used to get the test S-velocity. The Vp/Vs ratio can
also be searched for, if left blank, the ratio is taken from the station file. Vp/Vs and S-velocity cannot
be searched for at the same time. There must be an entry for each layer even if no variation is used. An
example input file is given in DAT. The parameters for location not set in h model.par like Lg velocity
remain unchanged.
Ideally, the whole possible model space should be searched in order to avoid possible local minima. In
practice this will take too long so the model space can first be search with a larger spacing and then refined
in a smaller range. In our case a rather fine grid was used and also the Vp/Vs was varied giving a total of
216000 models. There is a check in HYP that models do not overlap. With 18 events this takes about 24h
on a standard PC. The model space searched is summarized below:
It is seen that he model space is searched quite extensively and hopefully including the range of possible
models. The average RMS variation for these models (see below) is 0.3 to 1.2s so that many unlikely models
are checked.
When HYP starts up, it will print out how many permutations are required so if more than a few
thousand, reduce the number of models, of course depending on how many events are used. Using all
parameters at the same time will often give too many combinations like searching for
Vp and Vs independently. 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 30 models are printed at the end. These models are
also printed out in the format used in STATION0.HYP.
Example of h models.out with the 18 events
First is shown some lines from each test, in this case there were 216000. Then follows the best 30 models,
both as one line and in format ready for the station file. The average hypocentral depth for the particular
model is shown to get an idea of how much the depth depends on the model. Also shown is the range of
RMS for all the test models. This gives an idea of the real variation between the models.
0.510 1.700 5.60 3.29 0.00 6.40 3.76 6.00 6.90 4.06 16.00 7.80 4.59 28.00 8.25 4.85 50.00 6.93
0.475 1.700 5.60 3.29 0.00 6.40 3.76 6.00 6.90 4.06 16.00 7.80 4.59 30.00 8.25 4.85 50.00 7.50
0.469 1.700 5.60 3.29 0.00 6.40 3.76 6.00 6.90 4.06 16.00 7.80 4.59 32.00 8.25 4.85 50.00 8.33
0.486 1.700 5.60 3.29 0.00 6.40 3.76 6.00 6.90 4.06 16.00 7.80 4.59 34.00 8.25 4.85 50.00 9.14
0.542 1.700 5.60 3.29 0.00 6.40 3.76 6.00 6.90 4.06 16.00 7.90 4.65 28.00 8.25
...
0.584 1.800 6.20 3.44 0.00 6.80 3.78 14.00 7.70 4.28 26.00 8.10 4.50 34.00 8.25 4.58 50.00 12.56
0.639 1.800 6.20 3.44 0.00 6.80 3.78 14.00 7.70 4.28 26.00 8.20 4.56 28.00 8.25 4.58 50.00 10.70
0.619 1.800 6.20 3.44 0.00 6.80 3.78 14.00 7.70 4.28 26.00 8.20 4.56 30.00 8.25 4.58 50.00 10.99
0.605 1.800 6.20 3.44 0.00 6.80 3.78 14.00 7.70 4.28 26.00 8.20 4.56 32.00 8.25 4.58 50.00 11.49
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION426
0.590 1.800 6.20 3.44 0.00 6.80 3.78 14.00 7.70 4.28 26.00 8.20 4.56 34.00 8.25 4.58 50.00 12.13
gridmin
rms range to average(r) or
range determined by % increase in minimum rms(p=default)
percentage
2
Input file, def is h_models.out
test5
Minimum rms is 0.337170064
Number of iterations 216000
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION427
Vp SD Vs SD H SD
6.08 0.20 3.50 0.10 0.00 0.00
6.54 0.09 3.76 0.03 7.95 2.04
7.02 0.16 4.04 0.10 24.48 1.93
7.99 0.12 4.60 0.06 33.12 1.30
8.25 0.00 4.75 0.04 50.00 0.00
Vp/Vs 1.73
Vp SD Vs SD H SD
5.99 0.25 3.45 0.12 0.00 0.00
6.51 0.10 3.76 0.03 8.20 2.09
6.96 0.11 4.02 0.06 25.07 1.44
7.99 0.12 4.61 0.05 33.47 1.02
8.25 0.00 4.76 0.03 50.00 0.00
So here the 171 best models (the 2and H (km) is depth to interface. The standard deviation gives an idea
of the variation and uncertainty of the parameters and it is seen that the velocities are quite stable while
layer thickness is less so.
In this case 18 events were used. Below is shown a comparison of results if fewer events are used:
Abbreviations: N: number of events, RMS: average rms for best model or maximum
RMS for NS number of models averaged, Vp/Vs: best of average Vp/Vs, Sd: standard deviation
Vp-x: velocity in layer x, dx: depth to layer x, P: test with P-readings only.
Old model 1.74 6.2 6.6 12.0 7.1 23.0 8.1 31.0
New model 1.74 6.1 6.5 8.1 7.0 24.1 8.0 33.0
It is seen that all tests find similar models but 8 and 18 events give the most similar result. The last lines
show the comparison with new and old model and the largest difference is the depth to the first layer. For
the 18 events, using the new model, the average RMS has decreased from 0.374 to 0.335. Using all the 127
events give a similar RMS reduction (0.435 to 0.394s) so the new model also improved the RMS for events
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION428
not used for the grid search (except the 18 events), an indication that the model has been improved. The
new model reduces the RMS of about 10
Since the readings have been done using the current model, there is a possibility that the readings are
biased towards the current model. This is particularly the case for S-readings. A new grid search was done
using only P-readings (see Table above) and the results are almost the same so it is conclude that there is
not much bias. Note, there is no Vp/Vs search with P only.
Test with synthetic data
In order to test the sensitivity of the data set for different models, the grid search can be done with a
test model using the theoretical arrival times for the phases picked but with arrival times
calculated with the test model. Different levels of noise can be added to the theoretical arrival times.
The program used for this is TTLOCAl, also described elsewhere in the manual. The model is specified in
STATIONx.HYP where x is taken for the first event in event file and station file can be in DAT or local
directory. To get theoretical arrival times for data in file data.inp write
ttlocal data.inp 0.5
The 0.5 indicates the level of random noise added to the data. In this case +/-0.25s is added to the
P-times and +/-0.25*Vp/Vs to the S-times. Vp/Vs is taken for the station file. The random noise is
independent for P and S. All phase types and weights remain the same. Only phases P and S are modelled
(P, Pg, Pb and Pn, same for S) so Lg and Rg are not changed. Testing with synthetic data gives an idea of
how well the data can resolve a particular model with the given test data.
38.3 NOR2DD
originally by Brian Baptie, BGS
This program produces input for the Double Difference Program hypoDD (Waldhauser, 2001; Waldhauser
and Ellsworth, 2002) from Nordic and STATION0.HYP files. The program also converts back from hypoDD
output to Nordic format. The Nordic file name is entered when the program starts.
The program gives the option to use and P and S-phases, or only P or S, which means first arrivals (and
not Pg, Pn, etc). When first arrivals only are used, the user can enter minimum distance for which Pn/Sn
are valid, and maximum distance where Pg/Sg are expected. This has to be chosen based on the model
and observations. For example, one may not want to include Pg when it appears as first arrival at 250 km
distance, or one should not include Pn observed on continental crust at 25 km distance.
The user also can enter specific station weights.
The output files created are:
phase.dat : phase input data
station.dat : station coordinates
hypoDD is available from: http://geopubs.wr.usgs.gov/open-file/of01-113/
38.4 hypoDD
This program Waldhauser and Ellsworth (2000) is meant to improve relative locations in clusters of events.
Quoting the manual (hypodd.pdf in INF):
”The DD technique (described in detail in Waldhauser and Ellsworth, 2000) takes advantage of the fact
that if the hypocentral separation between two earthquakes is small compared to the event-station distance
and the scale length of velocity heterogeneity, then the ray paths between the source region and a common
station are similar along almost the entire ray path. In this case, the difference in travel times for two events
observed at one station can be attributed to the spatial offset between the events with high accuracy.”
Thus arrival time differences between stations is used. Data from catalogs or corss correlation can be
used, here we will only illustrate the use of catalog data. For details, see the manual. hypoDD is installed
in SEISAN and can also be obtained from http://geopubs.wr.usgs.gov/open-file/of01-113/. For simplicity,
the program is called hypodd and not hypoDD. To run the program, the steps are:
2: Create an input file to hypodd program ph2dt with SEISAN program NOR2DD. NOR2DD takes a
CAT file (like select.out) and makes a file phase.dat (default input file to PH2DT).
3: Created difference times with PH2DT (supplied with hypodd, included in SEISAN).
4: Run HYPODD.
5: Plot the new and original locations with EPIMAP, output is provided in Nordic format. Command is
epimap hypodd.map
NOR2DD
The program takes an input CAT file and creates an output file phase.dat (default name) with the arrival
times and hypocenter information:
nor2dd
Convert from Nordic to hypodd (1=enter) or hypodd to Nordic (2)
2
Give input hypodd file, hypoDD.reloc is default (enter)
PH2DT
PH2DT find the stations pairs to be used. It has a default parameter file ph2dt.inp. The most important
parameters are event separation and maximum distances. Since these parameters also can be set on the
HYPODD parameter file, hypodd.inp , the simplest is to leave ph2dt with default parameters. That includes
the default phase data file phase.dat and station.dat made with NOR2DD:
Figure 38.2: Dataset for testing HYPODD. To the left is seen the epicentres and to the right the depth
profile taken from SW to NE as outlined on the left figure. There are 388 events.
Figure 38.3: Results of the hypodd inversion with best parameters. The number of events have been reduced
to 248. The red color indicates the original solutions and the green the hypodd solutions.
Figure 38.4: Testing with event separation distance of 1 km. There are 158 events.
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION433
Figure 38.5: The number of iteration has been changed from 8+8 to 4+4. The number of events is 268.
In the standard parameter set the maximum distance it is set to 200km. Considering that far stations
might have less clear arrivals than near station, using in shorter distance might improve the results. Testing
with 80k max distance is seen in Figure 38.6. Only 4 iterations were needed in the 2. parameter set.
Clearly the clustering is less clear than when using standard parameters so larger distances should be
used for this data set.
Importance of nearest station
Station NBB13 is very close to the southern cluster so a test was made weighting out the station (with
NOR2DD).
The clustering is now less clear so one near stations can change results significantly. But the results are
still better with HYPODD than using standard locations. NBB13 has readings for 292 events out of the
original 388. However of the 248 events with the standard parameters, 225 events had station NBB13 so the
staion is clearly important for the best solutions.
Other tests: Using only P resulted in fewer events (232) with more scatter, maybe not surprising. The
outlier parameter WRCT did not affect the results much provided they were keeps within ’reasonable’ limits
as in our example.
These tests are mostly valid for the current data set, other data sets might require other parameters.
But the test should give an indication of the importance of the different parameters. In many cases there is
a trade-off between number of events which can be relocated and the demand for stricter parameters. For a
better understanding, read the hypodd manual and paper.
Hypodd.inp file for the best solution.
* RELOC.INP:
*--- input file selection
* cross correlation diff times:
*catalog P diff times:
dt.ct
*
* event file:
event.sel
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION434
Figure 38.6: Testing with maximum distance of 80 km instead of 200 km. There are 231 events.
Figure 38.7: Results without using station NBB13. There were 212 events.
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION435
*
* station file:
station.dat
*
*--- output file selection
* original locations:
hypoDD.loc
* relocations:
hypoDD.reloc
* station information:
hypoDD.sta
* residual information:
hypoDD.res
* source paramater information:
hypoDD.src
*
*--- data type selection:
* IDAT: 0 = synthetics; 1= cross corr; 2= catalog; 3= cross & cat
* IPHA: 1= P; 2= S; 3= P&S
* DIST:max dist [km] between cluster centroid and station
* IDAT IPHA DIST
2 3 200
*
*--- event clustering:
* OBSCC: min # of obs/pair for crosstime data (0= no clustering)
* OBSCT: min # of obs/pair for network data (0= no clustering)
* OBSCC OBSCT
0 0
*
*--- solution control:
* ISTART: 1 = from single source; 2 = from network sources
* ISOLV: 1 = SVD, 2=lsqr
* NSET: number of sets of iteration with specifications following
* ISTART ISOLV NSET
2 2 2
*
*--- data weighting and re-weighting:
* NITER: last iteration to used the following weights
* WTCCP, WTCCS: weight cross P, S
* WTCTP, WTCTS: weight catalog P, S
* WRCC, WRCT: residual threshold in sec for cross, catalog data
* WDCC, WDCT: max dist [km] between cross, catalog linked pairs10:49 AM 24/02/2020
* DAMP: damping (for lsqr only)
* --- CROSS DATA ----- ----CATALOG DATA ----
* NITER WTCCP WTCCS WRCC WDCC WTCTP WTCTS WRCT WDCT DAMP
8 1 -9 -9 -9 1.00 0.5 5 5 20
8 1 -9 -9 -9 1.00 0.2 2 2 20
*
*--- 1D model:
* NLAY: number of model layers
* RATIO: vp/vs ratio
* TOP: depths of top of layer (km)
* VEL: layer velocities (km/s)
* NLAY RATIO
CHAPTER 38. INVERSION OF TRAVEL TIME DATA AND JOINT HYPOCENTER DETERMINATION436
6 1.74
* TOP
0.0 12.0 23.0 31.0 50.0 80.0
* VEL
6.2 6.6 7.1 8.05 8.25 8.5
*
*--- event selection:
* CID: cluster to be relocated (0 = all)
* ID: cuspids of event to be relocated (8 per line)
* CID
1
* ID
SEISAN is often used for volcanic monitoring. Many of the standard tools used in SEISAN can also be used
for volcanic earthquakes, like epicenter location and magnitude. However, more special tool are also needed
and below there is a description how this is done at the British Geological Survey (BGS).
Another description, made by Andrew Lockhart at the USGS, is given in a separate manual (seisan volcano.pdf
in INF or at http://seis.geus.net/software/seisan/seisan_volcano.pdf ). This manual is a mini
SEISAN manual detailing the steps under Windows.
Volcano monitoring at BGS
By Brian Baptie
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. 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. Simple histogram
plots showing the distribution of subclasses over time can be generated with the program VOLCSTAT. The
progrm used GMT 6.1.1.
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 ’ !’.
437
CHAPTER 39. ANALYSIS OF VOLCANIC EARTHQUAKES 438
This allows the use of a maximum 6-character sub-class identifier, e.g. ’hybrid’, which can then be
searched for and selected.
VOLCSTAT: Creating histogram plots
The program reads S-files directly from the database, and creates input files as well as a GMT script to
produce histogram plots of the distribution of subclasses over time. The user needs to enter database name,
start and end time, and the subclasses that are to be plotted. An example of a plot is shown in Figure 39.1.
The program supports 1-char subclass names only.
The following output files are created:
volcstat.batch - c-shell script to generate Postscript output using GMT
volcstat counts.ps - Postscript output file
volcstat counts <type>.out - for each event, the Julian date is written out, one file per subclass
volcstat daily <type>.out - number of events per day, files written for each subclass
volcstat counts total.out - total event counts for each subclass
RSAM
1-minute RSAM data can be created with WAVETOOL.
Future Extensions:
It is intended that additional parameters can be included in the above structure to included routine mea-
surements 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.
The proposed format for these lines is as follows
For example
Figure 39.1: Bar diagrams showing distribution of events of different subclasses over time.
CHAPTER 39. ANALYSIS OF VOLCANIC EARTHQUAKES 440
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.
Chapter 40
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.
A description of frequency-wavenumber analysis - f̈-k analysis-̈ may be found in Capon (1969). This
method has been further developed to include wide-band analysis and maximum-likelihood estimation tech-
niques - see Kvaerna and Doornbos (1986).
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 incoming signal.
Running the program
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.
The steps are:
- 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
The options in FK are:
R-Redo: Repeat fk analysis with different parameters
M-Mouse: ‘m’ or mouse click to pick values different from maximum
S-Save and quit: save picked value to file and quit
Q-Quit: quit
- 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
441
CHAPTER 40. FK ANALYSIS 442
- 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 40.1: 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 40.2. The event shown here is
part of the testdata set.
CHAPTER 40. FK ANALYSIS 444
Figure 40.2: Output from the FK program. Contours and values are the normalized maximum power.
Chapter 41
Instrument response
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, SEISAN, SAC and SEED. The SEISAN, SAC and GSE
response formats are described in Appendix C. For a detailed description of the GSE format, the reader is
referred to GSETT-3 (1997). The program RESP creates response files in SEISAN and GSE format. SEED
format response files can be extracted from a SEED volume.
The response information gives the gain of a channel in counts/m and to get the correct ground displace-
ment, the count values must be divided by the response values. In the current SEISAN system, only the
programs MULPLT, WAVETOOL 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 C.
The instrument response can be defined for each channel of digital data in either SEISAN, GSE, SAC or
SEED (ascii version) 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 B 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 specifiedwith the environmental variable LO-
CAL CAL.The variable must beset with the full path to the directory e.g. /home/seismo/WOR/test/,or
on PC, C:\seismo\new\cal\. On Sun it can be set in the SEISAN.csh file and under Windows by us-
ing the setting of environmental variables Control panel/system/advances/environmental variables. The
variable can also be set from the keyboard (Linux/Sun: ’setenv LOCAL CAL=directory’, PC, ’set LO-
CAL CAL=directory’. This is a useful option when testing response files. The file name of the SEISAN,
GSE and SAC response files defines the start time of which they are valid. If the response of a station is
changed, a new response file must be made with a new time stamp.
The SEED response files are named e.g.RESP.IU.TRIS.10.BHZ (see rdseed below), where the network, sta-
tion, location and channel codes are part of the filename. When SEISAN looks for a SEED response files
it will search for afile with a name matching the network, station, location and channel code of the data in
memory.
The file name of the SEISAN, GSE and SAC response files defines the start time of which they are valid.
If the response of a station is changed, a new response file must be made with a new time stamp.
445
CHAPTER 41. INSTRUMENT RESPONSE 446
The SEED response files are named e.g. RESP.IU.TRIS.10.BHZ (see rdseed below), where the network,
station, location and channel codes are part of the filename. When SEISAN looks for a SEED response files
it will search for a file with a name matching the network, station, location and channel code of the data in
memory.
The RESP filename must match the waveform data, so if the waveform data does not include network code
and location code, then filename must be e.g.: RESP..BER..BHZ
So if the location code in the waveform data is ’–’ then the RESP filename must include the ’–’, like e.g.:
RESP.NO.BER.--.BHZ
And if the location code in the waveform data is empty ’ ’ then the RESP filename must be like:RESP.DK.BSD..BHZ
The SEED response files can include multiple changes of response and must have valid Start and End
dates for the time of the data that are processed. For the current response the ”End date” must be set to
”No Ending Time”.
The SEED response files are not alwasy written in the same way since the position of the columns of
numbers can be different depending of the source of the RESP file. The most common format is created by
RDSEED and this was the only format accepted by SEISAN until version 11.0. From version 11.0, SEISAN
can also read other versions of RESP files.
SEISAN will use this scheme until it finds a valid response file:
1: Look for SEED response file in the current working directory.
2: Look for SEED response file in the CAL directory.
3: Look for a SEISAN, GSE or SAC response file in the current working directory.
4: SEISAN will check if the environmental variable LOCAL CAL is set, if it is, SEISAN will look for a
SEISAN, GSE or SAC response file in the LOCAL CAL directory.
5: Look for a SEISAN, GSE or SAC response file in the CAL directory.
6: Look for a SEISAN, GSE or SAC response file in the CAL/STAT directory.
In the very unlikely case where a selected data window covers two different response files, the response file
belonging to the first part of the data is used. In the very unlikely case where a selected data window covers
two different response files, the response file belonging to the first part of the data is used.
The RESP program (section 41) 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. An example is BER S Z.1999-05-05-1244..
You should take a backup of the response files before you run the program (see chapter 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.
The response file can store the response in different ways:
1 SEISAN format:
a Parameters used for calculating the response: Generator constant, filters etc. In addition, the
response (amplitude and phase) at 30 frequencies is listed. In this case the response is calculated
from the parameters.
b 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.
c Poles and zeros: No discrete values are given and the response is calculated directly from the
poles and zeros. The number of poles and zeros in the SEISAN format is limited.
2 GSE CAL2 format:
CHAPTER 41. INSTRUMENT RESPONSE 447
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.
3 SEED
– Poles and zeros (only Transfer function type A (Laplace Transform (Rad/sec)), number of poles
and zeros are unlimited, the response is directlycalculated from the poles and zeros. Only
reads SEED response in ASCII format as written out by rdseed, not dataless SEED volumes.
The command to extract the files isrdseed −R −f seed filename. Standard filename such
asRESP.IU.TRIS.10.BHZ are understood. Files are read from CAL directory. Note that if e.g.
the horizontal channels are rotated the −R flag by rdseed will not provide this information.
4 SAC format:SEISAN can use SAC PAZ files as created by rdseed. The files have to be names in the
standard SEISAN way, but have to end on SAC.
NOTE: When rotating signals, it is in SEISAN 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 commandpresp filename, where filename is the response file
name. If no file name is given, the program asks for a filename, number or filenr.lis to plot all response files
in the filenr.lsi file.. 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.eps.
ω2
T (ω) =
ω02 − ω2
+ i2ωω0 h
CHAPTER 41. INSTRUMENT RESPONSE 448
This is measured in seconds. For most short period systems the value would be 1.0 second.
SEISMOMETER DAMPING RATIO ?
The damping ratio should ideally be 0.7. This depends on the damping resistance.
For both the electrodynamic seismometer and accelerometer, the following question is given:
SENSOR LOADED GENERATOR CONSTANT (V/M/S OR V/G) ?
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.
For the mechanical sensor, the question is
SEISMOGRAPH GAIN in TIMES GAIN (M/M) ?
which is simply the mechnical gain.
Now comes questions about amplifier, filter and recording unit.
RECORDING MEDIA GAIN (COUNT/V OR M/V) ?
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.
AMPLIFIER GAIN (DB) ?
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.
NUMBER OF FILTERS (0-10), RETURN FOR NONE ?
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:
FREQUENCY AND NUMBER OF POLES FOR EACH FILTER,
POLES NEGATIVE FOR HIGH PASS
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
NOTE: The unit of frequency is radian/s so if in Hz, multiply with 2π and normalization constant in
radian = (normalizationconstantinHz)2π (numberof poles−numberof zeroes) .
The next 2 options are only shown if the output file is selected to be FAP:
FILE NAME FOR TABULATED VALUES, RETURN FOR NO FILE
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:
1. line: N: Number of tabulated values, Norm: Normalization constant
Following N lines contain one each frequancy, amplitude and phase(deg)
GIVE FILE NAME FOR MEASURED VALUES, RETURN FOR NONE
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:
CHAPTER 41. INSTRUMENT RESPONSE 450
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 B for the SEISAN waveform file format and section 5.2.2.
CHAPTER 41. INSTRUMENT RESPONSE 451
oxygen-(larso)23: resp
0.257E-01 I. . . ++ . . . .I
0.955E-02 I ++ I
0.354E-02 I. . ++ . . . .I
0.131E-02 I. . . . . . . . .++ . . . . . . . . . . . . . . . . . . . . .I
0.488E-03 I. . ++ . . . . .I
0.181E-03 I ++ I
0.671E-04 I. .++ . . . . .I
0.249E-04 I ++ I
0.924E-05 I. . . .++ . . . . . . . . . . . . . . . . . . . . . . . . . .I
0.343E-05 I ++ I
0.127E-05 I. ++ . . . . . .I
0.472E-06 I ++ I
0.175E-06 I+ . . . . . .I
---------------------------------------------------------------
FREQ 0.01 0.03 0.14 0.71 3.68 19.19 100.00
GAIN FACTOR AT 1 HZ: 0.276E+09 RETURN FOR PHASE RESPONSE
Problem: The response file naming has not changed according to the SEED convention
so location and network code cannot be entered using RESP, however they can be entered
manually in response file (see response file format). This menas that e.g. SHZ must be
entered as SH Z since only 3 of the 4 character are used. For older data in SEISAN format,
all 4 characters can be used.
Examples of response files is given in Appendix C.
SEISAN units are radians/sec so poles and zero values are multiplied by 2π.
The normalization constant is given as 585.8106 . To convert to radian is done as follows
Normalization constant in radian = 585.8106 (2π)(numberof poles−numberof zeroes) = 585.8106 (2π)4 = 9.121011 .
SEISAN also uses displacement so one zero is added. The values are then
Poles
-4.442 4.442
-4.442 -4.442
-392.0 850.7
-392.0 -850.7
-2199.0 0.0
-475.0 0.0
Zeros
0.0 0.0
0.0 0.0
0.0 0.0
To get total constant (gain and normalization constant), we multiply by sensor gain and digitizer gain
Total normalization constant = 9.121011 x2002x312793 = 5.711020
A SEISAN input file is then made
6 3 5.71e20 6 poles, 3 zeros and total gain constant
-4.442 4.442
-4.442 -4.442
-392.0 850.7
-392.0 -850.7
-2199.0 0.0
-475.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
The resp program now makes the SEISAN response file with this input as follows
Output format: 0 Only testing
Type of sensor: 0 Sensor response is in poles and zero file
Recording media gain: 1 Gain has been put into total gain constant
Amplifier gain: 0 No amplifier
CHAPTER 41. INSTRUMENT RESPONSE 455
File with poles and zeroes: resp.txt Use resp.txt input file
station code TEST and component name S Z, the a response file valid from January 1, 2007 will have the
name TEST S Z.2007-01-00-0000 SEI. In case of a SEISAN poles and zero file, the content is:
FOR MORE DETAILS ON HOW TO UNDERSTAND GSE AND SEED RESPONSE PARAMETERS,
SEE (Havskov and Alguacil, 2004), chapter 6.
NC=network code, STAT=station code, LC=location code (not used by SEISAN) and CHC=channel code. The
resp files need to be stored in the CAL directory and SEISAN will find the correct file.
The RESP filename must match the waveform data, so if the waveform data does not include network code
and location code, then filename must be e.g.: RESP..BER..BHZ
So if the location code in the waveform data is ’–’ then the RESP filename must include the ’–’, like e.g.:
RESP.NO.BER.--.BHZ
And if the location code in the waveform data is empty ’ ’ then the RESP filename must be like:RESP.DK.BSD..BHZ
If there are many files to change, program CHANGE RESP NAME can be used:
- make a dirf of RESP files that all require the same change to location and network
- length of station name is unimportant
- questions of changing/adding location and/or network codes, to see codes, plot with MULPLT
- if file has one’.’ for code, it will be replaced by ’..’, also when no change is indicated
The resp file can contain response information from several time intervals. SEISAN uses the date and
time of the waveform data to find the corresponding instrument response.
SEED response files are given in stages, for example seismometer, digitizer and FIR filters are stored
as individual stages. The overall response is made by combining all the stages. SEISAN uses the following
blockets from the SEED resp file (for more details see IRIS Consortium (1993)):
B052F22 - start date
B052F23 - end date
B053F03 - transfer function type, A=Laplace Transform (Rad/sec), B=Analog (1/sec)
B053F07 - A0 normalization factor (A0 is checked against poles and zeros at normalization frequency
and changed if not correct). The product of poles and zeros at the normalization frequency and A0 gives 1.
B053F08 - Normalization frequency
B053F10-13 - zeros, if transfer function type is B, normalization factor A0 is changed to (A0)/(2 pi) for
each zero
B053F15-18 - poles, if transfer function type is B, normalization factor A0 is changed to (A0)*(2 pi) for
each pole
B058F04 - gain
The overall gain factor is given by the product of normalization factors and gain factors from all stages.
One zero is added to convert to displacement response. It is assumed that input units are V/m and output
units are counts, no checks are done on input and output units.
Macrocosmic information in SEISAN are of 2 kinds. The summary information with maximum intensity,
macroseismic epicenter etc has a special line in the S-file (see Appendix1) and the SELECT program can
search for felt events. In addition, from SEISAN, version 8.1, a format has been defined to store macroseismic
observations used to create e.g. maps with isoseismals. The observations files are stored in a local ISO format.
For a format description and suggestion for file names, see Appendix A. There are currently no SEISAN
programs that generates these files so they have to be made manually from the observations. The files in
ISO are linked to the events as given by the S-file data base structure in the same way as waveform files are
linked to the events. The line type is MACRO3 and an example is
2007-01-21-1345-00.MACRO MACRO3
Thus information about event source parameters and felt information is available together. An example
of a file is
Brattvag, More og Romsdal 2007 121 1345 0 GMT 2007 121 1445 0 Local time
Comment
62.200 6.110 5.0 EMS 6150 ARSTA
62.200 6.110 4.0 EMS 6150 ARSTA
62.890 7.680 4.0 EMS 6480 BATNFJORDSARA
62.500 6.680 6.0 EMS 6260 SKODJE
62.460 6.130 6.0 EMS 6013 Alesund
62.200 6.110 6.0 EMS 6150 ARSTA
62.460 6.290 6.0 EMS 6017 ASESTRANDA
62.460 6.010 4.0 EMS 6055 GODAY
62.490 6.176 5.0 EMS 6057 ELLINGSAY
62.430 6.180 4.0 EMS 6030 LANGEVAG
The file format is given in Appendix A. Program EPIMAP can plot the new files (use macroseismic file
instead of a hypocenter file). The requirement is that the the first 3 letters after the ‘.’ is mac or MAC
(as example above). The intensities will be plotted as number on the map. A new Unix program can also
be used with the data. Program MACROMAP can use the macroseismic observation file as input to create
a map of the observations using GMT. The program generates a GMT script file, macromap.gmt, which
then is executed from within the program to create a PostScript output file, macromap.ps. This file is then
displayed, from within the program, with Unix command gv (GhostView). The program also runs under
Windows, but does not plot.
The input can also be from a file made with macroquest (web based interactive program for input from
the public, to be distributed with SEISAN CD). In addition to making the plot, a conversion from the
web format to SEISAN format is made (output file macromap.out). This option requires an input file with
postal codes in order to get location of the observations. MACROMAP can also be executed directly or
459
CHAPTER 42. MACROSEISMIC DATA IN SEISAN 460
from eev. When executed directly from the prompt line, the options are: -macroinput file with macroseismic
observations, SEISAN format, abs path or in ISO -placename optional additional file with place names, to
be shown on map, abs path or in DAT, epimap format is used, -postfile optional file with postal code, abs
path, used with web option If used with eev, the place name file must have name place names.macro
An example of the postal code file is
Brattvag, More og Romsdal 2007 121 1345 0 GMT 2007 121 1445 0 Local time
Comment
62.200 6.110 5.0 EMS 6150 ARSTA
62.200 6.110 4.0 EMS 6150 ARSTA
62.890 7.680 4.0 EMS 6480 BATNFJORDSARA
62.500 6.680 6.0 EMS 6260 SKODJE
62.460 6.130 6.0 EMS 6013 Alesund
62.200 6.110 6.0 EMS 6150 ARSTA
62.460 6.290 6.0 EMS 6017 ASESTRANDA
62.460 6.010 4.0 EMS 6055 GODAY
62.490 6.176 5.0 EMS 6057 ELLINGSAY
62.430 6.180 4.0 EMS 6030 LANGEVAG
The content is postal code, latitude, longitude and location. The format is a10,ff10.3,2x,a30. the postal
code does not have to be a number, but can be any string.
CHAPTER 42. MACROSEISMIC DATA IN SEISAN 461
Figure 42.1: Macroseismic map made with MACROMAP using EEV. The epicenter, taken from the S-file,
is shown with the star.
Chapter 43
The cross-correlation function provides a measure of similarity between signals. In seismology cross-correlation
can be used to measure the similarity of waveforms between seismic events and in case of similarity to deter-
mine relative arrival times of a seismic wave between two events. Waveform similarity is caused by proximity
in hypocenter location and similarity in focal mechanism between two events. Cross correlation can be com-
puted with the program CORR and the output be processed with program XCLUST to detect groups of
similar events.
CORR
The program CORR computes correlation and can be used to measure relative arrival times. It also can
be used to determine correlation of a master event with continuous data and extract event based data. The
output of maximum correlation for a station recording different events can be used to identify event clusters
within the data set, this can be done using the program XCLUST. The cross-correlation function of signals
x and y is computed in the time domain as:
Pn
j=1 xj y(j+i−1)
rxy (i) = qP qP
n 2 n 2
x
j=1 j j=1 yj+i−1
Phase arrivals
Phase arrivals of similar events can be determined accurately through cross-correlation. P and S arrivals
can be determined independently. The procedure starts by selecting and picking phases for a master event
that is representative for the group of events. Analysis of this event needs to be done accurately as it is
the basis for the subsequent analysis. Phases of the other events in the group can be determined through
cross-correlation of either the complete trace or a selected phase window with the master event. To pre-select
a time window, manual identification of the phase for subsequent events is required prior to running CORR.
This may be necessary for example if the waveform file contains several events. The phase arrival time is
given by the maximum of the cross-correlation function that needs to exceed a minimum threshold. The
arrival time is written out as absolute time. Filtering is applied to the signals if selected for both master
and subsequent events, this may be necessary especially when dealing with events of different size. The
filtering introduces a phase shift, which is applied to both signals. However, the absolute phase arrival for
the subsequent event is consistent with the master event picked time.
The calculation of the relative phase time (dt) is done by taking the travel time for the master event
(AT1 -OT1) (where AT is arrival time and OT origin time) minus the travel time of the other event (CAT
-OT2), where CAT is the time corresponding to the maximum amplitude in the cross correlation function.
The output file dt.cc can be used with the double difference location program HYPODD.
Cross correlation matrix
462
CHAPTER 43. CORRELATION OF WAVEFORM SIGNALS, CORR AND DETECTION OF EVENT CLUSTERS XCLUS
In this mode the cross-correlation is computed between the same stations for all pairs of events (that
fulfill the criteria for maximum distance between Pnthe events, and event and station). The resulting cross-
correlation matrix (for each station containing i (i − 1) values, where n is the number of events) can be
used to identify groups of similar events using the program XCLUST.
Continuous mode
The main objective of running CORR in this mode is to identify a master waveform signal in a continuous
data stream, given by waveform data files. The times when correlation is higher than the selected threshold
level are written out, and can be visualized by splitting the corr.out file and using EEV and MULPLT. In
addition, it is possible to cut out individual event files (see CONTINUOUS EXTRACT parameter).
Input file
Input to the program is given through the file corr.inp. A sample file is given in the DAT directory; the
data used in the example are part of the test data set (TEST database 2003/06, see training document).
The program is run by command corr in the same directory as corr.inp and the s-files. The waveform files
can be in any SEISAN standard place. All standard waveform formats can be used.
The parameters in corr.inp are as follows:
Event file names:
SFILE MASTER: sfile name of master event, remove or comment out this parameter to
run program in group identification mode to determine cross-correlation
matrix between all events and identify group of similar events
SFILE EVENT: sfile name of events that will be either cross-correlated among themselves,
or compared to the master event, there can be several of these.
SFILE INDEXFILE: textttfilenr.lis file can be used to give S-file names instead of listing them
with ‘SFILE EVENT’
General parameters:
CHAPTER 43. CORRELATION OF WAVEFORM SIGNALS, CORR AND DETECTION OF EVENT CLUSTERS XCLUS
Station parameters:
STATION: one line for configuration of each channel
STAT, COMP: station and component codes
SELCRIT: 1=P, 2=S, 4=full trace
DURATION: signal duration in seconds if (selcrit¡4) starting
from either P or S
FLOW, FHIGH: filter limits for bandpass filter, can be; can be
disabled by FILTER (see above)
Example of STATION line:
KEYWORD...STAT......COMP......SELCRIT...DURATION..FLOW......FHIGH.....
--- p ---
STATION PCA S Z 1. 6. 3. 8.
--- s ---
STATION EDI S E 2. 5. 3. 8.
Output files:
corr.out: This is the main output file. The file is in Nordic format and contains the phase readings if
run in phase detection mode and can be used with the SEISAN location programs directly. In continuous
mode, the file can contain more than one phase reading per channel. In group identification mode the file
contains the event list, cross-correlation matrix and suggested groups of similar events.
corr.trace: This files gives details of program run and can provide information on cause of errors. dt.cc:
Input file for hypodd giving relative phase times and correlation (see hypodd manual for details), e.g.
# 1 2 0.0
GMK -0.136 0.940 P
GMK -0.136 0.977 S
PCA -0.142 0.963 P
PCA -0.142 0.967 S
PCO -0.152 0.968 P
PCO -0.152 0.952 S
cc pairs.out: List of event pairs giving, index and s-file of first event, index and s-file of second event,
number of stations and average correlation of all stations. This file is used as input to XCLUST.
XCLUST
XCLUST is a simple program for cluster analysis of output from program CORR (cc pairs.out) to
identify groups of similar events. This is done in a rather simple approach:
Visual inspection of the waveforms is highly recommended to confirm the clustering results.
Input file: xclust.par
This is the file for the main parameters, which are:
MINIMUM CORRELATION: minimum correlation required for pair to be used
MINIMUM STATIONS: minimum number of correlated stations required for pair to be used
MINIMUM PERGROUP: minimum number of events required to make a group
TRACE OUTPUT; flag to write trace output file (1. for true)
Output files:
xclust.trace: gives some details of what the program does, useful for debugging
xclust.out: gives list of events for each cluster and for each event the number of links with other events in
that cluster
=============
group: 1 number of events: 20
-------------
event links
-------------
5 7
11 8
6 5
2 7
1 6
7 9
...
Index.xxx: Index file where xxx refers to number of cluster. This file can be used with eev (e.g. eev
index.001) to work on a specific cluster.
Chapter 44
This chapter gives a bit more technical details of SEISAN starting with a short programmers guide with
description of sample and test programs.
467
CHAPTER 44. PROGRAMMING IN SEISAN AND LIST OF FILES IN SEISAN DISTRIBUTION 468
subroutines that copy between rea and rea2 and the sample program illustrates this. The program operation
is:
Data from 2 different s-files are read, one event at a time in each.
The two files are merged together, file 1 is inserted into file 2, so file 2 main header remins.
Id line from file 1 is converted to a comment line.
Locality line is only kept from file2, from file 1, it is converted to a comment.
If duplicate phases are found, they are deleted from file 1.
Reading and writing waveform files: SAMPLE READ WAV, SAMPLE READ CONT, SAMPLE READ ARC,
SAMPLE READ WRITE SEED, SAMPLE WRITE WAV
In SEISAN, waveform files can be in SEISAN, SAC, MiniSeed/SEED, Guralp 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 param-
eters and data end up (waveform.inc). The sample reading program is called sample read wav.for.There
is a similar program SAMPLE WRITE WAV for writing SEISAN waveform files.
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 an output file
which gives a listing of all different channels found in all the files read. Thsi listing is in the format used for
defining channels in an achive. There is no detail on how to write a SEISAN binary file in this program,
but some info is given under the format description in Appendix B and the program tsig.for described
below illustrates a simple write. The sample program sample read cont illustrates how to extract out a time
segment of the continuous data base. The program also shows how to write a Seisan file with all headers.
The program is started from the command prompt:
sample read cont start time interval
where start time is yyyymmddhhmmss and interval is interval in minutes.
There is a similar program for reading data from archives, sample read arc.
sample read write seed interval
This program can read and write seed files using Chad and Rubens routines. it works independently of
SEISAN subroutines.
There is also a routine in Java available to read all SEISAN binary formats. The program is called
SFORMAT (written by T. Utheim). Similarly there is a sample program to read all SEISAN binary
formats in Perl (written by Angel Rodriguez). The program is called seibinasc.pl and you need a Perl
interpreter to run it. Before starting the program, a DIRF must first be made of waveform input files. The
output is identical to a SEISAN ASCII file as made by SEIASC.
The sample write program is called sample write wav.for. It is a simple example of writing a straight
line. The output formay is SEISAN.
Correction for instrument response, sample instrument correction
This program will mainly demonstrate how to make instrument correction, but is also demonstrates
several other standard subroutine calls in SEISAN. The operations are:
Read S-file with readings and location
Get wave form files from S-file
Enter station and component for instrument correction
Find S-time from readings
Select out a time window for waveform channel around S-time
Find channel number in waveform file(s) corresponding to desired channel
Read the S-time window from waveform channel
Read response file
Prepare response removal, different filters and poles and zeros possible, the example is Wood-Anderson
response
Correct for instrument response
Write out corrected data in an ASCII file in Helberger format
Automatically pick maximum amplitude and corresponding period
Write out results
Graphics in SEISAN
CHAPTER 44. PROGRAMMING IN SEISAN AND LIST OF FILES IN SEISAN DISTRIBUTION 469
SEISAN uses a set of graphics routines, which are identical in call on all 3 platforms . These routines then
call low level routines which are platform dependent (X on Unix and Windows calls on PC). The programmer
only has 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 illustrates 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
routines are located in file seiplot.for and common variables in seiplot.inc. The program can be useful
for testing functionality of the mouse.
Program LSQ is a simple example of how to make xy-graphics. It also shows how to make the output
files for gmtxy. In order to find more info (apart from manual in INF) on gmtxy, see file gmt.for in LIB
and gmt xy par in INF.
Program for UDP communication SAMPLE UDP MESSAGE
This program shows how to communicate between two program using UDP signalling. It is so far only
used in MULPLT to communicate with SE.
Program to make test signals, TSIG:
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 with same length and sample rate and trace 1 is the
sum of all traces. For each trace selected, the parameters 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 to 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.
Java programs in SEISAN
The Java programs are each given as a Jar-file, the jar-files are located in the PRO directory. The jar-file
contains all the Java source code, the Java classes and the project file so a user can decompress the jar file,
change the script and make a new version of the program. The programs are started using a script file in
the COM directory and no classpath has to be set, when SEISAN has been correctly installed.
lo=DBLE(lon)
la=DBLE(lat)
lo2=DBLE(lon)
la2=DBLE(lat)
write(*,*)"lonlat:",lo,la
do i=1,3
write(*,*)"FORWARD:"
lo=DBLE(lon)
la=DBLE(lat)
write(*,*)"Input [lon,lat,azi,dist]:",lo,la,azi,dist
write(*,*)"Input: lo1 la1 lo2 la2:",lo,la,lo2,la2
call vincenty_inverse(lo,la,lo2,la2)
write(*,*)"Output: [azi,baz,dist]",lo,la,lo2
azi=azi+DBLE(90.0)
write(*,*)"-----------------------------------"
enddo
end
C End of example
Anderson, D. (1982). Robust earthquake location using M-estimates. Phys. Earth Plan. Int., 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. Technical
report, Banfill Software Engineering.
Bondár, I. and Storchak, D. (2011). Improved location procedures at the international seismological centre.
Geophys. J. Int., 186(3):1220–1244.
Bouchon, M. (1981). A simple method for calculating Green’s functions for elastic layered media. Bull.
Seismol. Soc. Am., 71:959–972.
Brune, J. N. (1970). Tectonic stress and the spectra of seismic shear waves from earthquakes. J. Geophys.
Res., 75:4997–5009.
Chapman, C. H. (1978). A new method for computing synthetic seismograms. Geophys. J.R. astr. Soc.,
pages 481–518.
Chapman, C. H., Jen-Yi, C., and Lyness, D. G. (1988). The WKBJ seismogram algorithm. In Doornbos,
D. J., editor, Seismological algorithms, pages 47–74. Academic Press, London.
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.
Chiu, J., Isacs, B. L., and Cardwell, R. K. (1986). Studies of crustal converted waves using short-period
seismograms recorded in the Vanatu Island arc. Bull. Seismol. Soc. Am., 76:177–190.
Dey-Sarkar, S. K. and Chapman, C. H. (1978). A simple method for computation of body-wave seismograms.
Bull. Seismol. Soc. Am., 68:1577–1593.
Dreger, D. S. (2003). TDMT INV: Time Domain Seismic Moment Tensor INVersion. International Handbook
of Earthquake and Engineering Seismology, 81B:1627.
Ebel, J. E. and Bonjer, K. P. (1990). Moment tensor inveriosn of small earthquakes in southwestern Germany
for fault plane solution. Geophys. J. Int., 101:133–146.
Goldstein, P. (1999). SAC user’s manual. Technical report, Lawrence Livermore Laboratory, University of
California.
GSETT-3 (1997). Provisional GSE 2.1, Message Formats & Protocols, Operations Annex 3. Technical
report, The Group of Scientific Experts Third Technical Test.
Gutenberg, B. and Richter, C. F. (1956). Magnitude and energy of earthquakes. Annali di Geofisica, 9:1–15.
Hardebeck, J. L. and Shearer, P. M. (2002). A new method for determining firstmotion focal mechanisms.
Bull. Seismol. Soc. Am., 92:2264–2276.
Hardebeck, J. L. and Shearer, P. M. (2003). Using S/P Amplitude Ratios to Constrain the Focal Mechanisms
of Small Earthquakes. Bull. Seismol. Soc. Am., 93:2434–2444.
471
REFERENCES 472
Lienert, B. R. E. and Havskov, J. (1995). A computer program for locating earthquakes both locally and
globally. Seis. Res. Lett., 66:26–36.
Lomax, A., Michelini, A., and Curtis, A. (2009). Earthquake location, direct, global-search methods. Com-
plexity In Encyclopedia of Complexity and System Science, 5:2449–2473.
Lomax, A., Satriano, C., and Vassallo, M. (2012). Automatic Picker Developments and Otimization: Filter-
Picker - a Robust, Broadband Picker for Real-Time Seismic Monitoring and Earthquake Early Warning.
Seis. Res. Lett., 83:531–540.
Luckett, R., Ottemöller, L., Butcher, A., and Baptie, B. (2018). Extending local magnitude ML to short
distances. Geophysical Journal International, 216(2):1145–1156.
M. Vassallo, C. S. and Lomax, A. (2012). Automatic picker developments and optimization: A strategy for
improving the performances of automatic phase pickers. Seis. Res. Lett., 83:541–554.
McGuire, R. K. (1976). EQRISK. Evaluation of earthquake risk to site. Open File Report 76-67, United
States Department of the Interior, Geological Survey. 90pp.
McNamara, D. E. and Buland, R. P. (2004). Ambient noise levels in the continental united states. Bull.
Seismol. Soc. Am., 94:1517–1527.
Michael, A. J. (1984). Determination of stress from slip data: faults and folds. J. Geophys. Res., 89:11,517–
11,526.
Myers, S. C., Begnaud, M. L., Ballard, S., Pasyanos, M. E., Phillips, W. S., Ramirez, A. L., Antolik, M. S.,
Hutchenson, K. D., Dwyer, J. J., Rowe, C. A., and Wagner, G. S. (2010). A crust and upper-mantle model
of eurasia and north africa for pn travel-time calculationa crust and upper-mantle model of eurasia and
north africa for pn travel-time calculation. Bull. Seismol. Soc. Am., 100(2):640.
Nakamura, Y. (1989). A method for dynamic characteristics estimation of subsurface using microtremor on
the ground surface. QR of RTRI, 30:25–33.
Ordaz, M. (1991). CRISIS. Brief description of program CRISIS. Internal report, Institute of Solid Earth
Physics, University of Bergen, Norway. 16 pp.
Ordaz, M. (1999). User’s manual for program CRISIS-99. Technical report, Universidad Nacional Autonoma
de Mexico, Mexico City.
Ottemöller, L. (1995). Explosion filtering for Scandinavia. Norwegian national seismic network technical
report, IFJF, University of Bergen, Norway. 209 pp.
Ottemöller, L. and Havskov, J. (1999). SeisNet: A General Purpose Virtual Seismi Network. Seis. Res.
Lett., 70:522–528.
Ottemöller, L. and Havskov, J. (2003). Moment magnitude determination for local and regional earthquakes
based on source spectra. Bull. Seismol. Soc. Am., 93:203–214.
Peterson, J. (1993). Observation and modeling of seismic background noise. Open-File report 93-322, USGS.
95pp.
Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. (2003). Numerical Recipees in Fortrran
77, 2nd edition. Cambridge University Press, Cambridge, U.S.A.
Pujol, J. (2003). Software for joint hypocentral determination. In Lee, W. H. K., Kanamori, H., Jennings,
P. C., and Kisslinger, C., editors, International Handbook of Earthquake and Engineering Seismology,
volume 81B. IASPEI, Academic Press.
Reasenberg, P. and Oppenheimer, D. (1985). Fpfit, fpplot, and fppage: Fortran computer programs for
calculating and displaying earthquake fault plane solutions. Technical report, U.S. Geol. Survey.
REFERENCES 474
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. Geophys. J.
Int., 97:471–480.
Ruud, B. O. and Husebye, E. S. (1992). A new three-component detector and automatic single station
bulletin production. Bull. Seismol. Soc. Am., 82:221–237.
Ruud, B. O., Husebye, E. S., Ingate, S. F., and Christoffersen, A. (1988). Event location at any distance
using seismic data from a single, three-component station. Bull. Seismol. Soc. Am., 78:308–325.
Scherbaum, F. (1996). Of Poles and Zeros - Fundamentals of Digital Seismology. Kluwer Academic Pub-
lishers.
Singh, S. K., Apsel, R. J., Fried, J., and Brune, J. N. (1982). Spectral attenuation of SH-waves along the
Imperial fault. Bull. Seismol. Soc. Am., 72:2003–2016.
Snoke, J. A., Munsey, J. W., Teague, A. G., and Bollinger, G. A. (1984). A program for focal mechanism
determination by combined use of polarity and SV-P amplitude ratio data. Earthquake notes, 55.
Suetsugu, D. (1998). Practice on source mechanism, iisee lecture note. Technical report, Tsukuba, Japan.
Tilmann, F., Craig, T. J., Grevemeyer, I., Suwargadi, B., Kopp, H., and Flueh, E. (2010). The updip seis-
mic/aseismic transition of the Sumatra megathrust illuminated by aftershocks of the 2004 Aceh-Andaman
and 2005 Nias events. Geophys. J. Int., 181:1261–1274. 10.1111/j.1365-246X.2010.04597.x.
Utheim, T., Havskov, J., Ozyazicioglu, M., Rodriguez, J., and Talavera, E. (2014). Rtquake, a real-time
earthquake detection system integrated with seisan. Seis. Res. Lett., 85:735–742. 10.1785/0220130175.
Veith, K. F. and Clawson, G. E. (1972). Magnitude from short period P-wave data. Bull. Seismol. Soc. Am.,
62:435–452.
Waldhauser, F. (2001). hypoDD – A program to compute double-difference hypocenter locat ions. Technical
report, U.S. Geol. Survey, Menlo Park, CA.
Waldhauser, F. and Ellsworth, W. L. (2002). Fault structure and mechanics of the Northern Hayward Fault,
California, from double-difference earthquake locations. J. Geophys. Res., 107. 10.1029/2000JB000084.
Weichert, D. H. (1980). Estimation of the earthquake recurrence parameters for unequal observation periods
for different magnitudes. Bull. Seismol. Soc. Am., 70:1337–1346.
Appendix A
The main purpose of the Nordic format is to provide parametric data on seismic events. In SEISAN the
Nordic format is also used to link events to waveform data etc.
The Nordic format has 2 versions, Nordic and from SEISAN version 12.0, also Nordic2. Nordic2 has
more parameters, however SEISAN operated on both formats.
Each line is always 80 characters long and the last character defines the type of line.
The definition of each type of line is given below under the ”FORMAT DESCRIPTION”.
Free columns are included for two purposes:
1. To obtain a readable format
2. To have some space for possible future extensions
——————————————————————————-
Here are a few examples on the format:
Nordic2 format:
1996 6 7 1325 29.2 L 59.846 5.130 12.0F TES 12 .60 1.9LTES 2.2CTES 2.0LNAO1
GAP=177 2.78 4.5 12.80.000 0.2239E+02 0.6258E+03 -0.2817E+03E
1996 6 7 1325 30.5 L 59.763 5.396 29.2 NAO 2 1.0 2.0LNAO1
8.3 41.0 74.7 1 F
1996-06-07-1324-51S.TEST__009 6
ACTION:SPL 14-12-11 12:04 OP:jh STATUS: ID:19960607132529 L I
STAT COM NTLO IPHASE W HHMM SS.SSS PAR1 PAR2 AGA OPE AIN RES W DIS CAZ7
EGD HHZ NS IP 4 1325 35.950 C BER jh 120.0-1.131047.70 6
EGD HHZ NS END 1325 35.950 111.0 BER jh 0.0 47.70 6
EGD HHZ NS AMP 1325 35.950 11.1 33.3 BER jh 47.70 6
EGD HHN NS ES 1325 42.030 BER jh 70.0-.8901047.70 6
BER BHZ NS00 IP 1325 38.120 C kkk AUT -.9801061.00 11
BER BHZ NS00 END 1325 38.120 55.0 BER jh 4.8 61.00 11
BER BHN NS00 ES 1325 45.440 BER jh 70.0-.9901061.00 11
BER BHZ NS00 IAML A1325 46.710 31.7 0.20 BER jh 0.4 61.00 11
KMY BHZ NS10 IP 1325 40.260 C PPP Ajh 70.0 .3301070.90 175
KMY BHZ NS10 END 1325 40.260 62.0 BER jh 70.90 175
KMY BHN NS10 ES 1325 48.740 BER jh 70.0.3001070.90 175
KMY BHZ NS10 IAML 1325 48.920 83.6 0.20 BER jh 70.90 175
ASK SHZ NS EP 2 1325 39.590 D -1.031071.10 3
ASK SHZ NS END 1325 39.590 68.0 71.10 3
ASK SHZ NS ES 1325 48.070 -1.021071.10 3
ASK SHZ NS AMP 1325 48.070 333.3 2.20 71.10 3
ASK SHZ NS IAML 1325 50.900 111.0 0.30 71.10 3
NRA0 S Z Pn A1326 19.090 50.0-.05010368.0 72
475
APPENDIX A. THE NORDIC FORMAT 476
Notes:
Coda has in Nordic2 phase name END
So far the Nordic2 format only affects type phase lines. SPEC lines also have a new format using Type S
lines which can be read also when using Nordic format.
Nordic format:
1996 6 3 1955 35.5 D 47.760 153.227 0.0 TES 12 1.1 5.6WHRV 5.6bPDE1
GAP=348 2.88 999.9 999.9999.9 -0.1404E+08 -0.3810E+08 0.1205E+09E
1996 0603 1955 31.8 D 46.787153.722 33.0 PDE 5.6bPDE 1
ACTION:SPL 08-10-02 10:19 OP:jh STATUS: ID:19960603195540 I
1996-06-03-2002-18S.TEST__012 6
1996-06-03-1917-52S.TEST__002 6
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
KBS BZ EP 20 4 40.63 23 -1.3210 5724 351
TRO SZ EP 20 5 32.5 21 1.7510 6471 343
LOF SZ IP C 20 5 46.68 21 -0.1110 6729 344
JNW SZ EP 20 5 49.5 21 1.1910 6755 353
JMI LZ I 20 8 27.35 6768 353
JMI LZ I 2014 41.56 6768 353
JMI LZ I 2021 25.49 6768 353
MOL SZ IP C 20 6 25.49 19 -1.7410 7408 343
FOO SZ EP 20 6 35.99 19 0.1210 7559 344
HYA SZ EP 20 6 36.91 19 -0.1410 7580 343
SUE SZ IP C 20 6 39.07 19 -0.2810 7621 344
KONO BZ IP C 20 6 40.72 19 -0.7010 7657 341
ASK SZ EP 9 20 6 37.24 19 -4.94 0 7671 344
BER SZ EP 9 20 6 37.43 19 -5.16 0 7678 344
EGD SZ EP 9 20 6 38.42 19 -4.95 0 7692 344
ODD1 SZ EP 20 6 45.57 19 1.7310 7699 343
BLS5 SZ EP 20 6 46.33 19 -0.5010 7753 343
Below are examples of how the last free columns of type phase lines are used in e.g. 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.2sISC 1
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 AIN AR TRES W DIS CAZ7
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
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 AIN AR TRES W DIS CAZ7
NRSA SZ IPN 1 D 2105 13.44 0345 1234.6 1.33 245.2 08.6 22 2 -0.7 9 555 235
BER SZ IPG 2 U 2105 25.41 200
HYA SZ ISG 1 2105 33.1
APPENDIX A. THE NORDIC FORMAT 477
Note in the below example the fault plane solution line(F) and the HYP error line(E)
Note:
Location parameters in phase lines under Type 7 is:
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 km
CAZ : Azimuth from event to station
-----------------------------------------------------------------------------
Note: Type 1 line must be the first, all phase type lines should be together and
the last line must be blank
--------------------------------------------------------------------------------
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.
APPENDIX A. THE NORDIC FORMAT 479
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
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 - Karnik33 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 magnitudeI = 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
APPENDIX A. THE NORDIC FORMAT 480
1 Free
2-79 A Text Anything (ASCII printable characters https://en.wikipedia.org/wiki/ASCII)
80 A1 Type of this line ("3")
Examples:
This type of line can be used to specify xnear, xfar and the starting depth for use with
HYPOCENTER. For example
29-30 I2 Minutes
31 Free
32-37 F6.0 Seconds
38-44 Parameter 1. If a phase, it is polarity in column 44
If phase END for coda, it is duration(s)(F)
If amplitude phase, it is amplitude (G7)
Amplitude is(Zero-Peak) in units of nm,
nm/s, nm/s^2 or counts.
If back azimuth phase (BAZ), it a back azimuth (F)
45-50 Parameter 2 If a phase or END, it is blank
If an amplitude, it is period (F)
If back azimuth phase, it is apparent velocity(km/s)
51 Free
52-54 A3 Agency
55 Free
56-58 A3 Operator
59 Free
60-63 F4.0 Angle of incidence
64-68 F5.1 Residual, can be travel time, back azimuth or magnitude
69-70 I2 Weight used, like 05 is 0.5
71-75 F5.0 Epicentral distance(km)
76 Free
77-79 I3 Azimuth at source
80 A1 Type of this line (" ")
Type Phase lines has blank last char (in pre v12.0 manuals these lines could also be Type 4).
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 ,T, R, 1, 2
9 Free or weight, see note below
10 A1 Quality Indicator I, E, etc.
11-14 A2 Phase ID PN, PG, LG, P, S, etc. **
15 I1 Weighting Indicator (1-4) 0 or blank= full weight, 1=75%, 2=50%, 3=25%,4=0%, 9: no weight, use di
time (e.g. P-S).
16 Free or flag A to indicate automartic pick, removed when picking
17 A1 First Motion C, D
18 Note: Currently 15 to 18 can also be used for phase assuming
column 11-14 is not blank. See note ** below.
19-20 I2 Hour Hour can be up to 48 to
indicate next day
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) in units of nm, nm/s, nm/s^2 or counts.
APPENDIX A. THE NORDIC FORMAT 482
41 Free
42-45 F4.0 Period Seconds
46 Free
47-51 F5.0 Direction of Approach, back azimuth Degrees
52 Free
53-56 F4.0 Phase Velocity Km/second
57-60 F4.0 Angle of incidence (was Signal to noise ratio before version 8.0)
61-63 I3 Back 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 (" ").
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.
Gives waveform data file name or link to where waveform data is found.
This is mostly a file name but can also be a reference to a position
in an archive.
Example:
1996-06-07-1324-51S.TEST__009 6
Archive reference:
APPENDIX A. THE NORDIC FORMAT 483
Example:
ARC STAT COM NT LO YYYY MMDD HHMM SS DUR 3
ARC ROSA BHZ PM 2010 1011 0100 00 14400 6
ARC _GSN 2010 1011 0100 00 14400 6
1 Free
2-79 A Help lines to place the numbers in right positions
80 A1 Type of this line ("7")
Before version 12.0 there was only one E-line in S-file which could only belong to
the main hypocenter.
In order to know which E-line belongs to which 1-line, the location program indicator
and the agency must match. If only one E-line and no agency, it is assumed
it belongs to the main hypocenter. This ensures backwards compatibility. Multiple
E-lines can be used in both Nordic and Nordic2 format.
APPENDIX A. THE NORDIC FORMAT 484
1 Free
2 - 5 A4 The text GAP=
6 - 8 I3 Gap
10:10 A1 Location program indicator, blank for Hypocenter (new from version 12)
11:11 Free
12:14 A3 Agency (new from version 12)
15-20 F6.2 Origin time error
25-30 F6.1 Latitude (y) error
31-32 Free
33-38 F6.1 Longitude (x) error (km)
39-43 F5.1 Depth (z) error (km)
44-55 E12.4 Covariance (x,y) km*km
56-67 E12.4 Covarience (x,z) km*km
68-79 E14.4 Covariance (y,z) km*km
The S-file can include a type=H line for each hypocenter (new from version 12).
Prior to version 12.0 only one type=H line was allowed in SEISAN.
The H line gives the same solution as the type=1 line, but with higher accuracy.
In order to know which H-line belongs to which 1-line, the location program indicator
and the agency must match. If only one H-line and no agency, it is assumed
it belongs to the main hypocenter. This ensures backwards compatibility.
Multiple H-lines can be used in both Nordic and Nordic2 format.
Columns
1:55 As type 1 line including program used in column 6 (new from version 12)
16 Free
17 Seconds, f6.3
APPENDIX A. THE NORDIC FORMAT 485
23 Free
24:32 Latitude, f9.5
33 Free
34:43 Longitude, f10.5
44 Free
45:52 Depth, f8.3
53 Free
54:59 RMS, f6.3
61:63 Agency, A3 (new from version 12)
62:79 Free
80 H
Note: the type M lines are pairs of lines with one line that gives the hypocenter
time, and one line that gives the moment tensor values:
APPENDIX A. THE NORDIC FORMAT 486
1:1 Free
2:79 File name
80:80 P
------------------------------------
AV-SD MO 12.4 0.1 ST 0.0 0.0 F0 1.10.046 R 0.082.045 AL 2.0 0.0 MW 2.20 0.1 S
identified by AV-SD. Abbreviations are the same as above and the extra number after
each value is standard deviation.
Example
1980 0124 0927 CHARGE(T): 0.5 E13 LE Haakonsvern, HAA underwater explosion E13 EC3
Information on explsion site, time and agency, same format as a type 1 line,
no magnitudesused, last 3 columns must be E13
EC3 Information on charge and site
APPENDIX A. THE NORDIC FORMAT 488
Columns
2:11 Info text
11:12 Blank
13:22 Charge in tons, f10.3
23:77 Any information, a
78:80 EC3
Example:
1980-03-14-0456-05.MACRO MACRO3
Sunnfjord 1980 314 456 5 GMT 1980 314 556 5 Local time
Comment
60.500 5.270 1.0 EMS 5088 MJOELKERAAEN
60.560 5.260 1.0 EMS 5100 ISDALSTOE
60.570 5.050 1.0 EMS 5112 ROSSLAND
1. Line
Location, GMT time, Local time. Format a30,i4,1x,2i2,1x,2i2,1x,i2,’
GMT’,1x,i4,1x,2i2,1x,2i2,1x,i2,1x,’Local time’
2. Line Comments
3. Line Observations: Latitude, Longitude,intensity, code for scale,
postal code or similar, location,Format 2f10.4,f5.1,1x,a3,1x,a10,2x,a.
Note the postal code is an ascii string and left justified (a10).
Example
XNEAR 1000.0 XFAR 2000.0 3
Columns
8-13: xnear value
20-25: xfar value
Example
Example
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. The SEISAN ASCII format has identical headers to the binary files, however the binary samples
are written as formatted integers, one channel at the time just like the in the binary format.
EVENT FILE HEADER
line 1
1 1: FREE
2 30: NETWORK NAME,
COULD E.G. BE WESTERN NORWAY NETWORK
31 33: NUMBER OF CHANNELS, MAX 999
34 36: YEAR-1900, e.g. 101 for 2001 (I3)
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
490
APPENDIX B. THE SEISAN WAVEFORM FILE FORMAT 491
|
line 3
1
2 5: STATION CODE (A4), first 4 characters
6 7: FIRST two COMPONENT CODES (A2), SEED style
8 : NOT USED
9 : LAST COMPONENT CODE (A1), SEED style
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 |
|
70
71 75: ELEVATION (METERS), optional
76 : Indicate gain factor: Blank: No gain factor, G: Gain factor in
column 148 to 159
77 : 2 OR 4 FOR 2 OR 4 BYTE INTEGER, BLANK IS 2 BYTE
78 : P: Poles and zeros used for response info, 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, e.g. generated by MULPLT. Only
gain at 1 hz is correct and 78 must be set to T.
80 - 80: FREE
148- 159: Normally comment, if 76 set to G, this is a gain factor,
format G12.7. All samples read from channel are multipled
by this factor when read by routine seisinc. Used when data
is stored in units of e.g. nm where values can be less than 1.
Currently generated by MULPLT when option OUT is used to
extract part of a waveform file. Alse program WAVETOOL will
generate these files (used with Out option). Some conversion
programs may also write this.
81 - 160: COMMENT LINE DESCRIBING THE SYSTEM RESPONSE (A80)
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
APPENDIX B. THE SEISAN WAVEFORM FILE FORMAT 493
zero, thus the number of poles is half the number of 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 |
-------------------
|
APPENDIX B. THE SEISAN WAVEFORM FILE FORMAT 494
-------------------
| 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
This example only works up to 30 channels when writing main header. For more channels, see e.g.
program SEISEI how to do it.
Details of binary file structure
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, MaxOSX 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 in 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, MacOSX and PC, a file written as unformatted on Sun, Linux or MacOSX cannot be read
as unformatted on PC or vice versa. . 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. With 64 bit systems, 8 bytes is used to define number of bytes written. This type of file
can also be read with SEISAN, but so far only data written on Linux have been tested for reading on all
systems. 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.
---------------------------------------- -----------------------------
APPENDIX B. THE SEISAN WAVEFORM FILE FORMAT 495
For 64 bit systems, the above 4 byte numbers are 8 byte numbers.
From version 7.0,the Linux and PC file structures are exactly the same. On Sun the structure is the same
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 and PC file will be the character
P (which is represented by 80) while on Sun character 4 is P.
Appendix C
SEISAN can use either SEISAN response format or GSE response format or SAC response format or RESP
response format. The detailed SEISAN format is given here as well as the parts of the GSE format and SAC
format used in SEISAN. Please see the SEED manual for details on the RESP response file format.
See also chapter 5.2.2.
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)
496
APPENDIX C. RESPONSE FILE FORMATS USED IN SEISAN 497
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
If character 78 is T, use tablated values, format as in option 1
OPTION 3
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.
.140 .200 .280 .390 .550 .770 1.10 1.50 2.10 2.90
.140 .200 .280 .390 .550 .770 1.10 1.50 2.10 2.90
91.592 91.114 90.796 90.571 90.405 90.289 90.203 90.149 90.106 90.077
4.10 5.80 8.10 11.0 16.0 22.0 31.0 43.0 60.0 85.0
4.10 5.80 8.10 11.0 16.0 22.0 31.0 43.0 60.0 85.0
90.054 90.038 90.028 90.020 90.014 90.010 90.007 90.005 90.004 90.003
Example of SEISAN PAZ response file using the same constants as above
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.
The first line is the same as before. The PAZ2 lines has the following meaning: Normalization constant
of seismometer and filter (0.26e-5), number of poles and zeroes (2 and 3), and the type of response (Laplace
transform). The DIG2 line has the gain of amplifier and AD converter combined (0.419e6 c/V) and sample
rate.
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 is NOT the case 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. In the CAL2 line, the system sensitivity
at a calibration period is given in units input/output, but is generally not needed. The total response is
given by the PAZ, multiplied with the PAZ2 scaling factor, or the product of several stages.
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 is done
because such GSE files have been seen).
FIR filters can be specified in GSE as an additional stage and can be written out by the RESP program.
An example is given below. The FIR filter coefficients are required to completely describe the instrumenta-
tion. However, they are not used in SEISAN.
ZEROS 3
POLES 4
-0.0123 0.0123
-0.0123 -0.0123
-39.1800 49.1200
-39.1800 -49.1200
CONSTANT 3.832338e+12
Note that the response file names must follow SEISAN response file file names with SAC at the end like
e.g. KEV B Z.2000-10-10-0000 SAC.
Subroutines in SEISAN are located in different files and it is not always easy to find what is available.
Consequently there are some duplication. The following is a list of some of the commmon routines and their
location. Very technical routines have not been listed. Some much used routines are not listed since they are
found together in a file like routines for waveform handling in LIB/wave.for. There are also many routines
in main programs which might be useful, they are not listed here. Most entries are subroutines but there
are also a few functions. See also INF/seisan.all for a list of all subroutine files in LIB.
500
APPENDIX D. SOME GENERAL SUBROUTINES IN SEISAN IN LIB 501
Table D.11: Waveform handling, see wave for most general routines
Name Description Location
seisinc read a seisan format file seisinc
shead make seisan waveform channel header shead
sheads ——main and channel heders sheads
Changelog
This appendix list the changes that have been added to SEISAN since version 8.2.
Please note that most changes are also notes in the header of the source code.
• EEV has new options: ste and std for setting and unsetting start flags, ep to see the print.out file
• EEV can plot fault plane solution on a map option MAPF
• Include program MOPAD to plot moment tensor solutions, option fm in EEV
• A new program PLOTFOC to plot fault plane solutions from a CAT-file without need for relocating
event. Also in EEV with command ’foo’.
• A new option in EEV to compare the P and T axis of two fault plane solutions, fd
• A new version of the AUTO program that can run anyone or a combination of the programs AU-
TOPHASE, AUTOPIC, HYP, AUTOMAG, AUTORATIO, FPFIT and HASH in loop of many events
• FOCMEC has been updated with the latest FOCMEC program from Snoke and it can now used
relative polarity weight and has a better treatment of amplitudes near nodal planes. The old version
can still be used (f old) in EEV.
• A new sample program, SAMPLE READ WRITE S C, writen in c++, can read and write S-files in
C++ and provides a structure with all the variables.
• A new progrm MAPG which makes a map in GMT without questions, only the input file or data base
is needed. Also plots fault plane solutions. Also works with command MAPG in EEV.
506
APPENDIX E. CHANGELOG 507
• New options in EEV: STE: Set or unset start loction, STD. Set or unset start location depth, FIXO:
Fix origin time.
• A new program, GET WEB LOCATIONs to download hypocenter information from web sites, so far
implemented with USGS.
• New magnitude scale MN or mb(Pn/Sn) for Pn and Sn at regional scale is implemented.
• New option in EEV to add ARC lines in sfiles for virtual nets, see ARC
• New options in EEV to enter one of a set of fixed comments, command ic.
• New command in EEV to fix, unfix of enter fixed depth, fix
• Mulplt command u for rotate is now U.
• MULPLT can now go from one station to the next in three channel mode.
• New command in EEV to plot in single channel mode using all defaults, poo.
• New programs to convert Nordic input to simulps and simulr
• New version of WAVFIX that accept all SEISAN used waveform formats and write out in MiniSeed
APPENDIX E. CHANGELOG 509
• A new command em in EEV will edit an ISO file listed in the S-file.
• A new program plotspec, called from EEV with command ps, will plot all spectra made with AU-
TOMAG in EEV. Bad fits can be deleted interactively.
• MULPLT will select possible arc channels before reading them.
• Q correction in most programs have been changed to optionally be frequency independent set q0 for f
below a given frequency, usually 1 Hz.
• New Perl script (textttmerge seisan.pl) to associte CAT files, many new options compared to ASSOCI
and ASSOCIATE.
APPENDIX E. CHANGELOG 510
• MULPLT can select many channels in multitrace mode by left and right button mouse click.
• MULPLT can plot files in a file of files via EEV, LIST option.
• MULPLT can select only to plot stations for plotting in a given distance from a point, usually the
epicenter.
• New options and changes in EEV: IFP: Input munually fault plane solution, INPUTFPS: input com-
plete fault plane solution line, COML: Input geographical location line, COMF: Input felt event com-
ments, U: Update event (was UPDATE, UP: Update event list (was U), M: Input model indicator on
header line.
• New compiler and graphics system for Windows: This is the largest change. Windows now uses
Gfortran and gcc and the graphics library is DISLIN. This has stabilized the graphics on Windows end
enabled to use the same compiler on most platforms. However, the gfortran on Windows has created
new problem in some programs most of which probably has been solved.
• SEISAN can now extract and plot data from a BUD and a SEISCOMP archive, read more at page 11.
• EEV has several new options: CM: Copy many files, DD: Duplicate header, FH: HASH fault plane
solution, FP: FPFIT fault plane solution, FO: Plot all fault plane solutions, IFP: Input munually
fault plane solution, INPUTFPS: input complete fault plane solution line, COML: Input geographical
location line, COMF: Input felt event comments.
• FPFIT: FPFIT fault plane solution program with SEISAN driver program FPFIT SEISAN.
• HASH SEISAN: HASH fault plane solution program.
• THIS PROGRAM IS NO LONGER PART OF SEISAN (2018): GETPDE - A new program that grap
the PDE from the USGS web page and add the events in a database.
• SEIS2VIEWER - A new program for plotting earthquakes on a map, command smap, see page 179.
• EPIMAP: Can now plot fault plane solutions.
• MULPLT: Has a three component option facilitating working with three component data.
• AVQ: new program to average Q-relations.
• MAG2: new program to invert amplitudes for ML scale.
• Individual size of graphics windows for different programs can now be set in COLOR.DEF.
• The following programs do not work with Gfortran: HYPINV, HYP ISC, NORHYP, ARCSEI
• Plot STATION?.HYP and SEISAN polygon files with Google Earth using GMAP, see page 171.
• The Herrmann modeling programs finally work under Windows.
• FOCMEC: Use of amplitudes has been improved and bugs fixed in amplitude section.
• New broadband body wave and surface wave magntudes have been implemented.
• New conversions programs: AHSEI, DIMASSEI, DATABASE2MSEED
• Noise spectra from continuouis data, CONNOI and EVANOI.
• Magnitude implementation has been adjusted to the new IASPEI standard, see table below.
Codes for reporting amplitude readings
Magnitude Old SEISAN ISC Old IASPEI NEW IASPEI
Local AMP AMPL AML IAML IAML
mb AMB IAmb IAmb
mB AMP AMB AMpb AMb AMPB IAmB IVmB BB
Ms AMP AMS IAMS20 IAMs 20
MS IAMSBB IVMs BB
• SEISAN has been tested on Vista and there are problems with some graphic programs like LSQ.
• EDRNOR, conversion program for USGS parametric data
• GSERESP2SEED, prorgam to create dataless SEED volumes from GSE response files,
using GSE2SEED
• QLg program has new features to test effect of noise and source perturbation
• Instructions on how to use SEISAN under Cygwin have been added
Index
515
INDEX 516
Wildcard, 197
WKBJ, 373
Wood Anderson, 130, 405
Working directory in SE, 39
WORLD.MAP, 21
Write S-file, 467
Wrong S-file name, 18
X Windows, 17
X2Go, 88
XCLUST, 461
Xnear and xfar, 102
Y5DUMP, 248
Yearly number of events, 202