RecordStream interface for SeisComP.
SeisComP applications access waveform data through the RecordStream interface. The following tables lists available implementations:
Name | Service Prefix | Description |
---|---|---|
SeedLink | slink | Connects to SeedLink server |
ArcLink | arclink | Connects to ArcLink server |
FDSNWS | fdsnws | Connects to FDSN Web service |
File | file | Reads records from file |
SDSArchive | sdsarchive | Reads records from SeisComP archive (SDS) |
ODCArchive | odcarchive | Reads records from Orpheus archive (ODC) |
Memory | memory | Reads records from memory |
Combined | combined | Combines archive and real-time stream |
Balanced | balanced | Distributes requests to multiple proxy streams |
Decimation | dec | Decimates (resamples) a proxy stream |
Resample | resample | Resamples (up or down) a proxy stream to a given sampling rate |
The RecordStream used by an application is either specified on the the commandline (-I URI) or configured through using the parameters recordstream.service and recordstream.source. While the service defines the RecordSteam implementation, the source supplies parameters like a IP address or a file name to use.
This RecordStream fetches data from a SeedLink server. The source is read as an URL and supports URL encoded parameters. The default host ist set to localhost, the default port to 18000. Optional parameters are:
This RecordStream fetches data from a ArcLink server. The source is read as an URL and supports URL encoded parameters. The default host ist set to localhost, the default port to 18001. Optional parameters are:
This RecordStream fetches data from a FDSN Web service. The source is read as an URL.
This RecordStream reads data from a file. The source is read as an file path. If the source is set to '-' the data is read from stdin. By default the record type is set to mseed. If a file name extension is available the record type is set as follows:
Extension | Record Type |
---|---|
*.xml | xml |
*.bin | binary |
*.mseed | mseed |
*.ah | ah |
This RecordStream reads data from an SeisComP (SDS) archive using the File RecordStream. The source is interpreted as a directory path.
This RecordStream reads data from an ODC archive using the File RecordStream. The source is interpreted as a directory path.
This RecordStream reads data from memory and is only useful for developing applications. For instance a record sequence stored in an internal buffer could be passed to an instance of this RecordStream for reading.
This RecordStream combines one archive and one real-time RecordStream, e.g. ArcLink and SeedLink. First the archive stream is read up to the size of the real-time buffer. Then the acquisition is switched to the real-time stream. The syntax for the source is similar to an URL:
combined://real-time-stream;archive-stream??parameters
By default the real-time stream is set to SeedLink and the archive-stream is set to ArcLink. Any other streams may be configured. The parameters of the combined stream are separated by 2 question marks (??) in order to distinguish them from the parameters used in the proxy streams:
URL | Description |
---|---|
combined://localhost:18000;localhost:18001 | Seedlink on localhost:18000 combined with Arclink on localhost 18001 |
combined://slink/localhost:18000;arclink/localhost:18001 | Same as above |
combined://; | Same as above |
combined://:18042;?user=foo&pwd=secret??rtMax=1800 | Seedlink on localhost:18042 combined with Arclink on localhost 18001, real-time (SeedLink) buffer size set to 30min |
combined://;sdsarchive//home/sysop/seiscomp3/var/lib/archive? | Seedlink combined with SDS archive |
This RecordStream distributes requests quasi-equally (but deterministically) to multiple proxy streams. It can be used for load balancing and to improve failure tolerance. The algorithm to choose a proxy stream (counting from 0) is based on station code and can be expressed in Python as follows:
stationCode = "WLF"
nproxies = 2
x = 0
for c in stationCode:
x += ord(c)
print("choosing proxy stream", x % nproxies)
This RecordStream decimates (resamples) a proxy stream, e.g. SeedLink. The syntax for the source is similar to an URL:
dec://proxy-stream?parameters/address
Optional parameters are:
This RecordStream resamples (up or down) a proxy stream, e.g. SeedLink, to a given sampling rate. The syntax for the source is similar to an URL:
resample://proxy-stream?parameters/address
Optional parameters are: