.. highlight:: rst .. _scheli: ###### scheli ###### **Real-time helicorder view for one stream.** Description =========== :program:`scheli` visualizes waveforms from a single stream or multiple stations mimicking a drum-recorder plot (see :ref:`fig-scheli`): * :program:`scheli` plots one configurable trace in helicorder style in the :term:`GUI` (:ref:`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 :ref:`GUI mode` or a set of multiple channels in :ref:`capture mode`. The images can be used, e.g. for showing data images on web sites. .. _fig-scheli: .. figure:: media/scheli.png :width: 16cm :align: center scheli in GUI mode Examples ======== .. _scheli-show: 1. **GUI mode - Simple helicorder window:** * Learn about the plenty command-line options for :program:`scheli`: :: scheli -h * Start :program:`scheli` with the configured values and informative debug output: :: scheli --debug * Let :program:`scheli` show data from the CX station PB01 for the previous 5 hours overriding configuration by command-line paramaters: .. code-block:: sh 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 .. _scheli-capture: 2. **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. .. code-block:: sh scheli capture --stream CX.PB01..HHZ --stream CX.PB02..HHZ --stream 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 :program:`scheli` parameters are adjusted in the :ref:`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 :file:`scheli.cfg`: .. code-block:: sh # 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 .. _scheli_configuration: Module Configuration ==================== | :file:`etc/defaults/global.cfg` | :file:`etc/defaults/scheli.cfg` | :file:`etc/global.cfg` | :file:`etc/scheli.cfg` | :file:`~/.seiscomp/global.cfg` | :file:`~/.seiscomp/scheli.cfg` scheli inherits :ref:`global options`. .. confval:: 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 .. confval:: heli.filter Type: *string* Filter to be applied on the data. .. confval:: heli.numberOfRows Default: ``48`` Type: *integer* Filter to be applied on the data. .. confval:: heli.rowTimeSpan Default: ``1800`` Type: *double* Unit: *s* Length of data per trace. .. confval:: heli.timeFormat Default: ``%F`` 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\). .. confval:: heli.recordTime Default: ``false`` Type: *boolean* Set current time to last data sample. .. confval:: heli.lineWidth Default: ``1`` Type: *integer* Unit: *px* Line width of traces. .. confval:: heli.colors Default: ``FF0000, 0000FF`` Type: *list:string* A list of alternating row colors cycled through for painting traces. .. confval:: heli.antialiasing Default: ``false`` Type: *boolean* Use anti aliasing to plot the traces. The default uses the settings from scheme.records.antiAliasing .. confval:: heli.stream.description Default: ``true`` Type: *boolean* Add stream description to traces. .. note:: **heli.amplitudeRange.\*** *Gain-corrected amplitudes given in units of the sensor.* *For example: m/s.* .. confval:: heli.amplitudeRange.scaling Default: ``minmax`` 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. .. confval:: heli.amplitudeRange.min Default: ``-0.00001`` Type: *double* Unit: *unit of input data* Minimum amplitude to show in trace. Requires amplitudeRange.scale \= \"minmax\". .. confval:: heli.amplitudeRange.max Default: ``0.00001`` Type: *double* Unit: *unit of input data* Minimum amplitude to show in trace. Requires amplitudeRange.scale \= \"minmax\". .. note:: **heli.dump.\*** *Control dumping of PNG images.* *Execute "scheli capture" for image generation in* *the background without the graphics.* .. confval:: heli.dump.interval Default: ``-1`` Type: *integer* Unit: *s* Image creation interval. Negative values disable image dumping. If enabled, images are generated at the configured interval. .. confval:: heli.dump.outputFile Default: ``/tmp/heli_%N_%S_%L_%C.png`` 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. .. confval:: heli.dump.dpi Default: ``300`` Type: *integer* Unit: *dpi* Image resolution. .. confval:: heli.dump.xres Default: ``1024`` Type: *integer* Unit: *px* Number of pixels horizontally. .. confval:: heli.dump.yres Default: ``768`` Type: *integer* Unit: *px* Number of pixels vertically. .. confval:: scripts.postprocessing Type: *path* Define 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 Options ==================== .. program:: scheli :program:`scheli [options]` Generic ------- .. option:: -h, --help Show help message. .. option:: -V, --version Show version information. .. option:: --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. Example: scautopick \-> scautopick2. .. option:: --plugins arg Load given plugins. .. option:: -D, --daemon Run as daemon. This means the application will fork itself and doesn't need to be started with \&. .. option:: --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\). .. option:: --shutdown-master-module arg Set 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. .. option:: --shutdown-master-username arg Set 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 --------- .. option:: --verbosity arg Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug. .. option:: -v, --v Increase verbosity level \(may be repeated, eg. \-vv\). .. option:: -q, --quiet Quiet mode: no logging output. .. option:: --component arg Limit the logging to a certain component. This option can be given more than once. .. option:: -s, --syslog Use syslog logging backend. The output usually goes to \/var\/lib\/messages. .. option:: -l, --lockfile arg Path to lock file. .. option:: --console arg Send log output to stdout. .. option:: --debug Execute in debug mode. Equivalent to \-\-verbosity\=4 \-\-console\=1 . .. option:: --log-file arg Use alternative log file. .. option:: --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. .. option:: --trace Execute in trace mode. Equivalent to \-\-verbosity\=4 \-\-console\=1 \-\-print\-component\=1 \-\-print\-context\=1 . Messaging --------- .. option:: -u, --user arg Overrides configuration parameter :confval:`connection.username`. .. option:: -H, --host arg Overrides configuration parameter :confval:`connection.server`. .. option:: -t, --timeout arg Overrides configuration parameter :confval:`connection.timeout`. .. option:: -g, --primary-group arg Overrides configuration parameter :confval:`connection.primaryGroup`. .. option:: -S, --subscribe-group arg A group to subscribe to. This option can be given more than once. .. option:: --content-type arg Overrides configuration parameter :confval:`connection.contentType`. .. option:: --start-stop-msg arg Set sending of a start and a stop message. Database -------- .. option:: --db-driver-list List all supported database drivers. .. option:: -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\". .. option:: --config-module arg The config module to use. .. option:: --inventory-db arg Load the inventory from the given database or file, format: [service:\/\/]location . .. option:: --config-db arg Load the configuration from the given database or file, format: [service:\/\/]location . Records ------- .. option:: --record-driver-list List all supported record stream drivers. .. option:: -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. .. option:: --record-file arg Specify a file as record source. .. option:: --record-type arg Specify a type for the records being read. User interface -------------- .. option:: -F, --full-screen Start the application filling the entire screen. This only works with GUI applications. .. option:: -N, --non-interactive Use non\-interactive presentation mode. This only works with GUI applications. Mode ---- .. option:: --offline Do not connect to a messaging server and do not use the database. .. option:: --end-time arg Set the acquisition end time, e.g. '2017\-09\-08 13:30:00', default: 'gmt' Data ---- .. option:: --stream arg The record stream that should be displayed. Can be used multiple times for multiple streams. Example: GR.MOX..BHZ \(net.sta.loc.cha\) .. option:: --filter arg The filter to apply .. option:: --gain arg Gain applied to the data before plotting .. option:: --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. .. option:: --amp-range-min arg Lower bound of amplitude range per row .. option:: --amp-range-max arg Upper bound of amplitude range per row .. option:: --amp-range arg Arround zero bound of amplitude range per row .. option:: --record-time arg Do the last row always contain the last record received Output ------ .. option:: --desc arg Enable\/disable the display of a station description .. option:: --rows arg Configure the number of rows to display .. option:: --time-span arg Configure the time\-span \(in secs\) per row. Unit: seconds. .. option:: --aa arg Set antialiasing for rendering the traces .. option:: --xres arg Output x resolution when generating images. Unit: dpi. .. option:: --yres arg Output y resolution when generating images. Unit: dpi. .. option:: --dpi arg Output dpi when generating postscript. Unit:dpi. .. option:: -o arg Output filename. Placeholders are %N,%S,%L,%C for network code, station code, location code, channel code. .. option:: --interval arg Snapshot interval \(less than 0 disables timed snapshots\). Unit: seconds.