SeisComP3

Table Of Contents

Previous topic

VS

Next topic

scamp

This Page

ew2sc3

Earthworm hypo2000_arc messages importer

Description

Earthworm to SeisComP3 application.

This application connects to an Earthworm export module using IP protocol and listens for messages thru a specified socket.

Communication

The communication between Earthworm and SeisComP3 is done by using Earthworm export_generic protocol. It's a TCP/IP protocol over which text messages are sent by Earthworm. An hearbeat is sent by both ends of the socket (Earthworm and SeisComP3), at a regular rate. If for some reason the hearbeat is not received during a configurable amount of time (which should higher than the expected heartbeat rate), then the connection is re-initiated.

Message processing

The messages sent trough the socket are idenfied by their message ID, their institute ID and their module ID. All those IDs are configured within the export_generic Earthworm module and Earthworm system. Ew2sc3 only supports hypo2000_arc messages type from Earthworm. Any other message will lead to unknow behaviour of ew2sc3.

When a message is received, ew2sc3 will first assess whereas it is correct or not according to the IDs. Then, the hypo2000_arc message is parsed and picks, arrivals, magnitudes and origin are created. A new origin message with associated magnitudes, arrivals and picks is then sent to SeisComP3 messaging system.

In case the latitude and longitude in the hypo2000_arc message are null (space filled), a default location is used.

Pick uncertainties

Hypo2000_arc message uses weights for pick quality, 0 being the best picks and 4 the worst. Those weight are translated into uncertainties for SeisComP3. A list of uncertainties is configured into ew2sc3 configuration file (pickerUncertainties). Then weights from 0 to maxUncertainty are matched with the minimum and maximum uncertainties. Finally, a linear formula allows to find the uncertainty corresponding to the assigned weight.

More

More informations on the content of Hypo2000_arc message can be found on Earthworm website. http://www.earthwormcentral.org/documentation/PROGRAMMER/y2k-formats.html

More informations on export_generic configuration can be found on Earthworm website. http://www.earthwormcentral.org/documentation/cmd/export_cmd.html

And finally, more informations on Earthworm can be found on central Earthworm website. http://www.earthwormcentral.org/

Configuration

etc/defaults/global.cfg
etc/defaults/ew2sc3.cfg
etc/global.cfg
etc/ew2sc3.cfg
~/.seiscomp3/global.cfg
~/.seiscomp3/ew2sc3.cfg

ew2sc3 inherits global options.

ew2sc3.configPath

Type: string

Folder to store logs and achives of hypo2000_arc files from Earthworm export_genericer

ew2sc3.senderPort

Type: int

Earthworm export_generic's socket to listen to

ew2sc3.modID

Type: int

Expected Earthworm Module ID (ew2sc3 will read the message only if its ModID is correct)

ew2sc3.instID

Type: int

Expected Earthworm Institute ID (ew2sc3 will read the message only if its InstID is correct)

ew2sc3.msgID

Type: int

Expected Earthworm Message ID (ew2sc3 will read the message only if its MessageID is correct) This SHOULD be a TYPE_HYP2000ARC message (14) as this is the only message type parsed by ew2sc3.

ew2sc3.name

Type: string

Institute name to use when sending origin to SeisComP3

ew2sc3.author

Type: string

Author name to use when sending origin to SeisComP3

ew2sc3.hostname

Type: string

Earthworm export_generic IP address to connect to

ew2sc3.defaultLatitude

Type: string

Default event latitude to use if hypo2000_arc location is null (space filled)

ew2sc3.defaultLongitude

Type: string

Default event longitude to use if hypo2000_arc location is null (space filled)

ew2sc3.locatorProfile

Type: string

Name of the earth model used by Earthworm location process

ew2sc3.enableArchiving

Type: bool

Enable/Disable hypo2000_arc message file archiving (usefull for troobleshooting)

ew2sc3.myAliveInt

Type: int

Time interval (in sec) between two heartbeats messages sent by SeisComP3. This parameter should be lower than Earthworm export_generic RcvAliveInt parameter

ew2sc3.senderTimeout

Type: int

Maximum time (in millisecond) before the connection to Earthworm export_generic times out. This parameter has to be set accordingly to Earthworm export_generic parameters

ew2sc3.maxMsgSize

Type: int

Maximum message size (in char) between the Earthworm export_generic and ew2sc3. This parameter has to be set accordingly to Earthworm export_generic MaxMsgSize parameter

ew2sc3.myAliveString

Type: string

Alive string to send to Earthworm export_generic in order to keep the connection alive. This string should be identical as Earthworm export_generic RcvAliveText string

ew2sc3.senderAliveString

Type: string

Alive string expected from Earthworm export_generic in order to keep the connection alive. This string should be identical as Earthworm export_generic SendAliveText string

ew2sc3.enableUncertainties

Type: bool

Enable/Disable uncertainties conversions. Earthworm doesn't have uncertainties but weight from 0 to 4. If enabled, ew2sc3 will convert pick weight to uncertainties followind a simple mapping between weight and pickerUncertainties list.

ew2sc3.pickerUncertainties

Type: list:double

Uncertainty values (in sec) to use when enableUncertainties is enabled. Refer to scolv document for syntax.

ew2sc3.maxUncertainty

Type: double

Maximum weight value from Earthworm corresponding to maximum uncertainty

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.

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

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

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

--db-disable

Do not use the database at all