scvsmaglog

Logs VS magnitude messages.

Description

Part of the VS package.

scvsmaglog is part of a new SeisComP implementation of the Virtual Seismologist 1 (VS) Earthquake Early Warning algorithm (Cua, 2005; Cua and Heaton, 2007) released under the SED Public License for SeisComP Contributions 2. It requires the Python package dateutil 3 to be installed.

It logs the VS magnitude messages received from scvsmag and, once an event has timed out, generates report files. These report files are saved to disk and can also be sent via email.

It also implements an ActiveMQ 4 interface which provides the possibility to send alert messages in real-time. Currently, messages can be sent in three different formats (SeisComPML, QuakeML, ShakeAlertML). The recommended client to display these alert messages is the Earthquake Early Warning Display (EEWD) 5 an OpenSource user interface developed within the European REAKT project and based on the the UserDisplay 6. The UserDisplay is not openly available, however, people with permission to run the UserDisplay can use it to receive alert messages from scvsmaglog.

To receive alerts with the EEWD set the format to qml1.2-rt, to receive alerts with the UserDisplay set the format to shakealert. There are currently no clients which can digest SeisComPML. Using pipelines alerts can be sent out in more than one format.

The real-time ActiveMQ interface requires the Python packages stompy 7 and lxml 8 to be installed.

It is beyond the scope of this documentation to explain the complete setup of an ActiveMQ broker. However, since scvsmaglog uses the STOMP protocol to send messages to the broker it is essential to add the following line to configuration of the ActiveMQ broker.

<connector>
<serverTransport uri="stomp://your-server-name:your-port"/>
</connector>

Please refer to ActiveMQ 4 for setting up an ActiveMQ broker.

Reports

Below is an example of the first few lines of a report file:

Mag.|Lat.  |Lon.  |tdiff |Depth |creation time (UTC)      |origin time (UTC)        |likeh.|#st.(org.) |#st.(mag.)
------------------------------------------------------------------------------------------------------------------
3.42| 47.15|  8.52| 12.73| 25.32|2012-02-11T22:45:39.0000Z|2012-02-11T22:45:26.2729Z|  0.99|          6|         6
3.43| 47.15|  8.52| 13.73| 25.32|2012-02-11T22:45:40.0000Z|2012-02-11T22:45:26.2729Z|  0.99|          6|         6
3.56| 47.15|  8.54| 14.70| 25.73|2012-02-11T22:45:41.0000Z|2012-02-11T22:45:26.3032Z|  0.99|         10|        10
3.64| 47.16|  8.54| 15.58| 24.32|2012-02-11T22:45:42.0000Z|2012-02-11T22:45:26.4178Z|  0.99|         12|        12
3.54| 47.16|  8.53| 16.45| 22.40|2012-02-11T22:45:43.0000Z|2012-02-11T22:45:26.5547Z|  0.99|         14|        14
3.67| 47.15|  8.54| 17.29| 20.40|2012-02-11T22:45:44.0000Z|2012-02-11T22:45:26.7142Z|  0.99|         16|        16
3.66| 47.16|  8.54| 18.34| 21.31|2012-02-11T22:45:45.0000Z|2012-02-11T22:45:26.6562Z|  0.99|         18|        18
3.75| 47.16|  8.54| 19.27| 19.91|2012-02-11T22:45:46.0000Z|2012-02-11T22:45:26.7326Z|  0.99|         19|        19

Creation time is the time the VS magnitude message was generated, tdiff is the time difference between creation time and origin time in seconds, likeh is the likelihood that this event is a real event (see documentation of scvsmag), # st.(org) is the number of stations that contributed to the origin and # st.(mag) the number of envelope streams that contributed to the magnitude.

Configuration

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

scvsmaglog inherits global options.

email.activate

Type: boolean

Send email notifications. Default is true.

email.smtpserver

Type: string

URL of the smtp server to send the report files to.

email.port

Type: int

Port where the SMTP server accepts connections. Default is 25.

email.usetls

Type: boolean

Whether to use TLS when connecting to the smtp server. Default is false.

email.usessl

Type: boolean

Whether to use SSL when connecting to the smtp server. Note, only ‘email.usetls’ or ‘user.ssl’ can be true. Default is false.

email.authenticate

Type: boolean

Whether the smtp server requires authentication (username + password). Default is false.

email.credentials

Type: file

If the smtp server requires authentication you have to specify a file that contains username and password in the format:

username=your-username

password=your-password

Make sure that you set the file permission as restrictive as possible.

email.senderaddress

Type: string

Email address that will appear as sender in the report email.

email.subject

Type: string

Any string that should be prepended to the email’s subject string.

email.host

Type: string

Host as it is supposed to appear in the email’s subject string.

email.recipients

Type: list:string

A list of email addresses that receive the report emails.

email.magThresh

Type: double

Only send a notification email if the magnitude threshold is exceeded. Default is 0.0.

report.activate

Type: boolean

Save reports to disk. Default is true.

report.eventbuffer

Type: int

Unit: s

Time in seconds that events and the related objects are buffered. Default is 3600.

report.directory

Type: dir

Directory to save reports to. Default is ~/.seiscomp/log/VS_reports.

ActiveMQ.hostname

Type: string

Server name that runs the ActiveMQ broker. Default is localhost.

ActiveMQ.port

Type: int

Port on which ActiveMQ broker accepts stomp messages. Default is 61619.

ActiveMQ.username

Type: string

Username with which messages are sent. Default is your-ActiveMQ-username.

ActiveMQ.password

Type: string

Password with which messages are sent. Default is your-ActiveMQ-password.

ActiveMQ.topic

Type: string

ActiveMQ broker topic to send alerts to. Default is /topic/your-topic-for-alerts.

ActiveMQ.hbtopic

Type: string

ActiveMQ broker topic to send heart beats to. Default is /topic/your-topic-for-heart-beats.

ActiveMQ.messageFormat

Type: string

ActiveMQ message format; can be either ‘qml1.2-rt’, ‘shakealert’, or ‘sc3ml’. Default is qml1.2-rt.

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.

--start-stop-msg arg

Sets sending of a start- and a stop message.

Reports

--savedir path

Directory to save reports to.

Mode

--playback

Disable database connection.