SeisComP released in version 5.0.0

Jun 9, 2022


We have released SeisComP in the new version 5.0.0. For that release many new and valuable features have been added to modules including graphical user interfaces, daemon modules and command-line tools. Many modules have received optimizations, improved command-line help and upgraded documentations to increase their usability. The database schema upgrades to version 0.12.

First some statistics for all changes and bugfixes :

753 files have changed, with 145.172 insertions and 113.377 deletions.

Important changes in a nutshell

  • New database schema version.
  • Dropped support for Python 2.
  • The recordstream and database configuration parameters have been simplified and old parameter sets are deprecated.
  • New format of the logA0 parameter in magnitude calibration for ML and MLv, new magnitude type, MLc.
  • The global configuration parameters eventlist.* and eventedit.* have been re-organized allowing a more consistent configuration of graphical user interfaces.
  • scautopick supports feature extraction for measuring slowness and backazimuth along with pick times.
  • LOCSAT may optionally make use of slowness and backazimuth provided with phase picks.
  • Updated Flinn-Engdahl region names to match Wikipedia.
  • Regionalization of any magnitude, a new magnitude type, MLc, has been added.
  • VS(SC) is now only available through a separate repository.

Upgrading to SeisComP in version 5

You may download and install the new SeisComP package from the SeisComP website by GFZ Potsdam or our package server at gempa . The latter provides the documentation included in the package file. When using SeisComP together with gempa modules, then all gempa modules must be upgraded as well. Especially for this kind of installation or upgrade but also in general we recommend to download and use our gsm script .

Upgrading from SeisComP in version 4.x.x is easy and fast. Read and follow the upgrade instructions of the online documentation for upgrading to a higher release number. When upgrading from SeisComP3, a few more steps must be taken which are also described in the online documentation for upgrading from SeisComP3 in much detail.

Upgrade the database

After installation of this new SeisComP release database upgrade is required unless you have already worked with a recent version of our nightly SeisComP packages or a recent compilation from source code.

The current and the expected database version will be tested and the required actions will be shown when executing

$ seiscomp update-config

or when pressing the Update Configuration button in scconfig. An upgrade from version 4.x.x will give:

* starting kernel modules
scmaster is already running
* configure kernel
* configure scmaster
INFO: Checking queue 'production'
  * checking DB schema version
  * check database write access ... passed
  * database schema version is 0.11
  * last migration version is 0.12
  * migration to the current version is required. Apply the following
    database migration scripts in exactly the given order:
    * mysql -u sysop -h localhost -p seiscomp < /home/sysop/seiscomp/share/db/migrations/mysql/0_11_to_0_12.sql
error: updating configuration for scmaster failed

The shown database command can be used in a command-line terminal for upgrading the database schema version:

$ mysql -u sysop -h localhost -p seiscomp < /home/sysop/seiscomp/share/db/migrations/mysql/0_11_to_0_12.sql

Test your configuration

Since some parameters from previous SeisComP version have been renamed, removed or deprecated we recommend to test your configuration and adjust if required. For testing we provide the script which you may download and use at your convenience. As the script is maintained and new parameters may be added we recommend keeping it up to date. After downloading read the command-line help first

$ python3 -h

The output will tell you the recommended actions.

Python support and software dependencies

With SeisComP in version 5.0.0 we drop Python 2 support for the maintained Python wrappers as well as for all modules. Most of the modules are still Python 2 compatible but we won’t maintain that compatibility over the next versions and will only support Python versions >= 3.6.

Furthermore the detection of the installed Linux distribution by seiscomp install-deps does not require the lsb_release software package anymore. Instead we check /etc/os-release. All RHEL-based dependencies are now located in the folder rhel instead of centos below seiscomp/share/deps.

Recordstream and database

We have removed the support of scconfig for configuring the global parameters recordstream.service, recordstream.source, database.type and database.parameters. They are now configurable by the all-in-one parameters recordstream and database.


