STK : Seismic ToolKit

written with GTK+





Overview of STK:

STK is a tool for seismic data processing; in a graphical interactive and very intuitive interface, basically it allows to:

 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

color scale.


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.

* 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

* 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)

Utility Programs:

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 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 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, 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.

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,

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


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.



(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 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


Legal terms

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 <>