Examples and Recipes

Retrieve real-time data from a CAPS server

The listed plugins can be used for exchanging real-time data.

CAPS server to data processing modules

Use this recipe to:

  • Provide data from a Caps server to data processing modules.


  1. Configure the CAPS server in the module configuration.

  2. Start the CAPS server

  3. For data processing use the caps or capss RecordStream and configure it in the global module configuration:

    recordstream = caps://localhost:18002

Import data into a CAPS server

Real-time import with CAPS plugins

Use this recipe to:

  • Fetch data from external source using the CAPS-specific CAPS plugins and provide them to a CAPS server.


  1. Configure and start the CAPS server to receive the data,

  2. Choose and configure the CAPS plugin in the module configuration,

  3. Enable and start the plugin.

Import offline data: miniSEED and other formats

Use this recipe to:

  • Populate a CAPS server with offline miniSEED or other typs of data.


Besides real-time data exchange, data from offline experiments, offline stations or from other offline data archives can be fed into the caps data archive from where they are made available by the caps server.

For example, a set of miniSEED data files (“.mseed”) can be pushed into the caps archive using rs2caps and the RecordStream interface “file” (-I file://, file is default and can be omitted) along with the CAPS server.

  1. Input one file (file.miniSEED), accept all streams:

    seiscomp start caps
    rs2caps -I file.mseed --passthrough
  2. Input all files ending with .mseed, accept all streams:

    seiscomp start caps
    cat *.mseed | rs2caps -I - --passthrough
  3. Input all files ending with .mseed, accept only streams found in the database:

    seiscomp start caps
    cat *.mseed | rs2caps -I - -d mysql://sysop:sysop@localhost/seiscomp -j ""

Real-time playbacks

Use this recipe to:

  • Play back sorted miniSEED data as in real time using msrtsimul [8].

Real-time playbacks can be realized using

  • A combination of msrtsimul and the CAPS plugin rs2caps or

  • seedlink [15].

When using rs2caps the data can be stored in the CAPS archive or not. When using seedlink then data a kept in the seedlink buffer and slarchive [16] can be used to store the data in the SDS archive.


For playbacks, the input data must be sorted by end time.

Real-time playback will create events with fake times, e.g creationTime, eventTime. Therefore, they should be executed on production system only in exceptional cases, e.g. for whole system validation. Better use dedicated SeisComP3 machines. Starting msrtsimul with the option -m historic preserves the time of the data records, thus the pick times. Instead, using offline playbacks based on XML files may be the faster and better option to create parameters from historic events.

Procedure using CAPS / rs2caps

  1. Retrieve miniSEED data from CAPS archive using capstool or other methods.

  2. Sort miniSEED records by endtime using scmssort:

    scmssort -E miniSEED_file > miniSEED_file_sorted
  3. Stop caps, slink2caps, rs2caps and all other active data acquisition. This will stop the real-time data acquisition.

  4. Execute caps on the command line without archiving the data:

    caps --read-only


    As the data are not archived, processing of playback data will be impossible after stopping caps. Only in dedicated playback systems, caps should be used normally without any additional option.

  5. Playback the sorted miniSEED data using msrtsimul:

    msrtsimul -v -c miniSEED_file_sorted | rs2caps -I - --passthrough

    The option --passthrough ensures that all data are passed to caps.

  6. Stop caps after the playback and the evaluation are finished

  7. Start caps and all other real-time data acquisition modules.