Simplified machine-learning driven earthquake detection, location, and analysis
Project description
easyQuake
Simplified machine-learning driven earthquake detection, location, and analysis in one easy-to-implement python package.
On most systems you should be able to simply:
pip install easyQuake
Or you could:
git clone https://github.com/jakewalter/easyQuake.git
cd easyQuake
pip install .
If you find this useful, please cite:
Walter et al. (in prep) easyQuake: Putting machine learning to work for your regional seismic network or local earthquake study
Requirements
This code leverages machine-learning for earthquake detection. You should have suitable hardward to run CUDA/Tensorflow, which usually means some sort of GPU. This has been tested on servers with nVidia compute cards, but also runs well on a modest multi-core with gaming PC nVidia card. The event-mode can be run efficiently enough on a laptop.
Running easyQuake
The example runs easyQuake for a recent M6.5 earthquake in Idaho
from easyQuake import download_mseed
from easyQuake import daterange
from datetime import date
from easyQuake import combine_associated
from easyQuake import detection_continuous
from easyQuake import association_continuous
from easyQuake import magnitude_quakeml
from easyQuake import simple_cat_df
import matplotlib.pyplot as plt
maxkm = 300
maxdist=300
lat_a = 42
lat_b = 47.5
lon_a = -118
lon_b = -111
start_date = date(2020, 3, 31)
end_date = date(2020, 4, 1)
project_code = 'idaho'
project_folder = '/data/id'
for single_date in daterange(start_date, end_date):
print(single_date.strftime("%Y-%m-%d"))
dirname = single_date.strftime("%Y%m%d")
download_mseed(dirname=dirname, project_folder=project_folder, single_date=single_date, minlat=lat_a, maxlat=lat_b, minlon=lon_a, maxlon=lon_b)
detection_continuous(dirname=dirname, project_folder=project_folder, project_code=project_code, single_date=single_date, machine=True,local=True)
association_continuous(dirname=dirname, project_folder=project_folder, project_code=project_code, maxdist=maxdist, maxkm=maxkm, single_date=single_date, local=True)
cat, dfs = combine_associated(project_folder=project_folder, project_code=project_code)
cat = magnitude_quakeml(cat=cat, project_folder=project_folder,plot_event=True)
cat.write('catalog_idaho.xml',format='QUAKEML')
catdf = simple_cat_df(cat)
plt.figure()
plt.plot(catdf.index,catdf.magnitude,'.')
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- code was used from obspyck, gpd, hashpy, and others
- would not be possible without obspy
- this work was developed at the Oklahoma Geological Survey
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file easyQuake-0.1.2.tar.gz
.
File metadata
- Download URL: easyQuake-0.1.2.tar.gz
- Upload date:
- Size: 33.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89a4fb164cd718a0b049505a0af6b4574b0d7b19a63cb322933f31c09c0bd936 |
|
MD5 | c75a372babacc0402aca985c64a3fac7 |
|
BLAKE2b-256 | 9fd219297f7a1bab031343dc9dfba6e4db1d92716fccf7806b22c76c479e6d72 |
File details
Details for the file easyQuake-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: easyQuake-0.1.2-py3-none-any.whl
- Upload date:
- Size: 36.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75c1e71f2e1db50795a5490f3eb2edb63bbc7a89ef04d3e91beea7e711158413 |
|
MD5 | d9e7d32e188fff950f3966893ff4b24f |
|
BLAKE2b-256 | 404871579c8ba84adc909365efab7db66654d25bb6c82f95d87b2dc6b52fc8ee |