Theoretical Background
Earthquake detection
scdetect-cc
allows to configure multiple detectors by means of the
template configuration. Detectors are
handled completely independently. The most important properties of the detector
configuration are the (template) earthquake "originId"
and a set of
template waveforms. Again, these template waveforms may be configured
individually with so-called stream configuration parameters.
Once scdetect-cc
has successfully initialized the configured detectors it is
ready for processing. The waveform data to be processed is dispatched
record-wise to the individual detectors, optionally pre-processed (e.g.
resampled, filtered, etc.) and cross-correlated. The cross-correlation
algorithm itself is based on computing the Pearson Correlation Coefficient
. The results of the cross-correlation are time series of Pearson correlation
coefficients, i.e. one time series per previously configured template waveform.
During the next processing step the local maxima are extracted. By now, the
processing for each template waveform was completely independent. That changes
during the linkage phase. The local maxima are fed to the detector’s linker
whose main task is to associate these tuples (time, correlation coefficient).
In fact, these tuples already correspond to potential picks. During the
association process the linker maintains a set of detection candidates. For
each detection candidate a score is computed that is the arithmetic mean of
the correlation coefficients from the associated picks. Once the score of a
detection candidate exceeds the configured "triggerOnThreshold"
the linker
emits the detection candidate. In case a "triggerDuration"
was configured the
detection candidate still is put on hold i.e. it might be overridden by a
detection candidate with both a higher score and at least the same number of
associated picks. This approach guarantees that within the
"triggerDuration"
configured only the best candidate is emitted until
either the time from the "triggerDuration"
is passed by or the score of
subsequently emitted detection candidates falls below the configured
"triggerOffThreshold"
. Without a "triggerDuration"
enabled every
detection candidate immediately qualifies to a detection.
Further processing of the detection involves to optionally compute so-called
template arrivals i.e. arrivals which are part of the origin
identified by the template earthquake "originId"
, but not used for
detection. The detection’s coordinates and depth are those of the template
earthquake.
Depending on the configuration scdetect-cc
subsequently computes amplitudes
and magnitudes.
Finally, the detection (in terms of SeisComP this corresponds to a new origin), picks, amplitudes and magnitudes are send to scmaster and may be used for further processing with other SeisComP modules.
Phase association
Note
Phase association is only relevant if a detector is configured with at least two template waveforms.
Each detector comes with its dedicated linker which is responsible for phase
association. The linker continuously consumes local maxima and performs the
association based on template arrival times and a configurable
"arrivalOffsetThreshold"
.
Given a detector is configured with template waveforms . Then, the original template arrival times form a reference matrix :
where the entry of the row and column correspond to the absolute value of the difference between the original template arrivals referring to and the original template arrival referring to . Therefore, the matrix has the following properties:
is symmetric, i.e.
the diagonal elements are all zero.
Based on this information the linker maintains a list of detection candidates
where each candiate has its own association matrix
. During operation the linker constantly tries to insert
new local maxima into the association matrices. A local maxima referring to the
template waveform is merged if the absolute values of all the
differences in either the row or the column between
the entries of the reference matrix and the association matrix are smaller than
or equal to the configured "arrivalOffsetThreshold"
, i.e.
Once a association matrix is complete the candidat’s
score is computed that is the arithmetic mean from the correlation coefficients
of the associated local maxima. If the score is greater than or equal to the
configured "triggerOnThreshold"
the detection candidate is emitted.
Changing the number of "minimumArrivals"
to a value smaller than
allows the user to influence the completeness of an association matrix. I.e. in
fact a detection candidate is emitted once both the candidate’s score exceeds
the "triggerOnThreshold"
and the number of associated local maxima is at
least equal to the value specified by the "minimumArrivals"
configuration
parameter.
Amplitude calculation
Computing amplitudes is a prerequisite in order to perform a magnitude
estimation later on. Since multiple magnitude estimation methods are provided,
each magnitude estimation method requires to compute a corresponding amplitude
type. In accordance with the magnitudes methods described in
the magnitude estimation section scdetect-cc
implements the following amplitude types to be computed:
MRelative
: Amplitude computed as the ratio between the template waveform and the detection. The approach is outlined by e.g. Peng and Zhao [2] and Ross et al. [3] and uses the same instrument components as specified by the detector configuration.MLx
: Amplitudes required for the amplitude-magnitude regression approach. The implementation follows the approach outlined in Herrmann et al. [1] (section 3.3.3 Magnitude Estimation) . Amplitudes used for the amplitude-magnitude regression are so called sensor location RMS (root-mean-square) amplitudes (i.e. the maximum sample-wise RMS regarding the horizontal components for a certain sensor location w.r.t. velocity seismograms).
Amplitudes are calculated once an origin has been declared.
In general, the computation of amplitudes is sensor location dependent. In order
to provide dedicated configuration for different sensor locations scdetect-cc
makes use of
SeisComP’s bindings configuration
concept. Note that amplitudes are calculated only:
for those sensor locations with bindings configuration available,
if the internal waveform buffer still contains the required time window.
The waveform buffer size may be configured using
the processing.waveformBufferSize
module configuration parameter.
Magnitude estimation
scdetect-cc
estimates magnitudes as so called SeisComP station magnitudes (
for further details, please refer to the scmag documentation)
. Magnitudes may be estimated for only those sensor locations, the corresponding
magnitude types were computed, previously. In accordance with the amplitude
types described in the amplitude calculation section,
the following magnitude types are available:
MRelative
: Template-detection ratio based magnitude estimation. Besides, of the corresponding amplitudes to be computed, this particular type requires station magnitudes to be available through EventParameters. For further details please refer to either Peng and Zhao [2] or Ross et al. [3].MLx
: Amplitude-magnitude regression based magnitude type. Besides, of the corresponding amplitudes to be computed, this particular type requires both amplitudes and station magnitudes to be available by means of EventParameters. Moreover, the approach is based on so-called template families which in fact are groups of related templates. The corresponding template family configuration must be provided byscdetect-cc
‘ s--templates-family-json path/to/templates-family.json
CLI flag. For further information please refer to Herrmann et al. [1] (section 3.3.3 Magnitude Estimation).
All magnitude estimation methods listed above are based on the following types of template station magnitudes:
MLh
: please refer to the SeisComP documentationMLhc
: based onMLh
, but uses a slightly adjusted relationship (i.e. corrected for near-field observations) and allows for station specific corrections.
Note
Magnitudes of type MLhc
are preferred over magnitudes of type MLh
.
Recall, that template station magnitudes must be available through EventParameters (for further details, please refer to the related section on providing these data products).