Real-time waveform server implementing the SeedLink protocol.
SeedLink is a real-time data acquisition protocol and a client-server software that implements this protocol. The SeedLink protocol is based on TCP. All connections are initiated by the client. During handshaking phase the client can subscribe to specific stations and streams using simple commands in ASCII coding. When handshaking is completed, a stream of SeedLink "packets" consisting of a 8-byte SeedLink header (containing the sequence number) followed by a 512-byte Mini-SEED record, is sent to the client. The packets of each individual station are always transferred in timely (FIFO) order. The SeedLink implementation used in SeisComP is the oldest and most widely used, however, other implementations exist. Another well-known implementation is deployed in IRIS DMC and some manufacturers have implemented SeedLink in their digitizer firmware. All implementations are generally compatible, but not all of them support the full SeedLink protocol. On the other hand IRIS DMC implements some extensions which are not supported by other servers. In the following we use "SeedLink" to denote the SeedLink implementation used in SeisComP. The data source of a SeedLink server can be anything which is supported by a SeedLink plugin - a small program that sends data to the SeedLink server. Plugins are controlled by the SeedLink server, e.g., a plugin is automatically restarted if it crashes or a timeout occurs. Data supplied by a plugin can be a form of Mini-SEED packets or just raw integer samples with accompanying timing information. In the latter case, the SeedLink server uses an inegrated "Stream Processor" to create the desired data streams and assemble Mini-SEED packets.
Digitizer/DAS | Plugin Implementer |
---|---|
SeedLink | GFZ |
LISS | Chad Trabant (IRIS) |
Quanterra Q330 | Jet Spring, Inc.; ISTI, Inc.; Chad Trabant (IRIS); GFZ |
Quanterra Q380/Q680, Q4120, Q720 (not supported by SeisComp 3.0) | GFZ (based on Comserv by Quanterra, Inc.) |
Earth Data PS2400/PS6-24 | GFZ |
Lennartz M24 | Lennartz Electronic GmbH |
Geotech DR24 | GFZ |
Nanometrics HRD24 | GFZ; Recai Yalgin |
Guralp DM24 | GFZ (based on libgcf2 from Guralp) |
SARA SADC10/18/20/30 | GFZ |
RefTek RTPD | GFZ (based on software library provided by RefTek, Inc.) |
NRTS | GFZ (based on ISI toolkit from David E. Chavez) |
NAQS | Chad Trabant (IRIS; based on sample code from Nanometrics, Inc.); Matteo Quintiliani (INGV; nmxptool) |
SCREAM | Reinoud Sleeman (KNMI) |
Earthworm | Chad Trabant (IRIS) |
Antelope | Chad Trabant (IRIS) |
WIN | GFZ (based on source code of WIN system) |
Lacrosse 2300 Weather Station | GFZ (based on open2300 library from Kenneth Lavrsen) |
Reinhardt MWS5/MWS9 Weather Station | GFZ |
Generic MODBUS/TCP devices | GFZ |
Table 5-1 lists digitizers and data acquisition systems that are supported by SeedLink plugins. More plugins (Kinemetrics K2, Lennartz MARS-88, Lennartz PCM 5800, etc.) have been implemented by various users, but are not (yet) included in the package. The included C language plugin interface is described in section 5.1.1.5. Antelope, Earthworm and NAQS can also import data from SeisComP. In SeisComP the class RecordStream is implemented that supports both SeedLink and ArcLink sources; this class is used by all SeisComP modules that work with waveform data. On a lower level, SeedLink clients can be implemented using the libslink software library or its Java counterpart, JSeedLink. Libslink supports Linux/UNIX, Windows and MacOS X platforms, and comes with an exhaustive documentation in form of UNIX manual pages.
A SeedLink session starts with opening the TCP/IP connection and ends with closing the TCP/IP connection. During the session the following steps are performed in order:
- opening the connection
- handshaking
- transferring SeedLink packets
We will take a closer look at the protocol. Note, the details are normally hidden from the clients by the libslink software library; therefore it is not necessary to be familiar with the protocol in order to implement clients.
When the TCP/IP connection has been established the server will wait for the client to start handshaking without initially sending any data to the client. During handshaking the client sends SeedLink commands to the server. The commands are used to set the connection into a particular mode, setup stream selectors, request a packet sequence number to start with and eventually start data transmission. SeedLink commands consist of an ASCII string followed by zero or several arguments separated by spaces and terminated with carriage return (<cr>, ASCII code 13) followed by an optional linefeed (<lf>, ASCII code 10). The commands can be divided into two categories: "action commands" and "modifier commands". Action commands perform a function such as starting data transfer. Modifier commands are used to specialize or modify the function performed by the action commands that follow. When a server receives a modifier command it responds with the ASCII string "OK" followed by a carriage return and a line feed to acknowledge that the command has been accepted. If the command was not recognized by the server or has invalid parameters, then the ASCII string "ERROR" is sent as a response to the client followed by a carriage return and a line feed. The client should not send any further commands before it has received a response to the previous modifier command. If a network error or timeout occurs the client should close the connection and start a new session. Data transmission is started when the server receives the commands DATA, FETCH, TIME or END as described in section 5.1.1.3. Once the data transfer has been started no more commands, except INFO, should be sent to the server. The flow diagram of handshaking in uni-station vs. multi-station mode is shown in Handshaking in uni-station vs. multi-station mode..
When handshaking has been completed the server starts sending data packets, each consisting of an 8-byte SeedLink header followed by a 512-byte Mini-SEED record. The SeedLink header is an ASCII string consisting of the letters "SL" followed by a six-digit hexadecimal packet sequence number. Each station has its own sequence numbers. If multiple stations are requested using a single TCP channel the client should look at the contents of the Mini-SEED header to determine the station name (or to maintain the current sequence numbers for each station). A sequence number in the same format is used as an argument to the commands "DATA" or "FETCH" to start the data transfer from a particular packet. Each SeedLink node re-assigns sequence numbers for technical reasons. It is not possible to use the same sequence numbers when communicating with alternative servers. Within a particular node the sequence numbers of a single station are consecutive and wrap around at FFFFFF. This can be used by the client to detect "sequence gaps" (e.g., some data has been missed by the client due to long network outage or a software bug). However, if stream selectors are used the sequence numbers are only guaranteed to be in increasing order (with wrap) because some packets might be filtered out by the server. In this case the first packet is not necessarily the one requested, but the nearest packet (not older than requested) that matches installed selectors. The data is transferred as a continuous stream without any error detections or flow control because these functions are performed by the TCP protocol. This guarantees the highest data transfer rate that is possible with the particular hardware and TCP/IP implementation. Obviously, the average data transfer rate must be greater than the rate at which new data becomes ready to send at the server. If this is the case, sooner or later the server has sent all data available to the client. When this happens, depending on the SeedLink mode, the server sends new data as soon as it arrives or appends ASCII string "END" to the last packet and waits for the client to close connection. The latter mode is called "dial-up mode" because it is normally used in conjunction with dial-up lines to open the connection periodically for a short time and download all data available. A SeedLink packet can never start with "END" thus no ambiguity arises.
General format of selectors is LLCCC.T where LL is location, CCC is channel, and T is type (one of DECOTL for data, event, calibration, blockette, timing, and log records). "LL", ".T", and "LLCCC." can be omitted, meaning "any". It is also possible to use "?" in place of L and C. Some examples can be found in table 3-1 in section 3.3.3.2. SELECT is a modifier command (it modifies the function of subsequent DATA, FETCH or TIME commands) so a response follows with "OK" on success, "ERROR" otherwise.
In order to implement a SeedLink plugin a developer needs two files included in the SeisComP distribution: plugin.h and plugin.c. In these files the following public functions are defined:
is used to send a raw packet (array of 32-bit integer samples) to SeedLink. The parameters are:
Special cases:
- if timing_quality = -1, blockette 1001 is omitted.
- if number_of_samples = 0 & pt = NULL set new time without sending any data.
- if dataptr = NULL send a gap (advance time as if number of samples was sent without sending any actual data).
same as send_raw3() except time is measured in seconds since 1/1/1970 (depoch). Leap seconds are ignored.
flushes all Mini-SEED data streams associated with a channel. All buffered data is sent out creating "unfilled" Mini-SEED records if necessary. The parameters are:
is used to send a Mini-SEED packet to SeedLink. Such packets are not further processed. The parameters are:
is used to send a log message to SeedLink (LOG stream). It must be noted that encapsulating log messages in Mini-SEED records is relatively inefficient because each message takes at least one record (512 bytes), regardless of message size. Due to 64-byte Mini-SEED header, up to 448 bytes per record can be used * The parameters are:
It is possible to determine the version of the plugin interface by looking at the C macro PLUGIN_INTERFACE_VERSION. The current version is 3, therefore all functions that have changed since earlier versions end with "3". It is possible to enable full backward compatibility with earlier versions of the plugin interface by defining the C macro PLUGIN_COMPATIBILITY. In this case the old functions are also defined.
The following configuration files are used by SeedLink and its plugins.
Warning
Some files such as seedlink.ini, plugin.ini and chain*.xml are generated by the seiscomp tool according to the configuration in etc/seedlink.cfg and its bindings. They live in var/lib/seedlink and should not be modified. If modifications are necessary then the generator needs to be changed to better support the desired user options.
Warning
The coefficients for non-symmetric (minimum-phase) FIR filters in the filters.fir file are stored in reverse order. It is important to reverse the order of coefficients if the operator adds a new minimum-phase filter or uses the included minimum-phase filters for another application. The coefficients for symmetric (zero-phase) FIR filters are not stored in reverse order. As a sanity check for symmetric filters the largest coefficient is always in the middle of the symmetry.
*.ini files have a somewhat obscure syntax. They contain zero or more sections, each beginning with a section name in squared brackets which should appear on a line of its own. Section name cannot contain spaces and squared brackets, but it can be optionally surrounded by spaces. Each section consists of zero or more entries – definitions and assignments. A definition consists of a keyword and a name separated by spaces (e.g. "station EDD"). An assignment consists of a parameter and a value separated by the "=" sign and optionally surrounded by spaces (e.g. "network = GE").
The set of assignments that immediately follow a definition is in the scope of that definition. Assignments in the beginning of a section are "global" – they are used to set some generic parameters and provide default values (e.g. "network = GE" in the beginning of the section sets the default network that can be overridden in the scope of a station definition).
Parameters and keywords are case insensitive and must not contain the symbols "=", "[", "]" or spaces. Names must not contain "=" signs or spaces. Values must not contain "=" signs or spaces, unless enclosed in double quotes. Double quotes that are part of the value itself must be preceded by "".
Each assignment must be complete on a single line, but several assignments can appear on one line, separated by spaces. Any line beginning with a "#" or "*" character is regarded as a comment and ignored.
seedlink.ini may contain several sections, but only one having the same name as the executable to be used. A section in seedlink.ini has the following structure (parameters are shown in courier, default values are shown in squared brackets, but relying on them is not recommended):
seedlink.ini is generated from ~/.seiscomp3/seedlink.cfg and etc/seedlink.cfg.
This file, like all XML documents, has a tree-like structure. The root element is called "stream" and it in turn contains "proc" elements which are referenced by name in seedlink.ini. A "proc" element contains one or more "tree" elements, which in turn contain "input" and "node" elements. There should be one "input" element per plugin channel; if an "input" element is missing, the channel is ignored and you will see a message like:
Jun 24 12:56:28 st55 seedlink: EDD channel X ignored
Here is the description of all elements and attributes:
streams.xml is generated into var/lib/seedlink/streams.xml. Each data plugin provides templates with predefined procs. If e.g. the chain plugin is configured with proc stream100 then share/templates/seedlink/chain/streams_stream100.tpl is being read and generated into the final streams.xml. Own proc definitions can be added by creation a corresponding template file.
Again, the source and proc definition is used to resolve the streams proc template file at share/templates/seedlink/[source]/streams_[proc].tpl.
Note
seedlink is a standalone module and does not inherit global options.
Type: int
Defines the Seedlink port to accept requests. If this port is changed and other modules depend on it (slarchive, processing) those ports must be updated as well! Default is 18000.
Type: dir
Path to the base directory of SeedLink data files (disk buffer).
Type: string
Default network code. Used when a network code is omitted by a client in STATION request. Should be set to the network code of the majority of configured stations. 1 or 2 characters long, uppercase.
Type: list:string
List of trusted addresses. Default is 127.0.0.0/8.
Type: boolean
Check start and end times of streams. Default is true.
Type: string
If stream_check = enabled, also check for gaps in all channels that match given pattern. Register all gaps that are larger than +-0.5 seconds. gap_check_pattern = [EBLV][HLNG][ZNE]|S[NG][ZNE]. Disabled to save memory. Default is XXXXX.
Type: int
Time difference between records (microseconds) above which a gap is declared. Default is 500000.
Type: boolean
Can be enabled or disabled. Required for slinktool option -tw. Default is true.
Type: boolean
Same as window_extraction for trusted IP addresses. Default is true.
Type: boolean
If activated Seedlink uses the mseedfifo to read records and only the mseedfifo_plugin is started. This command is useful to playback historic data by eg msrtsimul. Default is false.
Type: string
Defines a database read connection to be used for Seedlink station descriptions. If no database is to be used (the default; configure with "") then the station code will be used. Example: "mysql://sysop:sysop@localhost/seiscomp3". If a remote host is specified, ensure that its database server is reachable from this computer.
Type: string
Info level provided to arbitrary hosts. Default is streams.
Type: string
Info level provided to trusted hosts. Default is all.
Type: boolean
Whether requests should be logged. Default is true.
Type: int
Give warning if an input channel has time gap larger than this (microseconds). Default is 10.
Type: int
Flush streams if an input channel has time gap larger than this (microseconds). Default is 100000.
Type: int
Reset FIR filters if an input channel has time gap larger than this (microseconds). Default is 1000000.
Type: float
Enable backfilling buffer for out-of-order records. This values defines its capacity in seconds. Default is 0.
Type: int
Maximum allowed deviation from the sequence number of oldest packet if packet with requested sequence number is not found. If seq_gap_limit is exceeded, data flow starts from the next packet coming in, otherwise from the oldest packet in buffer. Default is 100000.
Type: int
Total number of TCP/IP connections allowed. Default is 500.
Type: int
Maximum number of TCP/IP connections per IP. Default is 20.
Type: int
Maximum speed per connection (0: throttle disabled). Default is 0.
Type: string
Path to lockfile to prevent multiple instances. Default is @ROOTDIR@/var/run/seedlink.pid.
Type: int
Size of memory buffer (number of recent Mini-SEED records kept in RAM). Default is 100.
Type: int
Number of disk buffer segments (files under <dir>/station/segments/ where <dir> is the directory given by the filebase parameter). Default is 50.
Type: int
Size of one disk buffer segment in the records (512-byte units). Default is 1000.
Type: int
Number of blank records to insert after the re-scan of disk buffer if <dir>/station/buffer.xml is not found (assuming the server did not terminate correctly). Default is 10.
Type: string
Encoding of Mini-SEED records created by SeedLink. The value must be steim1 or steim2. If omitted, the global encoding parameter is used. Default is steim2.
Type: int
If configured with a value greater than zero then all sequence files created by the chain plugin are deleted which are older than X minutes before Seedlink is started. Default is 0.
Global options for the chain plugin
Type: int
Defines the maximum number of concurrent dial-up connections. A value of 0 does not limit the concurrent connections. Default is 0.
Type: boolean
If enabled load_timetable is used by the chain plugin to request the available time windows of each stream in the Seedlink buffer to discard older records. Default is true.
Type: list:string
List of IP addresses or IP/mask pairs (in ipchains/iptables syntax). Only if a client's IP address matches one of those the station is shown (slinktool -L, etc.) and accessible. If omitted, the global access parameter is used. If the global access parameter is not set any client can access the station. Default is 0.0.0.0/0.
Type: int
Size of memory buffer (number of recent Mini-SEED records kept in RAM). Default is 100.
Type: int
Number of disk buffer segments (files under <dir>/station/segments/ where <dir> is the directory given by the filebase parameter). Default is 50.
Type: int
Size of one disk buffer segment in the records (512-byte units). Default is 1000.
Type: int
Number of blank records to insert after the re-scan of disk buffer if <dir>/station/buffer.xml is not found (assuming the server did not terminate correctly). Default is 10.
Type: string
Encoding of Mini-SEED records created by SeedLink. The value must be steim1 or steim2. If omitted, the global encoding parameter is used.
Type: float
Enable backfilling buffer for out-of-order records when raw samples are transmitted. This values defines its capacity in seconds. Default is 0.
Type: list:string
Defines a list of extension bindings to be used. Each binding can then be configured individually.
Available identifiers: chain dm24 dr24 edata ewexport ewexport_pasv fs_mseed hrd24 liss m24 minilogger mk6 mseedscan mws naqs nmxp nrts orb q330 reftek sadc scream scream_ring wago wave24 win
# param1 and param2 are just placeholders.
sources = chain, dm24
sources.chain1.param1 = value11
sources.chain1.param2 = value12
sources.dm242.param1 = value21
sources.dm242.param2 = value22
# To use the same binding twice, aliases must be used.
# Aliases are created by prepending a unique name followed by a colon
sources = chain, chain_2:chain
sources.chain.param1 = value11
sources.chain.param2 = value12
sources.chain_2.param1 = value21
sources.chain_2.param2 = value22
Seedlink server (TCP/IP)
Type: string
Hostname or IP of the Seedlink server. Default is geofon.gfz-potsdam.de.
Type: int
Port of the Seedlink server Default is 18000.
Type: list:string
List of stream selectors. If left empty all available streams will be requested. See slinktool manpage for more information.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
Type: string
Defines the input station if different from the stations code. Usually leave this parameter unconfigured. If configured and different from the stations code the station code will be renamed to match the local station code.
Type: string
Defines the input network if different from the stations network. Usually leave this parameter unconfigured. If configured and different from the stations network code the network code will be renamed to match the local network code.
Type: string
Usually stations with the same source addresses and dialup options are grouped together and managed by a chain plugin process. You can give here an additional group ID. Available placeholders are $NET and $STA that are replaced by the network code or station code. Whitespaces are replaced by underscores when generating chain.xml.
Type: int
The default timing quality is used when unpacking data that does not contain blockette 1001, that allows SeedLink to construct blockette 1001 for downsampled data.
Type: string
If overlap removal is set to "initial" or "full", then earlier records will be discarded (record number is used in case several subsequent records have the same header time). All other values are treated as "none". Leave this option unset unless you know what you are doing.
Type: boolean
If enabled then the chain plugin tries to subscribe for channels with the BATCH command which is magnitudes faster than the old handshake. Not all SeedLink servers support the BATCH mode so it needs to be turned off in case of problems. Default is true.
Type: boolean
Enables dialup mode. Needs schedule and uptime to be set accordingly. Default is false.
Type: int
Dialup uptime in seconds. Default is 600.
Type: string
The dialup schedula in cron format. Default is 0,30 * * * *.
Type: string
An optional dialup ifup script.
Type: string
An optional dialup ifdown script.
Type: list:string
Allows to rename channels. This is a list of strings where each item defines one mapping in the format "SRC_LOCCHA:DST_LOCCHA". Either SRC_LOCCHA or DST_LOCCHA may contain wildcard characters (question mark) and the location code (LOC) in both identifiers is optional.
Type: list:string
Allows to unpack channels instead of sending them as miniseed to Seedlink. Unpacked streams can be downsampled by Seedlink. This is a list of strings where each item defines one unpack mapping in the format "SRC_LOCCHA:DST_ID:1" where DST_ID can be an arbitrary channel id which must match the definition of a stream in streams.xml. The last ":1" is optional and defines if the unpacked data should be doubled (duplicate each sample). In case rename mappings are active, SRC_LOCCHA referes to the final channel name after renaming.
Guralp DM24 (serial plugin)
Type: string
Serial port. Default is /dev/data.
Type: int
Baud rate. Default is 19200.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is dm24_20.
Type: string
ID of Z channel
Type: string
ID of N channel
Type: string
ID of E channel
Geotech DR24 (serial plugin)
Type: string
Serial port. Default is /dev/data.
Type: int
Baud rate. Default is 19200.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is dr24_20.
EarthData PS6-24 (serial plugin)
Type: string
Serial port. Default is /dev/data.
Type: int
Baud rate. Default is 115200.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is edata_100.
Earthworm export server (TCP/IP)
Type: string
Hostname or IP of the Earthworm export server.
Type: int
Port of the Earthworm export server.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
Type: string
Text for heartbeat to server. Default is alive.
Type: int
Rate at which to expect heartbeats from server in seconds. Default is 120.
Earthworm passive export server (TCP/IP)
Type: string
Bind IP of the Earthworm passive export server.
Type: int
Port of the Earthworm passive export server.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
Type: string
Text for heartbeat to server. Default is alive.
Type: int
Rate at which to expect heartbeats from server in seconds. Default is 120.
Mini-SEED file plugin
Type: string
Default is ddb.
Type: string
Default is mseed.
Type: path
Default is @ROOTDIR@/var/lib/seedlink/indata.
Type: string
"pattern" is a POSIX extended regular expression that must match input file names (useful for filtering out non-data files). For example "BH[NEZ]" would match any files that contained "BHE", "BHN" or "BHZ". If no pattern is specified all files will be processed.
Type: int
Look for data files at the 1st or 2nd directory level. Default is 2.
Type: boolean
Move file to subdirectory "processed" before starting to read it. Default is true.
Type: boolean
Delete processed files. Default is false.
Type: boolean
Look only for files that are newer than the last file processed. Default is false.
Type: path
Timestamp file is used to save the modification time of the last file processed. Default is @ROOTDIR@/var/run/seedlink/fs_mseed.tim.
Type: int
New files are searched for every "polltime" seconds. Default is 10.
Type: int
Wait until the file is at least n seconds old, before trying to read it. Default is 30.
Type: int
Tells how many debugging messages are printed. Default is 1.
Type: int
Maximum number of consecutive zeros in datastream before data gap will be declared (-1 = disabled). Default is 10.
Type: int
If timing quality is not available, use this value as default (-1 = disabled). Default is -1.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
Note
sources.fs_mseed.channels.* Channel definitions (Mini-SEED streams are defined in streams.xml, look for <proc name="generic_3x50">).
Note
sources.fs_mseed.channels.$name.* $name is a placeholder for the name to be used.
Type: string
No description available
Nanometrics HRD24 (serial plugin)
Type: string
Serial port. Default is /dev/data.
Type: int
Baud rate. Default is 19200.
Type: int
Number of bundles in packet. Default is 59.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is hrd24_100.
LISS server (TCP/IP)
Type: string
Hostname or IP of the LISS server. Default is "$STATION.$NET.liss.org".
Type: int
Port of the LISS server Default is 4000.
Lennartz M24
Type: string
Serial port. Default is /dev/data.
Type: int
Baud rate. Default is 19200.
Type: int
Time offset in usecs. Default is 0.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is m24_100.
SEP064 USB Seismometer Interface
Type: string
Device path and name of port for USB Seismometer Interface. If the specified port cannot be opened or is not a USB Seismometer Interface device, all available ports will be scanned. Default is /dev/ttyACM0.
Type: int
Allow low-level setting of port interface attributes when available ports are scanned to find a USB Seismometer Interface device, 0=NO, 1=Yes. Setting 1 (=Yes) may help successful detection and correct reading of the USB Seismometer Interface device, particularly for the RasberryPi, but can have adverse effects on other devices, terminals, etc. open on the system. Default is 1.
Type: double
Sets a fixed sample rate to report in the miniseed file header. The default (-1) sets an estimated sample rate based on recent packet start times. This estimated sample rate will vary slightly over time, potentially producing errors in some software when reading the miniseed files. See also: nominal_sample_rate Default is -1.
Type: string
SEED data encoding type for writing miniseed files. Supported values are: INT16, INT32, STEIM1, STEIM2 Default is STEIM2.
Type: string
The initial letters to set for the miniseed header 'channel', will be prepended to the component. Default is SH.
Type: string
Component of seismogram, one of Z, N or E. Default is Z.
Type: int
Set sample rate and gain on SEP 064 device, 0=NO, 1=Yes. Default is 1.
Type: int
Nominal sample rate per second, one of 20, 40 or 80. Default is 80.
Type: int
Nominal gain, one of 1, 2 or 4. Default is 4.
MK6
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
MWS (serial plugin)
Type: string
Serial port. Default is /dev/weatherstation.
Type: int
Baud rate. Default is 19200.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is mws.
NAQS (TCP/IP)
Type: string
Address of server, required. Default is localhost.
Type: int
Specify the NAQS control/data port. Default is 28000.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is naqs_bb40_sm100.
NAQS (TCP/IP) with nmxptool. nmxptool is not part of SeisComP3 and needs to be installed under $INSTALLDIR/share/plugins/seedlink/.
Type: string
Hostname or IP of the NAQS server. Default is idahub.ucsd.edu.
Type: int
TCP port of the NAQS server. Default is 28000.
Type: int
Max latency in seconds (time to wait for missing packets). Default is 300.
Type: int
Short-Term-Completion (default -1).
-1 is for Raw Stream, no Short-Term-Completion. Packets contain compressed data.
0 decompressed packets are received in chronological order without waiting for missing packets.
[1..300] decompressed packets are received in chronological order but waiting for missing packets at most SECs seconds. This requires NaqsServer version greater than 1.90. Default is -1.
Type: string
Defines additional options passed to nmxptool.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is naqs_bb40_sm100.
NRTS (TCP/IP)
Type: string
Hostname or IP of the NRTS server. Default is idahub.ucsd.edu.
Type: int
Port of the NRTS server. Default is 39136.
Type: string
List of streams to request. Default is bhz.00,bhn.00,bhe.00.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is nrts.
Antelope ORB (TCP/IP)
Type: string
Hostname or IP of the Antelope ORB.
Type: int
Port of the Antelope ORB. Default is 39136.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
Quanterra Q330 (UDP/IP)
Type: string
Hostname or IP.
Type: int
Source port to receive data packets. Default is 5330.
Type: string
UDP port. Default is auto.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
Type: int
Default is 1.
Type: string
Default is 0x0100000123456789.
Type: string
Default is 0x00.
RefTek RTPD (TCP/IP)
Type: string
Hostname or IP of the RTPD server. Default is 127.0.0.1.
Type: int
Port of the RTPD server. Default is 2543.
Type: string
Defines an alternative unit mapping file. The default file is in $INSTALLDIR/var/lib/seedlink/reftek2sl.map. If this path is not an absolute path it will treated as relative path to $INSTALLDIR/var/lib/seedlink. The map file is used if the unit is not explictly given in the binding. Each line in the file is one mapping from a unit to a station name. The first column is the unit id e.g. 91F3 and the second column the Seedlink station name e.g. ABCD.
Type: string
The unit id. Default is 91F3.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is reftek.
Type: int
Timeout length in seconds. If no data is received from a Reftek unit during this period, the plugin assumes that the unit is disconnected. Default is 60.
Type: int
Default timing quality in percents. This value will be used when no timing quality information is available. Can be -1 to omit the blockette 1001 altogether. Default is 40.
Type: int
Timing quality to use when GPS is out of lock. Default is 10.
Type: boolean
Send Reftek state-of-health data as Mini-SEED LOG stream. Default is true.
SADC10/18/20/30 (serial plugin)
Type: string
Serial port. Default is /dev/data.
Type: int
Baud rate. Default is 38400.
Type: int
Use PC time for initial time setting. Default is 0.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is sadc_100.
SCREAM! server (TCP/UDP/IP) plugin that receives data via the SCREAM! protocol and sends raw data to Seedlink. The mapping from SCREAM! channel id's to Seedlink net.sta.loc.cha is defined in $INSTALLDIR/var/lib/seedlink/config/scream2sl.map if not specified otherwise (parameter 'map').
Type: string
IP of the SCREAM! server. Default is 127.0.0.1.
Type: int
Port of the SCREAM! Default is 1567.
Type: boolean
Enables TCP/IP mode. By default the data is received via UDP but TCP is used instead. This needs a propert configuration of the SCREAM! server to accept TCP connections. Default is false.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
Type: string
Defines an alternative stream mapping file. The default file is in $INSTALLDIR/var/lib/seedlink/scream2sl.map. If this path is not an absolute path it will treated as relative path to $INSTALLDIR/var/lib/seedlink.
Type: list:string
Defines the channel mappings (ID:channel, ...) from SCREAM! to the channel code used in streams.xml. If no channel mappings are given, the map file defined in map (either default or custom) is used.
SCREAM! server plugin that receives data via the SCREAM! protocol and sends raw data to Seedlink. The mapping from SCREAM! channel id's to Seedlink net.sta.loc.cha is defined in $INSTALLDIR/var/lib/seedlink/config/scream2sl.map if not specified otherwise (parameter 'map'). This is the second revision of the scream plugin which supports buffering for short-term completeness.
Type: string
IP of the SCREAM! server. Default is 127.0.0.1.
Type: int
TCP port of the SCREAM! Default is 1567.
Type: int
UDP port of the SCREAM! Default is 1567.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples).
Type: string
Defines an alternative stream mapping file. The default file is in $INSTALLDIR/var/lib/seedlink/scream2sl.map. If this path is not an absolute path it will treated as relative path to $INSTALLDIR/var/lib/seedlink.
Type: list:string
Defines the channel mappings (ID:channel, ...) from SCREAM! to the channel code used in streams.xml. If no channel mappings are given, the map file defined in map (either default or custom) is used.
WAGO Controller (T-Elektronik)
Type: string
Hostname or IP.
Type: int
TCP port. Default is 502.
Type: list:string
List of channels.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is wago.
Wave24
Type: string
Serial port. Default is /dev/data.
Type: int
Baud rate. Default is 57600.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is wave24bb.
WIN server
Type: int
UDP port to receive data packets. Default is 18000.
Type: string
Defines an alternative stream mapping file. The default file is in $INSTALLDIR/var/lib/seedlink/win2sl.map. If this path is not an absolute path it will treated as relative path to $INSTALLDIR/var/lib/seedlink.
Type: list:string
List of channels (hexID:name, ...). The name can either be a single channel name or a combination of station and channel separated by a whitespace, e.g. "ABCD BHZ". If no station name is given, e.g. only BHZ is specified, the name of the station the plugin bound to is used. The definition of a station name is important if the plugin configuration is used as a profile and assigned to multiple stations. In this case a mapping file would be the more appropriate solution.
If no channel mappings are given, the map file defined in map (either default or custom) is used.
Type: string
Name of the proc object (defined in streams.xml); used for processing raw streams (streams submitted by a plugin as raw samples). Default is win.