Skip to main content

Python package for earthquake focal mechanism inversions

Project description

SKHASH

Python package for earthquake focal mechanism inversions.

Author: Robert Skoumal, U.S. Geological Survey | rskoumal@usgs.gov

This project contains Python code to compute focal mechanism solutions using first-motion polarities (traditional, consensus, and/or imputed) and S/P ratios (traditional and/or consensus).

How to Use

1. Install the latest release in your virtual environment:

# If you don't want to create beachball plots:
pip install -U SKHASH

# If you do want to create beachball plots:
pip install -U 'SKHASH[plot]'

Python 3.8+ versions are supported.

2. Run SKHASH with your desired control file:

SKHASH path_to/control_file.txt

More information

Running examples

A variety of examples are provided in the repository. It's recommended you play around with these examples to learn about some of the features.

  1. Download the examples folder available HERE.
  2. Unzip the folder.
  3. Navigate to the examples folder you just downloaded, e.g.: cd examples
  4. Run SKHASH with the example of your choice, e.g.: SKHASH hash1/control_file.txt

Manual

Refer to the manual or the wiki for additional information about running the code.

Fortran subroutine (completely optional)

By default, SKHASH will compute mechanisms using the Python routine. However, to speed up the grid search, you can choose to take advantage of an included Fortran subroutine. If the Python C/API wrapper does not already exist, SKHASH will automatically create the wrapper with the user's permission when the Fortran subroutine is used.

To use this Fortran routine, add the following lines to your control file:

$use_fortran
True

A fortran compiler will be needed on the user's machine. If one does not exist, here are some examples on how to get one:

# macOS Homebrew example
brew install gcc

# Ubuntu example
apt install gfortran

If you're using Python 3.12+, the meson and ninja packages are also needed.

pip3 install meson ninja

Note that if you are using macOS and receive an error, you may be missing the Command Line Tools package. To install:

xcode-select --install

Citation

Please cite our paper if you use anything in this project:

  • Skoumal, R.J., Hardebeck, J.L., Shearer, P.M. (2024). SKHASH: A Python package for computing earthquake focal mechanisms. Seismological Research Letters, 95(4), 2519-2526. https://doi.org/10.1785/0220230329

Significant portions of this algorithm are based on HASH:

  • Hardebeck, J.L., & Shearer, P.M. (2002). A new method for determining first-motion focal mechanisms. Bulletin of the Seismological Society of America, 92(6), 2264-2276. https://doi.org/10.1785/0120010200

  • Hardebeck, J.L., & Shearer, P.M. (2003). Using S/P amplitude ratios to constrain the focal mechanisms of small earthquakes. Bulletin of the Seismological Society of America, 93(6), 2434-2444. https://doi.org/10.1785/0120020236

License and Disclaimer

License: This project is in the public domain.

Disclaimer: This software is preliminary or provisional and is subject to revision.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skhash-1.1.4.tar.gz (58.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skhash-1.1.4-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

File details

Details for the file skhash-1.1.4.tar.gz.

File metadata

  • Download URL: skhash-1.1.4.tar.gz
  • Upload date:
  • Size: 58.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for skhash-1.1.4.tar.gz
Algorithm Hash digest
SHA256 4746295a76104d61944d56f876df785d81d93b4d52801784ad2c0dc53e29a20a
MD5 f175aff7cfeb3fe7606195fc50861c38
BLAKE2b-256 76e8e157c7cb7f269f7035f9be1b540bebd5dfa52784b9f1f1018d78e8eac030

See more details on using hashes here.

File details

Details for the file skhash-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: skhash-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 64.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for skhash-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9d97f99afed4c5bc69661383548de9aa78a27a73b9980044d9c1a5b1d08d412e
MD5 ef6a92169578f2855c1104fbd5e1b9fc
BLAKE2b-256 c9eb7402e8f1c705ff7c1360cb76143421125fc58dc14758f1fe83e9c92028fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page