scdetect-cc

Template matching based earthquake detection

Configuration

etc/defaults/global.cfg
etc/defaults/scdetect-cc.cfg
etc/global.cfg
etc/scdetect-cc.cfg
~/.seiscomp/global.cfg
~/.seiscomp/scdetect-cc.cfg

scdetect-cc inherits global options.

templatesJSON

Type: path

Defines the default path for the template configuration file. Default is @ROOTDIR@/etc/scdetect-cc/templates.json.

eventDB

Type: path

Allows to load template events data from a SCML file. if not set, the event data is loaded from the database.

template.phase

Type: string

Defines the default template phase. Default is Pg.

template.waveformStart

Type: double

Unit: s

Defines the default template waveform start time in seconds w.r.t. the template pick. Default is -2.

template.waveformEnd

Type: double

Unit: s

Defines the default template waveform end time in seconds w.r.t. the template pick. Default is 2.

processing.filter

Type: string

Defines the default filter for detection related waveform processing. If undefined the filter is set to the value defined by the template pick (default behaviour).

Filtering may be disabled by means of explicitly defining the value to the empty string i.e. "".

processing.initTime

Type: int

Unit: s

The default filter related initTime defines a time span in seconds a detector is blind after initialization. This time is needed to initialize the template processors and depends on it. Default is 60.

processing.gapInterpolation

Type: boolean

Defines if by default gaps should be interpolated linearly. This is valid for gaps shorter than *maxGapLength* and larger than *minGapLength*. Default is false.

processing.minGapLength

Type: double

Unit: s

The default min gap length in seconds to handle. Gaps smaller than the value specified won’t be handled. Default is 0.1.

processing.maxGapLength

Type: double

Unit: s

The default maximum gap length in seconds to handle. Gaps larger than the value specified will cause the detector to be reset. Default is 4.5.

processing.waveformBufferSize

Type: double

Unit: s

Defines the waveform ringbuffer size in seconds. Buffering waveform is required for amplitude calculation. The buffer’s size must cover the time window required for amplitude calculation. This may vary from amplitude processor implementation to amplitude processor implementation. Additionally, it depends on the configuration, too. If amplitudes are not going to be calculated buffering records is not required at all and therefore can be disabled by means of setting the value to 0. Default is 300.0.

detector.timeCorrection

Type: double

Unit: s

Default time correction applied for an origin issued. Default is 0.

detector.triggerOn

Type: double

Default threshold which defines when a detector is triggered. Default is 0.85.

detector.triggerOff

Type: double

Default threshold which defines when the detector is enabled in order to produce new origins, again. Note that this threshold overrides the *triggerDuration* configuration parameter i.e. as soon as the *triggerOff* threshold is met a detector result is issued. Default is 0.65.

detector.triggerDuration

Type: double

Unit: s

Maximum default duration in seconds after reaching the *triggerOn* threshold to search for the maximum correlation between configured streams. Default is 2.

detector.arrivalOffsetThreshold

Type: double

Unit: s

Maximum default inter arrival offset threshold to tolerate when associating an arrival to an event. The threshold is only validated in a multi-stream detector setup. Configuring a negative value disables the arrival offset validation. Default is 2.0e-6.

detector.minimumArrivals

Type: int

Defines the default minimum number of arrivals which must be part of an event to be declared as a detection. Configuring a negative value disables the validation i.e. arrivals for all streams configured must be available. Default is -1.

detector.mergingStrategy

Type: string

Defines the default cross-correlation result merging strategy while linking. Possible values are:

- "greaterEqualTriggerOnThreshold": the cross-correlation coefficient must be greater or equal to the configured "triggerOnThreshold" in order to be taken into account for linking.

- "greaterEqualMergingThreshold": the cross-correlation coefficient must be greater or equal to the configured stream configuration specific "mergingThreshold" in order to be taken into account for linking.

- "all": tries to merge all cross-correlation results. Trying to merge all cross-correlation results is computationally quite expensive.

Note that the configured merging strategy may have a significant performance impact in a multi-stream detector setup. Default is greaterEqualTriggerOnThreshold.

publish.createArrivals

Type: boolean

Defines the default value for appending *detected arrivals* to declared origins. Default is false.

publish.createTemplateArrivals

Type: boolean

Defines the default value for appending *theoretical template arrivals* to declared origins. Default is false.

publish.methodId

Type: string

