anirec_synth.f --- a code to compute synthetic P coda from a collection of SAC-format data
click title to see Google Drive directory JParkCodes
c anirec_synth - anirec to compute synthetics for a specified model and
c a specified collection of seismic records
c (read from in_recpick-format file of filenames)
c the goal is to create P-coda synthetics that match the event distribution of your dataset.
c
c To minimize aliasing in the time domain, we create synthetics that last 200 seconds
c The inverse FFT of the frequency-domain reflectivity response is time shifted to
c place the P wave just beyond the 100-sec mark, using a wraparound of the inverse FFT.
c The code can use several pulse shapes, according to the flag ipulse
c ipulse=1 -- one-sided pulse (squared sine wave) with user-chosen period
c ipulse=2 -- two-sided sine pulse with user-chosen period
c ipulse=3 -- two-sided dispersive pulse, 160-points
c ipulse=4 -- two-sided 10-second dispersive pulse with random-walk phase
c ipulse=5 -- random-walk pulse (integration of RAND) -- emergent 10 sec pulse with tapered end
c
c This code is hardwired for incident P waves (ity=1), but the reflectivity calculation has info
c to construct incident SV (ity=2) and SH (ity=3) synthetics as well. The exact timing of these
c S-coda are different from the P-coda, so you would need to check the wraparound timing to get it right.
c
c code accepts as input SACfiles with start time info in the header
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 font="" nbsp="">120>
c PKP/PKIKP for DELTA>120
c the value of A-marker is not important.
c In the output files of synthetics, the A-marker and/or the T1,T2,T3-marker
c in the header are set to 95.0 seconds to allow for some pre-event noise
c that is generated by intrinsic function RAND
c for A.ne.0 by recfunk codes that use the header information for timing.
c code divides between T1 (P) or T2 (PKP) or T3 (PP) markers based on epicentral distance,
c subroutine call_ttimes reads files that give slowness values for 0
c Preactically, these wont be used for all DELTA, but consistency!
c the synthetic files are s_filename.bh[zrt], where filename is the name of the datafile.
c the code writes in_recpick_synth, a list of the filenames for recfunk_pick
c and other recfunk codes that expect the start time in the SAC header
c
c modified 11/30/07 JJP
c 5/12/01 JJP, 7/23/2015
c xf77 -o /Users/jjpark/bin/anirec_synth anirec_synth.f /Users/jjpark/Plotxy/plotlib.a /Users/jjpark/Ritz/eislib.a /Users/jjpark/Ritz/jlib.a
c
c anirec - program to calculate receiver-function response of
c a stack of anisotropic layers to a plane wave incident from below
c cannibalized from aniprop.f 11/18/95
c for hexagonally symmetric media
c reads fast axis orientation, constants A,B,C,D,E from file animodel
c calculate quadratic eigenvalue problem based on the Christoffel matrix
c see appendix of P. Shearer's thesis
cawk '{print "s_" $1}' in_recpick >! in_recpick_synth
c read model, phase velocity of incident wave, P, SV, or SH
c
c calc the eigenvector decomps for the layers
c loop over frequency, calc reflection/transmission matrices
c calc 3-comp transfer fct response at surface
c find distortion of reference wavelet
c
c a specified collection of seismic records
c (read from in_recpick-format file of filenames)
c the goal is to create P-coda synthetics that match the event distribution of your dataset.
c
c To minimize aliasing in the time domain, we create synthetics that last 200 seconds
c The inverse FFT of the frequency-domain reflectivity response is time shifted to
c place the P wave just beyond the 100-sec mark, using a wraparound of the inverse FFT.
c The code can use several pulse shapes, according to the flag ipulse
c ipulse=1 -- one-sided pulse (squared sine wave) with user-chosen period
c ipulse=2 -- two-sided sine pulse with user-chosen period
c ipulse=3 -- two-sided dispersive pulse, 160-points
c ipulse=4 -- two-sided 10-second dispersive pulse with random-walk phase
c ipulse=5 -- random-walk pulse (integration of RAND) -- emergent 10 sec pulse with tapered end
c
c This code is hardwired for incident P waves (ity=1), but the reflectivity calculation has info
c to construct incident SV (ity=2) and SH (ity=3) synthetics as well. The exact timing of these
c S-coda are different from the P-coda, so you would need to check the wraparound timing to get it right.
c
c code accepts as input SACfiles with start time info in the header
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 font="" nbsp="">120>
c PKP/PKIKP for DELTA>120
c the value of A-marker is not important.
c In the output files of synthetics, the A-marker and/or the T1,T2,T3-marker
c in the header are set to 95.0 seconds to allow for some pre-event noise
c that is generated by intrinsic function RAND
c for A.ne.0 by recfunk codes that use the header information for timing.
c code divides between T1 (P) or T2 (PKP) or T3 (PP) markers based on epicentral distance,
c subroutine call_ttimes reads files that give slowness values for 0
c Preactically, these wont be used for all DELTA, but consistency!
c the synthetic files are s_filename.bh[zrt], where filename is the name of the datafile.
c the code writes in_recpick_synth, a list of the filenames for recfunk_pick
c and other recfunk codes that expect the start time in the SAC header
c
c modified 11/30/07 JJP
c 5/12/01 JJP, 7/23/2015
c xf77 -o /Users/jjpark/bin/anirec_synth anirec_synth.f /Users/jjpark/Plotxy/plotlib.a /Users/jjpark/Ritz/eislib.a /Users/jjpark/Ritz/jlib.a
c
c anirec - program to calculate receiver-function response of
c a stack of anisotropic layers to a plane wave incident from below
c cannibalized from aniprop.f 11/18/95
c for hexagonally symmetric media
c reads fast axis orientation, constants A,B,C,D,E from file animodel
c calculate quadratic eigenvalue problem based on the Christoffel matrix
c see appendix of P. Shearer's thesis
cawk '{print "s_" $1}' in_recpick >! in_recpick_synth
c read model, phase velocity of incident wave, P, SV, or SH
c
c calc the eigenvector decomps for the layers
c loop over frequency, calc reflection/transmission matrices
c calc 3-comp transfer fct response at surface
c find distortion of reference wavelet
c
No comments:
Post a Comment