Skip to content

NORSAR-official/arraynet

Repository files navigation

ArrayNet: A combined seismic phase classification and back-azimuth regression neural network for array processing pipelines, 2023.

Code and examples related to the paper ArrayNet: A combined seismic phase classification and back-azimuth regression neural network for array processing pipelines.

23/02/2026 : Added functionality to estimate phase classfication uncertainties by Neural Network Calibration (temperature scaling) and back-azimuth uncertainties by Monte Carlo Dropout. Also evaluation plots for sub-model were added.

To train an ArrayNet model (super-model) for the ARCES array run :

bash run.sh

Edit the script and adjust to your working environement

Input data for super-model in tf/data:

  • times_merged_arces_4Fre.npy : time stamp for seismic arrivals
  • X_merged_arces_4Fre.npy : co-array phase patterns for all arrivals
  • y_cl_merged_arces_4Fre.npy : Arrival label (phase type)
  • y_reg_merged_arces_4Fre.npy : Back-azimuth to event source

Input data for super- and sub-model in tf/data:

  • times_merged_arces_4Fre_regional.npy : time stamp for seismic arrivals
  • X_merged_arces_4Fre_regional.npy : co-array phase patterns for all arrivals
  • y_cl_merged_arces_4Fre_regional.npy : Arrival label (phase type)
  • y_reg_merged_arces_4Fre_regional.npy : Back-azimuth to event source

Edit `experiments.py' to train one of both models. Also change flag to include uncertainty estimates.

Due to limitations on file size on github we provide a reduced data set for training. However, we also provide the model trained with the full data set in (super-model only for now):

tf/output_full/

The models trained with the reduced data set which can be reproduced are in:

tf/output/

Call this script to evaluate the model trained with the full data set (super model), including confusion matrix, classification metrics, and back-azimuth residuals. For the sub-model with regional phase lables, it currently uses the model trained on the limited data. Change flags to use sub-model and/or show uncertainty estimates.

python evaluate_models.py

Call this script to generate new input data from ARCES array data (saved under tf/data/ with basename test ):

python generate_input_data.py

Related publication

  • Andreas Köhler, Erik B. Myklebust. ArrayNet: A combined seismic phase classification and back-azimuth regression neural network for array processing pipelines. Accepted for publication in BSSA, 2023.

License

See LICENSE.txt for more information.

(back to top)

Contact

Andreas Köhler - andreas.kohler@norsar.no - ORCID

Erik B. Myklebust - ORCID

Project Link: https://github.com/NorwegianSeismicArray/arraynet

(back to top)

Acknowledgments

(back to top)

About

ArrayNet

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors