GSW Picker is an open-source Python-based tool for analyzing high-rate (≥1 Hz) GNSS velocity data to extract S-wave arrival times and ground shaking parameters (amplitude and duration).
Designed for large-scale, research-grade seismo-geodetic analysis, it uses asynchronous parallel processing (concurrent.futures) for fast and scalable performance.
-
Input format support:
- VarioPy (
.varout) – Position difference time series - PRIDE-PPP (
kin_*) – PPP position time series - Custom
.oyformat – For user-defined position difference series
- VarioPy (
-
Pre-analysis tools:
- Noise analysis (Power Spectral Density and autocorrelation)
- Time/frequency domain inspection (spectrograms)
-
Output formats:
- Numerical:
.csvfiles - Visual: Plots of station noise and S-wave arrivals
- Numerical:
GSW Picker offers a user-friendly GUI and is ideal for handling large GNSS datasets, enabling efficient and scalable seismic analysis.
First, clone the repository to your local machine:
git clone git@github.com:HJpierzchala/GSWPicker.gitYou can install GSW Picker in one of two ways:
-
Automatic Installation (Recommended)
Use the
install.shscript for a guided setup.- Detects your operating system (Windows/macOS/Linux)
- Creates a Conda environment named
gsw_envwith Python 3.11 - Installs all required dependencies from
requirements.txt
Run the script from the root directory:
bash install.sh
-
Manual Installation
Use this option if the automatic method fails.
- Create conda environment
conda create -n gsw_env python=3.11
- Activate the environment
conda activate gsw_env
- Install pip (if not already installed)
conda install pip
- Install required packages via pyproject.toml:
pip install .
!!! Warning: Be sure to use Python 3.11, and match the exact package versions specified in requirements.txt.
-
For Anaconda Navigator Users prefering a GUI setup
- Open Anaconda Navigator & Go to "Environments" tab
- Select Import Env
- Select Requirements file (requirements.txt) from ./config/requirements.txt
- Specify an env name (s.a gsw_env)
- Click Import
More details can be found in the User Manual.
To launch the GUI:
- Open your terminal (Anaconda PowerShell Prompt on Windows or Terminal on macOS/Linux).
- Activate the conda environment:
conda activate gsw_env - Navigate to the GSW Picker directory:
cd ./GSWPicker/ - Run the GUI:
python GSWPicker_GUI.py
To confirm that the installation was successful:
- Launch the GUI.
- Load the test dataset:
./GSWPicker/vel_data/test - Use the configurations from file:
./GSWPicker/results/test/1D/logs/log_test.txtor manually input the parameters shown in the figure below. - Process the data and compare your output file
<PROJECTID>_MAD_1D.csvwith the reference:
./GSWPicker/results/test/1D/reports/TEST_NORCIA_MAD_1D.csv
If the files match, your installation is successful!
When configuring processing settings in the GUI, the following parameters are key:
MODE– Method for ground shaking extraction:MAD,SLOPE, orW-TESTWindow size (sec)– Length of the residual smoother’s sliding window.
Recommended: 5 seconds for high-rate (1–20 Hz) GNSS velocity data.Shaking length (sec)– Minimum duration of a shaking event.
Recommended: 3 seconds for high-rate (1–20 Hz) GNSS velocity data.
These parameters significantly impact performance and detection sensitivity. For high-rate GNSS velocity datasets, the recommended values (5s window, 3s shaking length) offer a good starting point.
Release v1.0.1 – April 13, 2025
This software was tested and verified on the following system:
- Operating Systems:
Windows 11 Home, Version 10.0.22631,
MacOs Sequoia, Version 15.4.1, Apple M3 Pro, Apple M2 Pro
Copyright (c) 2025, Alex Lapadat & Hubert Pierzchała
Licensed under the Apache 2.0.
[1] A.M. Lapadat et al. (2025), Title of Paper/Article, to be updated.
