.. _autolambda-sec-methods: |appname|: Methods ================== |appname| provides some array methods for automatic data processing which are also available in :ref:`lambda `: * Slowness-wavenumber analysis * Backprojection * PMCC The :ref:`configuration ` of |appname| should be based on the parameters tested and applied in :ref:`lambda `. Some arrays and a basic configuration of the processing is provided with the default confguration. For your own application you need to configure in :file:`autolambda.cfg` at least: * One or more arrays, e.g. GERESS, with all required elements. * One or more base profiles for defining common data processing parameters the profile *teleseismics* * One or more profiles for each method to be applied defining the specific parameters. * The method-dependent bindings of arrays and profiles .. _autolambda-sec-fk: Slowness-wavenumber analysis ---------------------------- |appname| implements the automatic slowness-wavenumber analysis based on :ref:`F-K analysis` or :ref:`beampacking`. For using the method you need to configure, as a minimum, at least one array with its base and processing profiles in the form *array;base profile;slownessgrid profile*, e.g. :: bindings.slownessgrid = GERESS;tele;tele .. _autolambda-sec-backp: Backprojection -------------- |appname| implements the automatic :ref:`backprojection ` analysis for detecting and for locating seismic events based on :ref:`F-K analysis` or :ref:`beampacking`. Currently, only stacking of filtered waveforms along the travel-time curves of P or S phases is supported. The computation of other characteristic functions and stacking along multiple travel-time curves is planned. For using the method you need to configure, as a minimum, at least one array with its base and processing profiles in the form *array;base profile;backprojection profile*, e.g. :: bindings.backprojection = GERESS;local;local .. _autolambda-sec-pmcc: PMCC ---- |appname| implements the automatic :ref:`PMCC ` analysis. For using the method you need to configure, as a minimum, at least one array with its base and processing profiles in the form *array;base profile;pmcc profile*, e.g. :: bindings.pmcc = GERESS;tele;tele .. _autolambda-sec-modes: Modes of Operation ================== Daemon mode ----------- |appname| can be operated in message daemon mode running constantly in the background. For the deamon mode |appname| must be started. For automatic startup it must be enabled: :: seiscomp enable autolambda seiscomp start autolambda On demand --------- |appname| can be operated on demand and executed in * Message-based mode to process real-time or non-real-time data. The results from |appname|, e.g. picks and origins, will be sent to the messaging system where they are accessible to the connected modules for further processing. **Examples:** #. Run |appname| on the command line with the given module configrationion of the system but print descriptive debug output: :: autolambda --debug #. Run |appname| with data from a miniSEED file. All runtime information are printed to the terminal: :: autolambda -I [data input by RecordStream] -H [messaging host] --console=1 * Offline mode to process non-real-time data without connection to the messaging. The data are typically sent to an XML file or to standard output. Read the section :ref:`autolambda-sec-example-offline` for more details and examples. Playbacks ========= Playbacks may be used to process a particular set of data as in real-time operation of as fast as prossible. .. _autolambda-sec-example-messaging: Message-based data processing ----------------------------- Data may be proceessed on demand in message-based non-real-time operation. The results are automatically sent to the messaging system. * **Reference time:** Consider that the other modules which shall receive picks and origins, e.g. :cite:t:`scanloc`, :cite:t:`scautoloc`, :cite:t:`scamp`, :cite:t:`scmag` or :cite:t:`scevent` must also be able to process these objects. For currently close stations or stations with changed inventory, additionally set the reference time: .. code-block:: sh autolambda -I [miniSEED file sorted by time] -H [messaging host] --ref-time "2018-08-27 01:00:00.000" * For real-time operation, start |appname| in one terminal with a real-time :term:`RecordStream`, .e.g. *slink* or *caps*. You may also play back the data in another terminal using :cite:t:`msrtsimul`. Terminal 1 runs |appname| with *caps* :term:`recordstream`: :: autolambda -I caps://localhost:18002 --debug .. hint:: For playbacks based on a CAPS server read the instructions on `real-time playbacks using caps `_. In case of a playback, terminal 2 provides the data: :: msrtsimul -v [your sorted miniSEED file, 512 Bytes records] .. _autolambda-sec-example-offline: Offline data processing ----------------------- In offline mode the processing results, e.g. picks and origins, are printed to stdout. The can be redirected to an XML file which can be passed in to other modules such as `scanloc `_ and processed using the option :confval:`--ep`. * Run |appname| with data from a miniSEED file. Connect to the database to get all station information. The reference time can be set to the epoch of the data guaranteeing that the array is recognized. The default refefence time is the time of execution. All runtime information are printed to the terminal: .. code-block:: sh autolambda --ep -I [miniSEED file sorted by time] -d [host]/[database] --console=1 > results.xml * For data processing from closed stations or from stations with changed inventory, the reference time must be set to the respective period ensuring that station inventory is defined therein, e.g. .. code-block:: sh autolambda --ep -I [miniSEED file sorted by time] -d [host]/[database] --ref-time "2018-08-27 01:00:00.000" > results.xml * Additional progress report may may provided as an info message independent of the debug messages. The report is usefull to evaluate the processing speed. Use the option :confval:`--progress`, e.g. for intervals of 900 s .. code-block:: sh autolambda --ep -I [miniSEED file sorted by time] -d [host]/[database] --ref-time "2018-08-27 01:00:00.000" --console=1 -v --progress 900 > results.xml .. _autolambda-sec-setup: Configuration and Setup ======================= The control parameters of |appname| are described in the :ref:`configuration section `. .. note:: |appname| can be configured with standard :term:`RecordStreams ` provided in |scname|. Additional powerful RecordStreams are shipped by the |gempa| module `CAPS `_. .. _autolambda-sec-setup-single: Single instance --------------- #. **Arrays:** Define the arrays to be considered by creating array profiles in the :confval:`arrays` configuration section. #. **Waveform processing:** Create or adjust at least one base profile as :confval:`profiles.base.$name`. Configure the basic parameters for waveform processing. Examples exist for processing waveforms recorded a local or telseseismic distances. #. **Method-specific settings:** * **Slowness-wavenumber analysis:** Create at least on profile as :confval:`profiles.slownessgrid.$name` defining the extent and the resolution of the slowness grid. * **Backprojection:** Create at least one profile as :confval:`profiles.backprojection.$name` defining the extent and the resolution of the search area as well as the travel-time table for stacking waveforms along the travel-time curves. Currently, "LOCSAT" or "libtau" are supported for the type. * **PMCC:** Define the parameters for forming pixel families. #. **Bindings:** Define per method the array to use along with one base and one method profile. Create the array bindings for slownessgrid, backprojection or PMCC, :confval:`bindings.slownessgrid`, :confval:`bindings.backprojection` or :confval:`bindings.pmcc`, respectively. * one array can be used with multiple methods at the same time. * one method can be used with multiple arrays at the same time. * an empty bindings parameter causes the method to be ignored. #. Consider other system settings and integrations: * :cite:t:`pipeline`: Configure :confval:`connection.primaryGroup` to send picks to the desired primary group when using a |appname| in a non-standard processing pipeline. * :cite:t:`scanloc`: configure `association.minPhase = 1` if you wish to associate more picks to origins from backprojection. * locator: Depending on the method picks may have values for backazimuth and slowness. If incorrect, they may bias the location. Thus, their use may be deactivated per locator in global configuration, e.g. for :cite:t:`locsat` by :confval:`LOCSAT.usePickBackazimuth` and :confval:`LOCSAT.usePickSlowness` (requires SeisComP v>5.0.0). * Event association: You may wish to configure :cite:t:`scevent` to create events from origins with only one phase picks, when applying backprojection. .. _autolambda-sec-setup-multiple: Multiple instances ------------------ One or more arrays can be used for multiple tasks by configuration of the array bindings. You may therefore set up and operate multiple instances of |appname| with different configurations. To start a new instance, e.g. called l1alambda #. Create the module alias: .. code-block:: sh seiscomp alias create l1alambda autolambda #. Configure this new alias module as a :ref:`single instance `. #. :ref:`Operate ` the alias module.