scheli¶
Real-time helicorder view for one stream
Description¶
scheli visualizes waveforms from a single stream or multiple stations mimicking a drum-recorder plot (see scheli in GUI mode):
scheli plots one configurable trace in helicorder style in the GUI (GUI mode).
Configurable GUI: trace colors, visualized time spans, number of rows, data filtering, amplitude ranges and much more.
Automatic image capturing: Capture helicorder images at configurable time intervals of one trace in GUI mode or a set of multiple channels in capture mode. The images can be used, e.g. for showing data images on web sites.
Examples¶
GUI mode - Simple helicorder window:
Learn about the plenty command-line options for scheli:
scheli -h
Start scheli with the configured values and informative debug output:
scheli --debug
Let scheli show data from the CX station PB01 for the previous 5 hours overriding configuration by command-line paramaters:
scheli --stream CX.PB01..HHZ --rows 10
Define the data request window by end time and duration; scale traces to the maximum amplitude per row:
scheli --stream IU.TSUM.00.BHZ --end-time "2021-04-22 14:00:00" --time-span 600 --amp-scaling row
Capture mode - Image capturing:
Capture the helicorder plot for 3 stations in intervals of 10 seconds. The data is retrieved using seedlink and the plots are stored as PNG images. The image files are named according to network, station, stream and location codes of the requested stations. Command-line parameters override the module configuration.
scheli capture --stream "CX.PB01..HHZ,CX.PB02..HHZ,CX.PB04..HHZ" --interval 10 -o "/tmp/heli_%N_%S_%L_%C.png" -H localhost -I slink://localhost
The output file names will be generated based on network code (%N), station code (%S), location code (%L) and stream code (%C):
/tmp/CX.PB01..HHZ.png /tmp/CX.PB02..HHZ.png /tmp/CX.PB04..HHZ.png
Setup¶
Specifc scheli parameters are adjusted in the module configuration.
Colors of traces etc. can be adjusted by setting the scheme parameters in
the global configuration of scheli. For alternating colors between the traces
set the parameters scheme.colors.records.foreground and
scheme.colors.records.alternateForeground in scheli.cfg
:
# The general color of records/traces.
scheme.colors.records.foreground = 4286F4
# A general trace color of the alternate trace (eg scheli).
scheme.colors.records.alternateForeground = B72D0E
Configuration¶
etc/defaults/global.cfg
etc/defaults/scheli.cfg
etc/global.cfg
etc/scheli.cfg
~/.seiscomp/global.cfg
~/.seiscomp/scheli.cfg
scheli inherits global options.
-
heli.streams
¶ Type: list:string
List of stream codes to be plotted (net.sta.loc.cha). If not in capture mode only the first stream is shown. When using a list, the first entry is considered. Use commas for separating streams.
Example: GR.MOX..BHZ
-
heli.filter
¶ Type: string
Filter to be applied on the data.
-
heli.numberOfRows
¶ Type: integer
Filter to be applied on the data. Default is
48
.
-
heli.rowTimeSpan
¶ Type: double
Unit: s
Length of data per trace. Default is
1800
.
-
heli.timeFormat
¶ Type: string
The time format used to print the start and end time of the whole plot (upper right corner). The format specification is the one used in the strftime function (man strftime). Default is
%F
.
-
heli.recordTime
¶ Type: boolean
Sets current time to last data sample Default is
false
.
-
heli.lineWidth
¶ Type: integer
Unit: px
Line width of traces. Default is
1
.
-
heli.colors
¶ Type: list:string
A list of alternating row colors cycled through for painting traces. Default is
FF0000, 0000FF
.
-
heli.antialiasing
¶ Type: boolean
Use anti aliasing to plot the traces. The default uses the settings from scheme.records.antiAliasing Default is
false
.
-
heli.stream.description
¶ Type: boolean
Add stream description to traces. Default is
true
.
Note
heli.amplitudeRange.* Gain-corrected amplitudes given in units of the sensor, e.g. m/s.
-
heli.amplitudeRange.scaling
¶ Type: string
Define the method to scale traces within rows. Possible values are:
minmax: Scale all rows to configured minimum and maximum amplitudes configured by amplitudeRange.min and amplitudeRange.max.
row: Scale each row to the maximum within this row. Default is
minmax
.
-
heli.amplitudeRange.min
¶ Type: double
Unit: unit of input data
Minimum amplitude to show in trace. Requires amplitudeRange.scale = “minmax”. Default is
-0.00001
.
-
heli.amplitudeRange.max
¶ Type: double
Unit: unit of input data
Minimum amplitude to show in trace. Requires amplitudeRange.scale = “minmax”. Default is
0.00001
.
Note
heli.dump.* Control dumping of PNG images. Execute “scheli capture” for image generation in the background without the graphics.
-
heli.dump.interval
¶ Type: integer
Unit: s
Image creation interval. Negative values disable image dumping. If enabled, images are generated at the configured interval. Default is
-1
.
-
heli.dump.outputFile
¶ Type: string
Name of output file. The filename can contain placeholders that are replaced by the corresponding streamID parts:
%N : network code
%S : station code
%L : location code
%C : channel code
Placeholders are important if more than one stream is given and capture mode is active. Default is
/tmp/heli_%N_%S_%L_%C.png
.
-
heli.dump.dpi
¶ Type: integer
Unit: dpi
Image resolution Default is
300
.
-
heli.dump.xres
¶ Type: integer
Unit: px
Number of pixels horizontally Default is
1024
.
-
heli.dump.yres
¶ Type: integer
Unit: px
Number of pixels vertically Default is
768
.
-
scripts.postprocessing
¶ Type: path
Defines the path to a script that is called whenever an image has been captured and written to disc. The only parameter is the path to the generated image.
Command-line¶
Generic¶
-
-h
,
--help
¶
show help message.
-
-V
,
--version
¶
show version information
-
--config-file
arg
¶ Use alternative configuration file. When this option is used the loading of all stages is disabled. Only the given configuration file is parsed and used. To use another name for the configuration create a symbolic link of the application or copy it, eg scautopick -> scautopick2.
-
--plugins
arg
¶ Load given plugins.
-
-D
,
--daemon
¶
Run as daemon. This means the application will fork itself and doesn’t need to be started with &.
-
--auto-shutdown
arg
¶ Enable/disable self-shutdown because a master module shutdown. This only works when messaging is enabled and the master module sends a shutdown message (enabled with –start-stop-msg for the master module).
-
--shutdown-master-module
arg
¶ Sets the name of the master-module used for auto-shutdown. This is the application name of the module actually started. If symlinks are used then it is the name of the symlinked application.
-
--shutdown-master-username
arg
¶ Sets the name of the master-username of the messaging used for auto-shutdown. If “shutdown-master-module” is given as well this parameter is ignored.
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
¶ Limits the logging to a certain component. This option can be given more than once.
-
-s
,
--syslog
¶
Use syslog logging back end. The output usually goes to /var/lib/messages.
-
-l
,
--lockfile
arg
¶ Path to lock file.
-
--console
arg
¶ Send log output to stdout.
-
--debug
¶
Debug mode: –verbosity=4 –console=1
-
--log-file
arg
¶ Use alternative log file.
Messaging¶
-
-u
,
--user
arg
¶ Overrides configuration parameter
connection.username
.
-
-H
,
--host
arg
¶ Overrides configuration parameter
connection.server
.
-
-t
,
--timeout
arg
¶ Overrides configuration parameter
connection.timeout
.
-
-g
,
--primary-group
arg
¶ Overrides configuration parameter
connection.primaryGroup
.
-
-S
,
--subscribe-group
arg
¶ A group to subscribe to. This option can be given more than once.
-
--content-type
arg
¶ Overrides configuration parameter
connection.contentType
.
-
--start-stop-msg
arg
¶ Sets sending of a start- and a stop message.
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”.
-
--config-module
arg
¶ The configmodule to use.
-
--inventory-db
arg
¶ Load the inventory from the given database or file, format: [service://]location
Records¶
-
--record-driver-list
¶
List all supported record stream drivers
-
-I
,
--record-url
arg
¶ The recordstream source URL, format: [service://]location[#type]. “service” is the name of the recordstream driver which can be queried with “–record-driver-list”. If “service” is not given “file://” is used.
-
--record-file
arg
¶ Specify a file as record source.
-
--record-type
arg
¶ Specify a type for the records being read.
Mode¶
-
--offline
¶
Do not connect to a messaging server and do not use the database.
-
--end-time
arg
¶ Set the acquisition end time, e.g. ‘2017-09-08 13:30:00’, default: ‘gmt’
Data¶
-
--stream
arg
¶ The record stream that should be displayed: stream=net.sta.loc.cha
-
--filter
arg
¶ The filter to apply
-
--gain
arg
¶ Gain applied to the data before plotting
-
--amp-scaling
arg
¶ Lower bound of amplitude range per row. Possible values:
minmax: Scale all rows to configured minimum and maximum amplitudes.
row: Scale each row to the maximum within this row.
-
--amp-range-min
arg
¶ Lower bound of amplitude range per row
-
--amp-range-max
arg
¶ Upper bound of amplitude range per row
-
--amp-range
arg
¶ Arround zero bound of amplitude range per row
-
--record-time
arg
¶ Does the last row always contain the last record received
Output¶
-
--desc
arg
¶ Enables/disables the display of a station description
-
--rows
arg
¶ Configures the number of rows to display
-
--time-span
arg
¶ Configures the time-span (in secs) per row. Unit: seconds.
-
--aa
arg
¶ Sets antialiasing for rendering the traces
-
--xres
arg
¶ Output x resolution when generating images. Unit: dpi.
-
--yres
arg
¶ Output y resolution when generating images. Unit: dpi.
-
--dpi
arg
¶ Output dpi when generating postscript. Unit: dpi.
-
-o
arg
¶ Output filename. Placeholders are %N,%S,%L,%C for network code, station code, location code, channel code.
-
--interval
arg
¶ Snapshot interval (less than 0 disables timed snapshots). Unit: seconds.