anirec_synth_circle.f -- make P-coda synthetics at evenly-spaced back azimuth and constant epicentral distance
c anirec_synth_circle - anirec to compute synthetics for a specified model and
c a specified station location from one seismic record read from in_recfunk
c the code will take the station location and generate a ring of 120 events
c that are 90 degrees away, one for every 3 degrees back-azimuth.
c To do this we generate a great circle path
c with the station at the pole of the great circle
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 nbsp="" p="">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 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 written originally 12/3/03 JJP
c 3/3/04 -- Added Kluge -- I have added code that forces the phase velocity to
c fluctuate with BZ to mimic the effect of a dipping layer,
c changing its incidence angle with a cos(\phi) dependence.
c This kluge mimics the P-SV conversion variation caused by a dipping interface
c but not the P-SH conversion behavior.
c This kluge was used for the last check on RF interpretation in
c Park et al 2004 in JGR, the paper on the Cascadia subduction zone.
c Look for the word "kluge" in the code and make certain that the code
c between begin-kluge and end-kluge comment-lines is commented
c
c xf77 -o /Users/jjpark/bin/anirec_synth_circle anirec_synth_circle.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
c
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