Available trained models

gempa [11] provides many models trained on and applied to different data sets at different scales of epicentral distances, source depths and source types. They are listed in table deepc-models. Use these model names for configuration of modelWeights which exists for each sub-picker:

The corresponding DL models are installed with the dlmodels package. When installing deepc by gsm, dlmodels is installed automatically. A typical installation directory is /home/data/dlmodels.

The corresponding DL models are installed with the dlmodels package. When installing deepc by gsm, dlmodels is installed automatically. A typical installation directory is /home/data/dlmodels.

Event classification models

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

Phase classification models

model name

specifics

applications

training data

pnc-cb-1_4

P, S, Noise

(re-) classify phase hints for picks

Combined (INSTANCE [4], SCEDC [8] and STEAD [9])

Joint time prediction and phase classification models

The Seismology Benchmark collection, SeisBench [27], has published many pre-trained picker models. gempa provides converted versions of some of these models and also in-house trained ones. These models predict probabilities for P, S, and Noise for each sample of a trace. DeepC post-processes their predictions to phase classification and onset refinement of a given trigger.

EqTransformer

The following models are trained on the SeisBench implementation of EqTransformer [26].

model name

specifics

applications

training data

eq-et

60 s, 100 Hz

regional data

ETHZ [2]

eq-ge

60 s, 100 Hz

teleseismic data

GEOFON [3]

eq-in

60 s, 100 Hz

regional data

INSTANCE [4]

eq-iq

60 s, 100 Hz

regional data

Iquique [5]

eq-ne

60 s, 100 Hz

regional data

NEIC [6]

eq-or

60 s, 100 Hz

regional data

original EqTransformer weights [26]

eq-sc

60 s, 100 Hz

regional data

SCEDC [8]

eq-st

60 s, 100 Hz

regional data

STEAD [9]

PhaseNet

The following models are trained on the SeisBench adaptions of PhaseNet [32].

model name

specifics

applications

training data

pn-et

30.01 s, 100 Hz

regional data

ETHZ [2]

pn-ge

30.01 s, 100 Hz

teleseismic data

GEOFON [3]

pn-in

30.01 s, 100 Hz

regional data

INSTANCE [4]

pn-iq

30.01 s, 100 Hz

regional data

Iquique [5]

pn-jm

30.01 s, 100 Hz

regional data

JMA [1]

pn-ne

30.01 s, 100 Hz

regional data

NEIC [6]

pn-or

30.01 s, 100 Hz

regional data

original PhaseNet weights [32]

pn-pi

30.01 s, 100 Hz

trained on induced earthquakes

PiSDL [7]

pn-sc

30.01 s, 100 Hz

regional data

SCEDC [8]

pn-st

30.01 s, 100 Hz

regional data

STEAD [9]

pn-in_vl-74

30.01 s, 100 Hz

regional data

INSTANCE [4], Vogtland

pn-in_vl-97

30.01 s, 100 Hz, all-comps-normalized

regional data

INSTANCE [4], Vogtland

pn-vl-91

30.01 s, 100 Hz, all-comps-normalized

regional data

Vogtland

pn-vp

30.01 s, 100 Hz

volcanic data

VCSEIS [10]

pnv_15s-et-1

15 s, 100 Hz

regional

ETHZ [2]

pnv_30s-et-sb

30 s, 100 Hz

regional

ETHZ [2]

pnv_60s-et-0

60 s, 100 Hz

regional

ETHZ [2]

Using custom models

Custom models can easily be added, after they have been converted by gempa into the correct format. To use them, first install dltools. Let’s say your new model is an EQTransformer trained on your own dataset called “TestDataset”. Gempa DL models follow a specific naming convention that refers to the model, the trained dataset and an optional version. To keep names simple and short there are abbreviations for models and dataset. They are stored with your dlmodels installation in a file called dlmodels_maps.json. To make your model available for deepc or other gempa DL modules and plugins, you need to edit this file, as well, which is easily done by dltools.

The following line adds your dataset name with the abbreviation “tds” (abbreviations are always 2 or 3 letters) to the default file path /home/data/dlmodels/dlmodels-pick/dlmodels_maps.json:

$ dltools-add-ds TestDataset tds

The next step is to move your model to the custom directory and to link it to the standard directory and to merge your dlmodels_maps.jons files:

$ mv eq-tds.json eq-tds.cpu.pt eq-tds.cuda.pt /home/data/dlmodels/custom  # default directory for custom models
$ dltools-sync-models /home/data/dlmodels  # parent directory for picker, classifier and models

This adds the config file (.json) and the two checkpoints (for CPU and for CUDA) to the correct location and links them into /home/data/dlmodels/dlmodels-pick. The file /home/data/dlmodels/dlmodels-pick/dlmodels_maps.json will have all necessary information on your dataset, which allows for parsing your file name correctly, without error message:

  • “eq”-> “EQTransformer”

  • “tds” -> “TestDataset”

Note

You are not forced to use this file structure. dltools-sync-models needs a parent directory for pickers and classifiers, but the custom models directory can be provided with parameter –customPath /path/to/custom/models. In case you don’t have subdirectories in your parent directory, add –flat.

Even dltools-add-ds can be advised to read and write to specific subdirectories instead of assuming the defaults: dltools-add-ds TestDataset tds –input /path/to/custom/models/dlmodels_maps.json

Confirm the changes by listing all available models:

$ dltools-list-models

List of available models:
-------------------------------------------------------------------------------------------------------
  Identifier          | Architecture      | Attrib. | Datasets                         | Version | C | G
-------------------------------------------------------------------------------------------------------
eq-et                 | EQTransformer     |         | ETHZ                             |         |  |    :                        :                          :                                           :   :
eq-tds                | EQTransformer     |         | TestDataset                      |         |  |    :                        :                          :                                           :   :

The list view is shortened here but should look similar. From now on, eq-tds can be used as value for dlpick