Tuesday, May 27, 2008

changes in the inverse FFT in recfunk codes

click title to see Google Drive directory JParkCodes

After some comparison runs, Vadim Levin convinced me that the "improvement" I made to the inverse FFT in the recfunk*, rfmig* codes was a bad innovation.  The original RF-estimation codes applied a cos^2 factor to the frequency-domain RFs H_R(f) and H_T(f) with weighting unity at the f=0 point, decreasing to zero at f_max while following a cos-squared dependence.  I changed all codes to have a sharper bandpass (I was unhappy that the half-amplitude point occurred at f_max/2!) with unit factor from f=0 to f=0.5*f_max, then a cos-squared rolloff within (0.5*f_max , f_max).  This sharper bandpass led to small negative sidelobes at the flanks of sharp Ps pulses.  Although one can live with this, the temptation to interpret a wiggle could be strong, so it is safer to use the original weighting of H(f) before inverse FFT to obtain the time-domain RF.  The sidelobes do not disappear completely, but are far smaller.


recfunk_pick.f
recfunk_estack.f
rfmigrate_estack.f
rfmigrate.f
recfunk_svd.f
recfunk_mwm.f
recfunk_mwmj.f
recfunk_mwms.f
rfmig_boot.f
rfmig_mboot.f
rfmig_cboot.f
rfmig_mcboot.f



Update of anirec_synth.f and anirec_synth_circle.f

click title to see Google Drive directory JParkCodes

A small amount of random noise was added to synthetics to prevent zero-divide errors (in cases where the recfunk codes tries to compute an RF for an interval of x=0 data). In the update, this bit of noise was made smaller, and explicitly zero-mean. There were some low-frequency artifacts cropping up in synthetic RFs. The updated versions seem to avoid this problem:

anirec_synth.f

anirec_synth_circle.f

for info see  link 

Monday, March 24, 2008

The erstwhile version of aniprop.f has had a bugfix

click title to see Google Drive directory JParkCodes

The erstwhile version of aniprop.f that was (is?) available on my website has been superceded by an all-in-one version that computes dispersion curves and synthetic seismograms all in one program. Adapted and debugged on an Intel Mac in gnu fortran.

Google Drive, directory JParkCodes/aniprop_072307.f

after a bugfix is now

Google Drive, directory JParkCodes/aniprop_032408.f

The code computes surface wave modes at evenly-spaced frequency points between 0 and 0.5 Hz. You can change this by tinkering with the code. It computes synthetics for a source at a specified downrange distance and depth, and plots them using PLOTIT. The dispersion values are output to files out_cvel and out_gvel (phase and group velocities, natch), and the synthetics are written out to SAC-format files.

The bugfix concerned a LU-decomposition with partial pivoting that could fail in cases where the radial and transverse components of motion in a layered structure were totally uncoupled e.g., isotropic media, or media in which the axis of symmetry for anisotropy had strike angle phi=0.

Thursday, December 6, 2007

plotting script for rfmig_cboot.f and rfmig_mcboot.f output WITH UNCERTAINTIES

click title to see Google Drive directory JParkCodes



# ./Plotj_cexp outr_cexp.grid outr1_cexp.grid outr2_cexp.grid outt_cexp.grid outt1_cexp.grid outt2_cexp.grid 0.15 KEG

#shell to plot RF wiggles from the "grid" files generated by
# rfmig_cboot.f or rfmig_mcboot.f
# Input - $1 - mean R+T $2 lower R+T $3 upper R+T $4 mean R-T $5 lower R-T $6 upper R-T $7 scale $8 TITLE

plotting script for rfmig_boot.f and rfmig_mboot.f output WITH UNCERTAINTIES

click title to see Google Drive directory JParkCodes


# ../Plotj_bexp outr_bexp.grid outr1_bexp.grid outr2_bexp.grid outt_bexp.grid outt1_bexp.grid outt2_bexp.grid 0.3 title

#shell to plot RF wiggles from the "grid" files generated by
# rfmig_cboot.f or rfmig_mcboot.f
# Input - $1 - mean R $2 lower R $3 upper R $4 mean T $5 lower T $6 upper T $7 scale $8 TITLE

plotting script for rfmig_cboot.f and rfmig_mcboot.f output

click title to see Google Drive directory JParkCodes

#../Plot_cexp outr_cexp.grid outt_cexp.grid 0.15 KEG

#shell to plot RF wiggles from the "grid" files generated by
# rfmig_cboot.f or rfmig_mcboot.f
#Input - $1 - file name $2 file name $3 - scale $4 TITLE

plotting script for rfmig_boot.f and rfmig_mboot.f output

click title to see Google Drive directory JParkCodes

#../Plot_bexp outr_bexp.grid outt_bexp.grid 0.15 KEG

#shell to plot RF wiggles from the "grid" files generated by
# rfmig_boot.f or rfmig_mboot.f
#Input - $1 - file name $2 file name $3 - scale $4 TITLE
 
Link