scqc
scqc determines quality parameters of seismic data streams. The output parameters are time averaged quality control (QC) parameters in terms of waveform quality messages. In regular intervals report messages are sent containing the short term average representation of the specific QC parameter for a given time span. Alarm messages are generated if the short term average (e.g. 90s) of a QC parameter differs from the long term average (e.g. 3600s) more than a defined threshold.
To avoid an excessive load, QC messages are sent distributed over time. The following parameters are determined:
- Delay [s]
- Time difference between arrival time and last record end time plus half record length (mean data latency, valid for all samples in record)
- Latency [s]
- Time difference between current time and record arrival time (feed latency)
- Offset [counts]
- Average value of all samples of a record
- RMS [counts]
- Offset corrected root mean square (RMS) value of a record
- Spike (interval [s], amplitude [counts])
- In case of the occurrence of a spike in a record this parameter delivers the time interval between adjacent spikes and the mean amplitude of the spike; internally a list of spikes is stored (spike time, spike amplitude); the spike finder algorithm is still preliminary
- Gap (interval [s], length [s])
- In case of a data gap between two consecutive records this parameter delivers the gap interval time and the mean length of the gap
- Timing [%]
- miniseed record timing quality (0 - 100 %)
Options
scqc supports command line options as well as configuration files (scqc.cfg).
Commandline
Command line options are limited to the default application options.
Configuration
User configuration file: $HOME/.seiscomp3/scqc.cfg
- CreatorID <string>
- ID of QC message creator(# use only configured streams,# --> the same streams as e.g. scautopick works on)
- useConfiguredStreams <bool>
- limit QC determination to processed data streams
- mode <data/notifier>
- send QC parameters as notifier or data messages
- Plugins <plug-in list>
-
Load this plug-ins for calculating QC parameters, e.g.
- qcplugin_delay
- qcplugin_latency
- qcplugin_timing
- qcplugin_rms
- qcplugin_offset
- qcplugin_gap
- qcplugin_spike
- qcplugin_availability
- qcplugin_outage.so
- qcplugin_overlap.so
- plugins.default.reportInterval <int> [60]
- Interval for sending the report messages in seconds
- plugins.default.alertInterval <int> [30]
- Interval for checking the alert thresholds in seconds
- plugins.default.staBufferLength <int> [600]
- Short Term Average (STA) buffer length in seconds
- plugins.default.ltaBufferLength <int> [1800]
- Long Term Average (LTA) buffer length in seconds
- plugins.default.timeout <int> [0]
- Generate a report message in case no data is received since timeout in seconds
- plugins.default.thresholds <int> [100]
- Alert thresholds in percent, single value [or list 25,50,75 ... not yet implemented]
- plugins.qcplugin_latency.timeout <int> [60]
- Maximum latency of streams that are processed by scqc
Example:
CreatorId="smi://de.gfz-potsdam/QcTool_0.2" useConfiguredStreams = True mode = data plugins = qcplugin_delay, \ qcplugin_latency, \ qcplugin_timing, \ qcplugin_rms, \ qcplugin_offset, \ qcplugin_gap, \ qcplugin_spike plugins.default.reportInterval = 60 plugins.default.alertInterval = 30 plugins.default.staBufferLength = 600 plugins.default.ltaBufferLength = 1800 plugins.default.timeout = 0 plugins.default.thresholds = 100 plugins.qcplugin_latency.timeout = 60