Workflow¶
The deepc plugin can be loaded by modules like scautopick [12], screpick [16] or scolv [15].
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:
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.
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.
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:
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.