Workflow

The deepc plugin can be loaded by modules like scautopick [12], screpick [16] or scolv [15].

../_images/deepc-scautopick-full-ex.svg

Figure 36: Example workflow with DeepC as a plugin for scautopick

The DL model is configurable. Depending on configured model the tasks and results differs:

  1. An event classification model used with scautopick or screpick adds a comment with the event type to the resulting pick object. It shouldn’t be loaded with scolv.

  2. Models providing phase classification used with scautopick or screpick potentially change the phase hint of the resulting pick object, and they shouldn’t be loaded with scolv either.

  3. Models providing onset time prediction used with scautopick or screpick will refine the pick time as any other picker plugin. They can also be loaded by scolv and used as repicker. Further, if activated, the confidence of the model’s pick can be shown in the SNR field of the info box.

Task

Phase

Name

Bindings parameters

Modules

Description

Event classification

P

deepc-ec

picker.deepc.deepcEC.*

scautopick, screpick but not scolv

Adds a comment with the event type to the pick for evaluation by scevent [14].

Phase classification

P

deepc-pc

picker.deepc.deepcPC.*

scautopick, screpick but not scolv

Sets the phase hint.

Phase classification and refinement

P

deepc-pr

picker.deepc.deepcPR.*

scautopick, screpick, scolv

Refines pick time, phase hint.

Phase classification and refinement

S

deepc-sr

spicker.deepc.deepcSR.*

scautopick, screpick but not scolv

Refines pick time, phase hint.

To perform one of these tasks, you need to load the respective sub-picker referring to it by its name.

Note

Currently, gempa doesn’t provide a model for the task event classification.

3-Component Data Processing

Most DL models require 3-component waveform data to work with. In case only single-component data exits, the missing data .. channels may be generated from the existing ones by duplication and renaming of streams using scart [11].

Example duplicating and renaming streams from a file data.mseed:

dataFile=data.mseed
# extract data to be duplicated:
echo "
2000-01-01 00:00;2024-01-01 00:00;AB.*.00.HHZ > /tmp/filter.list

scart -I $dataFile -l /tmp/filter.list --stdout > /tmp/filter.mseed

# rename:
scart --rename AB.TEST1.00.HHZ:AB.TEST1.00.HHN,AB.TEST1.00.HHZ:AB.TEST1.00.HHN -I /tmp/filter.mseed --stdout > /tmp/hhn.mseed
scart --rename AB.TEST1.00.HHZ:AB.TEST1.00.HHE,AB.TEST1.00.HHZ:AB.TEST1.00.HHE -I /tmp/filter.mseed --stdout > /tmp/hhe.mseed

# merge:
cat /tmp/hhn.mseed /tmp/hhe.mseed $dataFile | scmssort -Eui > /tmp/duplicated.mseed

Note that a DL model won’t work as reliably with artificial components as with true 3-component data.

Phase reclassification

For phase refinement and classification, DeepC-PR and DeepC-SR can be used as primary and as secondary picker, respectively. Depending on whether picker.deepc.deepcPR.reclassify is set and how confidence thresholds are defined, DeepC-PR follows a decision tree to classify a pick:

../_images/decisiontree-p.svg

Figure 37: Pick decision tree for DeepC primary picker

In principle, DeepC-SR could be run with reclassification as well, but it is currently not recommended as it would undermine the sense of the secondary picker. Therefore, DeepC-SR has only two possibilities: send or not-send an S pick which is implemented by the very basic check if the first S pick after the trigger has a confidence above the given threshold.

A reclassification could take into account if the confidence for a P pick close to the potential S pick is higher. As a consequence, DeepC-SR could then reject the pick. But, currently, its pick decision tree is not implemented this way, so reclassification should be turned off for DeepC-SR.