Observatories and Research Facilities for EUropean Seismology
Volume 6, no 2 December 2004 Orfeus Newsletter

MEREDIAN - Java SeedLink development

Anthony Lomax

Anthony Lomax Scientific Software, Mouans-Sartoux, France

Introduction - JSeedLink - SeisGram2K SeedLink Monitor
QuakeExplorer - Try Java SeedLink


SeedLink is the realtime communications component of the Seismological Communication Processor (SeisComP).  The recently completed MEREDIAN - Java SeedLink project provides end-user and development software for interaction with SeedLink servers over the Internet.  The project components are:
  • JSeedLink - Implementation in Java of the existing C library libslink and the example program slclient.c (in Java: SLClient) to provide a basic class library for development of Java programs that interact with SeedLink servers. This development includes most of the components of libslink and adds SeedLink INFO packet support with parsing of XML into a Java "InfoPacket" data structure.
  • SeisGram2K SeedLink Monitor - Incorporation of the new Java SeedLink classes into the existing Java visualisation and analysis program SeisGram2K to allow reading of multiple stations and channels from one or more SeedLink servers on TCP/IP (locally or over the Internet) for continuous, monitor-type display of near-real-time data.
  • QuakeExplorer SeedLink Support - Extends the existing QuakeExplorer browser to support connection to a SeedLink server, viewing of parametric information, and selection and display of near-realtime streams with SeisGram2K SeedLink Monitor.
The MEREDIAN - Java SeedLink development was performed by Anthony Lomax of Anthony Lomax Scientific Software.  Further information, documentation and download instructions are available at: http://alomax.net/projects/seedlink


JSeedLink is a set of Java packages (nl.knmi.orfeus, nl.knmi.orfeus.seedlink, nl.knmi.orfeus.seedlink.client) and documentation which simplify the development in Java of applications that interact with SeedLink servers. These Java packages reproduce most of the C library libslink and include a Java version (nl.knmi.orfeus.SLClient) of the utility program slclient.c from libslink.
JSeedLink also includes classes for SeedLink INFO packet support through parsing of XML into a Java org.dom4j.Document data structure (class nl.knmi.orfeus.seedlink.XMLParser).

SeisGram2K SeedLink Monitor

SeisGram2K is an easy-to-use, platform-independent, Java program for interactive visualization and analysis of earthquake seismograms. SeisGram2K runs and reads data files locally and over the Internet. In the new SeedLink Monitor mode, SeisGram2K connects to one or more SeedLink servers, requests one or more data streams, and appends and displays new data packets as they are received in near-realtime.  The display updates each second to maintain the right edge of the display at the current real-time.  A status panel to the left of each trace group show the data (Lf) and feed (Lf) latency with configurable colors for different latency time limits. (Figure 1).

Figure 1. The SeisGram2K SeedLink Monitor displaying 3-component trace sets from 4 stations in near-realtime from SeedLink servers over the Internet.


QuakeExplorer is a browser for earthquake seismology: it is an interactive tool for easy and rapid searching, visualisation and analysis of earthquake events and associated seismic traces over the Internet. For visualisation, QuakeExplorer launches the Java applications SeismicityViewer and SeisGram2K. New extensions to QuakeExplorer support a) connection to a SeedLink server to view parametric network, station and stream information, b) display, sorting and selection of available streams, and c) continuous, near-realtime display of selected streams with SeisGram2K SeedLink Monitor (Figure 2).

Figure 2. QuakeExplorer displaying parametric information from a SeedLink server (left frame) and a sortable table of available streams (right). One or more streams can be selected and displayed in a SeisGram2K SeedLink monitor.

Try Java SeedLink

If you are interested in a ready-to-use application for monitoring or analysing near-realtime seismic streams that are available on a SeedLink server (to which you have connection permission) and a) if you wish one-time viewing or script controlled startup, try the SeisGram2K SeedLink Monitor, or b) if you wish interactive examination of parametric information and streams, and interactive selection of the streams to display, try QuakeExplorer. If you are interested in command line recovery of basic parametric information or data streams from a SeedLink Server, try the SLClient Java utility. If you are interested in developing Java software for interacting with a SeedLink server, take a look at the JSeedLink packages and their documentation. Further information, documentation and download instructions are available at: http://alomax.net/projects/seedlink
page 11
Copyright © 2004. Orfeus. All rights reserved.