Python interface for SpecFWAT (Full Waveform Adjoint Tomography)
Project description
PyFWAT
Python interface for SpecFWAT (Full Waveform Adjoint Tomography)
Overview
PyFWAT is a comprehensive Python toolkit designed for full waveform inversion (FWI) and adjoint tomography workflows. It provides a complete set of tools for preprocessing seismic data, running inversions, post-processing results, and visualizing various aspects of the tomographic models and data fits.
Features
- Preprocessing Tools: Data preparation and model setup utilities
- Plotting Utilities: Comprehensive visualization tools for velocity models, kernels, misfits, and data fits
- Post-processing: Model updates, kernel operations, and optimization routines
- Data I/O: Support for various seismic data formats and model representations
- Interactive Picking: GUI-based phase picking interface for teleseismic data
Installation
Requirements
- Python >= 3.9
- ObsPy >= 1.2.0
- NumPy >= 1.19.0
- SciPy >= 1.1.0
- Matplotlib >= 3.2.0
- pandas >= 1.0.0
- PyGMT
- h5py
- pyproj
- ruamel.yaml
Install from source
git clone https://github.com/xumi1993/pyfwat.git
cd pyfwat
pip install -e .
Command-line Tools
PyFWAT provides numerous command-line utilities for various tasks:
Visualization Tools
plot_vel_sec- Plot velocity cross-sectionsplot_dv_sec- Plot velocity perturbation cross-sectionsplot_kernel_sec- Plot sensitivity kernel cross-sectionsplot_residual- Visualize data residualsplot_misfit- Plot misfit evolutionplot_misfit_multifreq- Plot misfit for multiple frequenciesplot_misfit_multistage- Plot misfit across multiple inversion stagesplot_misfit_linesearch- Visualize line search optimizationplot_stations- Display station distributionsplot_rf_evts- Plot receiver function eventsplot_rf_fit- Show receiver function data fitsplot_noise_fit- Visualize ambient noise data fitsplot_surf_data- Plot surface wave dataplot_tele_fit- Display teleseismic waveform fits
Preprocessing Tools
gen_virt_fkevts- Generate virtual FK eventsgen_gauss_stf- Generate Gaussian source time functionsch_fkmodel- Modify FK modelscal_fk_times- Calculate FK travel timesfwat_checkerboard- Create checkerboard resolution testsfwat_createmodel- Generate initial crustal modelssetpar_fwat- Configure FWAT parameters
Post-processing Tools
optimize_ls- Perform line search optimizationfwat_clean- Clean up working directoriesfwat_joint_kernel- Combine kernels from different data typesfwat_model_update- Update velocity modelscreate_xmf- Create XDMF files for visualization (under development)
Interactive Tools
pick_tele- Interactive GUI for teleseismic phase picking
Module Structure
pyfwat/
├── io/ # Input/output utilities
├── picker/ # Phase picking tools
├── plot/ # Visualization modules
├── postproc/ # Post-processing routines
├── preproc/ # Preprocessing utilities
├── utils/ # General utility functions
├── cpt/ # Color palette files
└── data/ # Data resources (e.g., CRUST1.0 model)
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
License
This project is licensed under the GNU General Public License v3.0 (GPLv3).
Author
Mijian Xu (mijian.xu@utoronto.ca)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyfwat-0.2.1.tar.gz.
File metadata
- Download URL: pyfwat-0.2.1.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9fc6b0e42a6c2340d0f3e6c900ecfb75eeb1434c26f630b863839745dcb7915
|
|
| MD5 |
71ae654f31c3f431196f60283aadcef4
|
|
| BLAKE2b-256 |
d7f94b2737e7e6663d9ab00f224bc594616d8f9471463d2565a1fa0a6e691c2f
|
File details
Details for the file pyfwat-0.2.1-py3-none-any.whl.
File metadata
- Download URL: pyfwat-0.2.1-py3-none-any.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d176ef17fc7c9109f1bff5b95ee9e03b31ec3a6a2859851ae4bb4f0d9f40526a
|
|
| MD5 |
0496cf6e30f88b8bfa9609971862cb37
|
|
| BLAKE2b-256 |
f6bb43e623626ce2460e35c478dd8b5081f5f4edf9fdb65be3aca59316b1b406
|