Configuration

The SeisComP3 configuration uses a unified schema to configure modules. Modules which use the SeisComP3 libraries can read this configuration directly and share global configuration options like messaging connections, database configurations, logging and much more. There are still some modules that do not use the libraries and are called standalone modules such as seedlink, arclink or slarchive. They need wrappers to generate their native configuration when seiscomp update-config is run.

Though it is easy to create the configuration by directly editing the configuration files, it is even more convenient to use a configurator. SeisComP3 ships with a graphical configurator and management tool (scconfig) which makes it easy to maintain module configurations and station bindings even for large networks. It has built-in functionality to check the state of all registered modules and to start and stop them.

The configuration is divided into three parts: stations, bindings and modules.

Configuration files

The trunk configuration files are simple text files where each line is a name-value pair.

Warning

In contrast to previous versions of SeisComP3 the parameter names are now case-sensitive. To check configurations from previous versions regarding case-sensitivity, scchkcfg can be used.

A simple example to assign a parameter “skyColor” the value “blue”:

skyColor = blue

Everything following an un-escaped ‘#’ (hash) is a comment and ignored. Blank lines and white spaces are ignored by the parser as well unless quoted or escaped.

skyColor = yellow  # This is a comment

# The preceding empty line is ignored and previous setting "yellow"
# is replaced by "blue":
skyColor = blue

Later assignments overwrite earlier ones so the order of lines in the configuration file is important. The file is parsed top-down.

Values can be either scalar values or lists. List items are separated by commas.

# This is a list definition
rainbowColors = red, orange, yellow, green, blue, indigo, violet

If a value needs to include a comma, white space or any other interpretable character it can either be escaped with backslash (\) or quoted using double quotes (“). Whitespaces are removed in unquoted and un-escaped values.

# This is a comment

# The following list definitions have 2 items: 1,2 and 3,4
# quoted values
tuples = "1,2", "3,4"
# escaped values
tuples = 1\,2, 3\,4

Values can extend over multiple lines if a backslash is appended to each line

# Multi-line string
text = "Hello world. "\
       "This text spawns 3 lines in the configuration file "\
       "but only one line in the value."

# Multi-line list definition
rainbowColors = red,\
                orange,\
                yellow,\
                green, blue,\
                indigo, violet

Environment or preceding configuration variables can be used with ${var}.

homeDir = ${HOME}
myPath = ${homeDir}/test

Note

Values are not type-checked. Type checking is part of the application logic and will be handled there. The configuration file parser will not raise an error if a string is assigned to a parameter that is expected to be an integer.

Namespaces

A basic usage of variable names is to organize them in namespaces. A common habit is to separate namespaces and variable names with a period character:

colors.sky = blue
colors.grass = green

Here a namespace called colors is used. The configuration file parser does not care about namespaces at all. The final name (including the periods) is what counts. But to avoid repeating namespaces again and again, declarations can be wrapped in a namespace block. See the following example:

colors {
  sky = blue
  grass = green
}

Application code will still access colors.sky and colors.grass. Namespaces can be arbitrarily nested and even survive includes.

A {
  B1 {
    var1 = 123
  }

  B2 {
    var1 = 456
  }
}

The final list of parameter names is:

  • A.B1.var1
  • A.B2.var1

Stations

Station meta-data is a fundamental requirement for a seismic processing system and for SeisComP3. Older version used key files to configure available networks and stations. Because the support of response meta-data was very limited, tools were build to add this functionality. In this version the concept of key files for station meta-data has been completely removed from the system. SeisComP3 only handles station meta-data in its own XML format called inventory ML. The task of supporting old key files, dataless SEED and other formats has been out-sourced to external applications (see Inventory synchronization is a two-stage process:).

apps/media/config/inventory-sync.*

Figure 1: Inventory synchronization is a two-stage process:

(1) convert external formats into inventory ML, then (2) synchronize inventory pool with the database

