SeisIO
0.1.2

Introduction

  • Introduction
  • Working with Data
  • Data Types

Data Readers

  • File Formats

Web Clients

  • Web Requests
  • SeedLink
    • SeedLink Client
      • Argument Syntax
      • Special Rules
      • Special Methods
    • SeedLink Utilities

Data Processing

  • Data Processing

Appendices

  • Utility Functions
  • Structure and Field Descriptions
  • SeisIO File Format
  • Data Requests Syntax
  • SeisIO Standard Keywords
  • Examples
SeisIO
  • Docs »
  • SeedLink
  • View page source

SeedLink¶

SeedLink Client¶

SeedLink is a TCP/IP-based data transmission protocol that allows near-real-time access to data from thousands of geophysical monitoring instruments. See data keywords list and channel id syntax for options.

SeedLink!(S, chans, KWs)
SeedLink!(S, chans, patts, KWs)
S = SeedLink(chans, KWs)
Standard keywords: fmt, opts, q, si, to, v, w, y
SL keywords: gap, kai, mode, port, refresh, safety, x_on_err
Other keywords: u specifies the URL without “http://”

Initiate a SeedLink session in DATA mode to feed data from channels chans with selection patterns patts to SeisData structure S. A handle to a TCP connection is appended to S.c.Data are periodically parsed until the connection is closed. One SeisData object can support multiple connections, provided that each connection’s streams feed unique channels.

Argument Syntax¶

chans

Channel specification can use any of the following options:

  1. A comma-separated String where each pattern follows the syntax NET.STA.LOC.CHA.DFLAG, e.g. UW.TDH..EHZ.D. Use “?” to match any single character.
  2. An Array{String,1} with one pattern per entry, following the above syntax.
  3. The name of a configuration text file, with one channel pattern per line; see Channel Configuration File syntax.

patts Data selection patterns. See SeedLink documentation; syntax is identical.

Special Rules¶

  1. SeedLink follows unusual rules for wild cards in sta and patts:
    1. * is not a valid SeedLink wild card.
    2. The LOC and CHA fields can be left blank in sta to select all locations and channels.
  2. DO NOT feed one data channel with multiple SeedLink streams. This can have severe consequences:
    1. A channel fed by multiple live streams will have many small time sequences out of order. merge! is not guaranteed to fix it.
    2. SeedLink will almost certainly crash.
    3. Your data may be corrupted.
    4. The Julia interpreter can freeze, requiring kill -9 on the process.
    5. This is not an “issue”. There will never be a workaround. It’s what happens when one intentionally causes TCP congestion on one’s own machine while writing to open data streams in memory. Hint: don’t do this.

Special Methods¶

  • close(S.c[i]) ends SeedLink connection i.
  • !deleteat(S.c, i) removes a handle to closed SeedLink connection i.

SeedLink Utilities¶

SL_info(v, url)¶

Retrieve SeedLink information at verbosity level v from url. Returns XML as a string. Valid strings for L are ID, CAPABILITIES, STATIONS, STREAMS, GAPS, CONNECTIONS, ALL.

has_sta(sta[, u=url, port=n])¶
SL keywords: gap, port
Other keywords: u specifies the URL without “http://”

Check that streams exist at url for stations sta, formatted NET.STA. Use “?” to match any single character. Returns true for stations that exist. sta can also be the name of a valid config file or a 1d string array.

Returns a BitArray with one value per entry in sta.

has_stream(cha::Union{String, Array{String, 1}}, u::String)¶
SL keywords: gap, port
Other keywords: u specifies the URL without “http://”

Check that streams with recent data exist at url u for channel spec cha, formatted NET.STA.LOC.CHA.DFLAG, e.g. “UW.TDH..EHZ.D, CC.HOOD..BH?.E”. Use “?” to match any single character. Returns true for streams with recent data.

cha can also be the name of a valid config file.

has_stream(sta::Array{String, 1}, sel::Array{String, 1}, u::String, port=N::Int, gap=G::Real)
SL keywords: gap, port
Other keywords: u specifies the URL without “http://”

If two arrays are passed to has_stream, the first should be formatted as SeedLink STATION patterns (formated “SSSSS NN”, e.g. [“TDH UW”, “VALT CC”]); the second be an array of SeedLink selector patterns (formatted LLCCC.D, e.g. [“??EHZ.D”, “??BH?.?”]).

Next Previous

© Copyright 2016-2019, Joshua Jones, Ph.D.

Built with Sphinx using a theme provided by Read the Docs.