Regionalization of any magnitude now allows the configuration of region-dependent station calibrations. ML, MLv, and MN even multiple calibration functions are supported for the same station when the event is located in different areas. Regionalization is configured by global module configuration and is also available for the new MLc. Steps to take:

  1. Generate a BNA file with polygons defining the regions. By configuration you may later define if just the origin or all origin and stations or the entire raypaths must be fully enclosed by the polygons.

  2. Adjust the magnitudes section in your global configuration

    • Add a Magnitude type profile using the name of the magnitude type for the name of the profile. Then configure:

    • Enter the full path to the BNA file with region polygons.

    • Add and adjust the Magnitude region profile. The name of the profile must correspond to one of the names of the BNA polygons. Use world for events not covered in regions.

    • For your magnitude type add the [type] region profile in the parameter section magnitudes.[type].region. Again, the name of the profile must correspond to one of the names of the BNA polygons. Use world for events not covered in regions. Then configure:

    • Add your logA0 calibration parameters.

Some fundamental features have been added to ML and MLv magnitudes:

  • Pre-filtering of amplitudes before simulating Wood-Anderson instruments is available for removing noise which may bias amplitude measurements.
  • The configuration of the magnitude calibration curves by the logA0 parameter now takes a new form reducing the risk of false values:
    logA0 = 0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85

Based on ML we have designed and added MLc, a new very flexible and widely configurable magnitude type for seismic events at local and regional distances. MLc allows you to integrate a range of different approaches to compute magnitudes which we have found in the scientific literature. Important features justifying this implementation are:

  • Optional amplitude pre-filtering for applying any filter operation to waveforms supported in SeisComP ,
  • Optional Wood-Anderson instrument simulation,
  • Optional scaling for conversion of input amplitude unit,
  • Optional parametric or non-parametric calibration function,
  • Optional regionalization of calibration functions,
  • Configurable distance measure: use hypocentral or epicentral distances.



scmv with newly designed station annotations.

We have improved the visibility of station annotations. As before you may use the Menu of scmv to toggle the annotations or simply press the F9 key. Optionally, you may also show the full code of the stream including sensor location and channel code defined by global bindings.


scolv has been specifically improved to select or visualize more valuable information interactively:

  • Stations annotations can be plotted on maps along with symbols. Use Shift+F9 for toggling or the View menu.
  • When relocating events with the locator FixedHypocenter, the origin location can be entered interactively in the Location tab through the locator settings menu which is found next to the locator selection.
  • Pick uncertainties may now be displayed in residual plots of the Location tab. Right-click in the diagram to toggle uncertainties.
  • The picker window shows the sample rate of the zoom traces in the lower right corner. When applying inappropriate filters, a notification is printed instead of just showing an empty trace.
  • When using the amplitude re-picker by pressing “R” in the phase-picking mode a blue window indicates the search interval along with the SNR to assist you in tuning scautopick.
  • In the amplitude picker you may select the travel-time interface along with a profile for comparing time windows with predicted arrivals.

Graphical user interfaces

