NAME
slink2orb - SeedLink to Antelope ORB module
SYNOPSIS
slink2orb [-dc database] [-dm database] [-nd delay]
[-nt timeout] [-k interval] [-pf parameter_file]
[-S statefile] [-r] [-v] SeedLink ORB
SUPPORT
Contributed code: NO BRTT support.
THIS PIECE OF SOFTWARE WAS CONTRIBUTED BY THE ANTELOPE USER COMMUNITY. BRTT DISCLAIMS ALL OWNERSHIP, LIABILITY, AND SUPPORT FOR THIS PIECE OF SOFTWARE.
FOR HELP WITH THIS PIECE OF SOFTWARE, PLEASE CONTACT THE CONTRIBUTING AUTHOR.
DESCRIPTION
slink2orb connects to a
SeedLink server, requests data and
forwards it to an
ORB ring buffer as packet type 'SEED'. All
SeedLink data packets are 512-byte Mini-SEED records.
OPTIONS
-
-dm database
Use the specified database for mapping SEED names to CSS database
names. If the channel names do not exist in the specified database
they will be inserted. If this database is not specified the local
foreignkeys database will be used.
-
-dc database
Copy calib, calper and segtype from the calibration table in the
specified database. Recommended if the data will be processed
directly from the ORB since this information is not available
in the data stream.
-
-nd delay
The network reconnect delay (in seconds) for the connection to
the SeedLink server. If the connection breaks for any reason
this will govern how soon a reconnection should be attempted.
The default value is 30 seconds.
-
-nt timeout
The network timeout (in seconds) for the connection to the SeedLink
server. If no data are received in this time the connection is closed
and re-established (after the reconnect delay has expired). The default
value is 600 seconds. A value of 0 disables the timeout.
-
-k interval (requires SeedLink >= 3)
Keepalive packet interval (in seconds) at which keepalive (heartbeat)
packets are sent to the server. Keepalive packets are only sent if
nothing is received within the interval. Default is a value of 0
which disables the sending of keepalive packets.
-
-pf parameter_file
Specify a parameter file. This argument is optional and if not
specified the default parameter file of slink2orb.pf will be
used. Parameters expected in the parameter file are described below.
-
-S statefile
If a statefile is specified, slink2orb will save the SeedLink
sequence number(s) of the last valid packet(s) received when exiting.
On startup, slink2orb will attempt to read the specified statefile
and configure the SeedLink server to start with the next packet, if
possible. Intermediate state saves can be enabled and controlled
with the savestate value in the parameter file (see below).
-
-r
Use either the database specified with the -dm option or the local
foreignkeys database to remap input net, sta, chan, and loc codes
to local sta and chan codes. This can be helpful when processing
this data with programs that do not recognize the loc code in the
source name.
-
-v
Be more verbose. This flag can be used multiple times ("-v -v" or
"-vv") for more verbosity.
-
SeedLink
A required argument. Specifies the location of the SeedLink server
in [host]:port format. If 'host' is omitted 'localhost' is assumed.
-
ORB
A required argument. Specifies the location of the ORB server
in [host]:port format. If 'host' is omitted 'localhost' is assumed.
PARAMETER FILE
An example
slink2orb parameter file:
#
# slink2orb.pf, parameters for the SeedLink to ORB module
#
# Equivalent command line parameters override those specified here
# All parameters are optional
nettimeout 600 # network timeout (seconds), 0 to disable
netdelay 30 # network reconnect delay (seconds)
keepalive 0 # interval to send keepalive requests (seconds)
stateint 300 # interval to save the sequence number (packets)
selectors BH?.D # selectors recognized by SeedLink server, see below
stations &Arr{
# NET_STA [selectors]
GE_EIL BHZ.D HHZ.D
IU_KONO BH?
MN_AQU
# Some SeedLink servers can accept wildcards for network and station
TA_* BHZ
}
#(notes regarding "selectors" from a SeedLink configuration file)
#
# The "selectors" parameter tells to request packets that match given
# selectors. This helps to reduce network traffic. A packet is sent to
# client if it matches any positive selector (without leading "!") and
# doesn't match any negative selectors (with "!"). General format of
# selectors is LLSSS.T, where LL is location, SSS is channel, and T is
# type (one of DECOTL for data, event, calibration, blockette, timing,
# and log records). "LL", ".T", and "LLSSS." can be omitted, meaning
# "any". It is also possible to use "?" in place of L and S.
#
# Some examples:
# BH? - BHZ, BHN, BHE (all record types)
# 00BH?.D - BHZ, BHN, BHE with location code '00' (data records)
# BH? !E - BHZ, BHN, BHE (excluding detection records)
# BH? E - BHZ, BHN, BHE plus detection records of all channels
# !LCQ !LEP - exclude LCQ and LEP channels
# !L !T - exclude log and timing records
The parameters are further defined below.
-
nettimeout
Equivalent to the command line version. Any value given on the command
line takes precedence.
-
netdelay
Equivalent to the command line version. Any value given on the command
line takes precedence.
-
keepalive
Equivalent to the command line version. Any value given on the command
line takes precedence.
-
stateint
If this value and a statefile are specified, this is the interval (in
seconds) at which the module will save the last valid SeedLink sequence
number. This can be used to protect against abnormal (power failure)
program exits. The default value is 0, which disables this feature.
-
selectors
This can be used, as described above, to limit the data stream sent by the
SeedLink server to specific channels and types. Multiple selectors are
separates by space(s). Note: only Mini-SEED waveform data records are
forwared to the ORB, all other types will be dropped. Basically you might
as well use ".D" on all your selectors because everything else is ignored.
The default is no defined selectors which causes SeedLink to send all
available types and channels. When using multi-station mode ('stations'
array is defined), this serves as default selectors.
-
stations array
If this array is present then the connection is configured in
multi-station mode. Stations must be specified in 'NET_STA' format with
following selector(s). If no selectors are provided for a given station
then the selectors given with the 'selectors' parameter are used. There
is NO expansion/wildcard capability, all stations desired must be
explicitly listed.
NOTES
Currently, SeedLink only serves 512-byte Mini-SEED records (with an 8 byte
SeedLink header). Received records are prepended with an Antelope packet
type 'SEED' header and are sent to the ORB, optionally including calib,
calper and segtype from a specified database.
Wildcard network and station codes
Some SeedLink server have enhanced selection capability and are able
to handle wildcards ('*' or '?' characters) in the network and station
codes. Servers that do not support this will return an error during
negotiation.
All/Uni-station Vs. Multi-station:
All/Uni-station mode is an old connection method used for getting all
(or a single station depending on configuration of the server) data
streams from a server. Multi-station mode is the method used for
requesting specific streams. Most users do not need to know the
difference between these modes with the one exception that some
SeedLink servers implement uni-station mode as all-station mode, if no
network and station selection is made during negotiation these servers
will stream all the data to the client (equivalent to wildcarding all
the data streams).
The SeedLink protocol was originally developed as part of the SeisComP
(Seismological Communication Processor) package. For more information
see,
http://www.gfz-potsdam.de/geofon/
AUTHOR
Chad Trabant
ORFEUS Data Center/EC-Project MEREDIAN
IRIS Data Management Center
Antelope User Group Contributed Software