Defines the default origin *methodID* label that is added to declared origins. Default is DETECT.

amplitudes.messagingGroup

Type: string

Defines the messaging group amplitudes are sent to. Default is AMPLITUDE.

amplitudes.createAmplitudes

Type: boolean

Defines the default value whether amplitude calculation is enabled or disabled (on detector configuration level granularity). Amplitudes are calculated right after an origin has been declared. Default is true.

amplitudes.filter

Type: string

Defines the default filter for amplitude processing if no binding filter configuration has been provided. Filtering may be disabled by means of explicitly defining the empty string i.e. "". By default filtering is disabled. Default is "".

amplitudes.initTime

Type: double

Unit: s

Defines the default time span in seconds in order to initialize the amplitude processor’s filter. Default is 0.

magnitudes.createMagnitudes

Type: boolean

Defines the default value whether magnitude calculation is enabled or disabled (on detector configuration level granularity). Note that magnitude calculation implies computing amplitudes. Default is true.

Bindings

sensorLocationProfiles

Type: list:string

Defines a list of sensor location profiles.

Note

sensorLocation.$name.* Each sensor location profile is a configuration set with regard to a sensor location. A sensor location profile is used only if a related stream is part of a detector configuration. $name is a placeholder for the name to be used and needs to be added to scdetect-cc.sensorLocationProfiles to become active.

scdetect-cc.sensorLocationProfiles = a,b
sensorLocation.a.value1 = ...
sensorLocation.b.value1 = ...
# c is not active because it has not been added
# to the list of scdetect-cc.sensorLocationProfiles
sensorLocation.c.value1 = ...
sensorLocation.$name.locationCode

Type: string

Defines profile’s location code.

sensorLocation.$name.channelCode

Type: string

Defines profile’s channel code. Note that only the band and source code is taken into account (i.e. the two leading characters).

Note

sensorLocation.$name.amplitudes.* Defines amplitude related configuration options.

sensorLocation.$name.amplitudes.amplitudes

Type: list:string

Defines a list of amplitudes to be calculated. Default is "MRelative".

sensorLocation.$name.amplitudes.enable

Type: boolean

Enables/disables amplitude calculation. If disabled neither amplitudes nor magnitudes will be computed. Default is true.

Note

sensorLocation.$name.amplitudes.MRelative.* Defines configuration parameters for amplitudes required for the relative magnitude estimation.

sensorLocation.$name.amplitudes.MRelative.saturationThreshold

Type: double

Unit: counts; %

Enables a saturation check before calculating amplitudes. If data exceeds the configured threshold no amplitude is going to be calculated.

This value can either be an absolute value of counts such as "100000" counts or a relative value (optionally in percent) with respect to the number of effective bits, e.g. "0.8@23" or "80%@23". The first version uses 1**23 * 0.8 whereas the latter uses 1**23 * 80/100.

The boolean value "false" explicitly disables the check.

sensorLocation.$name.amplitudes.MRelative.filter

Type: string

Defines the filter to be used for amplitude waveform processing (i.e. applied before calculating the amplitude). Filtering may be disabled by means of explicitly passing the empty string i.e. "". If no filter has been specified the module default is taken as a fallback. If no fallback is provided, then the filter configured for detection processing is used, instead.

sensorLocation.$name.amplitudes.MRelative.initTime

Type: double

Unit: s

Defines the profile’s time span in seconds in order to initialize the amplitude processor’s filter. The initialization time is used only in case filtering is enabled. Default is 60.

Note

sensorLocation.$name.amplitudes.MLx.* Defines configuration parameters for amplitudes required for the template family amplitude-magnitude regression magnitude estimation. Note that this amplitude type requires sensor responses to be configured.

sensorLocation.$name.amplitudes.MLx.saturationThreshold

Type: double

Unit: counts; %

Enables a saturation check before calculating amplitudes. If data exceeds the configured threshold no amplitude is going to be calculated.

This value can either be an absolute value of counts such as "100000" counts or a relative value (optionally in percent) with respect to the number of effective bits, e.g. "0.8@23" or "80%@23". The first version uses 1**23 * 0.8 whereas the latter uses 1**23 * 80/100.

The boolean value "false" explicitly disables the check.

sensorLocation.$name.amplitudes.MLx.filter

Type: string

