Metadata-Version: 2.1
Name: seismic
Version: 0.6.5
Summary: Seismological Monitoring using Interferometric Concepts
Home-page: https://github.com/PeterMakus/SeisMIC
Author: Peter Makus, Christoph Sens-Schönfelder, and the SeisMIC development team
Author-email: makus@gfz-potsdam.de
Project-URL: Documentation, https://petermakus.github.io/SeisMIC/index.html
Project-URL: doi, https://doi.org/10.26443/seismica.v3i1.1099
Keywords: Seismology,Ambient Noise,Earth Sciences,Environmental Seismology,Volcano Seismology,Critical Zone,Time-dependent dynamics,Inteferometry,Monitoring,Structural Health
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: geographiclib==2.0
Requires-Dist: h5py==3.9.0
Requires-Dist: matplotlib<=3.7.2
Requires-Dist: mpi4py<=3.1.4
Requires-Dist: numpy<=1.25.2
Requires-Dist: obspy<=1.4.0,>=1.3.1
Requires-Dist: pip
Requires-Dist: prov
Requires-Dist: pyyaml
Requires-Dist: scipy<=1.11.2
Requires-Dist: flake8
Requires-Dist: tqdm
Provides-Extra: docs
Requires-Dist: sphinx<6.0; extra == "docs"
Requires-Dist: pydata-sphinx-theme; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinxcontrib-mermaid; extra == "docs"
Requires-Dist: jinja2<3.1; extra == "docs"
Requires-Dist: jupyter; extra == "docs"
Provides-Extra: tests
Requires-Dist: pytest; extra == "tests"
Requires-Dist: py; extra == "tests"
Requires-Dist: flake8; extra == "tests"

<img src="https://github.com/PeterMakus/SeisMIC/raw/main/docs/source/figures/seismic_logo_small.png" alt="SeisMIC logo" width="600"/>

[![Build Status](https://github.com/PeterMakus/SeisMIC/actions/workflows/test_on_push.yml/badge.svg)](https://github.com/PeterMakus/SeisMIC/actions/workflows/test_on_push.yml?branch=main)
[![Documentation Status](https://github.com/PeterMakus/SeisMIC/actions/workflows/deploy_gh_pages.yml/badge.svg)](https://github.com/PeterMakus/SeisMIC/actions/workflows/deploy_gh_pages.yml)
[![License: EUPL v1.2](https://img.shields.io/badge/license-EUPL--1.2-blue)](https://joinup.ec.europa.eu/collection/eupl/introduction-eupl-licence)
[![codecov](https://codecov.io/gh/PeterMakus/SeisMIC/branch/main/graph/badge.svg?token=DYVHODB6LN)](https://codecov.io/gh/PeterMakus/SeisMIC)
[![DOI](https://img.shields.io/badge/DOI-10.26443/seismica.v3i1.1099-blue)](https://doi.org/10.26443/seismica.v3i1.1099)
[![PyPI](https://img.shields.io/pypi/v/seismic)](https://pypi.org/project/seismic/)
[![Python 3.10](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/release/python-3100/)

## 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).

<img src="https://github.com/PeterMakus/SeisMIC/raw/main/docs/source/figures/zhupanov_dv.png" alt="A velocity change time series" width="800"/>

**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](https://github.com/obspy/obspy)-like manner.

## Installation of this package

### Installation from PyPi (pip install)
**SeisMIC** is  now deployed on PyPi and can simply be installed using:

```bash
# 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

```bash
# 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](https://petermakus.github.io/SeisMIC/index.html).

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.](https://doi.org/10.26443/seismica.v3i1.1099).

## Reporting Bugs / Contact the developers
This version is an early release. If you encounter any issues or unexpected behaviour, please [open an issue](https://github.com/PeterMakus/SeisMIC/issues/new/choose) here on GitHub.

## Questions?
If you have any questions that do not require any changes in the source code, please use the [discussions feature](https://github.com/PeterMakus/SeisMIC/discussions)

## Contributing
Thank you for contributing to SeisMIC! Have a look at our [guidelines for contributors](https://github.com/PeterMakus/SeisMIC/blob/main/CONTRIBUTING.md)
