Structure measurement using receiver functions with sediment reverberations

The ideas for measuring sediment structure using receiver function (RF), as described in An et al. (2026, GJI, doi:10.1093/gji/ggag051) (An2026), can be implemented by example codes here.

1. Codes

1.1 Prerequisites

1.2 My scripts and codes: An2026_code.zip

Example scripts in bin:

  • get_phasegroup_deltaT.sh
  • invert_Hab_by_waveform_fitting.sh
  • deconv_PRF.sh
  • do_HK_stacking.sh, which run get_HK_gridimage.sh, get_HK_from_gridimage.sh and so on.

The scripts above may use C/C++ programs in src. The source codes in src are:

  • get_HK_modelspace: C/C++ code for H-K stacking using reverberations.
  • drdb2asc: C/C++ code for converting drdb from tmpsrfi.18, which is generated by rftn96, to ascii format.
  • sac2xy: C/C++ code for converting binary sac to x-y (time-amplitude) format.

The above C/C++ programs can be compiled by command "build_all.sh", at first.

2. Data processing

"do_sediment_analysis.sh" is an example that demonstrates how to use the codes to analyze RF with sediment reverberations.

2.1. Measure Δts from sediment reverberations

The vertical one-way S-wave travel time Δts, which relates Vs to thickness (Eq. (3) in An2026), can be measured from RFs with reverberations by:

(1) measuring phase-group period Tspg (= 4 * Δts) from autocorrelation, like that in Fig. 2d of An2026. "get_phasegroup "deltaT.sh" is an example script for this. Before using it, autocorrelations must be visually checked for preliminary lag time windows for Tspg. The script's output is in a format: RF_file rayp Δts Δts(for rayp 0.06).

(2) measuring half phase-group period, time duration of phase group PG1 or PG2 (= 2 * Δts), from original RFs, like that in Fig. 2c of An2026.

The two methods above yield the same values.

2.2. Strucutral inversion by RF waveform fitting

(1) Single-layer structure inversion by RF waveform fitting using the constraint Δts. "invert_Hab_by_waveform_fitting.sh" is an example script for this.

(2) Multi-layer sediment structure inversion by RF waveform fitting via rftn96 which is a program of CPS.

2.3: Removing sediment P-RF response in RFs by deconvolution. "deconv_PRF.sh" is an example script for this.

3. H-κ stacking with the addition of reverberated phases

"do_HK_stacking.sh" is an example script for this. Note: When RF phases are unidentifiable or superimposed, the stacking result may have significant uncertainty, especially in κ. Adding reverberated phases in the stacking only improves the model's precision, but not accuracy, and therefore cannot reduce the uncertainty.

References / 参考文献

Meijian An, Mei Feng, Hesheng Hou, Rongtao Zhao, Taoyuan Fan, 2026, On Receiver Functions with Sediment Reverberations. Geophys. J. Int., 245(1), 1-15. doi:10.1093/gji/ggag051 [Full text] (Open Access). [ go to the paper ... ].