External formats are first converted into inventory ML, and then merged and synchronized with the database using seiscomp update-config. All station meta-data are stored in etc/inventory and can be organized as needed. Either one file per network, a file containing the complete inventory or one file for all instruments and one file per station. The update script loads the existing inventory from the database and merges each file in etc/inventory. Finally it removes all unreferenced objects and sends all updates to the database.

The SeisComP3 configuration does not deal with station meta-data anymore. It only configures parameters for modules and module-station associations. The management of the inventory can and should be handled by external tools.

Bindings

A binding is always connected to a module. The binding configuration directory for each module is etc/key/modulename. It contains either station bindings or profiles.

Bindings are configured and stored in etc/key.

apps/media/config/binding.*

Figure 2: Binding

A binding holds the configuration how a station is used in a module.

To bind a station (identified by net_sta) to a module with a set of parameters the first step is to register a module for that station. For that a station key file needs to be created or modified.

Note

To reflect the old framework, a station binding is prefixed with station_ and a profile with profile_.

Let’s suppose we have two stations, GE.MORC and GE.UGM and both stations should be configured for SeedLink. Two station key files need to be created (or modified later): etc/key/station_GE_MORC and etc/key/station_GE_UGM.

Both files must contain a line with the module the station is configured for, e.g.:

seedlink

which uses the binding at etc/key/seedlink/station_GE_UGM. When a profile should be used, append it to the module with a colon.

seedlink:geofon

Then the binding at etc/key/seedlink/profile_geofon is read for station GE.UGM. To list all modules a particular station is configured for is very simple by printing the content of the station key file:

$ cat etc/key/station_GE_MORC
seedlink:geofon
global:BH
scautopick

The other way round is a bit more complicated but at least all information is there. To show all stations configured for SeedLink could be done this way:

$ for i in `find etc/key -type f -maxdepth 1 -name "station_*_*"`; do
> egrep -q '^seedlink(:.*){0,1}$' $i && echo $i;
> done
etc/key/station_GE_MORC
etc/key/station_GE_UGM

Storage

Where are bindings stored? For standalone modules: nobody knows. It is the task of a standalone module’s initialization script to convert the bindings to the module’s native configuration.

For all trunk (non-standalone) modules the bindings are written to the SeisComP3 database following the configuration schema. This is done when seiscomp update-config is called. Each module reads the configuration database and fetches all station bindings registered for that module. The database schema used consists of five tables: ConfigModule, ConfigStation, Setup, ParameterSet and Parameter.

apps/media/config/configdb-schema.*

Figure 3: Configuration database schema

Now an example is shown how the tables are actually linked and how the station bindings are finally stored in the database. To illustrate the contents of the objects, the XML representation is used.

<Config>
  <module publicID="Config/trunk" name="trunk" enabled="true">
    ...
  </module>
</Config>

A ConfigModule with publicID Config/trunk is created with name trunk. This ConfigModule is managed by the global initialization script (etc/init/trunk.py) and will be synchronized with configured bindings of all trunk modules. The ConfigModule trunk is the one that is actually used by all configurations unless configured otherwise with:

scapp --config-module test

Here scapp would read ConfigModule test. Because a ConfigModule test is not managed by seiscomp update-config it is up to the user to create it.

For each station that has at least one binding, a ConfigStation object is attached to the ConfigModule:

<Config>
  <module publicID="Config/trunk" name="trunk" enabled="true">
    <station publicID="Config/trunk/GE/UGM"
             networkCode="GE" stationCode="UGM" enabled="true">
      ...
    </station>
  </module>
</Config>

and finally one Setup per module:

<Config>
  <module publicID="Config/trunk" name="trunk" enabled="true">
    <station publicID="Config/trunk/GE/UGM"
             networkCode="GE" stationCode="UGM" enabled="true">
      <setup name="default" enabled="true">
        <parameterSetID>
          ParameterSet/trunk/Station/GE/UGM/default
        </parameterSetID>
      </setup>
      <setup name="scautopick" enabled="true">
        <parameterSetID>
          ParameterSet/trunk/Station/GE/UGM/scautopick
        </parameterSetID>
      </setup>
    </station>
  </module>
