.. highlight:: rst .. _gss: ### gss ### **Gempa Simulation Server** Description =========== .. _sec-be-gss: 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 ==================== | :file:`etc/defaults/global.cfg` | :file:`etc/defaults/gss.cfg` | :file:`etc/global.cfg` | :file:`etc/gss.cfg` | :file:`~/.seiscomp/global.cfg` | :file:`~/.seiscomp/gss.cfg` gss inherits :ref:`global options`. .. note:: Modules/plugins may require a license file. The default path to license files is :file:`@DATADIR@/licenses/` which can be overridden by global configuration of the parameter :confval:`gempa.licensePath`. Example: :: gempa.licensePath = @CONFIGDIR@/licenses .. _GSS: .. confval:: 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 .. confval:: 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. .. confval:: GSS.port Default: ``19010`` Type: *int* Defines the server port for client requests. Use \-1 to disable the port. .. confval:: 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. .. confval:: 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: .. confval:: 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. .. confval:: GSS.SSL.certificate Type: *string* Defines the path to the SSL certificate to use. .. confval:: GSS.SSL.key Type: *string* Defines the path to the private SSL key to use. This key is not shared with clients. .. confval:: 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. .. confval:: 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 .. confval:: 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. .. confval:: 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: .. confval:: GSS.http.port Default: ``-1`` Type: *int* Port to listen for HTTP request. Recommended HTTP port is 19080. .. confval:: 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. .. confval:: 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: .. confval:: GSS.https.port Default: ``-1`` Type: *int* Port to listen for HTTPS request. Recommended HTTPS port is 19443. .. _GSS.path: .. confval:: GSS.path.media Default: ``@DATADIR@/gss/media`` Type: *path* Path to HTTP media files .. _GSS.patches: .. note:: **GSS.patches.\*** *Configure settings for the automatic patches (rupture plane)* *generation.* .. confval:: GSS.patches.width Default: ``50`` Unit: *km* Type: *int* The patch width option is not used at this time. .. confval:: 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 .. confval:: GSS.patches.maxFaultDist Default: ``1`` Unit: *degree* Type: *double* Maximum horizontal distance between epicenter and closest fault point allowed for automatic patch generation. .. confval:: 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. .. confval:: 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. .. confval:: GSS.patches.maxDip Default: ``80.0`` Unit: *degree* Type: *double* Maximum dip in degree. .. confval:: GSS.patches.maxRakeVariance Default: ``20.0`` Unit: *degree* Type: *double* Maximum variance of the rake from 90 degree. .. confval:: 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. .. _GSS.profiles: .. 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'.* .. _GSS.profiles.$name: .. note:: **GSS.profiles.$name.\*** $name is a placeholder for the name to be used and needs to be added to :confval:`profiles` to become active. .. code-block:: sh 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 = ... .. confval:: GSS.profiles.$name.backend Type: *string* Name of the simulation backend, e.g., EasyWave2 .. confval:: GSS.profiles.$name.aoi Type: *string* Path to BNA or JSON file defining an area of interst. .. confval:: 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: 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 \&. .. _Verbosity: 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:: --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:: --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:: --trace Execute in trace mode. Equivalent to \-\-verbosity\=4 \-\-console\=1 \-\-print\-component\=1 \-\-print\-context\=1 . .. option:: --log-file arg Use alternative log file. .. _Server: Server ------ .. option:: -p, --port int Overrides configuration parameter :confval:`GSS.port`. .. option:: --ssl-port int Overrides configuration parameter :confval:`GSS.SSL.port`.