Skip to content

Source code for “Identifying Seismic Waves with Convolutional Neural Networks” tutorial on my website:

Notifications You must be signed in to change notification settings

ngrayluna/P_Phase_Picker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Identifying Seismic Waves with Convolutional Neural Networks

This repository serves two purposes: 1) it is supplementary material for the “Identifying Seismic Waves with Convolutional Neural Networks” tutorial on my website: [insert website name here] and 2) it is a starting point for those who benefit from seeing an example, from start to finish, of how to train a 1D convolutional neural network to pick the first arriving seismic phase. This model has room for improvement and should serve only as a starting point.
The machine learning pipeline stages included in this repository are:
Downloading Seismic Data --> Pre-Processing & Formatting --> Defining --> Compiling a 1D Convolutional Neural Network --> Training

Figure: Schematic of 1D convolutional neural network used to identify the first-arriving phase arrival of an earthquake. Note that each instance is composed of three channels, one for each component measuered by the seismometer (Z, N-S, and E-W).

Table of Contents

All scripts are written in Python3. The following libraries (and their version) were also used:
  • NumPy 1.15.3
  • ObsPy 1.1.0
  • Pandas 0.23.0
  • Keras (on top of TensorFlow) 2.2.4
  • TensorFlow 1.8.0
  • Matplotlib
Run the following .py scripts in the following order in order to replicate what was done for the tutorial. Make note of where each output directory is stored relative to your home directory.
  • /bin/download_data/define_stations.py
  • /bin/download_data/get_quakefiles.py
  • /bin/download_data/get_mass_picks.py
  • /bin/download_data/get_mass_data.py [currently not included]
  • / bin/pre_process/make_data_set.py
  • /bin/pre_process/format_waveforms.py
  • /models/p_phase_picker.py

Figure: Example waveforms and their associated first arrival using the Baer Pick method (in red) and the machine learning (purple) pick.

Waveform data, metadata, or data products for this study were accessed through the Northern California Earthquake Data Center (NCEDC), doi:10.7932/NCEDC.

About

Source code for “Identifying Seismic Waves with Convolutional Neural Networks” tutorial on my website:

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages