scautomt and scmtv invert processed waveforms from muliple seismic phases for seismic moment tensors in the time domain. Either the deviatoric or the full moment tensor can be computed as controlled by automt.invertFor6Components. Inversion for deviatoric and full moment tensors require 8 and 10 component Green’s functions, respectively.


Inverting for the full moment tensor is unsupported in SeisComP3 in version Jakarta-2018.327 or earlier.

Work flow

The data processing is configured specfically for seismic phases and for different frequency ranges. The basic inversion algorithm with given profiles works as follows:

  1. Acquire waveform data of all three components of configured stations with respect to P onset and the configured signal length (see above) including a configurable margin and a maximum epicentral distance (automt.maximumDistance)

  2. Time windowing and waveform quality control.

  3. Restitute data to displacement

  4. Load Green’s functions for each station

  5. The data are resampled at the sampling frequency of the Green’s functions.

  6. Rotate 3 components into ZRT system and downsample it to match the Green’s function sampling frequency

  7. Cut configured wave types and filter with bandpass

  8. Align waveform data with Green’s functions by cross correlation to obtain the best phase match. The maximum shift allowed for the entire dataset is given by automt.profiles.$name.maxShift in steps of automt.profiles.$name.shiftStep to account for differences of the centroid with respect to the source time. An additionally time shift is allowed for each individual component to account for relative phase shifts. The maximum is defined by the magnitude-dependent inversion profiles.

  9. Create inversion matrix and solve for moment tensor

Optionally, the 3D Centroid location can be sought. By command-line parameters, further constraints can be made for the location.

This basic algorithm does not account for bad data quality or incorrect timing. To accomplish that several tests are being made in advance to the final inversion.

Seismic phases

The basis for the waveform inversion algorithm are waveforms. To define what part of the waveform after an event to use different wave types are actually supported:

  • Body waves: P wave (Z), S wave (R,T)

  • Surface waves: Rayleigh wave (Z,R), Love wave (T)

  • Mantle waves: Rayleigh wave (Z,R), Love wave (T)

  • W-phase (Z,R,T)

  • full waveform (Z,R,T)

The letters in brackets denote the seismogram components actually used for inversion of the considered wave type.

The algorithm itself does not take notice of the different wave types and their characteristics itself. Almost any wave type parameter need to be configured in so called profiles.

Time windows

The waveforms of seismic phases used for inversion are searched in time windows with respect to origin time. The start and the end of these phase-dependent time windows is defined individually per phase and separately for every profile, e.g. automt.profiles.$name.signalBegin.body.P and automt.profiles.$name.signalEnd.body.P for P waves. If undefined standard values apply.

The following table shows the standard values relative to origin time for each wave type.


Start time

End time



















The END OF SIGNAL time is defined by a configurable function of distance.

The default function is as follows:

Distance (km)

End time (s)

























Single inversion quality

An inversion is made for each waveform snippet/item (data of a certain wavetype on a certain component) on the vertical and radial component. If the best Fit is below the configured minimum item fit (profile.*.minItemFit) it is removed from further processing. Tangential items are removed along with radial components of the same wave type.

Solution Fit

The goodness of an inversion is measured by the Fit (goodness of fit, GOF). Two different methods are available for computing the FIT. The method can be configured by automt.GOF:

  1. internal (automt.GOF = internal):

    Fit = 2 * \frac{\sum_i d_i * s_i}{\sum_i d_i^2 + \sum_i s_i^2} * 100 \text{\%}

  2. variance reduction (automt.GOF = varred): The fit function according to Minson and Dreger, 2008.

    Fit = \left( 1 - \frac{\sum_i (d_i - s_i)^2}{\sum_i d_i^2 } \right) * 100 \text{\%}


  • d_i: data sample

  • s_i: samples of synthetics (Green’s functions).


Fit is used as a measure of goodness in the Centroid depth search of scmtv.

Solution Quality

In addition to the Fit, the Quality parameter as shown in the depth search widget of scmtv is measured as the product of Fit and the ratio of the number of used stations N_{used} vs. the number of stations available N_{available} for the inversion:

Quality = Fit * \frac{N_{used}}{N_{available}}

Due to optional optimization during inversion stations with insufficient station fit can be removed and the number of used stations can be removed. When leaving only very few stations after optimization, the Fit may become high while the Quality increases.


Quality of used as a measure of goodness in 3D-Centroid search.

Moment-tensor decomposition

The moment tensor can be decomposed into components representing physical processes:

  • DC, double-couple: shear sources, e.g. tectonic earthquakes

  • ISO, isotropic: sources of volume changes, e.g. explosions or implosions

  • CLVD, compensated linear vector dipole: complicated sources, e.g. ring faulting, rupturing bent faults, collapse of caveties.

DC and CLVD form the deviatoric moment tensor (DEV). The magnitude of the components is typically given as a percentage (%).

For the decomposition different methods are available:


By default the moment tensor is decomposed into the deviatoric (DEV) and isotropic (ISO) components where DEV is related to the total seismic moment according to Silver & Jordan (1982). The deviatoric part contains the double-couple (DC) and the compensated linear vector dipole (CLVD) such that

100 \text{\%} = DEV + ISO


DEV:100 \text{\%} = DC + CLVD


Another type of decomposition relates all components individually to the total seismic moment (Knopoff and Randall [9]):

100 \text{\%} = |DC| + |ISO| + |CLVD|

Activate automt.MTDecomp100 for using this type of decomposition in addition. In scmtv this decomposition can be optionally selected from the Options menu.


This method exists currently only for testing. The calculated moment-tensor components are not included in the resulting focal mechanism parameters which are saved.

Quality Control

Before and during inversion of waveforms for moment tensors, measures of waveform and solution quality are taken and applied. Waveforms are evaluated per trace or station.

Clipping detection

A trace is marked as clipped if its maximum raw amplitude exceeds 90% of 223 assuming a 24bit datalogger. Clipped traces are removed from further processing.

Incomplete data

A trace is removed from processing if its data length (according to the signal length function) is less than its lower filter period.

Signal to noise ratio

The signal to noise ratio for each wave type with all three components is computed and if it falls below the configured minimum SNR (automt.profile.$name.minSNR.[type]) all station items of that wave type are removed from further processing.

Amplitude outliers

For all remaining stations the maximum raw amplitude (across all available components) is used to compute a normalized amplitude. For this the formula of the broadband surface magnitude (Ms(BB)) formula is used:

Ms(BB) = log_{10}\left(\frac{A}{2\pi}\right)+1.66*log_{10}(\Delta) + 3.3


  • A: amplitude in micrometer per second

  • \Delta: epicentral distance in degrees.

The median is computed for all normalized amplitudes and station are removed where the absolute difference of the normalized amplitude and the median is larger than twice the variance.