https://github.com/pyglimer/pyglimer

An automatic seismology toolset for global P-to-S and S-to-P receiver function imaging

https://github.com/pyglimer/pyglimer

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 6 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.2%) to scientific vocabulary

Keywords

geodynamics geophysics python receiver-function receiver-functions research seismic seismic-imaging seismology solid-earth-physics

Keywords from Contributors

environmental-seismology greens-function inversion noise noise-monitoring seismic-noise
Last synced: 6 months ago · JSON representation

Repository

An automatic seismology toolset for global P-to-S and S-to-P receiver function imaging

Basic Info
Statistics
  • Stars: 43
  • Watchers: 3
  • Forks: 11
  • Open Issues: 6
  • Releases: 2
Topics
geodynamics geophysics python receiver-function receiver-functions research seismic seismic-imaging seismology solid-earth-physics
Created almost 7 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License

README.md

PyGLImER logo

Build Status Documentation Status License: EUPL v1.2 codecov


A workflow to create a global database for Ps and Sp receiver function imaging of crustal and upper mantle discontinuties

PyGLImER automates receiver function (RF) processing from download of raw waveform data to common conversion point (CCP) imaging with a minimum amount of user interference.

The implementation includes:

  • Functions to download raw waveform data from FDSN providers
  • Functions to feed in local waveform data
  • An adaptable preprocessing scheme, including various rotational algorithms
  • A variety of deconvolution algorithms (user-defined algorithms possible)
  • An implementation of the iasp91 and GyPSum velocity models for depth migration (user-defined models are accepted)
  • A new, particularly efficient Common Conversion Point Stacking algorithm
  • A variety of plotting tools to explore datasets and to create prublication ready figures
  • Efficient and fast processing and data management, support multi-processing, MPI, and HDF5

As developers, we are particularly concerned to create an automated, adaptable, efficient, and, yet, easy-to-use toolkit.

The project is largely based on the ObsPy project and can be seen as a more powerful and user-friendly successor of the GLImER project.

Installation of this package

Installation from PyPi

PyGLImER is now deployed on PyPi and can simply be installed using:

bash pip install pyglimer

Installation from source code

To obtain the latest updates, you can install PyGLImER from the source code, available on GitHub.

⚠️ Developers should download the dev branch

```bash

Download via wget or web-browser

wget https://github.com/PyGLImER/PyGLImER/archive/refs/heads/master.zip

For developers

wget https://github.com/PyGLImER/PyGLImER/archive/refs/heads/dev.zip

unzip the package

unzip master.zip # or dev.zip, depending on branch

Change directory to the same directory that this repo is in (i.e., same directory as setup.py)

cd PyGLImER-master # That's the standard name the folder should have

Create the conda environment and install dependencies

conda env create -f environment.yml

Activate the conda environment

conda activate pyglimer

Install your package

pip install -e . ```

Optionally, you can test the package by running

bash pytest -p no:logging tests

Getting started

Access PyGLImER's documentation here.

PyGLImER comes with a few tutorials (Jupyter notebooks). You can find those in the examples/ directory.

What it looks like

With PyGLImER, we facilitate processing extremely large amounts of teleseismic data. This enables us to create large scale CCP sections as shown for P-to-S and S-to-P receiver function data in the plot below:

| Map With CCP sections | |:--:| | FIG: Seismic broadband stations with available receiver functions are plotted as downward-pointing red triangles. The locations of the shown cross-sections are demarked as bold black lines. Cross-sections A, B, and D are created from S receiver functions stacked by common conversion point, whereas cross-section C shows a slice through a P receiver function common conversion point stack. Data begin to fade to grey if the respective gridpoint is hit by fewer than 25 rays. Note that the vertical exaggeration varies from panel to panel. |

PyGLImER also comes with a toolset to create publication ready figures:

| Combined Stack and Section | |:--:| | FIG: Single station stack and receiver functions sorted by epicentral distance from P receiver function for station GE.DAG. |

| Distribution of back-azimuth and rayparameters | |:--:| | FIG: Distribution of back-azimuth and rayparameter for the P receiver functions from GE.DAG as shown above. |

Reporting Bugs / Contact the developers

This version is an early release. If you encounter any issues or unexpected behaviour, please open an issue here on GitHub.

Questions?

If you have any questions that do not require any changes in the source code, please use the discussions feature

Contributing

Thank you for contributing to PyGLImER! Have a look at our guidelines for contributors

Citing PyGLImER

If you use PyGLImER to produce content for your publication, please consider citing us. For the time being, please cite our AGU abstract.

Latest

We are happy to announced that PyGLImER has been awarded an ORFEUS software development grant and are looking forward to further develop this project.

Owner

  • Name: PyGLImER
  • Login: PyGLImER
  • Kind: organization

Developing an automatic framework for global P-to-S and S-to-P receiver function imaging

GitHub Events

Total
  • Issues event: 3
  • Watch event: 6
  • Push event: 1
  • Pull request event: 1
Last Year
  • Issues event: 3
  • Watch event: 6
  • Push event: 1
  • Pull request event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 742
  • Total Committers: 6
  • Avg Commits per committer: 123.667
  • Development Distribution Score (DDS): 0.577
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
PeterMakus p****s@g****e 314
Peter Makus p****s@s****o 281
Lucas Sawade l****e@p****u 90
Peter Makus 4****s 21
Peter Makus p****0@s****o 19
Peter Makus m****s@g****e 17
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 34
  • Total pull requests: 70
  • Average time to close issues: 4 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 6
  • Total pull request authors: 4
  • Average comments per issue: 4.29
  • Average comments per pull request: 0.59
  • Merged pull requests: 59
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 6 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lsawade (16)
  • PeterMakus (14)
  • geoAP90 (1)
  • datseismo (1)
  • rkoireng (1)
  • flixha (1)
Pull Request Authors
  • PeterMakus (36)
  • lsawade (25)
  • dependabot[bot] (8)
  • flixha (1)
Top Labels
Issue Labels
enhancement (13) bug-confirmed (5) not-urgent (2) help wanted (1) question (1) duplicate (1)
Pull Request Labels
dependencies (8)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 26 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 2
pypi.org: pyglimer

Pythonic Lithospheric Imaging using Earthquake Records

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 26 Last month
Rankings
Dependent packages count: 6.6%
Average: 22.6%
Downloads: 30.5%
Dependent repos count: 30.6%
Maintainers (2)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • OWSLib *
  • colorama *
  • cython *
  • dill *
  • flake8 *
  • geographiclib *
  • global-land-mask *
  • jinja2 <3.1
  • joblib *
  • matplotlib *
  • numpy *
  • obspy >=1.3
  • pandas *
  • pip *
  • plotly *
  • prov *
  • psutil *
  • py *
  • pyasdf *
  • pydata-sphinx-theme *
  • pytest *
  • pyvista *
  • pyyaml *
  • scipy *
  • sphinx <6.0
  • sphinx-copybutton *
  • sphinx-gallery *
  • tqdm *
  • wheel *
.github/workflows/codecov.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/deploy_gh_pages.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • ad-m/github-push-action master composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/test_on_push.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
environment.yml conda
  • cartopy
  • colorama
  • dill
  • flake8
  • geographiclib
  • h5py
  • joblib
  • matplotlib
  • numpy
  • obspy >=1.3.1
  • owslib
  • pandas
  • pip
  • plotly
  • prov
  • psutil
  • pytest
  • python >=3.7,<3.11
  • pyvista
  • pyyaml
  • scipy
  • tqdm