Skip to content

FEAT: multi-depth static Green's functions with finite-fault and arbitrary-receiver synthesis - #289

Merged
Dengda98 merged 6 commits into
mainfrom
stgrnlib
Aug 14, 2026
Merged

FEAT: multi-depth static Green's functions with finite-fault and arbitrary-receiver synthesis#289
Dengda98 merged 6 commits into
mainfrom
stgrnlib

Conversation

@Dengda98

Copy link
Copy Markdown
Owner

Extend the static Green's function workflow from a single source/receiver depth to a 4-D STGRNLIB library (depsrc × deprcv × north × east), then synthesize displacement by interpolating in distance and depth. Synthesis can use a point source, Coulomb-format finite faults (-C), or arbitrary receiver points (-Q). Strain / stress / rotation post-processing follows the new grid and point layouts.
Python PyModel1D.compute_static_grn / compute_static_syn expose the same options.

  • Library: grt static greenfn writes a 4-D NetCDF STGRNLIB (strictly ascending depths and -R distances; model matrix stored for later interpolation).
  • Helpers: model lookup by depth, 1-D linear interpolation, Coulomb-format finite-fault I/O and subdivision, ASCII receiver-point reader.
  • Synthesis: grt static syn interpolates GF in epicentral distance (and depth when needed); -C subdivides faults (OpenMP over subfaults); -Q for north east depth points; -e derivatives for later tensors.
  • Post-process: static strain / stress / rotation accept both grid and point syn output.
  • Tests: CLI and Python coverage for multi-depth GF, -R/-Q/-C syn, C–Python comparison, and tensor post-process.

Dengda98 and others added 6 commits August 12, 2026 15:59
…er-point helpers

These shared utilities underpin multi-depth static GF interpolation and later synthesis of finite faults and arbitrary receivers.

Co-authored-by: Cursor <cursoragent@cursor.com>
…r arbitrary receivers

STGRNLIB now stores the model and distance ordering so syn can interpolate source/receiver depth, accept Coulomb-format finite faults, and write grid or point layouts; strain/stress/rotation consume the new syn output.

Co-authored-by: Cursor <cursoragent@cursor.com>
…r postprocess

CLI/Python tests now exercise strictly ascending depths, -R/-Q/-C synthesis, C–Python syn comparison, and strain/stress/rotation on the new layouts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Read source-layer velocities from library variables and index single-depth channels as [depsrc, deprcv, north] instead of the old 2D [0] slice.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Dengda98
Dengda98 merged commit b4a2316 into main Aug 14, 2026
1 check passed
@Dengda98
Dengda98 deleted the stgrnlib branch August 14, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant