gss

Gempa Simulation Server

Description

The Gempa Simulation Server (GSS) provides tsunami simulations to TOAST. Different algorithms and approaches can be integrated via a plugin interface. Available plugins range from on-the-fly simulations to precomputed scenario databases.

Module Configuration

etc/defaults/global.cfg
etc/defaults/gss.cfg
etc/global.cfg
etc/gss.cfg
~/.seiscomp/global.cfg
~/.seiscomp/gss.cfg

gss inherits global options.

Note

Modules/plugins may require a license file. The default path to license files is @DATADIR@/licenses/ which can be overridden by global configuration of the parameter gempa.licensePath. Example:

gempa.licensePath = @CONFIGDIR@/licenses
GSS.database

Default: @ROOTDIR@/var/lib/gss/archive/simulations.db

Type: string

Defines the database connection used to store GSS information like requests or computed simulations. By default the server uses SQlite3 as database backend and creates the database file automatically if it does not exist. Supported database backends: MySQL, PostgreSQL and SQLite3.

Examples: mysql://sysop:sysop@localhost/gss or postgresql://sysop:sysop@localhost/gss

GSS.maxThreads

Default: 4

Type: int

Maximum number of threads that are created for all GSS sessions. This is a shared resource and if all threads are busy, new requests can only be answered when resources have been released again. The value depends on the use case and the available system resources. The default value fits for common use cases.

GSS.port

Default: 19010

Type: int

Defines the server port for client requests. Use -1 to disable the port.

GSS.profiles

Type: list:string

Registration of the simulation profiles. Simulation profiles can used to set predefined simulation parameters for a specific region and/or simulation backend.

GSS.sessionTimeout

Default: 3600

Unit: s

Type: int

Sets the native protocol session timeout. If a session is inactive longer than this value the server closes the connection. The feature is used to prevent hanging TCP connections in poor network environments. Use -1 to disable the timeout.

GSS.SSL.port

Default: -1

Type: int

Defines the SSL server port for client requests. By default SSL requests are disabled. Recommended SSL port is 19011.

GSS.SSL.certificate

Type: string

Defines the path to the SSL certificate to use.

GSS.SSL.key

Type: string

Defines the path to the private SSL key to use. This key is not shared with clients.

GSS.SSL.minVersion

Default: TLSv1.2

Type: string

Sets the minimum supported protocol version, e.g., TLSv1.2 or TLSv1.3.

Requires OpenSSL 1.1.0 or newer.

GSS.SSL.cipherList

Type: string

Sets the list of available ciphers for TLSv1.2 and below. The format of the cipherList and expamples are provided at detail at https://www.openssl.org/docs/man3.1/man1/openssl-ciphers.html , e.g. , ECDHE-RSA-AES256-GCM-SHA384:AES256-GCM-SHA384:AES256-SHA. The tool sslscan can be used to check the configured ciphers, e.g., sslscan --tls12 localhost:19443. The available ciphers can be listed with, e.g., openssl ciphers -tls1_2

GSS.SSL.cipherSuites

Type: string

Sets the list of available ciphers for TLSv1.3 and above. The format and examples are provided at https://www.openssl.org/docs/man3.1/man1/openssl-ciphers.html , e.g. ,TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256. The tool sslscan can be used to check the configured ciphers, e.g., sslscan --tls13 localhost:19443. The available ciphers can be listed with openssl ciphers -tls1_3.

Requires OpenSSL 1.1.1 or newer.

GSS.SSL.verifyPeer

Default: false

Type: boolean

If this option is enabled clients must authenticate with an OpenSSL certificate which has been signed with the OpenSSL server certificate. Otherwise access is forbidden.

GSS.http.port

Default: -1

Type: int

Port to listen for HTTP request. Recommended HTTP port is 19080.

GSS.http.additionalHeaders

Type: string:list

Comma separated list of additional HTTP headers added to HTTP responses, e.g., X-Frame-Options: DENY. This option can be used to implement custom HTTP security policies.

GSS.http.maxThreads

Default: 4

Type: int

Maximum number of threads that are created for all HTTP sessions. This is a shared resource and if all threads are busy, new requests can only be answered when resources have been released again. The value depends on the use case and the available system resources. The default value fits for common use cases.

GSS.https.port

Default: -1

Type: int

Port to listen for HTTPS request. Recommended HTTPS port is 19443.

GSS.path.media

Default: @DATADIR@/gss/media

Type: path

Path to HTTP media files

Note

GSS.patches.* Configure settings for the automatic patches (rupture plane) generation.

GSS.patches.width

Default: 50

Unit: km

Type: int

The patch width option is not used at this time.

GSS.patches.depthMode

Default: 1

Type: int

Mode of the automatic depth correction. The following modes are available: 0 = Off, 1 = Adjust the depth to avoid negative z-top, 2 = Abort the patch generation in case of negative z-top

GSS.patches.maxFaultDist

Default: 1

Unit: degree

Type: double

Maximum horizontal distance between epicenter and closest fault point allowed for automatic patch generation.

GSS.patches.maxFootWallDist

Default: -1

Unit: degree

Type: double

Deprecated: Maximum distance between epicenter and closest fault point if epicenter is on foot wall. Note that this parameter is deprecated, use ‘maxFaultDist’ instead.

GSS.patches.maxHangingWallDist

Default: -1

Unit: degree

Type: double

Deprecated: Maximum distance between epicenter and closest fault point if epicenter is on hanging wall. Note that this parameter is deprecated, use ‘maxFaultDist’ instead.

GSS.patches.maxDip

Default: 80.0

Unit: degree

Type: double

Maximum dip in degree.

GSS.patches.maxRakeVariance

Default: 20.0

Unit: degree

Type: double

Maximum variance of the rake from 90 degree.

GSS.patches.extrapolateFault

Default: false

Type: boolean

Selection of this option will extrapolate fault lines beyond their endpoints, so that they can provide patch generation information for epicenters otherwise not covered.

Note

GSS.profiles.* A list of simulation profile names which are taken into account when a simulation request is processed. For instance a specific bathymetry file can be defined which should be used for a specific region. The simulation request is extended by these parameters and already set parameters are not overidden. Register the profiles at ‘profiles’.

Note

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

profiles = a,b
GSS.profiles.a.value1 = ...
GSS.profiles.b.value1 = ...
# c is not active because it has not been added
# to the list of profiles
GSS.profiles.c.value1 = ...
GSS.profiles.$name.backend

Type: string

Name of the simulation backend, e.g., EasyWave2

GSS.profiles.$name.aoi

Type: string

Path to BNA or JSON file defining an area of interst.

GSS.profiles.$name.parameters

Type: list:string

A list of custom key-value items (separated by comma) which are forwarded to the backend. Example for EasyWave2: maxTime:120,gpu:true.

Command-Line Options

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. Example: 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 &.

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.

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

--component arg

Limit the logging to a certain component. This option can be given more than once.

-s, --syslog

Use syslog logging backend. The output usually goes to /var/lib/messages.

-l, --lockfile arg

Path to lock file.

--console arg

Send log output to stdout.

--debug

Execute in debug mode. Equivalent to --verbosity=4 --console=1 .

--trace

Execute in trace mode. Equivalent to --verbosity=4 --console=1 --print-component=1 --print-context=1 .

--log-file arg

Use alternative log file.

Server

-p, --port int

Overrides configuration parameter GSS.port.

--ssl-port int

Overrides configuration parameter GSS.SSL.port.