Change Log

All notable changes for the ccloc package and its applications will be documented in this file.

2024.311

Changed

  • Ignore attributes of Picks in template events: backazimuth und horizontalSlowness, onset, polarity.

  • Ignore attributes of Arrivals in template events: timeResidual, backazimuthUsed, backazimuthResidual, horizontalSlownessUsed, horizontalSlownessResidual.

  • Ignore attributes of Origins in template events: quality.standardError.

2024.301

Fixed

  • Fix incorrectly reported count of matched stations.

2024.274

Added

  • evccloc plugin: Check distance to preferred origin and the origin evaluation status before setting event type as configured by the scevent configuration parameters ccloc.maxDistToPrefOrigin and ccloc.ignoreStatus, respectively.

2024.226

Changed

  • Code maintenance of evccloc plugin.

2024.129

Fixed

  • Fix incorrect handling of parameter procMargin in certain situations.

  • Fix missing publication of picks for single-pick templates.

Changed

  • Remove option to dump individual steps. Parameters output.dump.eachStep, output.dump.startTime and output.dump.endTime have been removed from the configuration accordingly.

Added

  • Add binding parameter useAllC used to enable matching on all channels of a station.

  • Introduce parameter detector.minimumChannelsPerStationRatio used to control the ratio at which a station is declared as matching.

2023.347

Added

  • Explain the relation between SeisComP filters and envelopes in ccloc in the documentation.

2023.341

Added

  • Support more time formats in parameters output.dump.startTime and output.dump.endTime.

2023.195

Changed

  • Update Getting started and Examples sections in documentation.

  • Update command-line help.

2023.192

Changed

  • Accelerate data setup and pre-processing especially in case of many event or pick templates.

  • Improve reading of template data. Channels are now cropped more precisely. This allows for shorter templates as no data padding is required.

Added

  • Introduce parameter procMargin that allows to compensate for filter artefacts.

2023.164

Changed

  • Print number of published origins to stderr.

2023.136

Changed

  • Add support for SeisComP API >= 16.0.0.

2023.023

Fixed

  • Fix reading of origin from database.

  • Handle records with 0 samples correctly.

Changed

  • Ignore duplicate entries in parameter events.

2022.354

Fixed

  • Fix ignored parameters in binding profiles.

2022.342

Important

  • Optimized overall speed of computation. The speed-up may be up to a factor of 3. However, cross-correlation coefficients/fit values may differ slightly w.r.t previous version. The difference are usually < 0.03. However, origins with detection values previously close to the configured threshold may be missed. Consider testing and adjustment of the configuration parameter detector.threshold or event.$name.detector.threshold, i.e. reducing slightly by 0.01 - 0.05.

  • Configuration parameter processing.normalization was ignored in previous versions and always set to “trace”. The parameter is respected again. For consistency, its default configuration value was changed to “trace”. If processing.normalization was previously configured with “total” you must change the value to “trace” in order to retain the same behavior.

Added

  • Added support for multi-threading and GPU to speed up computation. New control parameters are computeRessources.numThreads and computeRessources.useGPU.

  • Added support of measuring backazimuth and slowness from arrays which can be defined per template event adding are reference stream in event.$name.array.referenceLocation.

Changed

  • Previously the default configuration parameters detector.threshold, detector.channelThreshold, detector.minimumChannelRatio and detector.minimumStationRatio were different from the hard-coded values. When unconfigured and providing the configuration file using --config-file the result therefore differed from playbacks with standard configuration files. The hard-coded parameters now equal their default configurations.

2022.258

Changed

  • Minor improvements in documentation.

2022-06-30

Added

  • Add reference to cross correlation to documentation.

2022-01-28

Changed

  • Update documentation.

2021-10-07

Added

  • Add Method to pick object which is not ccloc. It can be viewed in the scolv arrival table

  • Print number of written origins to stderr when running in ep mode

  • Print to stderr the origin score and if it is sent or not

2021-05-13

Changed

  • Update documentation

2021-05-06

Added

  • Allow parameter detector.fitWindow to be overwritten per master event.

Changed

  • Validate AIC filters only for relevant channels.

  • Adjust documentation of cross-correlation and getting started

Fixed

  • Fix handling of binding parameter use3C.

  • Fix rare NaN-value generation during envelope computation.

2021-04-22

Added

  • Do not process events with evccloc plugin where the event type was set manually unless ccloc.overwriteManual = true in scevent.cfg. The feature requires SeisComP >= 5.0.0.

2021-02-05

Changed

  • Validate AIC filters only if repicking is enabled.

2021-01-15

Changed

  • AIC filters are now validated at startup.

2020-12-22

Changed

  • Adjusted documentation

2020-10-09

Fixed

  • Fix handling of large gaps if present on all channels.

2020-09-23

Fixed

  • Do not crash for very small values of parameter detector.fitWindow.

2020-09-09

Changed

  • Move parameter detecEnable into the binding profiles to allow control on channel level.

  • Move command line parameter --before into the configuration.

Added

  • Send SNR amplitudes for all non-theoretical picks.

  • Extend AIC filter parameters to accept lists of filters.

  • Print processing speed in regular intervals and on application shutdown.

2020-09-01

Important

  • All new origins receive the status “preliminary” as their location is not defined by locating but by the template. To set no or a different status configure the parameter output.origins.status.

Fixed

  • Do not crash when using unsupported configuration and using --ep.

2020-08-26

Added

  • The section “Getting started” of the documentation now contains an example script for generating the template event interactively from scolv.

  • More configuration parameters were added to the documentation.

2020-08-19

Added

  • The new module configuration parameter repicking.sendAICPicks allows to send AIC picks which do not exceed the configured minimum SNR separately from the T-type picks.

2020-01-23

