.. highlight:: rst .. _ew2sc3: ###### 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` ``_ More informations on the content of Hypo2000_arc message can be found on Earthworm website. ``_ More informations on export_generic configuration can be found on Earthworm website. ``_ .. _ew2sc3_configuration: Configuration ============= | :file:`etc/defaults/global.cfg` | :file:`etc/defaults/ew2sc3.cfg` | :file:`etc/global.cfg` | :file:`etc/ew2sc3.cfg` | :file:`~/.seiscomp3/global.cfg` | :file:`~/.seiscomp3/ew2sc3.cfg` ew2sc3 inherits :ref:`global options`. .. confval:: ew2sc3.configPath Type: *string* Folder to store logs and achives of hypo2000_arc files from Earthworm export_genericer .. confval:: ew2sc3.senderPort Type: *int* Earthworm export_generic's socket to listen to .. confval:: 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. .. confval:: 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. .. confval:: 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. .. confval:: ew2sc3.author Type: *string* Author name to use when storing origin into database. .. confval:: ew2sc3.hostname Type: *string* Earthworm export_generic IP address to connect to .. confval:: ew2sc3.defaultLatitude Type: *string* Default event latitude to use if hypo2000_arc location is null \(space filled\) .. confval:: ew2sc3.defaultLongitude Type: *string* Default event longitude to use if hypo2000_arc location is null \(space filled\) .. confval:: ew2sc3.locatorProfile Type: *string* Name of the earth model used by Earthworm location process .. confval:: ew2sc3.enableArchiving Type: *boolean* Enable\/Disable hypo2000_arc message file archiving \(usefull for troobleshooting\) .. confval:: 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 .. confval:: 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 .. confval:: 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 .. confval:: 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 .. confval:: 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 .. confval:: 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. .. confval:: ew2sc3.pickerUncertainties Type: *list:double* Uncertainty values \(in sec\) to use when enableUncertainties is enabled. Refer to scolv document for syntax. .. confval:: ew2sc3.maxUncertainty Type: *double* Maximum weight value from Earthworm corresponding to maximum uncertainty Command-line ============ .. program:: ew2sc3 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, eg 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 \&. .. option:: --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\). .. option:: --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. .. option:: --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 --------- .. 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:: --component arg Limits the logging to a certain component. This option can be given more than once. .. option:: -s, --syslog Use syslog logging back end. 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 Debug mode: \-\-verbosity\=4 \-\-console\=1 .. option:: --log-file arg Use alternative log file. Messaging --------- .. option:: -u, --user arg Overrides configuration parameter :confval:`connection.username`. .. option:: -H, --host arg Overrides configuration parameter :confval:`connection.server`. .. option:: -t, --timeout arg Overrides configuration parameter :confval:`connection.timeout`. .. option:: -g, --primary-group arg Overrides configuration parameter :confval:`connection.primaryGroup`. .. option:: -S, --subscribe-group arg A group to subscribe to. This option can be given more than once. .. option:: --encoding arg Overrides configuration parameter :confval:`connection.encoding`. .. option:: --start-stop-msg arg Sets sending of a start\- and a stop message. Database -------- .. option:: --db-driver-list List all supported database drivers. .. option:: -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\". .. option:: --config-module arg The configmodule to use. .. option:: --inventory-db arg Load the inventory from the given database or file, format: [service:\/\/]location .. option:: --db-disable Do not use the database at all