{"id":22855135,"url":"https://github.com/jpvantassel/swprocess","last_synced_at":"2026-03-14T07:02:44.915Z","repository":{"id":41883044,"uuid":"202217252","full_name":"jpvantassel/swprocess","owner":"jpvantassel","description":"Python package for surface wave processing.","archived":false,"fork":false,"pushed_at":"2025-02-07T20:21:52.000Z","size":128111,"stargazers_count":86,"open_issues_count":3,"forks_count":32,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-28T19:11:48.447Z","etag":null,"topics":["geopsy","mam","masw","processing","surface","wave"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/swprocess/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jpvantassel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-13T20:15:31.000Z","updated_at":"2025-03-27T02:34:49.000Z","dependencies_parsed_at":"2025-02-28T18:23:37.171Z","dependency_job_id":null,"html_url":"https://github.com/jpvantassel/swprocess","commit_stats":{"total_commits":368,"total_committers":2,"mean_commits":184.0,"dds":"0.10869565217391308","last_synced_commit":"8909a93dd21c59b2b1c39ac66fb9e2799f38e621"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvantassel%2Fswprocess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvantassel%2Fswprocess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvantassel%2Fswprocess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvantassel%2Fswprocess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpvantassel","download_url":"https://codeload.github.com/jpvantassel/swprocess/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247242671,"owners_count":20907133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geopsy","mam","masw","processing","surface","wave"],"created_at":"2024-12-13T07:10:17.443Z","updated_at":"2026-03-14T07:02:39.878Z","avatar_url":"https://github.com/jpvantassel.png","language":"Python","readme":"# _swprocess_ - A Python Package for Surface Wave Processing\r\n\r\n\u003e Joseph P. Vantassel, [jpvantassel.com](https://www.jpvantassel.com/)\r\n\r\n[![DOI](https://zenodo.org/badge/202217252.svg)](https://zenodo.org/badge/latestdoi/202217252)\r\n[![PyPI - License](https://img.shields.io/pypi/l/swprocess)](https://github.com/jpvantassel/swprocess/blob/main/LICENSE.txt)\r\n[![CircleCI](https://circleci.com/gh/jpvantassel/swprocess.svg?style=svg)](https://circleci.com/gh/jpvantassel/swprocess)\r\n[![Documentation Status](https://readthedocs.org/projects/swprocess/badge/?version=latest)](https://swprocess.readthedocs.io/en/latest/?badge=latest)\r\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/swprocess)\r\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/8faa1913edd84e4b9ba77807ab5583fd)](https://www.codacy.com/gh/jpvantassel/swprocess/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=jpvantassel/swprocess\u0026amp;utm_campaign=Badge_Grade)\r\n[![codecov](https://codecov.io/gh/jpvantassel/swprocess/branch/main/graph/badge.svg?token=XCDW6HMGBR)](https://codecov.io/gh/jpvantassel/swprocess)\r\n\r\n## Table of Contents\r\n\r\n-   [About _swprocess_](#about-swprocess)\r\n-   [Why use _swprocess_](#why-use-swprocess)\r\n-   [Examples](#examples)\r\n-   [Getting Started](#getting-started)\r\n\r\n## About _swprocess_\r\n\r\n_swprocess_ is a Python package for surface wave processing. _swprocess_ was\r\ndeveloped by [Joseph P. Vantassel](https://www.jpvantassel.com/) under the\r\nsupervision of Professor Brady R. Cox at The University of Texas at Austin.\r\n_swprocess_ continues to be developed and maintained by\r\n[Joseph P. Vantassel and his research group at Virginia Tech](https://geoimaging-research.org/).\r\n\r\nIf you use _swprocess_ in your research or consulting, we ask you please cite\r\nthe following:\r\n\r\n\u003e Vantassel, J. P. (2021). jpvantassel/swprocess: latest (Concept). Zenodo.\r\n\u003e [https://doi.org/10.5281/zenodo.4584128](https://doi.org/10.5281/zenodo.4584128)\r\n\r\n\u003e Vantassel, J. P. \u0026 Cox, B. R. (2022). \"SWprocess: a workflow for developing robust\r\n\u003e estimates of surface wave dispersion uncertainty\". Journal of Seismology.\r\n\u003e [https://doi.org/10.1007/s10950-021-10035-y](https://doi.org/10.1007/s10950-021-10035-y)\r\n\r\n_Note: For software, version specific citations should be preferred to\r\ngeneral concept citations, such as that listed above. To generate a version\r\nspecific citation for _swprocess_, please use the citation tool on the _swprocess_\r\n[archive](https://doi.org/10.5281/zenodo.4584128)._\r\n\r\n## Why use _swprocess_\r\n\r\n_swprocess_ contains features not currently available in any other open-source\r\nsoftware, including:\r\n\r\n-   Multiple pre-processing workflows for active-source [i.e., Multichannel\r\nAnalysis of Surface Waves (MASW)] measurements including:\r\n    -   time-domain muting,\r\n    -   frequency-domain stacking, and\r\n    -   time-domain stacking.\r\n-   Multiple wavefield transformations for active-source (i.e., MASW) measurements\r\nincluding:\r\n    -   frequency-wavenumber (Nolet and Panza, 1976),\r\n    -   phase-shift (Park, 1998),\r\n    -   slant-stack (McMechan and Yedlin, 1981), and\r\n    -   frequency domain beamformer (Zywicki 1999).\r\n-   Post-processing of active-source and passive-wavefield [i.e., microtremor\r\narray measurements (MAM)] data from _swprocess_ and _Geopsy_, respectively.\r\n-   Interactive trimming to remove low quality dispersion data.\r\n-   Rigorous calculation of dispersion statistics to quantify epistemic and\r\naleatory uncertainty in surface wave measurements.\r\n\r\n## Examples\r\n\r\n### Active-source processing\r\n\r\n\u003cimg src=\"https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh_-20.0m.png?raw=true\" width=\"775\"\u003e\r\n\r\n### Interactive trimming\r\n\r\n\u003cimg src=\"https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh_masw_int-trim.gif?raw=true\" width=\"775\"\u003e\r\n\r\n### Calculation of dispersion statistics\r\n\r\n\u003cimg src=\"https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh.png?raw=true\" width=\"775\"\u003e\r\n\r\n## Getting Started\r\n\r\n### Installing or Upgrading _swprocess_\r\n\r\n1.  If you do not have Python 3.8 or later installed, you will need to do\r\nso. A detailed set of instructions can be found\r\n[here](https://jpvantassel.github.io/python3-course/#/intro/installing_python).\r\n\r\n2.  If you have not installed _swprocess_ previously use `pip install swprocess`.\r\nIf you are not familiar with `pip`, a useful tutorial can be found\r\n[here](https://jpvantassel.github.io/python3-course/#/intro/pip). If you have\r\nan earlier version and would like to upgrade to the latest version of\r\n_swprocess_ use `pip install swprocess --upgrade`.\r\n\r\n3.  Confirm that _swprocess_ has installed/updated successfully by examining the\r\nlast few lines of the text displayed in the console.\r\n\r\n### Using _swprocess_\r\n\r\n1.  Download the contents of the\r\n  [examples](https://github.com/jpvantassel/swprocess/tree/main/examples)\r\n  directory to any location of your choice.\r\n\r\n2.  Start by processing the provided active-source data using the\r\n  Jupyter notebook (`masw.ipynb`). If you have not installed `Jupyter`,\r\n  detailed instructions can be found\r\n  [here](https://jpvantassel.github.io/python3-course/#/intro/installing_jupyter).\r\n\r\n3.  Post-process the provided passive-wavefield data using the\r\n  Jupyter notebook (`mam_fk.ipynb`).\r\n\r\n4.  Perform interactive trimming and calculate dispersion statistics for the\r\n  example data using the Jupyter notebook (`stats.ipynb`). Compare your results\r\n  to those shown in the figure above.\r\n\r\n5.  Enjoy!","funding_links":[],"categories":["Software and Tools"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpvantassel%2Fswprocess","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpvantassel%2Fswprocess","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpvantassel%2Fswprocess/lists"}