Defines the filter to be used for amplitude waveform processing (i.e. applied before calculating the amplitude). Filtering may be disabled by means of explicitly passing the empty string i.e. "". If no filter has been specified the module default is taken as a fallback. Default is "BW_BP(4,10,30)".

sensorLocation.$name.amplitudes.MLx.initTime

Type: double

Unit: s

Defines the profile’s time span in seconds in order to initialize the amplitude processor’s filter. The initialization time is used only in case filtering is enabled. Default is 60.

Note

sensorLocation.$name.amplitudes.responses.* Each response profile is a response related configuration set. It allows the configuration of parameters on stream granularity.

sensorLocation.$name.amplitudes.responses.responseProfiles

Type: list:string

Defines a list of response profiles.

Note

sensorLocation.$name.amplitudes.responses.$name.* $name is a placeholder for the name to be used and needs to be added to scdetect-cc.amplitudeProfiles.responseProfiles to become active.

scdetect-cc.amplitudeProfiles.responseProfiles = a,b
sensorLocation.$name.amplitudes.responses.a.value1 = ...
sensorLocation.$name.amplitudes.responses.b.value1 = ...
# c is not active because it has not been added
# to the list of scdetect-cc.amplitudeProfiles.responseProfiles
sensorLocation.$name.amplitudes.responses.c.value1 = ...
sensorLocation.$name.amplitudes.responses.$name.channelCode

Type: string

Defines profile’s channel code used for response correction. Note that the value is interpreted as the subsource code i.e. a single character is allowed, only.

sensorLocation.$name.amplitudes.responses.$name.taperLength

Type: double

Unit: s

Defines the taper length when deconvolving the data. Default is 5.

sensorLocation.$name.amplitudes.responses.$name.minimumTaperFrequency

Type: double

Unit: Hz

Defines the end of the left-hand side cosine-taper in Hz applied to the frequency spectrum. I.e. the spectrum is tapered between 0Hz and minimumTaperFrequency. A value less than or equal to zero disables left-hand side tapering. Default is 0.00833333.

sensorLocation.$name.amplitudes.responses.$name.maximumTaperFrequency

Type: double

Unit: Hz

Defines the beginning of the right-hand side cosine-taper in Hz applied to the frequency spectrum. I.e. the spectrum is tapered between maximumResponseTaperFrequency and the Nyquist frequency. A value less than or equal to zero disables left-hand side tapering. Default is 0.

Note

sensorLocation.$name.magnitudes.* Defines magnitude related configuration options.

sensorLocation.$name.magnitudes.magnitudes

Type: list:string

Defines a list of magnitudes to be calculated. Default is "MRelative".

sensorLocation.$name.magnitudes.enable

Type: boolean

Enables/disables magnitude calculation. Default is true.

Command Line

Generic

Verbosity

Messaging

Database

--event-db

Load events from the given database or file, format: [service://]location

Records

--record-starttime

Defines a start time (YYYY-MM-DDTHH:MM:SS formatted) for requesting records from the configured archive recordstream. Implicitly enables reprocessing/playback mode.

--record-endtime

Defines an end time (YYYY-MM-DDTHH:MM:SS formatted) for requesting records from the configured archive recordstream. Implicitly enables reprocessing/playback mode.

Mode

--offline

Do not connect to the messaging system.

--no-publish

Runs the module as usual but does not send any messages. This can be useful to test the module within a running system.

--ep

Same as --no-publish, but outputs all event parameters scml formatted; specifying the output path as ‘-’ (a single dash) will force the output to be redirected to stdout.

--playback

Use playback mode that does not restrict the maximum allowed data latency.

--templates-prepare

Load template waveform data from the configured recordstream and save it in the module’s caching directory, then exit.

--templates-reload

Force reloading template waveform data and omit cached waveform data.

--amplitudes-force

Enables/disables the calculation of amplitudes regardless of the configuration provided on detector configuration level granularity.

--magnitudes-force

Enables/disables the estimation of magnitudes regardless of the configuration provided on detector configuration level granularity. If enabled, amplitudes will be computed, too.

Monitor

--monitor-throughput-info-threshold

Object throughput threshold for logging messages with level INFO.

--monitor-throughput-warning-threshold

Object throughput threshold for logging messages with level WARNING.

--monitor-throughput-log-interval

Log message interval in seconds for object throughput monitoring.

Input

--templates-json

Path to a template configuration file (JSON formatted).

--template-family-json

Path to a template family configuration file (JSON formatted).