</Config>

Here two setups have been created: default (which is a special case for module global to be backwards compatible) and scautopick where each refers to a ParameterSet by its publicID. The next XML fragment shows the ParameterSet referred by the scautopick setup of station GE.UGM:

<Config>
  <parameterSet publicID="ParameterSet/trunk/Station/GE/UGM/scautopick"
                created="...">
    <baseID>ParameterSet/trunk/Station/GE/UGM/default</baseID>
    <moduleID>Config/trunk</moduleID>
    <parameter publicID="...">
      <name>timeCorr</name>
      <value>-0.8</value>
    </parameter>
    <parameter publicID="...">
      <name>detecFilter</name>
      <value>
        RMHP(10)&gt;&gt;ITAPER(30)&gt;&gt;BW(4,0.7,2)&gt;&gt;STALTA(2,80)
      </value>
    </parameter>
    <parameter publicID="...">
      <name>trigOff</name>
      <value>1.5</value>
    </parameter>
    <parameter publicID="...">
      <name>trigOn</name>
      <value>3</value>
    </parameter>
  </parameterSet>
</Config>

The mapping to the binding configuration files is 1:1. Each parameter in the configuration file is exactly one parameter in the database and their names are matching exactly.

The concept of global bindings which are specialized for each application is reflected by the baseID of the ParameterSet which points to setup default of station GE.UGM:

<Config>
  <parameterSet publicID="ParameterSet/trunk/Station/GE/UGM/default"
                created="...">
    <moduleID>Config/trunk</moduleID>
    <parameter publicID="...">
      <name>detecStream</name>
      <value>BH</value>
    </parameter>
  </parameterSet>
</Config>

This ends up with a final configuration for scautopick and station GE.UGM:

Name Value
detecStream BH
timeCorr -0.8
detecFilter RMHP(10)>>ITAPER(30)>>BW(4,0.7,2)>>STALTA(2,80)
trigOff 1.5
trigOn 3

which is the concatenation of the two files etc/key/global/station_GE_UGM and etc/key/scautopick/station_GE_UGM.

Modules

A module is configured by its configuration files either to be used directly or to generate its native configuration. Modules that need to convert the configuration or do not use the default configuration options (see below) are called standalone modules.

Each standalone module tries to read from three configuration files whereas trunk modules try to read six files. Note that configuration parameters defined earlier are overwritten if defined in files read in later:

File Standalone Trunk
etc/defaults/global.cfg   X
etc/defaults/module.cfg X X
etc/global.cfg   X
etc/module.cfg X X
~/.seiscomp3/global.cfg   X
~/.seiscomp3/module.cfg X X

The configuration section describes all available configuration parameters for a trunk module. Not all modules make use of all available parameters because they may be disabled, e.g. the messaging component. So the configuration of the messaging server is disabled too.

Extensions

Extensions add new configuration options to modules. It does not matter how those extensions are used. Commonly a module loads a plugin, which requires additional configuration parameters - these are provided by an extension.

There are currently extensions for the following modules, corresponding to the plugins shown:

See the documentation for each module for further information about its extensions.

Configuration

datacenterID

Type: string

Sets the datacenter ID which is primarily used by Arclink and its tools. Should not contain spaces.

agencyID

Type: string

Defines the agency ID used to set creationInfo.agencyID in data model objects. Should not contain spaces. Default is GFZ.

organization

Type: string

Organization name used mainly by ArcLink and SeedLink. Default is Unset.

author

Type: string

Defines the author name used to set creationInfo.author in data model objects.

plugins

Type: list:string

Defines a list of modules loaded at startup.

cityXML

Type: string

Path to the cities.xml file. If undefined the data is read from @CONFIGDIR@/cities.xml@ or @DATADIR@/cities.xml@.

loadCities

Type: boolean

Enables loading of cities from file configured by cityXML parameter. Default is false.

loadRegions

Type: boolean

Enables loading of custom fep regions from @CONFIGDIR@/fep or @DATADIR@/fep. Default is false.

publicIDPattern

Type: string

Defines a custom pattern for generation of public object ids. The following variables are resolved: @classname@ (class name of object), @id@ (public object count), @globalid@ (general object count), @time@ (current time, use ‘/’ to supply custom format, e.g. @time/%FT%T.%fZ@

configModule

Type: string

Name of the configuration module. Default is trunk.

database

Type: string

Defines the database connection. If no database is configured (which is the default) and a messaging connection is available the application will receive the parameters after the connection is established. Override these values only if you know what you are doing.

The format is: service://user:pwd@host/database. “service” is the name of the database driver which can be queried with “–db-driver-list”.

Note that this parameter overrides ‘database.type’ and ‘database.parameters’ if present.

recordstream

Type: string

SeisComP3 applications access waveform data through the RecordStream interface. Please consult the SeisComP3 documentation for a list of supported services and their configuration.

This parameter configures recordstream source URL, format: [service://]location[#type]. “service” is the name of the recordstream implementation. If “service” is not given “file://” is implied.

This parameter overrides recordstream.service and recordstream.source and has been added as a shortcut.

logging.level

Type: int

Sets the logging level between 1 and 4 where 1=ERROR, 2=WARNING, 3=INFO and 4=DEBUG. Default is 2.

logging.file

Type: boolean

Enables logging into a log file. Default is true.

logging.syslog

Type: boolean

Enables logging to syslog if supported by the host system. Default is false.

logging.components

Type: list:string

Limit the logging to the specified list of components, e.g. ‘Application, Server’

logging.component

Type: boolean

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.

logging.context

Type: boolean

For each log entry print the source file name and line number. Default is false.

logging.utc

Type: boolean

Use UTC instead of localtime in logging timestamps.

logging.file.rotator

Type: boolean

Enables rotation of log files. Default is true.

logging.file.rotator.timeSpan

Type: int

Unit: s

Time span after which a log file is rotated. Default is 86400.

logging.file.rotator.archiveSize

Type: int

How many historic log files to keep. Default is 7.

logging.file.rotator.maxFileSize

Type: int

Unit: byte

The maximum size of a logfile in byte. The default value is 100 megabyte. If a logfile exceeds that size then it is rotated. To disable the size limit give 0 or a negative value. Default is 104857600.

logging.objects.timeSpan

Type: int

Unit: s

Timespan for counting input/output of objects. Default is 60.

logging.syslog.facility

Type: string

Defines the syslog facility to be used according to the defined facility names in syslog.h. The default is local0. If the given name is invalid or not available, initializing logging will fail and the application quits. Default is local0.

connection.server

Type: host-with-port

Defines the Spread server name to connect to. Format is host[:port]. Default is localhost.

connection.username

Type: string

Defines the username to be used. The length is limited to 10 characters with Spread. By default the module name (name of the executable) is used but sometimes it exceeds the 10 character limit and access is denied. To prevent errors set a different username. An empty username will let Spread generate one.

connection.timeout

Type: int

Unit: s

The connection timeout in seconds. 3 seconds are normally more than enough. If a client needs to connect to a remote system with a slow connection a larger timeout might be needed. Default is 3.

connection.primaryGroup

Type: string

Defines the primary group of a module. This is the name of the group where a module sends its messages to if the target group is not explicitely given in the send call.

connection.encoding

Type: string

Defines the message encoding for sending. Allowed values are “binary” or “xml”. XML has more overhead in processing but is more robust when schema versions between client and server are different. Default is binary.

connection.subscriptions

Type: list:string

Defines a list of message groups to subscribe to. The default is usually given by the application and does not need to be changed.

Note

database.*n Defines the database connection. If no database is configured (which is the default) and a messaging connection is available the application will receive the parameters after the connection is established. Override these values only if you know what you are doing.

database.type

Type: string

Defines the database backend to be used. The name corresponds to the defined name in the database plugin. Examples are: mysql, postgresql or sqlite3. Note that this parameter is deprecated. Please use ‘database = mysql://localhost/seiscomp3’ instead.

database.parameters

Type: string

The database connection parameters. This value depends on the used database backend. E.g. sqlite3 expects the path to the database file whereas MYSQL or PostgreSQL expect an URI in the format user:pwd@host/database?param1=val1&param2=val2. Note that this parameter is deprecated. Please use ‘database = mysql://localhost/seiscomp3’ instead.

database.inventory

Type: string

Load the inventory database from a given XML file if set. This overrides the inventory definitions loaded from the database backend.

database.config

Type: string

Load the configuration database from a given XML file if set. This overrides the configuration definitions loaded from the database backend.

processing.whitelist.agencies

Type: list:string

Defines a whitelist of agencies that are allowed for processing separated by comma.

processing.blacklist.agencies

Type: list:string

Defines a blacklist of agencies that are not allowed for processing separated by comma.

inventory.whitelist.nettype

Type: list:string

List of network types to include when loading the inventory.

inventory.whitelist.statype

Type: list:string

List of station types to include when loading the inventory.

inventory.blacklist.nettype

Type: list:string

List of network types to exclude when loading the inventory.

inventory.blacklist.statype

Type: list:string

List of station types to exclude when loading the inventory.

Note

recordstream.*n SeisComP3 applications access waveform data through the RecordStream interface. Please consult the SeisComP3 documentation for a list of supported services and their configuration. Note that this set of parameters is deprecated and will be removed in future versions. Please use the short form (recordstream = slink://localhost) in future.

recordstream.service

Type: string

Name of the recordstream service implementation. Default is slink.

recordstream.source

Type: string

Service specific parameters like a IP address or a file name to use. Default is localhost:18000.

scripts.crashHandler

Type: path

Path to crash handler script

core.plugins

Type: list:string

Defines a list of core modules loaded at startup. Default is dbmysql.

client.startStopMessage

Type: boolean

Enables sending of an application start- and stop message to the STATUS_GROUP. Default is false.

client.autoShutdown

Type: boolean

Enablgs automatic application shutdown triggered by a status message. Default is false.

client.shutdownMasterModule

Type: string

Triggers shutdown if the module name of the received messages match

client.shutdownMasterUsername

Type: string

Triggers shutdown if the user name of the received messages match

commands.target

Type: string

A regular expression of all clients that should handle a command message usually send to the GUI messaging group. Currently this flag is only used by GUI applications to set an artificial origin and to tell other clients to show this origin. To let all connected clients handle the command, “.*$” can be used.

Note

ttt.*n Travel time table related configuration. Travel time tables can be added via plugins. Built-in interfaces are libtau and LOCSAT. For each loaded interface a list of supported models must be provided. The default list of tables for libtau is ak135 and iasp91. LOCSAT’s default tables are iasp91 and tab.

Note

ttt.$name.*n $name is a placeholder for the name to be used.

ttt.$name.tables

Type: list:string

The list of supported model names per interface.

Bindings

detecStream

Type: string

Defines the channel code of the preferred stream used by e.g. scautopick and scrttv. If no component code is given, the vertical component will be fetched from inventory. For that the channel orientation (azimuth, dip) will be used. If that approach fails, ‘Z’ will be appended and used as fallback.

detecLocid

Type: string

Defines the location code of the preferred stream used eg by scautopick and scrttv.

Note

amplitudes.*n Defines general parameters for amplitude of a certain type, e.g. time windows to derive magnitudes.

amplitudes.saturationThreshold

Type: string

Unit: counts; %

Defines the saturation threshold for the optional saturation check. By default the saturation check is disabled but giving a value above 0 will enable it. Waveforms that are saturated are not used for amplitude calculations.

This value can either be an absolute value of counts such as “100000” counts or a relative value (optionally in percent) with respect to the number of effective bits, e.g. “0.8@23” or “80%@23”. The first version uses 1**23 * 0.8 whereas the latter uses 1**23 * 80/100.

The boolean value “false” explicitly disables the check. Default is false.

amplitudes.enable

Type: boolean

Defines if amplitude calculation is enabled. If disabled then this station will be skipped for amplitudes and magnitudes. Default is true.

amplitudes.enableResponses

Type: boolean

Activates deconvolution for this station. If no responses are configured an error is raised and the data is not processed. Default is false.

Note

amplitudes.$name.*n An amplitude profile configures global parameters for a particular amplitude type. The available amplitude types are not fixed and can be extended by plugins. The name of the type must match the one defined in the corresponding AmplitudeProcessor. $name is a placeholder for the name to be used.

amplitudes.$name.saturationThreshold

Type: string

Unit: counts; %

Defines the saturation threshold for the optional saturation check. By default the saturation check is disabled but giving a value above 0 will enable it. Waveforms that are saturated are not used for amplitude calculations.

This value can either be an absolute value of counts such as “100000” counts or a relative value (optionally in percent) with respect to the number of effective bits, e.g. “0.8@23” or “80%@23”. The first version uses 1**23 * 0.8 whereas the latter uses 1**23 * 80/100.

The boolean value “false” explicitly disables the check. Default is false.

amplitudes.$name.enable

Type: boolean

Defines if amplitude calculation of certain type is enabled. Default is true.

amplitudes.$name.enableResponses

Type: boolean

Activates deconvolution for this amplitude type. If not set the global flag “amplitudes.enableResponses” will be used instead. Default is false.

amplitudes.$name.minSNR

Type: double

Defines the mininum SNR to be reached to compute the amplitudes. This value is amplitude type specific and has no global default value.

amplitudes.$name.noiseBegin

Type: double

Unit: s

Overrides the default time (relative to the trigger time) of the begin of the noise window used to compute the noise offset and noise amplitude. Each amplitude processor sets its own noise time window and this option should only be changed if you know what you are doing.

amplitudes.$name.noiseEnd

Type: double

Unit: s

Overrides the default time (relative to the trigger time) of the end of the noise window used to compute the noise offset and noise amplitude. Each amplitude processor sets its own noise time window and this option should only be changed if you know what you are doing.

amplitudes.$name.signalBegin

Type: double

Unit: s

Overrides the default time (relative to the trigger time) of the begin of the signal window used to compute the final amplitude. Each amplitude processor sets its own signal time window and this option should only be changed if you know what you are doing.

amplitudes.$name.signalEnd

Type: double

Unit: s

Overrides the default time (relative to the trigger time) of the end of the signal window used to compute the final amplitude. Each amplitude processor sets its own signal time window and this option should only be changed if you know what you are doing.

amplitudes.$name.minDist

Type: double

Unit: deg

The minimum distance required to compute an amplitude. This settings has no effect with e.g. scautopick as there is no information about the source of the event to compute the distance. The default value is implementation specific.

amplitudes.$name.maxDist

Type: double

Unit: deg

The maximum distance allowed to compute an amplitude. This settings has no effect with e.g. scautopick as there is no information about the source of the event to compute the distance. The default value is implementation specific.

amplitudes.$name.minDepth

Type: double

Unit: km

The minimum depth required to compute an amplitude. This settings has no effect with e.g. scautopick as there is no information about the source of the event to retrieve the depth. The default value is implementation specific.

amplitudes.$name.maxDepth

Type: double

Unit: km

The maximum depth allowed to compute an amplitude. This settings has no effect with e.g. scautopick as there is no information about the source of the event to retrieve the depth. The default value is implementation specific.

Note

amplitudes.$name.resp.*n Several parameters if usage of full responses is enabled.

amplitudes.$name.resp.minFreq

Unit: Hz

After data are converted in to the frequency domain that minimum frequency defines the end of the left-side cosine taper for the frequency spectrum. The taper applies from 0Hz to {minFreq}Hz. A value of 0 or lower disables that taper. Default is 0.00833333.

amplitudes.$name.resp.maxFreq

Unit: Hz

After data are converted in to the frequency domain that maximum frequency defines the start of the right-side cosine taper for the frequency spectrum. The taper applies from {maxFreq}Hz to {fNyquist}Hz. A value of 0 or lower disables that taper. Default is 0.

Note

amplitudes.WoodAnderson.*n Allows to configure the Wood-Anderson seismometer response. The default values are according to the version of Gutenberg (1935). The newer version by Uhrhammer and Collins (1990) is part of the IASPEI Magnitude Working Group recommendations of 2011 September 9. This version uses gain=2800, T0=0.8, h=0.8.

amplitudes.WoodAnderson.gain

Type: double

The gain of the Wood-Anderson response. Default is 2800.

amplitudes.WoodAnderson.T0

Type: double

Unit: s

The eigen period of the Wood-Anderson seismometer. Default is 0.8.

amplitudes.WoodAnderson.h

Type: double

The damping constant of the Wood-Anderson seismometer. Default is 0.8.

amplitudes.ML.absMax

Type: boolean

Whether to use the absolute maximum of the filtered WA trace or the difference of the maximum and minimum value of the signal window. Default is true.

amplitudes.ML.measureType

Type: string

This parameter allows to set how the amplitude is measured. Either by finding the absolute maximum of the demeaned trace (AbsMax), the difference of maximum and minimum of the signal window (MinMax) or the maximum peak-trough of one cycle (PeakTrough).

Note that if absMax is already explicitly configured, this parameter has no effect. Default is AbsMax.

amplitudes.ML.combiner

Type: string

Defines the combiner operation for the amplitudes measured on either both horizontal component. The default is to use the average. Allowed values are: “average”, “min” and “max”. Default is average.

amplitudes.MLv.absMax

Type: boolean

Whether to use the absolute maximum of the filtered WA trace or the difference of the maximum and minimum value of the signal window. Default is true.

amplitudes.MLv.measureType

Type: string

This parameter allows to set how the amplitude is measured. Either by finding the absolute maximum of the demeaned trace (AbsMax), the difference of maximum and minimum of the signal window (MinMax) or the maximum peak-trough of one cycle (PeakTrough).

Note that if absMax is already explicitly configured, this parameter has no effect. Default is AbsMax.

Note

mag.*n Defines correction parameters for magnitudes, e.g. station corrections.

Note

mag.$name.*n A magnitude profile configures global parameters for a particular magnitude type. The available magnitude types are not fixed and can be extended by plugins. The name of the type must match the one defined in the corresponding MagnitudeProcessor. $name is a placeholder for the name to be used.

mag.$name.multiplier

Type: double

Part of the magnitude station correction. The final magnitude value is multiplier*M+offset. This value is usually not required but is here for completeness. Default is 1.

mag.$name.offset

Type: double

Part of the magnitude station correction. The final magnitude value is multiplier*M+offset. This value can be used to correct station magnitudes. Default is 0.

Note

picker.BK.*n Bkpicker is an implementation of the Baer/Kradolfer picker adapted to SeisComP3. It was created by converting Manfred Baers from Fortran to C++ and inserting it as a replacement for the picker algorithm. The picker interface name to be used in configuration files is “BK”.

picker.BK.noiseBegin

Type: double

Unit: s

Overrides the relative data acquisition time (relative to the triggering pick). This adds a margin to the actual processing and is useful to initialize the filter (e.g. bandpass). The data is not used at all until signalBegin is reached. The data time window start is the minimum of noiseBegin and signalBegin. Default is 0.

picker.BK.signalBegin

Type: double

Unit: s

Overrides the default time (relative to the trigger time) of the begin of the signal window used to pick. Default is -20.

picker.BK.signalEnd

Type: double

Unit: s

Overrides the default time (relative to the trigger time) of the begin of the signal window used to pick. Default is 80.

picker.BK.filterType

Type: string

BP (Bandpass) is currently the only option. Default is BP.

picker.BK.filterPoles

Type: int

Number of poles. Default is 2.

picker.BK.f1

Type: double

Unit: Hz

Bandpass lower cutoff freq. in Hz. Default is 5.

picker.BK.f2

Type: double

Unit: Hz

Bandpass upper cutoff freq. in Hz. Default is 20.

picker.BK.thrshl1

Type: double

Threshold to trigger for pick (c.f. paper), default 10 Default is 10.

picker.BK.thrshl2

Type: double

Threshold for updating sigma (c.f. paper), default 20 Default is 20.

Note

picker.AIC.*n AIC picker is an implementation using the simple non-AR algorithm of Maeda (1985), see paper of Zhang et al. (2003) in BSSA. The picker interface name to be used in configuration files is “AIC”.

picker.AIC.noiseBegin

Type: double

Unit: s

Overrides the relative data acquisition time (relative to the triggering pick). This adds a margin to the actual processing and is useful to initialize the filter (e.g. bandpass). The data is not used at all until signalBegin is reached. The data time window start is the minimum of noiseBegin and signalBegin. Default is 0.

picker.AIC.signalBegin

Type: double

Unit: s

Overrides the default time (relative to the trigger time) of the begin of the signal window used to pick. Default is -30.

picker.AIC.signalEnd

Type: double

Unit: s

Overrides the default time (relative to the trigger time) of the begin of the signal window used to pick. Default is 10.

picker.AIC.filter

Type: string

Overrides the default filter which is “raw”. The typical filter grammar can be used.

picker.AIC.minSNR

Type: double

Defines the mininum SNR. Default is 3.

Note

spicker.L2.*n L2 is an algorithm to pick S-phases based on existing P-phases. The picker interface name to be used in configuration files is “S-L2”.

spicker.L2.noiseBegin

Type: double

Unit: s

Overrides the relative data processing start time (relative to the triggering pick). This adds a margin to the actual processing and is useful to initialize the filter (e.g. bandpass). The data is not used at all until signalBegin is reached. The data time window start is the minimum of noiseBegin and signalBegin. Default is -10.

spicker.L2.signalBegin

Type: double

Unit: s

Overrides the relative start time (relative to the triggering pick) of the begin of the signal processing. Default is 0.

spicker.L2.signalEnd

Type: double

Unit: s

Overrides the relative end time (relative to the triggering pick) of the end of the signal window used to pick. Default is 60.

spicker.L2.filter

Type: string

Configures the filter used to compute the L2 and to pick the onset (with AIC) after the detector triggered. Default is BW(4,0.3,1.0).

spicker.L2.detecFilter

Type: string

Configures the detector in the filtered L2. This filter is applied on top of the base L2 filter. Default is STALTA(1,10).

spicker.L2.threshold

Type: double

The detector threshold that triggers the AIC picker. Default is 3.

spicker.L2.timeCorr

Type: double

Unit: s

The time correction (in seconds) added to the detection time before AIC time window is computed. Default is 0.

spicker.L2.marginAIC

Type: double

Unit: s

The AIC time window around the detection used to pick. If 0 AIC is not used. Default is 5.

spicker.L2.minSNR

Type: double

Defines the mininum SNR as returned from AIC. Default is 15.

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.

Verbose

--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.

--print-context arg

For each log entry print the source file name and line number.

--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

--trace

Trace mode: –verbosity=4 –console=1 –print-component=1 –print-context=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.

--encoding arg

Overrides configuration parameter connection.encoding.

--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

--config-db arg

Load the configuration 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.

Cities

--city-xml arg

The path to the city.xml file. This overrides the default paths.

User interface

-F, --full-screen

Starts the application filling the entire screen. This only works with GUI applications.

-N, --non-interactive

Use non-interactive presentation mode. This only works with GUI applications.