recfunk_mwm.f -- moving-window moveout
click the title of the post to access the code.
This code applies a moveout correction by shifting the time window of the horizontal-component time series before DFT and multiple-taper spectral correlation. The code prompts the user to specify a stacking model in the anirec format, and a target depth. The code uses the phase type (P,PP or PKP) and epicentral distance to compute a predicted time that a Ps phase from the target depth should arrive. The horizontal time series is shifted by this time, so that the RF at t=0 is the Ps pulse at the target depth. The zero-time pulse on the radial RF associated with the direct P wave is shifted to negative times, and will often lose focus in back-azimuthal stacks. The GMT script for plotting is similar to that used for other recfunk codes, but has a shifted X-axis to focus the eye on the signals at Ps delay-times both before and after the target Ps arrival.
The code writes output files that flag the target depth:
outr_baz_040.grid,outt_baz_040.grid,outr_epi_040.grid,outt_epi_040.grid
where the integer 040 stands for a target depth of 40 km in the stacking model. GMT scripts for plotting are executed this way:
./Plot_baz outr_baz_040.grid outt_baz_040.grid 1. RAYN_mwm
./Plot_epi outr_epi_040.grid outt_epi_040.grid 1. RAYN_mwm
This code applies a moveout correction by shifting the time window of the horizontal-component time series before DFT and multiple-taper spectral correlation. The code prompts the user to specify a stacking model in the anirec format, and a target depth. The code uses the phase type (P,PP or PKP) and epicentral distance to compute a predicted time that a Ps phase from the target depth should arrive. The horizontal time series is shifted by this time, so that the RF at t=0 is the Ps pulse at the target depth. The zero-time pulse on the radial RF associated with the direct P wave is shifted to negative times, and will often lose focus in back-azimuthal stacks. The GMT script for plotting is similar to that used for other recfunk codes, but has a shifted X-axis to focus the eye on the signals at Ps delay-times both before and after the target Ps arrival.
The code writes output files that flag the target depth:
outr_baz_040.grid,outt_baz_040.grid,outr_epi_040.grid,outt_epi_040.grid
where the integer 040 stands for a target depth of 40 km in the stacking model. GMT scripts for plotting are executed this way:
./Plot_baz outr_baz_040.grid outt_baz_040.grid 1. RAYN_mwm
./Plot_epi outr_epi_040.grid outt_epi_040.grid 1. RAYN_mwm
c program recfunk_mwm
c 6/3/04 JJP --- UPDATED 08/19/07 JJP
c updated again 07/22/15 JJP
c MIGRATION/MOVEOUT variant to compute cross-correlation in a moving time window
c you tell the program the depth at which you want to focus the cross-correlation
c and it computes the moving-window delay from an input model
c using the epicentral distance to look up the horizontal slowness
c multitaper program to invert for receiver functions
c SINGLE STATION WITH SPECTRAL WEIGHTING
c
c this version of the RF code reads a file of data filenames
c you have two choices: either read the time intervals in the filename file
c or read them in the sac header
c the data must be binary SAC format
c horizontals must be rotated to radial and transverse
c
c for start times in the file:
c the file is "in_recfunk" and has lines of the form:
c
c 1997.070.19.33.bh? <-- code="" div="" r="" replaces="" t="" with="" z="">
c 57 52 <-- analysis="" div="" duration="" of="" sec="" start="" time="" window="">
-->
c 1997.076.08.15.bh?
c 62 62
c ...
c ...
c ...
c stop <-- 799="" code="" data="" div="" events="" finished="" is="" max="" tells="" that="">
-->
c
c
c for start times in the SAC header, the default file is "in_recpick"
c reads seismic record start times from the sac header
c will search the SAC header for specific markers of P phases
c T1 - P, Pdiff ahead(12)
c T2 - PKP,PKIKP ahead(13)
c T3 - PP ahead(14)
c T1=T2=T3=0 ==> use original A-marker ahead(9)
c
c legacy data has timing in the
c A-marker (ahead(9)) which doesnt indicate which phase was marked,
c For the A-marker, the phase is identified as P/Pdiff for DELTA<120 div="" nbsp="">
120>
-->
c PKP/PKIKP for DELTA>120
c
c code does NOT combine data with different sample rates
c it is possible to spline interpolate the data files for a uniform sample rate
c see the code in rfmig_mcboot.f, which should be spliceable into this code.
c
c data files limited to 99K pnts. To increase, see common block /datastuff/
c
c many intermediate quantities are plotted with PLOTIT as the code proceeds.
c other intermediate quantities can be plotted by uncommenting calls to PLOTIT
c
c the code writes the BAZ- and EPICEN-dependent RFs to files
c in a format easily digested by GMT (traces are separated by ">" lines)
c
c filenames: out[rt]_baz_NNN.grid out[rt]_epi_NNN.grid
c where NNN corresponds to the target depth in kilometers
c
c these files are overwritten everytime you run the program
c so rename them to save them
c
c xf77 -o /park/backup/bin/recfunk_mwm recfunk_mwm.f /park/backup/Plotxy/plotlib.a /park/backup/Ritz/eislib.a /park/backup/Ritz/jlib.a
c xf77 -o /Users/jjpark/bin/recfunk_mwm recfunk_mwm.f /Users/jjpark/Plotxy/plotlib.a /Users/jjpark/Ritz/eislib.a /Users/jjpark/Ritz/jlib.a
c
No comments:
Post a Comment