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


scqc supports command line options as well as configuration files (scqc.cfg).


Command line options are limited to the default application options.


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


useConfiguredStreams = True
mode = data
plugins = qcplugin_delay, \
          qcplugin_latency, \
          qcplugin_timing, \
          qcplugin_rms, \
          qcplugin_offset, \
          qcplugin_gap, \
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