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 through 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 be higher than the expected heartbeat rate), then the connection is re-initiated.
Message processing¶
The messages sent trough the socket are identified by their institute ID and their module ID. These IDs are configured within the export_generic Earthworm module and Earthworm system. Ew2sc3 only supports hypo2000_arc messages type from Earthworm identified by the message ID 14. Therefore, any other message which ID is not 14 will be ignored.
When a message is received, ew2sc3 will first assess whereas it is correct or not according to the institute and module 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 so it can be properly treated by scevent.
In case 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 weights 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¶
A great deal of information is available at Earthworm User Community Wiki http://love.isti.com/trac/ew/wiki
More informations on the content of Hypo2000_arc message can be found on Earthworm website. http://love.isti.com/trac/ew/wiki/Year_2000_Compliant_Earthworm_Message_Formats
More informations on export_generic configuration can be found on Earthworm website. http://love.isti.com/trac/ew/wiki/export_generic
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). Set to 0 (MOD_WILDCARD) to accept any Earthworm Module ID.
-
ew2sc3.instID
¶ Type: int
Expected Earthworm Institute ID (ew2sc3 will read the message only if its InstID is correct) Set to 0 (INST_WILDCARD) to accept any Earthworm Institute ID.
-
ew2sc3.customAgencyID
¶ Type: string
Institute name to use when storing origin into database. If blank, the origin will have the system AgencyID. If specified, the origin will have the given AgencyID.
Type: string
Author name to use when storing origin into database.
-
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: boolean
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: boolean
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