Change Log¶
All notable changes to DLPick will be documented in this file.
2026.230¶
Added¶
Parameter
referenceTime(command line:--ref-time)Parameter
relaxReferenceTime(command line:--relax-reft)
2026.216¶
Fixed¶
Closed a memory leak related to ever-growing ring buffers accumulating records
2026.211¶
Fixed¶
Command line option
print-modelsfailed with the new config format
Changed¶
Command line option
print-modelsshows now much more information and looks better
2026.209¶
Fixed¶
MethodID in picks was not complete, it still lacks information about the used model
Minor bug when reading dataset names using the model setup
Added¶
Dependencies via install scripts
Changed¶
Updated documentation
2026.205¶
Important¶
From this version onwards, deep learning models must be accompanied by a configuration file that complies with the new schema “gdljson” version 0.3. To get the new model configurations alongside with re-converted checkpoints, update your dlmodels-pick packages to at least 2026.205. Back up any custom models in one of the model directories first.
Install the package dltools to make custom models available in your dlmodels directory.
After installation, execute the command dltools-sync-models <DATADIR> in case you have
custom models on your system. The new default location of custom models is outside the
standard dlmodels-subdirectory.
E. g.:
/home/data/dlmodels/dlmodels-pick <- only packaged models from gempa
/home/data/dlmodels/custom <- custom models
dltools-sync-models creates links and merges dlmodels_maps.json.
Some models have been renamed. See the changelog of the dlmodels-pick package for detailed and adjust your configuration accordingly.
Changed¶
Expecting dlmodels with config version 0.3 (gdljson), which requires migrating older configs
Fixed¶
The app crashed when not all components were found for a stream
Configuration logic was wrong. Absent commandline flag deactivated message connection and gpu usage (and potentially more) although this was configured in the module config.
Parameter
streamChannelswas incorrectly parsed in some casesThe timeout for pick reduction was incorrectly calculated, leading to too early reductions
The model was searched in the wrong subdirectory when dlmodels_maps.json was found there
2026.112¶
Fixed¶
Huge memory leak that was connected to the cluster picks reduction algorithm
ModelSetup was not generated when “–model-weights” command line parameter was given,
Some issues reading in dlmodels_maps.json
Added¶
Module config parameter
picksReductionAlgorithm(has already been a binding parameter)
2026.111¶
Fixed¶
Fixed performance issues due to PyTorch caching
Improved¶
Improved performance by reducing RAM consumption
Changed¶
Default of parameter
picksReductionAlgorithmfrom “Cluster” to “Simple”, since the cluster algorithm has a memory leak which is being debugged
2026.040¶
Important¶
Config parameters have been refactored. Now,
epdisconnects from messaging, writes picks in SCML to stdoutxmlwrites picks-merged.xml asepdid before at the end of a runformattedneeds to be enabled to get SCML output in formatted fashion
Changes¶
All logging output is now printed on stderr
The loggers now respect the debug level
Fixed¶
Fixed a problem where dlpick was killed by the system because of too much RAM consumption
2026.012¶
Important¶
Config parameters have been refactored. The module config no longer has parameter groups model architectures. Instead, all parameters from there have been “leveled up”:
No longer bound to model architecture:
traceWindowOlRatioreducePicksOrder(deprecated)reducePicksInterval(deprecated)PThresholdSThresholdminPrefDataRatiomaxGap(still not implemented)
Parameter
filterhas additionally become a binding parameterParameter
blindingSamplescan now be used to mask the edges of a prediction (module + bindings)Parameter
snrThresholdis now available als module and as bindings parameter
2026.006¶
Fixed¶
Pick reduction cluster algorithm didn’t correctly account for parameter
safeReduceMinPickCountbeing switched off, it published each pick instantly, instead.Further, a bug in the cluster algorithm prevented the black list for intervals of already published picks to shrink, which led to huge RAM consumption, especially for smaller batch sizes.
2025.342¶
Important¶
This version requires removing the old
dlbase2024.285 package and installing the new version tailored to your system configuration.
Added¶
Implemented support for CUDA. Use the command line flag
--gpuand adjust the batch size.
2025.311¶
Changed¶
Commandline parameter
force-channelsno longer restricts the handled record to those that match the provided list, but only applies to those where a match is possible.When the global binding parameter
detecStreamis missing or empty, the according stream is no longer skipped, butforce-channelsandstreamChannelsparameters will be parsed for a string that can be used fordetecStream.
Improved¶
Reduced the RAM consumption by reducing redundant picker objects for streams and delaying memory allocation for stream traces until a data record belonging to this stream is received.
Fixed¶
Resampler and Filter functions processes didn’t work on single stream components which led, e.g., to resampler warnings about gaps that didn’t exist in the data.
Crashes related to the cluster reduction algorithm.
Sometimes uncertain thresholds were used without explicit configuration.
2025.301¶
Important¶
A new installation of gsm package dlmodels (minimum version 2025.297) is required to work with this version of dlpick.
Parameters
modelandweightswere removed. Commands and configurations need to be adjusted. Use new parametermodelWeightsinstead.New naming convention for models is active from now on. While the simple names like pn-in stay as they are, more advanced names like pnv-et-il-150-2 get a more consistent and easier-to-parse form: pnv_15s-et_il-2: There 2–3 groups separated by dashes. The first group is the model name as abbreviation with optional model specifics attached with an underscore ‘_’, the second group defines the datasets the model was trained on as abbreviations, separated by underscores. The third group is optional and defines the weights version. Custom models can be named freely but need to start with gn-.
Added¶
Parameter
modelWeights(commandline:model-weights) to specify the model to use. Works exactly likemodelandweightsbefore, you just need to concatenate them. E.g.,--model phasenet --weights instancebecomes--model-weights phasenet-instance.Support for custom models (“Generic”). Model configs contain new parameters to determine what needs to be done:
dims => dimension order of output (e.g., BCN => batches, channels, samples)
post_proc_chain => post-processing steps, currently still undocumented
description => free text string to define
Binding parameters
picksReductionClusterSizeandpicksReductionSimpleIntervalto control the interval where only pick is allowed to exist.
2025.290¶
Added¶
Bindings parameter
picksReductionAlgorithmto select “Simple” or “Cluster” reduction algorithm.safeReduceMinPickCountcan now be set to 0 if one only wants to use the cluster algorithm without the early publishing of picks (for example, in offline mode).
2025.289¶
Added¶
New picks cluster reduce-algorithm that can be activated using the new parameter
safeReduceMinPickCount. If not set or set to 0, the old “simple reduce-algorithm” will be used to reduce picks. If you use overlapping of minimum 0.5, you can set the parameter to a value between 1 and1/(1-overlapping-ratio)(which is approximately the maximum overlapping-induced coverage of a prediction segment). A cluster has the maximum length ofreducePicksIntervalseconds. If a cluster has at leastsafeReduceMinPickCountof picks, they will be reduced to their most confident one, and this one is published. Later picks within the interval limits around the chosen pick will be ignored. This is supposed to speed up realtime picking.
2025.261¶
Changed¶
When amplitudes cannot be calculated, their value will be -1.
Add waveform ID to Amplitude object
Fixed¶
The time window of the Amplitude object is now in seconds and signed
2025.259¶
Added¶
EventParameters now contain amplitudes, calculated by maximum of the signal / standard deviation of the noise. Currently, amplitudes for picks too close to the border their prediction window can’t be calculated and get amplitude 0.
Component letters ‘1’ and ‘2’ of stream IDs are now mapped to components ‘N’ and ‘E’.
“DLog”, which is dlpick’s own logger, now writes to the log file, following the SeisComP conventions. All dlpick’s ‘DLog’ messages are printed as Seiscomp warning.
Fixed¶
Increasing the log level using verbosity flags (“-v…”) now works properly for dlpick’s own logger.
2025.244¶
Fixed¶
dlpick --print-modelsdidn’t find dlmodels_maps.json when data dir was different from default.
Changed¶
Updated documentation
2025.240¶
Added¶
Documentation
2025.198¶
Important¶
The deep learning models that are used by this dlpick have been removed from this repository. They are now part of the GSM packages
dlmodels-pick, 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/Change model config reading behavior to be more flexible.
Added¶
Universal configuration format for all models: Add parameter
modelsPathto customize the path where models are read from.
Fixed¶
Add API version check to make dlpick compatible with seiscomp 17.0.0 API and below.
2024.221¶
Added¶
Added this changelog.