Tuesday, July 28, 2015

anirec_synth_circle.f -- make P-coda synthetics at evenly-spaced back azimuth and constant epicentral distance

click title to see Google Drive directory JParkCodes

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 0c  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  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:

 
Link