(Detailed documentation is coming soon...)
PyGRT: An Efficient and Integrated Python Package for Computing Synthetic Seismograms in a Layered Half-Space Model.
At present, PyGRT can run on
- Linux
- macOS
- Windows
PyGRT is still evolving, and more features will be released in the future.
-
Dual-Language:
To optimize performance, PyGRT uses C for its core computational tasks, while Python provides a user-friendly interface. Support script style and command line style to run the program. -
Parallelization:
Accelerated with OpenMP for parallel processing. -
Integration:
Built on the Generalized Reflection-Transmission matrix Method (GRTM) and the Discrete Wavenumber Method (DWM), PyGRT integrates the Peak-Trough Averaging Method (PTAM) and Filon’s Integration Method (FIM) to handle diverse source-receiver distributions. -
Modular Design:
Clean and organized code structure, making it easy to extend and maintain. -
Compatibility:
PyGRT provides pre-compiled static files, ensuring ease of installation, usage, and portability across different systems.
- For Thread-Level Parallel Computing
-
- For Linux and macOS users: If the GNU compiler is installed on your system, the
OpenMP
library is usually included. - For Windows users:
OpenMP
has been statically linked.
In general, you don't have to worry about it. However, if the program complains that "
libgomp.so
not found" or "needs more dependencies", you should installOpenMP
. - For Linux and macOS users: If the GNU compiler is installed on your system, the
-
- For Python Script Style
- Anaconda (recommend), to build your virtual environment.
- Other dependencies are declared in
setup.py
, automatically handled bypip install
.
- For Command Line Style
the output waveforms are binary files in SAC format, you need Seismic Analysis Code (SAC) to view and process.
In PyGRT, the C programs and libraries operate independently of Python (not CPython or Cython). If you are not familiar with Python and pip, and prefer the Command Line Style, you can quickly run the program by downloading the latest GitHub release for your machine. The necessary files are located in the pygrt/C_extension/bin
and pygrt/C_extension/lib
folders.
Two ways, choose one:
-
PYPI (recommend)
Run the following command in your virtual environment:pip install -v pygrt-kit
-
-
Download the latest release for your machine, uncompress, and change the directory.
-
Run the following command in your virtual environment:
pip install -v .
-
-
Build from Source Code.
Not recommend.
For Command Line Style, run
python -m pygrt.print
the outputs are
PyGRT installation directory: </path/to/installation>
PyGRT executable file directory: </path/to/installation/bin>
PyGRT library directory: </path/to/installation/lib>
and you can
- add "executable file directory" to
PATH
environment variable.
Then you can run the command like grt
in terminal. For each command, use -h
to see the help message.
example/
folder shows some examples in paper. More examples are coming soon.
If you have any questions or suggestions, feel free to reach out:
- Email: [email protected]
- GitHub Issues: You can also raise an issue directly on GitHub.
Zhu D., J. Wang*, J. Hao, S. Yao, Y. Xu, T. Xu and Z. Yao (2025). PyGRT: An Efficient and Integrated Python Package for Computing Synthetic Seismograms in a Layered Half-Space Model. Seismological Research Letters. (under review)