SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUVELAN_NSEL - compute stacking VELocity panel for cdp gathers

		using the Normalized Selective CrossCorrelation sum	     



 suvelan_usel <stdin >stdout [optional parameters]			     



 Optional Parameters:							     

 nx=tr.cdpt              number of traces in cdp			     

 dx=tr.d2 	          offset increment				     

 nv=50                   number of velocities				     

 dv=100.0                velocity sampling interval			     

 fv=1500.0               first velocity				     

 tau=0.5                 threshold for significance values                  

 smute=1.5               samples with NMO stretch exceeding smute are zeroed

 dtratio=5               ratio of output to input time sampling intervals   

 nsmooth=dtratio*2+1     length of smoothing window                         

 verbose=0               =1 for diagnostic print on stderr		     

 pwr=1.0                 semblance value to the power      		     



 Notes:								     

 Normalized Selective CrossCorrelation Sum: is based on the coherence       

 measure known as crosscorrelation sum. The difference is that the selective

 approach sum only crosscorrelation pairs with relatively large differential

 moveout, thus increasing the resolving power in the velocity spectra       

 compared to that achieved by conventional methods. The normalization is    

 achieved in much the same way of normalizing the conventional              

 crosscorrelation sum.						             



 Each crosscorrelation is divided by the geometric mean		     

 of the energy of the traces involved, and the multiplying by a constant to 

 achieve maximum amplitude of unity. The constant is just the inverse of the

 total number of crosscorrelations included in the sum.  The selection is   

 made using a parabolic approximation of the differential moveout and       

 imposing a threshold for those differential moveouts.		   	     



 That threshold is the parameter tau in this program, which varies between 0

 to 1.	 A value of tau=0, means conventional crosscorrelation sum is applied

 implying that all crosscorrelations are included in the sum. In contrast,  

 a value of tau=1 (not recomended) means that only the crosscorrelation     

 formed by the trace pair involving the shortest and longest offset is      

 included in the sum. Intermediate values will produce percentages of the   

 crosscorrelations included in the sum that will be shown in the screen     

 before computing the velocity spectra. Typical values for tau are between  

 0.2 and 0.6, producing approximated percentages of crosscorrelations summed

 between 60 0x0p+0nd 20%. The higher the value of tau the lower the percentage

 and higher the increase in the resolving power of velocity spectra.        



 Keeping the percentage of crosscorrelations included in the sum between 20%

 and 60% will increase resolution and avoid the precense of artifacts in   

 the results.  In data contaminated by random noise or statics distortions   

 is recomended to mantaing the percentage of crosscorrelations included in   

 the sum above 25%. After computing the velocity spectra one might want to  

 adjust the level  and number of contours before velocity picking.	      



 

 Credits: CWP:  Valmore Celis, Sept 2002	

 

 Based on the original code: suvelan.c 

    Colorado School of Mines:  Dave Hale c. 1989



 References: 

 Neidell, N.S., and Taner, M.T., 1971, Semblance and other 

   coherency measures for multichannel data: Geophysics, 36, 498-509.

 Celis, V. T., 2002, Selective-correlation velocity analysis: CSM thesis.





 Trace header fields accessed:  ns, dt, delrt, offset, cdp

 Trace header fields modified:  ns, dt, offset, cdp

User's notes (Juan Lorenzo) untested

CHANGES and their DATES

Import packages

instantiation of packages

Encapsulated hash of private variables

sub Step

collects switches and assembles bash instructions by adding the program name

sub note

collects switches and assembles bash instructions by adding the program name

sub clear

sub dtratio

sub dv

sub dx

sub fv

sub nsmooth

sub nv

sub nx

sub pwr

sub smute

sub tau

sub verbose

sub get_max_index

max index = number of input variables -1