Releases: Dengda98/PyGRT
v0.12.0
PyGRT v0.12.0
- Support inpute distance file, like
grt greenfn -R<file> ... - Add the exact closed-form solution the first-kind Lamb problem.
- Fix some typos in comments of test shell scripts.
- Update documents, fix some typos.
What's Changed
- CI: use macos-15 for intel and arm64 arch by @Dengda98 in #111
- FEAT: support input distance file by @Dengda98 in #112
- add citation in README.md by @Dengda98 in #116
- FEAT: exact closed-form solution for the Lamb problem of the first kind by @Dengda98 in #117
- FEAT: update lamb1 interfaces by @Dengda98 in #118
- DOC: add lamb1 (the first-kind Lamb problem) by @Dengda98 in #119
Full Changelog: v0.11.0...v0.12.0
v0.11.0
PyGRT v0.11.0
In this version, I have made lots of enhancements for future developments. From the user's perspective, mainly including:
- support 4-column model (ignore Qp and Qs).
- save static results in NetCDF format.
- remove argument
prefixto simplify the I/O ofsyn,strain,stressandrotation. - update usage of
-Land-K. - add modules manual in Chinese.
- rearrange the core code of R/T matrix.
What's Changed
- STYLE: add macro
GRT_SAFE_FREE_PTR(_ARRAY)to safely free allocated memory by @Dengda98 in #63 - FEAT: support 4-column model and use layer depth by @Dengda98 in #64
- REFAC: split R/T functions into P-SV and SH by @Dengda98 in #65
- DOC: fix some description typo in formula by @Dengda98 in #66
- REFAC: Split source coefs into P-SV and SH by @Dengda98 in #67
- FEAT: replace
sprintftoasprintf, and define a macro by @Dengda98 in #68 - REFAC: use struct and wrapped functions to organize FFTW behaviors by @Dengda98 in #69
- FEAT: support upsampling factor in
greenfn -Nby @Dengda98 in #70 - FEAT: support upsampling factor in
greenfn -N(part 2) by @Dengda98 in #71 - FIX: remove redundant process for last frequency point by @Dengda98 in #73
- DOC: 增加关于位移对z偏导的公式推导 by @Dengda98 in #75
- REFAC: move headers to directory
include/grt/and rename all public functions with prefixgrtby @Dengda98 in #78 - FEAT: remove struct
PYMODEL1D, use structGRT_MODEL1Dglobally by @Dengda98 in #79 - REFAC: rename macros and global variables with prefix
GRTby @Dengda98 in #80 - REFAC: use macro for comment head '#', and add related helper function by @Dengda98 in #81
- FEAT: rearange functions in
search.h/candmatrix.h, with X macros by @Dengda98 in #82 - REFAC: use macro
GRTRaiseErrorby @Dengda98 in #83 - FEAT: use
cinstead ofkin definition of vertical wavenumberaandbby @Dengda98 in #84 - DOC: add static R/T formula by @Dengda98 in #85
- DOC: add SH wave R/T static formula by @Dengda98 in #86
- DOC: fix static source coefficients by @Dengda98 in #87
- FEAT: split delay matrix into a function by @Dengda98 in #88
- FIX: fillup the elastic params before returning the reading model function by @Dengda98 in #89
- FEAT: split delay matrix into a function (static) by @Dengda98 in #90
- REFAC: rename some functions for better development by @Dengda98 in #92
- STYLE: rename
b2aandk2a, and move their.cfiles tosrc/tools/directory by @Dengda98 in #93 - REFAC: update usage of
zetaingreenfnby @Dengda98 in #94 - FEAT: check unsorted layer depths by @Dengda98 in #95
- FEAT: update usage of -K, -L, -G, remove -V by @Dengda98 in #97
- FEAT: save static results in NetCDF format by @Dengda98 in #98
- DOC: support 4-column model by @Dengda98 in #99
- DOC: use term "pre-built" by @Dengda98 in #100
- DOC: rearrange Tutorial toctree by @Dengda98 in #101
- DOC: update English documents by @Dengda98 in #102
- FEAT: remove
-P<prefix>, and simplify the input argument ofstrain,stressandrotationby @Dengda98 in #103 - FEAT: remove
-P<prefix>(Part 2, static case) by @Dengda98 in #104 - DOC: add modules manual by @Dengda98 in #105
- DOC: update reference to module by @Dengda98 in #106
- DOC: add annotation about narrow
nt*dtby @Dengda98 in #107
Full Changelog: v0.10.0...v0.11.0
v0.10.0
PyGRT v0.10.0
This is a major update before releasing a stable version, primarily concerning the execution style of the C program (the Python interface remains unaffected). Recognizing that compiling multiple executables would significantly hinder future maintenance and feature expansion, and considering the current early-stage program isn't too complex yet, I decided to implement this change promptly.
Inspired by Git and GMT programs, PyGRT will now compile into just one executable — grt — starting with this version. Similar to GMT, it will invoke different modules to perform various computational functions, for example:
# Calculate Green's functions (equivalent to the old 'grt' command)
grt greenfn [arg1] [arg2] ...
# Synthesize theoretical seismograms (equivalent to the old 'grt.syn' command)
grt syn [arg1] [arg2] ...
# Calculate static Green's functions (equivalent to the old 'stgrt' command)
grt static greenfn [arg1] [arg2] ...
...grt and each module's help documentation can be printed using -h. The online documentation has been updated accordingly, and all example scripts have been modified to reflect these changes.
What's Changed
- DOC: update installation and remove some unused
*.pofiles by @Dengda98 in #52 - FIX: allow zero Q^-1, and relevant attenuation scale equals 1.0 by @Dengda98 in #53
- Run C-command
grtlike GMT-style by @Dengda98 in #55 - FEAT: add grt -v to show the version by @Dengda98 in #56
- FIX: update new command in
example/scripts by @Dengda98 in #57 - CI: add CFLAGS="-fPIC" in fftw builds in centos 7 docker by @Dengda98 in #58
- STYLE: alyways display
static_<name>by @Dengda98 in #60 - DOC: add changelog.md by @Dengda98 in #61
- DOC: change switch color by @Dengda98 in #62
- FIX: update new command in
docs/scripts, and update their description in doc by @Dengda98 in #59
Full Changelog: v0.9.2...v0.10.0
v0.9.2
🛠️ PyGRT v0.9.2
In Github Actions, use CentOS 7 docker to compile PyGRT, to support glibc >= 2.17 (ensure compatibility as much as possible).
What's Changed
- REFAC: some tiny change for downward compatibility by @Dengda98 in #50
- Bump to PyGRT v0.9.2 by @Dengda98 in #51
Full Changelog: v0.9.1...v0.9.2
v0.9.1
🛠️ PyGRT v0.9.1
Bugfix release addressing issues in v0.9.0's source located in liquid. Update recommended: pip install --upgrade pygrt-kit
What's Changed
- DOC: add note about near-field in FIM and SAFIM by @Dengda98 in #46
- FEAT: update colorstr by @Dengda98 in #47
- FIX: add some warning about source in liquid by @Dengda98 in #48
- Bump to PyGRT v0.9.1 by @Dengda98 in #49
Full Changelog: v0.9.0...v0.9.1
v0.9.0
🎉 PyGRT v0.9.0
I'm very excited to announce the new release of PyGRT v0.9.0 has supported for computing synthetic seismograms with liquid layers, with results validated against CPS330's rspec96 module for accuracy. The documentation has been updated to include the corresponding formulas. This release is particularly useful for studies involving ocean.
Upgrade via pip install --upgrade pygrt-kit.
What's Changed
- 《理论地震学》课程公式补充 by @Dengda98 in #29
- BUILD: fix makefile by @Dengda98 in #30
- REFAC: update temp var for
R_EVLto improve code readability by @Dengda98 in #31 - DOC: add RT.rst and RT_formula.ipynb by @Dengda98 in #33
- Support liquid layer by @Dengda98 in #34
- add document about R/T matrix formula by @Dengda98 in #35
- TEST: add compare_results_liquid example by @Dengda98 in #36
- FIX: use nonzero minimum Vb in python by @Dengda98 in #37
- allow zero vs for computing sythetic seismogram and stress by @Dengda98 in #38
- FIX: raise error if receiver located on the interface where liquid exist by @Dengda98 in #39
- TEST: add seafloor example by @Dengda98 in #40
- DOC: add a note to support liquid layer by @Dengda98 in #41
- REFAC: remove unused code by @Dengda98 in #42
- DOC: add description about liquid layer supporting by @Dengda98 in #43
- Bump to PyGRT v0.9.0 by @Dengda98 in #44
- CI: add some tests by @Dengda98 in #45
Full Changelog: v0.8.0...v0.9.0
v0.8.0
🎉 PyGRT v0.8.0
I'm excited to announce that now PyGRT supports Self-Adaptive Filon's Integration Method(SAFIM), a powerful tool to efficiently compute Green's Functions at large epicentral distances.
What's Changed
- Refactor codes, and support Self-Adaptive Filon's Integration Method (SAFIM) by @Dengda98 in #27
- DOC: add SAFIM by @Dengda98 in #28
Full Changelog: v0.7.0...v0.8.0
v0.7.0
v0.6.0
🎉 PyGRT v0.6.0
What's Changed
- DOC: add "strain and stress calculation" in Tutorial, and fix some typos by @Dengda98 in #16
- Update stats file (kernel functions value in integration ) format, python reading functions, add
grt.k2acommand by @Dengda98 #17 - DOC: add
integ_convergin Toturial by @Dengda98 #18 - FEAT: add dist in output of function
pygrt.utils.read_statsfile_ptamby @Dengda98 #19 - DOC: Refactor tutorial scripts and documentation for clarity and consistency by @Dengda98 #20
- DOC: add
grt.travtin Tutorial by @Dengda98 #21 - add
read_kernels_freqs()function, add "kernel frequency response" in Tutorial by @Dengda98 #22 - Support rotation tensor calculation in both dynamic and static case by @Dengda98 #23
Full Changelog: v0.5.1...v0.6.0
v0.5.1
🎉 PyGRT v0.5.1
✨ Now both Python and C can compute displacement, strain and stress in dynamic and static cases.
🛠️ Fix some math error and text error, such as, unit mixing (km and cm) in spatial derivatives in Python, coordinate of moment tensor is NED (North, East, Downward) , ...
📖 Chinese document is available, see here. Thanks @xichaoqiang for revision.
What's Changed
- Support static displacements, strain and stress calculations in Python by @Dengda98 in #14
- Build online docs, and upload to ReadtheDocs by @Dengda98 in #15
Full Changelog: v0.4.0...v0.5.1
docs/folder has been removed from the following*.tar.gz


