Qt Z-Order Assignment Is Not A Valid Widget City

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

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.

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.

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 ("). White space is removed in unquoted and un-escaped values.

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

Environment or preceding configuration variables can be used with .

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.

skyColor= yellow # This is a comment# The preceding empty line is ignored and previous setting "yellow"# is replaced by "blue":skyColor= blue
# This is a list definitionrainbowColors= red, orange, yellow, green, blue, indigo, violet
# This is a comment# The following list definitions have 2 items: 1,2 and 3,4# quoted valuestuples="1,2", "3,4"# escaped valuestuples= 1\,2, 3\,4
# Multi-line stringtext="Hello world. "\"This text spawns 3 lines in the configuration file "\"but only one line in the value."# Multi-line list definitionrainbowColors= red,\ orange,\ yellow,\ green, blue,\ indigo, violet
homeDir=${HOME}myPath=${homeDir}/test

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

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 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 . 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 . It contains either station bindings or profiles.

Bindings are configured and stored in .

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): and .

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

which uses the binding at . When a profile should be used, append it to the module with a colon.

Then the binding at 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:

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:

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.

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.

A ConfigModule with publicID Config/trunk is created with name trunk. This ConfigModule is managed by the global initialization script () 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:

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:

and finally one Setup per module:

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:

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:

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

NameValue
detecStreamBH
timeCorr-0.8
detecFilterRMHP(10)>>ITAPER(30)>>BW(4,0.7,2)>>STALTA(2,80)
trigOff1.5
trigOn3

which is the concatenation of the two files and .

<Config><modulepublicID="Config/trunk"name="trunk"enabled="true"> ... </module></Config>
scapp --config-module test
<Config><modulepublicID="Config/trunk"name="trunk"enabled="true"><stationpublicID="Config/trunk/GE/UGM"networkCode="GE"stationCode="UGM"enabled="true"> ... </station></module></Config>
<Config><modulepublicID="Config/trunk"name="trunk"enabled="true"><stationpublicID="Config/trunk/GE/UGM"networkCode="GE"stationCode="UGM"enabled="true"><setupname="default"enabled="true"><parameterSetID> ParameterSet/trunk/Station/GE/UGM/default </parameterSetID></setup><setupname="scautopick"enabled="true"><parameterSetID> ParameterSet/trunk/Station/GE/UGM/scautopick </parameterSetID></setup></station></module></Config>
<Config><parameterSetpublicID="ParameterSet/trunk/Station/GE/UGM/scautopick"created="..."><baseID>ParameterSet/trunk/Station/GE/UGM/default</baseID><moduleID>Config/trunk</moduleID><parameterpublicID="..."><name>timeCorr</name><value>-0.8</value></parameter><parameterpublicID="..."><name>detecFilter</name><value> RMHP(10)&gt;&gt;ITAPER(30)&gt;&gt;BW(4,0.7,2)&gt;&gt;STALTA(2,80) </value></parameter><parameterpublicID="..."><name>trigOff</name><value>1.5</value></parameter><parameterpublicID="..."><name>trigOn</name><value>3</value></parameter></parameterSet></Config>
<Config><parameterSetpublicID="ParameterSet/trunk/Station/GE/UGM/default"created="..."><moduleID>Config/trunk</moduleID><parameterpublicID="..."><name>detecStream</name><value>BH</value></parameter></parameterSet></Config>
$ cat etc/key/station_GE_MORC seedlink:geofon global:BH scautopick
$ 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

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:

FileStandaloneTrunk
etc/defaults/global.cfg X
etc/defaults/module.cfgXX
etc/global.cfg X
etc/module.cfgXX
~/.seiscomp3/global.cfg X
~/.seiscomp3/module.cfgXX

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.

Plugins¶

  • MLr

    The MLr plugin is designed to use the MLv station amplitudes and provides a GNS/Geonet local magnitude. The magnitude uses a station correction term and the hypocentral distance. Hard coded range are 0-20 degrees maximum distance and 800 km maximum depth. (Reference:"A Revised Local Magnitude (ML) Scale for New Zealand Earthquakes" J. Ristau, D. Harte, J. Salichon, BSSA Mar 2016, DOI: 10.1785/0120150293)

  • Hypo71

    This plugin allows the use of the traditional Hypo71PC locator with SeisComP3.

  • Md

    Duration magnitude plugin

  • NonLinLoc

    NonLinLoc locator wrapper plugin for SeisComP. NonLinLoc was written by Anthony Lomax (http://alomax.free.fr/nlloc).

  • MLh

    The MLh plugin (previously MLsed) is designed to compute amplitudes and magnitudes according to the Swiss Seismological Service (SED) standards.

  • RecordStream

    RecordStream interface for SeisComP.

  • LocSAT

    LOCSAT locator for SeisComP.

  • MLv

    MLv is the Richter (1935) magnitude measured on the vertical component.

  • ML

    ML is the Richter (1935) magnitude.

  • GUI

    The GUI configuration plugin extends the configuration of graphical user interfaces to various options to adjust the look and feel.

Configuration¶

Type: string

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

Type: string

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

Type: string

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

Type: string

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

Type: list:string

Defines a list of modules loaded at startup.

Type: string

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

Type: int

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

Type: boolean

Enables logging into a log file. Default is .

Type: boolean

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

Type: list:string

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

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.

Type: boolean

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

Type: boolean

Use UTC instead of localtime in logging timestamps.

Type: boolean

Default is .

Type: int

Unit: s

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

Type: int

How many historic log files to keep. Default is .

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 .

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 .

Type: host-with-port

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

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.

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 .

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.

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 .

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.*Defines the database connection. If no database is configured(which is the default) and a messaging connection is availablethe application will receive the parameters after the connectionis established. Override these values only if you know what youare doing.

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.

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.

Type: string

No description available

Type: string

No description available

Type: list:string

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

Type: list:string

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

Type: string

Default is .

Type: string

Default is .

Type: list:string

Default is .

Type: boolean

Default is .

Type: boolean

Default is .

Type: string

No description available

Type: string

No description available

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.

Hypo71 extension¶

This plugin allows the use of the traditional Hypo71PC locator with SeisComP3.

Note

hypo71.*General Hypo71 configuration parameters.

Type: string

Temporary file used by Hypo71 to store calculation logs. Default is .

Type: string

Temporary file to write Hypo71 input data to. Default is .

Type: string

Temporary output file to read Hypo71 location data from. Default is .

Type: string

Hypo71 default profile. If no custom profile is specified, this profile will be used by the plugin when proceeding to a localization. Default is .

Type: string

Bash script executed when calling the Hypo71 locator plugin for locating the earthquake. Default is .

Type: list:string

Hypo71 profile name. Multiples names may be set. They must be separated by comma. Each profile can have different velocity or parameters.

Type: string

Custom patternID to use when generating origin publicID

Type: boolean

Specifies if the given publicD should be used for generating origin publicID

Note

hypo71.profile.*Profiles containing the profile-specific velocity model and the Hypo71 parameters.

Note

hypo71.profile.$name.* $name is a placeholder for the name to be used and needs to be added to to become active.

hypo71.profiles = a,b hypo71.profile.a.value1 = ... hypo71.profile.b.value1 = ... # c is not active because it has not been added# to the list of hypo71.profiles hypo71.profile.c.value1 = ...

Type: string

Profile's velocity model name.

Type: string

Profile's method. It is generally the locator's name (Hypo71). Default is .

Type: string

File containing the profile parameters.

Type: boolean

If the depth is requested to be fixed (e.g. by ticking the option in scolv) the plugin performs only one location starting at specified depth but with free depth evaluation. This option defines whether it should really fix the depth (false) or use this fixed depth only as starting point (true). Default is .

NonLinLoc extension¶

NonLinLoc locator wrapper plugin for SeisComP. NonLinLoc was written by Anthony Lomax (http://alomax.free.fr/nlloc).

Type: string

PublicID creation pattern for an origin created by NonLinLoc. Default is .

Type: path

Defines the output path for all native NonLinLoc input and output files. Default is .

Type: path

The default NonLinLoc control file to use.

Type: double

The default pick error in seconds passed to NonLinLoc if a SC3 pick object does not provide pick time uncertainties. Default is .

Type: double

Since NLL does not support fixing the depth natively so this feature is emulated by settings the Z grid very tight around the depth to be fixed. This value sets the Z grid spacing. Default is .

Type: list:string

Defines a list of active profiles to be used by the plugin.

Note

NonLinLoc.profile.$name.*Defines a regional profile that is used if a prelocation fallsinside the configured region. $name is a placeholder for the name to be used and needs to be added to to become active.

NonLinLoc.profiles = a,b NonLinLoc.profile.a.value1 = ... NonLinLoc.profile.b.value1 = ... # c is not active because it has not been added# to the list of NonLinLoc.profiles NonLinLoc.profile.c.value1 = ...

Type: string

earthModelID that is stored in the created origin.

Type: string

methodID that is stored in the created origin.

Type: path

Path to travel time tables (grids).

Type: path

Control file of the current profile. If not set, the default control file will be used instead.

Type: string

Transformation type of the configured region. If not set, GLOBAL is assumed.

Type: list:double

Defines the region values. If transform is GLOBAL 4 values (min_lat, min_lon, max_lat, max_lon) are expected. If transform is SIMPLE then 4 values are expected (xmin, ymin, xmax, ymax).

Type: list:double

Only used for transformation SIMPLE. Expects 2 values (lat,lon).

Type: double

Unit: deg

Only used for transformation SIMPLE. Defines the rotation around the origin of the defined region.

LocSAT extension¶

LOCSAT locator for SeisComP.

Type: list:string

Defines a list of available LOCSAT tab directories. Default is .

Type: boolean

Compute the confidence ellipsoid. Default is .

GUI extension¶

The GUI configuration plugin extends the configuration of graphical user interfaces to various options to adjust the look and feel.

Type: string

Specified the location and the structure of the map tiles to be used. This path is composed of zero or more directives and must include at least one conversion specification which starts with is introduced by the character % followed by a conversion specifier. Valid specifiers are s (replaced by tile ID), l (tile level), c (tile column) and r (tile row). An example for using the OpenStreetMap file structure is /path/to/maps/%l/%c/%r.png. Default is .

Type: string

Projection of the map tiles. Supported formats are: rectangular and mercator. Default is .

Type: int

Unit: bytes

Cache size of the map tiles. If 0 is specified a default cache size of 32mb is used. The higher the cache size the better the performance in higher resolutions. A higher cache size causes less image loader calls but requires more client memory. Default is .

Type: string

Used to distinguish tile store implementations provided by plug-ins.

Note

scheme.*This group defines various color and font options for SeisComp3graphical user interfaces. There are various conventionsto define colors, fonts and gradients. A color is defined in HTMLconvention. If rgb or rgba is used it must be quoted because thecomma is handled as list separator by the configuration. Gradientsare configured as lists of tuples where each tuple is colon separatedin the form value:color. Color is again a color definition and value iseither int or double.

Type: boolean

Show menu bar. Default is .

Type: boolean

Show status bar. Default is .

Type: string

Set position if tab bar. An unset value lets the application decide where to place the tab bar. This option might not be supported by all applications. Valid positions are: off, north, south, east, west

Type: color

A general application background color. Can be uses to give each application a different background color. An unset value lets Qt decide.

Type: color

The general color of records/traces. Default is .

Type: color

A general trace color of the alternate trace (eg scheli). Default is .

Type: color

The trace color used on top of a spectrogram. Default is .

Type: color

The color of data gaps in trace views. Default is .

Type: color

The color of data overlaps in trace views. Default is .

Type: color

The color of the alignment marker in trace views. Default is .

Type: color

The color of manual picks. Default is .

Type: color

The color of automatic picks. Default is .

Type: color

The color of picks with undefined state. Default is .

Type: color

The color of disabled picks. Default is .

Type: color

The color of manual arrivals (arrivals that bind manual picks, e.g. residual plot of scolv, manual picker, ...) Default is .

Type: color

The color of automatic arrivals, Default is .

Type: color

The color of theoretical arrivals. Default is .

Type: color

The color of arrivals binding picks with undefined state. Default is .

Type: color

The color of disabled arrivals. Default is .

Type: gradient

The gradient of arrivals residuals. A gradient is defined as a list of tuples separated by colon where the first item is the value and the second is the color. Colors can be given in rgb notation or hex. when rgb is used double quotes are needed to protect the comma inside the rgb definition, e.g. -8:"rgb(0,0,100)", -4:"rgb(0,0,255)", -3:"rgb(100,100,255)", ...

Type: color

The color of active magnitudes. Default is .

Type: color

The color of inactive magnitudes. Default is .

Type: color

The color of disabled magnitudes. Default is .

Type: gradient

The gradient of magnitude residuals.

Type: color

The color of associated stations (e.g. in scmv). Default is .

Type: color

The color of triggered stations.

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

The color of disabled stations.

Type: color

The color of idle stations.

Note

scheme.colors.qc.*The color of QC.delay thresholds in scmv.

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Note

scheme.colors.gm.*The color of ground motion amplitudes in scmv.

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

No description available

Type: color

The color of the selected zoom area (e.g. manual picker). Default is .

Type: color

The color of lines in the map (e.g. lines connecting the origin and a station).

Type: color

The color of station outlines in the map.

Type: color

The color grid line color of the map.

Type: color

The color of station annotations.

Type: color

The color of city labels.

Type: color

The color of city outlines.

Type: color

The color of a capital.

Type: color

The color of a "normal" city.

Type: color

The map legend background color.

Type: color

The map legend border color.

Type: color

The map legend text color.

Type: color

The map legend header color.

Type: gradient

The depth gradient. Default is .

Type: boolean

Setting this parameter to true will not interpolate between the depth steps and the color for a depth <= input is used. Default is .

Note

scheme.colors.originStatus.*The origin status colors (e.g. in event list).

Type: color

No description available

Type: color

No description available

Type: int

The line width of the marker (e.g. picks of manual picker).

Type: int

The line width of the records / traces. Default is .

Type: bool

Configures antialiasing of records / traces. Antialiasing needs more processing time and does not look as good as possible due to point optimizations. To get the best visual quality, disable trace optimization as well. Default is .

Type: bool

Configures optimization of trace polylines. If activated then lines on the same pixel line or same pixel row collapse into single lines. Optimization does not look as good as possible in combination with antialiasing. For best quality disable optimization and enable antialiasing. Default is .

Type: font

The general base font of an application. This overrides the default Qt4 application font.

Type: font

No description available

Type: font

No description available

Type: font

No description available

Type: font

No description available

Type: font

No description available

Type: font

No description available

Type: font

No description available

Type: font

No description available

Type: int

Unit: px

The station symbol size (e.g. in scmv). Default is .

Type: int

Unit: px

The origin symbol minimum size. The formula to compute the size of the origin symbol is: 4.9*(M-1.2). Default is .

Type: boolean

Should the vector layer in the map use antialiasing? This improves the visual quality but decreases performance. Default is .

Type: boolean

Should the map use a bilinear filter? The bilinear filter improves the visual quality but decreases performance slightly. It is only used for static map images. Not while dragging. Default is .

Type: boolean

Should the map display the grid? Default is .

Type: boolean

Should the map display the cities? Default is .

Type: int

Controls at which zoom level a city will be visible. The following formula is used: screen_width (km) * weight >= population Default is .

Type: boolean

Should the map display the custom layers? Default is .

Type: string

SeisComP ships with the rectangular projection build in. Other projections may be provided through plug-ins. Default is .

Type: int

The precision of depth values. Default is .

Type: int

The precision of distance values. Default is .

Type: int

Please, wait while we are validating your browser

Leave a Comment

(0 Comments)

Your email address will not be published. Required fields are marked *