Change Log

All notable changes to DeepC will be documented in this file.

2026.042

Important

THIS IS A MAJOR UPGRADE. MANUAL SETUP IS REQUIRED. DeepC classification types have been split into 4 “sub-pickers”:

  1. DeepC-EC - event classifier

  2. DeepC-PC - phase classifier

  3. DeepC-PR - phase classifier and refiner (primary picker with optional reclassification of phases)

  4. DeepC-SR - secondary picker for S phases

  • Binding parameter groups and parameters have changed

    • While the first three sub-pickers are configured in the global bindings under “picker.deepc.{deepcEC,deepcPC,deepcPR}”, you will find DeepC-SR’s binding configuration under “spicker.deepcSR”.

    • Each sub-picker can now be configured individually, common options are found on the highest level and are valid for all sub-pickers of the same group (picker or spicker).

    • Check descriptions for new semantics and default values, especially for:

      • threshold

      • reclassify Subgroup names changed:

      • “phaseRefinement” was eliminated, parameters P/S.signalBegin/signalEnd are in the sub-picker’s root group

      • “evaluationStatus” => “pickFalsification”

    • Check the new parameters:

      • addComment

      • sendNoise

      • sendRejected

Changed

Parameters

  • Comments are now switched off by default, use addComment to acitvate

  • Noise picks are not sent by default, use sendNoise to send them with evaluationStatus “rejected”.

  • Picks rejected by pickFalsification are not sent, use sendReject to force sending them with evaluationStatus “rejected”.

  • Parameters “threshold_p” and “threshold_s” are removed, parameter “threshold” can be used to define individual thresholds using special syntax (see description).

Functions

  • “DeepC-SR” (former “DeepC-S”) now uses the first pick exceeding the threshold right after the trigger, instead of searching for the argmax within the whole trace, additional picks are shown in the debug log.

Added

  • Parameters “addComment”, “sendNoise”, “sendRejected”

  • “MethodID” now shows the sub-picker applied.

Fixed

  • Some traces weren’t processed because the resampler returned too short time windows.

  • Some predictions were garbage because the resampler returned too short time windows and their times weren’t checked.

  • Some traces weren’t processed because a condition didn’t tolerate rounding errors.

  • “DeepC-PR” (former “DeepC-P”) didn’t use the specified range for S phases when doing reclassification.

2025.303

Changed

  • Parameter model was replaced by modelWeights for consistency with other gempa Deep Learning modules. In addition, dlmodels_maps.json will be read in order to parse the value.

Added

  • Parameters threshold_p and threshold_s allow independent control of PhasePickingClassification models.

  • Comply with new config_format_version 0.2: Reading values threshold_p and threshold_s from model config file, if they are present.

2025.198

Important

  • The deep learning models that are used by this plugin have been removed from this repository. They are now part of the GSM packages dlmodels-pick and dlmodels-class, which must be installed separately.

2025.119

Changed

  • Universal configuration format for all models: Change the path where models are read from to default to /home/data/dlmodels/

Added

  • Universal configuration format for all models: Add parameter modelsPath to customize the path where models are read from.

Fixed

  • Add API version check to make DeepC compatible with seiscomp 17.0.0 API and below.

  • Fix wrong prediction index calculation which always was calculated as 0,1,2 == PSN.

2025.031

Changed

  • Scolv: A new parameter phaseRefinement.publishConfidenceAsSnr was added to support scolv. By default, the parameter is set to true, which allows to publish the confidence of the pick in the SNR label in the picker view of scolv.

Fixed

  • Scolv: DeepC didn’t evaluate the pick’s confidence on the threshold.

2025.029

Changed

  • Scolv: A new parameter phaseRefinement.reclassify was added to support scolv. By default, the parameter is set to false, which allows to use the DeepC plugin in scolv for exact P phase picking, while any better ranked potential S pick in the same time window is ignored. Note that this means, that DeepC in scolv can no longer be used to refine S picks. Further, make sure that all three components are loaded in scolv, otherwise DeepC won’t be called. The parameter only applies to models of category pick-phase-classification. E.g., turn it on if you want a P detection reclassified using scautopick.

2025.028

Added

  • Filters: Although most models expect raw data, a filter can boost a model’s performance. In rare cases, a model wants filtered data. This is now considered and, in addition, a user can set a filter (overriding the model’s own filter) to use before feeding the data to the model.

2025.022

Added

  • New parameter threshold to override model config’s own parameter, which now functions as recommended, model-specific default value. The threshold refers to the confidence of the model above which a pick is considered to be legit. Allowed vales are between 0 and 1.

Fixed

  • Fixed deepC didn’t send out SNR calculated by the wrapped picker.

  • Fixed deepC didn’t work with scolv because the trigger wasn’t updated.

2025.015

Added

  • Added feature pick refinement and re-classification. Now, it’s possible to use a DL model as refinement picker and re-classifier.

2024.292

Fixed

  • Fixed crashes related to resampling thread.

2024.291

Fixed

  • Fixed crashes related to gaps in data.

2024.290

Fixed

  • Fixed crashes that sometimes occurred in the context of the resampling thread.

2024.289

Added

  • Timeout for resampler.

2024.288

Changed

  • Zero checking now uses parameter evaluationStatus.zeros = -1 instead of 0 to deactivate the status test.

Fixed

  • Fixed the small time differences between using deepC with AIC or AIC alone.

2024.276

Changed

  • Zero checking now for an adjacent number of zeros in a window before the pick

  • Picks that are rejected due to zero checking are no longer sent.

Fixed

  • Now, the component as subscribed with detecStream parameter is provided to the wrapped picker as well as to DeepC.

2024.219

Added

  • Added this changelog.