scqueryqc¶
Query waveform quality control (QC) parameters from database.
Description¶
scqueryqc queries a database for waveform quality control (QC) parameters. The QC parameters must be provided, e.g. by scqc.
Warning
Writing QC parameters to the database by scqc will result in a rapidly growing database and is therefore not recommended in permanent application!
The database query is done for
One or multiple streams,
One or multiple QC parameters. All QC parameters can be requested. Defaults apply. For reading the defaults use
scqueryqc -h
A single time window where the begin time must be provided. Current time is considered if the end is not give.
Workflow¶
You should minimize the impact of stored waveform QC parameters on the size of the database.
Compute the QC parameters in real time using scqc and save them in the SeisComP database. Saving the QC parameters in the database requires to adjust the scqc module configuration parameters
plugins.*.archive.interval
for each plugin.Regularly use scqueryqc for some time span to read the QC parameters from the database. Save them in a XML files.
Example for all QC parameters found for all streams in the inventory before end time:
scqueryqc -d [host] -e '[end time]' --streams-from-inventory -o [XML file]
Clean the database from QC parameters.
Either use scdispatch with the parameters saved in XML. You may need to set the routing table for sending the QualityControl parameters to the right message group, e.g., QC:
scdispatch -H [host] -O remove --routingtable QualityControl:QC -i [XML file]
Alternatively, use scdbstrip with the command-line option
-Q
and remove all QC parameters in the time span. Use the same period for which the QC parameters were retrieved:scdbstrip -d [database] -Q --date-time '[end time]'
Note
Considering an end time by
--date-time
has the advantage that no QC parameters are removed which were measured after scqueryqc was applied.
Examples¶
Query rms and delay values for the stream AU.AS18..SHZ,AU.AS19..SHZ before ‘2021-11-20 00:00:00’. Write the XML to stdout
scqueryqc -d localhost -e '2021-11-20 00:00:00' -p rms,delay -i AU.AS18..SHZ,AU.AS19..SHZ
Query all default QC parameter values for all streams found in the inventory from ‘2021-11-20 00:00:00’ until current. Write the formatted XML output to
/tmp/query.xml
scqueryqc -d localhost -b '2021-11-20 00:00:00' --streams-from-inventory -f -o /tmp/query.xml
Module Configuration¶
etc/defaults/global.cfg
etc/defaults/scqueryqc.cfg
etc/global.cfg
etc/scqueryqc.cfg
~/.seiscomp/global.cfg
~/.seiscomp/scqueryqc.cfg
scqueryqc inherits global options.
Command-Line Options¶
scqueryqc [options]
Generic¶
- -h, --help¶
Show help message.
- -V, --version¶
Show version information.
Verbosity¶
- --verbosity arg¶
Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug.
- -v, --v¶
Increase verbosity level (may be repeated, eg. -vv).
- -q, --quiet¶
Quiet mode: no logging output.
- --component arg¶
Limit the logging to a certain component. This option can be given more than once.
- -s, --syslog¶
Use syslog logging backend. The output usually goes to /var/lib/messages.
- -l, --lockfile arg¶
Path to lock file.
- --console arg¶
Send log output to stdout.
- --debug¶
Execute in debug mode. Equivalent to --verbosity=4 --console=1 .
- --log-file arg¶
Use alternative log file.
Database¶
- --db-driver-list¶
List all supported database drivers.
- -d, --database arg¶
The database connection string, format: service://user:pwd@host/database. "service" is the name of the database driver which can be queried with "--db-driver-list".
- --inventory-db arg¶
Load the inventory from the given database or file, format: [service://]location .
Output¶
- -o, --output filename¶
Name of output XML file. Objects are sent to stderr if none is given.
- -f, --formatted¶
Write formatted XML.
Query¶
- -b, --begin time¶
Begin time of query. Format: ‘YYYY-MM-DD hh:mm:ss’. ‘1900-01-01T00:00:00Z’ is considered if undefined.
- -e, --end time¶
End time of query. Format: ‘YYYY-MM-DD hh:mm:ss’. Current time is considered if undefined.
- -i, --stream-id string¶
Waveform stream ID to search for QC parameters: net.sta.loc.cha - [networkCode].[stationCode].[sensorLocationCode].[channelCode]. Provide a single ID or a comma-separated list. Overrides ‘--streams-from-inventory’.
- -p, --parameter string¶
QC parameter to output: (e.g. delay,rms,’gaps count’ …). Use quotes if QC parameter has more than 1 word. Provide a single parameter or a comma-separated list. Defaults are used if parameter is undefined.
- --streams-from-inventory¶
Read streams from inventory. Superseded by ‘--stream-id’.