Tuesday, July 28, 2015

recfunk_pick.f -- version of multiple-taper RF estimation

click title to obtain code from Google Drive directory JParkCodes

This code is a simple variant of the multiple-taper RF estimator recfunk.f, which has been public for years on my Yale website. This version reads the start time of the P-wave analysis window from the "AMARKER" entry of the SAC header. It also rotates the vertical and radial seismogram components into LQT coordinates using a formula based on epicentral distance. This formula for LQ rotation angle is very crude, but simple measures of the actual rotation angle scatter quite a bit, and every station has unique behavior. This variability suggests that careful derivation of a precise LQ rotation angle is a fool's game.  In this code there is a simple formula used, but most of my other RF codes use the slowness of the incoming P wave to estimate the rotation angle.  This choice works very well for synthetic seismograms, but real data can be diverse in behavior.

c  program recfunk_pick -- UPDATED
c  updated for GFORTRAN compiler 07/28/15
c
c  original code written for the paper
c  Park, J., and V. Levin, Receiver functions from multiple-taper
c  spectral correlation estimates, Bull. Seismo. Soc Amer., v90,
c  pp1507-1520, 2000.
c
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  the code reads filenames from a file that defaults to "in_recpick"
c  the user inputs the length of the data window to be processed after the
c  time marker in the SAC header.
c
c  08/16/07 JJP
c  multitaper program to compute receiver functions
c  SINGLE STATION WITH SPECTRAL WEIGHTING
c
c  uses spectral estimates of pre-event noise
c  to weight the inversion in the frequency domain, thereby avoiding the
c  usual problem with microseism noise in 0.1-0.5 Hz
c  IN PRACTICE, however, the regularization of what might be a spectral division is achieved
c  via multiple taper cross-correlation
c
c  Program has extra code to perform chi-squared tests, discussed in Park and Levin paper
c
c  xf77 -o /park/backup/bin/recfunk_pick recfunk_pick.f /park/backup/Plotxy/plotlib.a /park/backup/Ritz/eislib.a /park/backup/Ritz/jlib.a
c  xf77 -o /Users/jjpark/bin/recfunk_pick recfunk_pick.f /Users/jjpark/Plotxy/plotlib.a /Users/jjpark/Ritz/eislib.a /Users/jjpark/Ritz/jlib.a
c

No comments:

 
Link