Skip to main content

Seismological Monitoring using Interferometric Concepts

Project description

SeisMIC logo

Build Status Documentation Status License: EUPL v1.2 codecov DOI PyPI Python 3.9

Monitoring Velocity Changes using Ambient Seismic Noise

SeisMIC (Seismological Monitoring using Interferometric Concepts) is a python software that emerged from the miic library. SeisMIC provides functionality to apply some concepts of seismic interferometry to different data of elastic waves. Its main use case is the monitoring of temporal changes in a mediums Green's Function (i.e., monitoring of temporal velocity changes).

A velocity change time series

SeisMIC will handle the whole workflow to create velocity-change time-series including:

  • Downloading raw data
  • Adaptable preprocessing of the waveform data
  • Computating cross- and/or autocorrelations
  • Plotting tools for correlations
  • Database management of ambient seismic noise correlations
  • Adaptable postprocessing of correlations
  • Computation of velocity change (dv/v) time series
  • Postprocessing of dv/v time series
  • Plotting of dv/v time-series
  • Inverting dv/v onto a spatial grid

SeisMIC handles correlations and data in an ObsPy-like manner.

Installation of this package

Installation from PyPi (pip install)

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

# We recommend installing mpi4py from the conda-forge channel instead of PyPi
conda install -c conda-forge mpi4py

pip install seismic

# If you want to execute the tutorials, you will have to install jupyter as well
pip install jupyter

Installation from Source Code

To obtain the lates features, you can install SeisMIC from its source code, available on GitHub.

Developers should download the dev branch

Download this package via GitHub and install it via bash terminal (the few steps shown below) or using the graphical user interface

# Download via wget or web-browser
wget https://github.com/PeterMakus/SeisMIC/archive/refs/heads/main.zip

# For developers download the dev branch
wget https://github.com/PeterMakus/SeisMIC/archive/refs/heads/dev.zip

# unzip the package
unzip main.zip  # or dev.zip

# Change directory to the same directory that this repo is in (i.e., same directory as setup.py)
cd SeisMIC-main  # That's the standard name the folder should have

# Create the conda environment and install dependencies
conda install -c conda-forge mpi4py
conda env create -f environment.yml

# Activate the conda environment
conda activate seismic

# Install the package in editable mode
pip install -e .

# If you want to execute the tutorials, you will have to install jupyter as well
pip install jupyter

Getting started

Access SeisMIC's documentation here.

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

Acknowledging the Use of SeisMIC in your Work

If you should use SeisMIC to create published scientific content please cite the SeisMIC paper: Makus, P., & Sens-Schönfelder, C. (2024). SeisMIC-an Open Source Python Toolset to Compute Velocity Changes from Ambient Seismic Noise..

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 SeisMIC! Have a look at our guidelines for contributors

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

seismic-0.5.24.tar.gz (136.0 kB view hashes)

Uploaded Source

Built Distribution

seismic-0.5.24-py3-none-any.whl (148.2 kB view hashes)

Uploaded Python 3

Supported by

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