Some novelties may affect multiple graphical tools such as scolv or scesv:

  • Consistent with scmv, the station symbols on maps of other modules now show up as triangles for easy recognition.
  • You may define region filters based on polygons in addition to rectangles. The listed events may then be filtered to show events only inside or outside these regions. Define polygons in either the fep or bna/geojson directories and make your definitions in global configuration:
    eventlist.filter.regions.region.Test.poly = "my polygon"
  • The number of shown events vs. the number of events loaded from the database is now given in Events tabs, e.g., of scolv or scesv.
  • With the filter button in event lists you may confine database searches not only by hypocenter or preferred magnitude but also to an event ID. The values may be pre-set in global module configuration. When filtering has been applied, the filter button changes color. Clicking on “Reset all” reloads the filter parameters from your configuration.
  • We have cleaned up event list and event edit parameters in global configuration affecting the Events and the Event tab behaviour. A warning is printed when using deprecated parameters. For the Events tabs the deprecated global and new event list configuration parameters are (deprecated -> new):
    eventlist.customColumn                 ->
    eventlist.regions                      -> eventlist.filter.regions.profiles
    eventlist.region.$            -> eventlist.filter.regions.region.$
    eventlist.region.$name.rect            -> eventlist.filter.regions.region.$name.rect
    and for event edit parameters controlling the Event tab:
    eventedit.customColumn                 ->
    eventedit.customColumn.default         -> eventedit.origin.customColumn.default
    eventedit.customColumn.originCommentID -> eventedit.origin.customColumn.originCommentID
    eventedit.customColumn.pos             -> eventedit.origin.customColumn.pos
    eventedit.customColumn.colors          -> eventedit.origin.customColumn.colors
    A warning is issued by affected module to the logging output if old parameters are configured.
  • The precision of origins time may now be configured.

Automatic modules and command-line tools


  • This module has received the new check mode: With the new command-line parameter --check you may check directories and subdirectories, e.g. of SDS archives for miniSEED files with out-of-order records. While in import mode, the new command-line parameter --with-filecheck allows checking the generated miniSEED files for out-of-order records after writing them. Actions should be taken to clean affected files.
  • With the new command-line parameter in dump mode --nslc you may filter waveforms by a list of streams reducing the size of the output waveforms.


  • When configuring sendDetections = true and picker, initial picks made by the trigger receive the evaluation status “rejected” allowing discrimination from picks by the re-picker. Use evaluation mode “automatic” for both.
  • We have added support for FX, an additional processing stage. FX which means feature extraction and is applied on top of an existing pick. A first implementation ported from CTBTO/IDC’s DFX code has been added to extract back backazimuth and slowness of detected phases at three-component stations when configuring scautopick with
    fx = DFX
    The configuration is made by the global bindings parameters for scautopick


  • Filter events in XML files by event ID if provided with option -E.


  • No default number of days is added to time spans if any other time value is given. The change prevents you from deleting event parameters within unexpected time ranges.


  • The evrc plugin provides more control options for setting and overwriting event types and the plugin will not overwrite manually set types unless allowed by configuration.
  • We have also added the option to additionally populate the event description with the name of the standard Flinn-Engdahl regions. This name may be different from names in custom FEP files.


  • The new option -p allows printing the ID of events along with the ID of their preferred origin.


  • The new command-line parameter –net-sta has been added for filtering streams by network and station codes.


This is a new module including HTML documentation for querying a SeisComP data base for waveform quality control (QC) parameters. It allows filtering by QC parameters, streams and time. The parameters are written to XML which can be read for evaluating stations.


This module has been removed and replaced by scqueryqc.


  • VS(SC), Virtual Seismologist for SeisComP has been removed from the SeisComP and is now available from a separate repository as an addon module. The SeisComP documentation contains a new section Addon Modules linking to these modules. Providing VS(SC) as an addon allows release cycles independent of SeisComP.

Event regions, types and certainties

  • We have updated Flinn-Engdahl region names to match Wikipedia.

  • We also make available some new non-QuakeML event types: “artillery strike”, “atmospheric meteor explosion”, “bomb detonation”, “calving”, “frost quake”, “moving aircraft”, “rocket”, “rocket impact”, “rocket launch”, “submarine landslide”, “tremor pulse”

  • In line with IASPEI event type leading character the new certainties are added: “felt” and “damaging”.


We add the global configuration parameters for using backazimuth and slowness, LOCSAT.usePickBackazimuth and LOCSAT.usePickSlowness, respectively. They are inactive by global default configuration since the new feature extraction (FX) method in scautopick may, if untuned, result unreliable values which otherwise severely distort event locations. You may activate using backazimuth and slowness by global module configuration or interactively in the locator settings of scolv.