Changed

  • Updated the documentation, especially the section Getting started to work with the new configuration.

2020-01-17

Added

  • Add command line parameter --before. This parameter can be used to start processing a given number of seconds in the past.

Fixed

  • Fix wrong default value for parameter processing.envelope.hiFreq.

  • Improve time window handling in case of delayed or interrupted channel data.

2019-09-25

Changed

  • Channel parameters can now be configured in the bindings configuration for enhanced flexibility.

  • Improve best fit calculation to include more channels if possible.

Added

  • Add a restart option that allows ccloc to seamlessly continue processing after module restart.

Fixed

  • Fix silent misbehavior if the defined buffer size is too small.

  • Fix invalid total fit due to a single corrupted channel.

  • Allow to read magnitudes, origins and picks from the entire XML file.

2019-09-23

Added

  • Added the parameter prefOriginsAuthors for the plugin evccloc: if configured, the plugin for scevent only tests the preferred origin and the preferred origin must have one of the configured authors.

2019-09-04

Added

  • Add parameter events.$name.magnitudeID used to specify a custom magnitude.

2019-08-30

Fixed

  • Take noise window into account even if envelope is disabled.

2019-06-29

Added

  • Extend configuration options for improper event data.

2019-06-25

Fixed

  • Fix crash that may occur if the inventory has changed over time.

2019-05-16

Fixed

  • Do not crash if neither an XML file nor a baseID is given for a master event.

2019-05-06

Added

  • Add a score to control when an origin will be published.

Changed

  • Send theoretical picks only if explicitly configured.

2019-01-31

Changed

  • Extend the set of errors tolerated by ccloc if enabled.

Fixed

  • Fix crash that is caused by a missing complementary channel when repicking S.

2019-01-18

Added

  • Add the possibility to tolerate master templates with improper channel data.

2019-01-08

Fixed

  • Update evccloc plugin to read type comments correctly.

2018-12-20

Fixed

  • Fix crash if master template contains gaps or overlaps.

2018-12-18

Changed

  • Allow path variables in configuration parameter events.$name.xml.

2018-12-03

Changed

  • Extend waveform dumping to enable visual template verification.

  • Check picker settings on startup.

Fixed

  • Fix misstated channel and station counts.

  • Improve handling of event groups.

2018-11-16

Fixed

  • Read event data from the configured record stream if not explicitly specified.

2018-10-12

Fixed

  • Fix time window issues in repicking step.

2018-10-08

Fixed

  • Improve detection of best overall match within the configured time window.

  • Do not crash if stream information is missing.

2018-10-04

Added

  • Added the documentation of result evaluation and ccloc custom column.

2018-09-27

Changed

  • Improved the documentation and the description of configuration parameters.

  • Read the master event from database if no XML file is configured. Otherwise read from XML file. In both cases the baseID is used to extract the event parameters.

Fixed

  • Use the available horizontal components if use3C is enabled. Do not crash if data from one component is missing.

2018-09-25

Added

  • Added the evccloc plugin for scevent. If loaded by scevent, the plugin reads the type comment from the origins set by ccloc and sets the type of the detected event. The type comment contains the event type of the master event. In this way the master event type is propagated to the detected event.

2018-09-12

Changed

  • The parameter configuration was improved to account for new and deprecated parameters.

    The following parameters have been removed:

    • events.$name.latitude … removed as the parameter is read from master event

    • events.$name.longitude … removed as the parameter is read from

      master event

    • events.$name.depth … removed as the parameter is read from master event

    • events.$name.magnitude … removed as the parameter is read from master event

    • events.$name.time … removed as the parameter is read from master event

    • events.$name.place … removed as the parameter is read from master event

    • output.waveforms.enable … a similar behavior can be achieved with --dump

    • output.waveforms.mseed

    • output.waveforms.path

    The following parameters have been renamed:

    processing.maxAllowedGap -> processing.detector.maxAllowedGap
    processing.maxAllowedOverlap -> processing.detector.maxAllowedOverlap
    
    processing.filter.definition -> filter.definition
    processing.filter.bandstop -> filter.bandstop
    
    processing.envelope.enable -> envelope.enable
    processing.envelope.samplingFrequency -> envelope.samplingFrequency
    processing.envelope.hiFreq -> envelope.hiFreq
    processing.envelope.resampleAverage -> envelope.resampleAverage
    
    processing.logarithm.enable -> processing.logarithm
    
    detector.groupPublicationTimeout -> detector.publicationTimeout
    
    events.$name.maxAllowedGap -> events.$name.processing.detector.maxAllowedGap
    events.$name.maxAllowedOverlap -> events.$name.processing.detector.maxAllowedOverlap
    
    events.$name.processing.filter.definition -> events.$name.filter.definition
    events.$name.processing.filter.bandstop -> events.$name.filter.bandstop
    
    events.$name.processing.envelope.enable -> events.$name.envelope.enable
    events.$name.processing.envelope.samplingFrequency -> events.$name.envelope.samplingFrequency
    events.$name.processing.envelope.hiFreq -> events.$name.envelope.hiFreq
    events.$name.processing.envelope.resampleAverage -> events.$name.envelope.resampleAverage
    
    events.$name.processing.logarithm.enable -> events.$name.processing.logarithm
    

    The following module configuration parameters have been added:

    • repicking.enableAIC

    • detector.fitWindow

    • events.$name.originID … allow providing an origin ID. Otherwise the preferred origin is used. This origin may change by reprocessing.

    The following bindings configuration parameters have been added:

    • use3C … Use all three components for processing. Otherwise, only the

      component is used for on which the pick in the master event is defined.

    • ppicker.* AIC parameter for refining the picks of P-phases

    • spicker.* AIC parameter for refining the picks of S-phases

    Command-line options:

    • --ep implies --offline. No connection to messaging is established.