Swprocess
Python package for surface wave processing.
Install / Use
/learn @jpvantassel/SwprocessREADME
swprocess - A Python Package for Surface Wave Processing
Joseph P. Vantassel, jpvantassel.com
Table of Contents
About swprocess
swprocess is a Python package for surface wave processing. swprocess was developed by Joseph P. Vantassel 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.
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
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
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.
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
<img src="https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh_-20.0m.png?raw=true" width="775">Interactive trimming
<img src="https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh_masw_int-trim.gif?raw=true" width="775">Calculation of dispersion statistics
<img src="https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh.png?raw=true" width="775">Getting Started
Installing or Upgrading swprocess
-
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.
-
If you have not installed swprocess previously use
pip install swprocess. If you are not familiar withpip, a useful tutorial can be found here. If you have an earlier version and would like to upgrade to the latest version of swprocess usepip install swprocess --upgrade. -
Confirm that swprocess has installed/updated successfully by examining the last few lines of the text displayed in the console.
Using swprocess
-
Download the contents of the examples directory to any location of your choice.
-
Start by processing the provided active-source data using the Jupyter notebook (
masw.ipynb). If you have not installedJupyter, detailed instructions can be found here. -
Post-process the provided passive-wavefield data using the Jupyter notebook (
mam_fk.ipynb). -
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. -
Enjoy!
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
