qlplayback¶
Uses a quakelink event archive directory, modifies timestamps and feeds the data into another quakelink instance.
Description¶
qlplayback feeds event parameter into a quakelink server for simulating real-time conditions in a playback:
Read event parameters from a Quakelink event archive directory.
Modify the timestamp before sending to the server.
It is part of the QuakeLink suite. Please read the command-line help for the options:
qlplayback -h
Workflow¶
qlplayback enters an arbitrary quakelink event directory and reads the
revision log file. The time difference from the current system time to the
first revision timestamp is being computed and applied to all timestamps of all
objects of the XML files unless --time-delta
is specified.
That means that all creationInfo.creationTime and creationInfo.modificationTime
values are being modified, all pick.time.value values are being modified and the
publicIDs of all objects are also being recomputed and reassigned.
After all those modifications have taken place, the revisions will be sent to quakelink in a way which simulates real-time updates. The first revision is being sent immediately. The second revision will be sent after the time difference of the second revision and the first revision and so on. This is very similar to msrtsimul of seedlink.
SeisComP Setup¶
In order to forward the playback data to SeisComP, ql2sc must be utilized and configured. It depends on whether scevent should run on the target system or not. A simple playback which just wants to test downstream modules or which wants to show real-time updates on e.g. scesv does not need to run scevent and can forward also Events from quakelink. Injecting playbacks into a processing system with interactive analysis must not forward Events and requires scevent to be running.
Without scevent¶
File: ql2sc.cfg
hosts = playback
# Request native data instead of XML format. Native data export may be disabled
# on some hosts.
host.playback {
native = true
url = ql://localhost:18010
syncEventAttributes = false # Because we forward events
routingTable = Pick:PICK,\
Amplitude:AMPLITUDE,\
Origin:LOCATION,\
FocalMechanism::FOCMECH,\
Event:EVENT
}
This setup will connect to the quakelink server which receives the playback XML files from qlplayback and forward everything to SeisComP, also events.
With scevent¶
File: ql2sc.cfg
hosts = playback
# Request native data instead of XML format. Native data export may be disabled
# on some hosts.
host.playback {
native = true
url = ql://localhost:18010
syncEventAttributes = true
routingTable = Pick:IMPORT_GROUP,\
Amplitude:IMPORT_GROUP,\
Origin:EVENT,\
FocalMechanism::EVENT
}
This setup will connect to the quakelink server which receives the playback XML files from qlplayback and forward only origins and focal mechanisms to scevent. Picks and amplitudes will be forwarded to the IMPORT_GROUP and therefore invisible for e.g. scamp and scmag.
Run required modules¶
Here only the additional modules to the existing SeisComP processing modules are listed:
seiscomp start quakelink ql2sc
Examples¶
Playback of a certain event in the QuakeLink archive.
qlplayback $SEISCOMP_ROOT/var/lib/quakelink/archive/2022/09/18/gempa2022shod
Module Configuration¶
etc/defaults/global.cfg
etc/defaults/qlplayback.cfg
etc/global.cfg
etc/qlplayback.cfg
~/.seiscomp/global.cfg
~/.seiscomp/qlplayback.cfg
qlplayback inherits global options.
Note
Modules/plugins may require a license file. The default path to license
files is @DATADIR@/licenses/
which can be overridden by global
configuration of the parameter gempa.licensePath
. Example:
gempa.licensePath = @CONFIGDIR@/licenses
Command-Line Options¶
qlplayback [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.
- --print-component arg¶
For each log entry print the component right after the log level. By default the component output is enabled for file output but disabled for console 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 .
- --trace¶
Execute in trace mode. Equivalent to --verbosity=4 --console=1 --print-component=1 --print-context=1 .
- --log-file arg¶
Use alternative log file.
Quakelink¶
- -H, --host¶
Host name or IP of the QuakeLink server to connect to.
- --dry-run¶
Do not send any events to QuakeLink.
Playback¶
- -d, --time-delta seconds¶
Define a fixed time delta in seconds. This prevents qlplayback from figuring out the time delta itself.