Overview of STK:
STK is a tool for seismic data processing; in a graphical interactive and very intuitive interface, basically it allows to:
Plot SAC ASCII and SAC_BIN data format, with zoom,unzoom, plot channel by channel, or plot all channel (until 2000, tested with 125)
Filtering the data: all filters are causal recursive IFR (Infinite Impulse Response) written using the bilinear Z-transform in the time domain. Their conception using a few number of coefficents gives them very fast with a low memory cost. The adaptation factor of frequency warants no deformation in the frequency domain of the transfert function. The main filters used are the following: Butterworth High-Pass and Low-Pass (n order), Farrer 10s-6s Low-Pass (a combination of rejector and Low-Pass specially designed for removing oceanic noise), Integrator, Derivator, Integrator with cut-off frequency, Derivator with cut-off frequency, Trend removing, Rejector (n-order), Envelop with Hilbert (not recursive at all), compensator of (n-order), Polynomial filter (n-order, not recursive at all ).
Data plotting : channel by channel, all channels, zoom-in, zoom-out, unfilter, instantaneous time and amplitude informations with mouse pointer
Fourier domain: Power Spectral Density (PSD) in linear-linear, log-log axes; independant windows for each channel, instantaneous frequency and amplitude informations with mouse pointer, zoom, unzoom of spectra. Dirac, Hilbert transform, Time-Frequency representation (tested until 1 million of points per channel on 3 channels.
Polarization : easy and fast particule motion representation in both horizontal plane and incidence plane, with automatic computation of best direction with eigen vectors of the covariance matrix. Display of linearity and planearity coefficient.
Evolutive Polarization: the polarization vectors are computed
along the signal with a small moving time-window. The length and the step
can be adkust by users. The errors on azimuth and incidence are also plotted.
The polarization coefficients are displayed by a color scale.
Example of evolutive polarization on a P wave with the error bars
on azimuth and incidence. Polarization coefficients are given by the
For the installation of STK on WIN32 see the install section on WIN32
Notice that the WIN32 runtime is very much slower than the UNIX/LINUX version,
nevertheless, it seems to be stable during the tests.
STK.0.66 Jan. 28 2009
A minimum mathematic library for linear algebra (MLINA lib) has been added in Utility programs; as it is written in standard C, the functions can be adapted very easily to other programs (on the contrary to CLAPACK, LAPACK, LINPACK or EISPACK ... in Fortran). Of course MLINA cannot compete with these very complete and high level libraries, but it provides convenient and standard tools for solving sets of linear equations, eigen values & vectors computation.
MLINA includes the following tools:
* Elementary matrix operations (product, transpose, inverse, norm), QR, LU decomposition.
* Hessenberg and tridiagonal reduction (either with Householder transforms, either with Givens rotations).
* Solving largely over-determinedlinear system of equations with QR or LU methods.
* A method for determining the rank of matrix (thus the number of independent unknowns) is proposed (based on an acceptable threshold of spectral radius).
* Eigen vectors and values (that take a fundamental place in polarization analysis) are computed with iterative QR-shift algorithm.
STK.0.62 Jul. 03 2008
Major improvement : new toolbar with buttons added in the main menus for rapid and usual actions, like zoom-in , zoom-out, No zoom, open files, next channel, previous one, init signal, zero-mean, ...etc. A small help on each icon is also given, by placing the mouse cursor on them.
STK.0.61 May. 07 2008
Code globally cleaned
STK.0.60 Mar. 23 2008
Code globally cleaned . Two new functions added to simulate and retrieve anelastic attenuation (Q_factor)
STK.0.56 Nov 24 2007
Major bugs corrected with alloc() and memcpy() functions for 64 bits machines (without problems on 32 bits ones), .
STK.0.55 Nov 18 2007
The new widget gtk_file_chooser_dialog_new() replaces the old one (GtkFileSelection that is deprecated) .
*MM_MAG version 1.10 : major bug corrected, when surface waves arrivals are out of the selected windows.
STK.0.53 Oct 16 2007
* In Fourier Series menu: the choice of the fundamental frequency F0, is proposed (as the lowest frequency : the inverse of window duration) , but not imposed; thus operator can choose F0, in function of 'a priori' informations on the frequency content. This can avoid to consume useless coefficients with low frequencies.
STK.0.52 Sept. 24, 2007
* Documentation has changed, with all downloads that are made from sourceforge.net.
* Computation of Fourier Series was added in the Fourier menu. The estimated waveform is plotted from the Fourier series. The coefficients of Fourier and modulus of spectrum are written in text files in the directory pointed by STK_LOG.
STK.0.51 Aug 30, 2007
* in STK : a very small bugg is corrected, in function CallBackFile_Selection_Ascii(), that was not
storing the path to the selected directory of signal in SAC_ASCII
* STK_0.51_win32.exe (for Windows) is compiled with optimized code (-O2 option) for acceleration of code
* in Mwp : test-null_channel() function was added to avoid process of signal with null values
STK.0.50 July 6, 2007
* major bug corrected in function CallBackFile_Selection_Bin, if the environment variable
STK_SAC_BIN_PATH is not defined,the char * Sig_path variable points to NULL.
It makes crash of STK on SUN machine (strangely not on PC Linux machine).
*MwP (June 2007):
a new utility program: Mwp is the moment magnitude computed on P waves. Mwp is very useful for early seismic warning on P wave
*PPOL_MTPA (MAY. 2007):
PPOL_MTPA (P wave POLarization using MTPA (Multi Prolate Taper Analysis); a program for analyzing automatically polarization of P wave with the MTPA method. PPOL_MTPA computes the polarisation properties in the frequency domain (there is a result at each frequency). The main application are for studies of anisotropy.
*PPOL (Nov. 2006):
PPOL (P wave POLarization); a program for analyzing automatically polarization of P wave. The main application are for studies of anisotropy.
*MM_mag (oct 2005):
An utility program available for computation of mantle magnitude Mm, moment magnitude Mw, and seismic moment Mo.
* SAC2WAVE (sept. 2005):
Conversion of SAC_ASCII file in AUDIO file (*.wav): a very simple program allows to convert an entire directory of SAC file into wave_files (utility SAC2WAVE).
* Spectral analysis with MPTA (Multi Prolate Taper Analysis) (sept. 2005)
* MwP (june 2007) the moment magnitude calculated on P wave:
MwP is a magnitude calculated from the seismic moment like the 'classical' Mw magnitude introduced by Kanamori in 1977. The Mw magnitude is defined by the relation: Mw = 2/3 (log10Mo – 9.1), where Mo (the scalar seismic moment) is in N.m. Mo is also the largest eigen value of the seismic moment tensor (and the principal strain axis are its eigen vectors). Concerning the relation between Seismic Moment and P wave, it is related by:
U(t,D) = Fp / (4p r a3) G(D)/a M'o I(t) , where: U is the P wave displacement, Fp is the far field radiation radiation pattern of P wave, r is medium density, a is velocity of P wave, a the earth radius, G includes geometrical spreading and inelastic attenuation and receiver function for a given distance D, M'o and is the time derivative of seismic moment; and at last I(t) is the instrumental response. Thus, from this expression, Mo can be calculated as a function of the integral of the displacement field.
Comparison of MwP versus Mw published by Harvard, for 52 earthquakes from various tectonic regions. Each value of MwP is the average values computed over several stations (at least a ten of stations, until more than 80 stations). All distances are in the [20°, 90°] range. The largest event , Sumatra dec 2004, is largely underestimated (0.6 unit of magnitude). Slow events have also underestimated magnitudes. But, 'normal' (not slow and non giant) earthquakes are correctly estimated.
For more informations on MwP : see the README file in MwP utilities or
* PPOL_MTPA (May 2007):
PPOL_MTPA is the extension of PPOL in the frequency domain; The spectral analysis is made with the MPTA method (Multi Prolate Taper Analysis). At each frequency, a measure of polarization is calculated, the associated errors bars, the coefficients of polarization and the difference of phase between each components. The best results can be such monitored versus frequency.
Example of measure of azimuth versus period, with the error bars.
Coefficient of polarization versus period
Horizontal phase delay versus period (notice the value close to -180° around 30s, corresponding to a linear polarization).
* PPOL(Nov 2006):
PPOL is a new utility program that has been added to the STK project;
PPOL (P wave POLarisation) was developed for a study driven by Fabrice R. Fontaine (Research School of Earth Sciences, The Australian National University, email@example.com). The 3-D character of particle motion of P waves can provide constraints on the upper mantle structure beneath a seismic station (Schulte-Pelkum et al., 2001). Analysis of the deviation of horizontal polarization and the vertical polarization angle as a function of event backazimuth are used to obtain information about: i) sensor misorientation, ii) seismic anisotropy, and iii) velocity heterogeneities. The program selects automatically a 40s window around the onset of the P wave, and computes three orthonormal eigenvectors which represents the motion of the P wave in 3-D. The window containing the P wave is calculated from the origin time and coordinates of the hypocenter, using the IASPEI time tables (Kennett and Engdahl, 1991). The rectilinearity of the particle motion must be higher than 0.9 for all observations.
As the program needs several arguments (see the README file in the directory PPOL), the easiest way to run it, is to create a script file containing the arguments needed.
References Fontaine F.R., Barruol G., Kennett B.L.N., Bokelmann G.H., and Reymond D., 2006, Earthquake location and upper mantle structure from P wave polarization in French Polynesia and Australia, ANU Annual Report, http://www.rses.anu.edu.au/admin/annrep/ar2006/ep/seismology/index.php?p=fontaine Kennett B.L.N. and Engdahl E.R. (1991), Travel times for global earthquake location and phase identification, Geophys J Int., 105, 429-465. Schulte-Pelkum V., Masters G., and Shearer P.M., 2001, Upper mantle anisotropy from long-period P polarization, Journal of Geophysical Research , vol 106, p. 21,917-21,934. ***************************************************************************
Example of results obtained with PPOL Utility Program
a small but useful program for computing azimuth and distance from a simple text list of stations
this is a utility program for calculating the moment magnitude (Mw), the scalar seismic moment (Mo), via the the very robust mantle magnitude (Mm).
You must absolutely read the README file in MM_mag directory
Example of plot of Mm magnitude vs azimuth
It is also strongly recommended to read the publications about the Mm magnitude:
- Okal, E.A., and J. Talandier, Mm: Theory of a variable-period mantle magnitude,
Geophys. Res. Letts., 14, 836-839, 1987.
- Talandier, J., D. Reymond and E.A. Okal, Mm: Use of a variable-period
mantle magnitude for the rapid one-station estimation of teleseismic
moments, Geophys. Res. Letts., 14, 840-843, 1987.
- Okal, E.A., and J. Talandier, Mm: A variable period mantle magnitude,
J. Geophys. Res., 94, 4169-4193, 1989.
- Talandier, J., and E.A. Okal, An algorithm for automated tsunami warning
in French Polynesia, based on mantle magnitudes, Bull. Seismol. Soc. Amer., 79, 1177-1193, 1989.
- Okal, E.A., Mm: A mantle wave magnitude for intermediate and deep earthquakes,
Pure Appl. Geophys., 134, 333-354, 1990.
- Okal, E.A., and J. Talandier, Mm: Extension to Love waves of the concept
of a variable-period mantle magnitude, Pure Appl. Geophys., 134, 355-384, 1990.
An utilty program for converting very easily SAC files into audio file (*.wav) :
the sampling frequency of audio files can be changed (typically from 44000 hz to 6250 Hz)
the number of channels can be set to 1 (mono) or 2 (stereo)
and the signal can be filtered before conversion to audio, to remove noise with a band_pass filter
(the order of the filters can be set from 2 to 10) – And the cutt-off frequencies are up to you.
Theses parameters are store in a configuration file (sac2wave.ini) to avoid to many arguments to the program.
*GMT_plot: Small programs using GMT, to plot results in postscript (for printing or having high quality graphics).
Example of ps file created:
*SWAP for swapping all SAC_BIN files in a directory
*SEED_RESPONSE: to compute instrumental response from response given by SEED response files and IRIS Web site with zeros and poles
**A very simple example of GMT script is given, for plotting responses like this one:
*AZI: a simple program to calculate azimuth, back_azimuth and epicentral distance
*MECA: a simple tool for viewing beach ball of focal mechanism in text mode
*SVDS Singular Value Decomposition of Signal, to compute eigen directions of 3 comp. signals from its eigen vectors.
*MTPA : Mutli Prolate Taper Analysis: a sophisticated tool for spectral analysis, and polarization in the frequency domain.
Libraries needed :
With STK version >= 0.14 :
gdk and gtk+ (>= 2.x )
glib (>= 2.x)
From version 0.14, STK is not still working with the old lib GTK 1.2.x
The last version version working with GTK+-1.2.x and glib1.x is GST_0.13
Download these libs at www.gtk.org website
The pkg-config software utility is needed also for GTK+-2.x:
it searchs and configures the correct paths to the libraries and includes files (see install.html) .
**General informations about STK
** The credit page
Seismic ToolKit is Copyright (C) 2002 by Dominique Reymond.
All Rights Reserved.
Seismic ToolKit is distributed under the terms of the GNU General Public License.
Please feedbak to <firstname.lastname@example.org>