https://github.com/jpvantassel/swprocess
Python package for surface wave processing.
https://github.com/jpvantassel/swprocess
geopsy mam masw processing surface wave
Last synced: about 1 month ago
JSON representation
Python package for surface wave processing.
- Host: GitHub
- URL: https://github.com/jpvantassel/swprocess
- Owner: jpvantassel
- License: other
- Created: 2019-08-13T20:15:31.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-02-07T20:21:52.000Z (about 1 year ago)
- Last Synced: 2025-03-28T19:11:48.447Z (about 1 year ago)
- Topics: geopsy, mam, masw, processing, surface, wave
- Language: Python
- Homepage: https://pypi.org/project/swprocess/
- Size: 122 MB
- Stars: 86
- Watchers: 4
- Forks: 32
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-geophysics - `swprocess`
README
# _swprocess_ - A Python Package for Surface Wave Processing
> Joseph P. Vantassel, [jpvantassel.com](https://www.jpvantassel.com/)
[](https://zenodo.org/badge/latestdoi/202217252)
[](https://github.com/jpvantassel/swprocess/blob/main/LICENSE.txt)
[](https://circleci.com/gh/jpvantassel/swprocess)
[](https://swprocess.readthedocs.io/en/latest/?badge=latest)

[](https://www.codacy.com/gh/jpvantassel/swprocess/dashboard?utm_source=github.com&utm_medium=referral&utm_content=jpvantassel/swprocess&utm_campaign=Badge_Grade)
[](https://codecov.io/gh/jpvantassel/swprocess)
## Table of Contents
- [About _swprocess_](#about-swprocess)
- [Why use _swprocess_](#why-use-swprocess)
- [Examples](#examples)
- [Getting Started](#getting-started)
## About _swprocess_
_swprocess_ is a Python package for surface wave processing. _swprocess_ was
developed by [Joseph P. Vantassel](https://www.jpvantassel.com/) under the
supervision of Professor Brady R. Cox at The University of Texas at Austin.
_swprocess_ continues to be developed and maintained by
[Joseph P. Vantassel and his research group at Virginia Tech](https://geoimaging-research.org/).
If you use _swprocess_ in your research or consulting, we ask you please cite
the following:
> Vantassel, J. P. (2021). jpvantassel/swprocess: latest (Concept). Zenodo.
> [https://doi.org/10.5281/zenodo.4584128](https://doi.org/10.5281/zenodo.4584128)
> Vantassel, J. P. & Cox, B. R. (2022). "SWprocess: a workflow for developing robust
> estimates of surface wave dispersion uncertainty". Journal of Seismology.
> [https://doi.org/10.1007/s10950-021-10035-y](https://doi.org/10.1007/s10950-021-10035-y)
_Note: For software, version specific citations should be preferred to
general concept citations, such as that listed above. To generate a version
specific citation for _swprocess_, please use the citation tool on the _swprocess_
[archive](https://doi.org/10.5281/zenodo.4584128)._
## Why use _swprocess_
_swprocess_ contains features not currently available in any other open-source
software, including:
- Multiple pre-processing workflows for active-source [i.e., Multichannel
Analysis of Surface Waves (MASW)] measurements including:
- time-domain muting,
- frequency-domain stacking, and
- time-domain stacking.
- Multiple wavefield transformations for active-source (i.e., MASW) measurements
including:
- frequency-wavenumber (Nolet and Panza, 1976),
- phase-shift (Park, 1998),
- slant-stack (McMechan and Yedlin, 1981), and
- frequency domain beamformer (Zywicki 1999).
- Post-processing of active-source and passive-wavefield [i.e., microtremor
array measurements (MAM)] data from _swprocess_ and _Geopsy_, respectively.
- Interactive trimming to remove low quality dispersion data.
- Rigorous calculation of dispersion statistics to quantify epistemic and
aleatory uncertainty in surface wave measurements.
## Examples
### Active-source processing

### Interactive trimming

### Calculation of dispersion statistics

## Getting Started
### Installing or Upgrading _swprocess_
1. If you do not have Python 3.8 or later installed, you will need to do
so. A detailed set of instructions can be found
[here](https://jpvantassel.github.io/python3-course/#/intro/installing_python).
2. If you have not installed _swprocess_ previously use `pip install swprocess`.
If you are not familiar with `pip`, a useful tutorial can be found
[here](https://jpvantassel.github.io/python3-course/#/intro/pip). If you have
an earlier version and would like to upgrade to the latest version of
_swprocess_ use `pip install swprocess --upgrade`.
3. Confirm that _swprocess_ has installed/updated successfully by examining the
last few lines of the text displayed in the console.
### Using _swprocess_
1. Download the contents of the
[examples](https://github.com/jpvantassel/swprocess/tree/main/examples)
directory to any location of your choice.
2. Start by processing the provided active-source data using the
Jupyter notebook (`masw.ipynb`). If you have not installed `Jupyter`,
detailed instructions can be found
[here](https://jpvantassel.github.io/python3-course/#/intro/installing_jupyter).
3. Post-process the provided passive-wavefield data using the
Jupyter notebook (`mam_fk.ipynb`).
4. Perform interactive trimming and calculate dispersion statistics for the
example data using the Jupyter notebook (`stats.ipynb`). Compare your results
to those shown in the figure above.
5. Enjoy!