DOCUMENTATION

SYNOPSIS

PERL PROGRAM NAME:  SUXCOR - correlation with user-supplied filter			
AUTHOR: Juan Lorenzo (Perl module only)
DATE:   
DESCRIPTION:
Version: 

USE

NOTES

Examples

SEISMIC UNIX NOTES

 SUXCOR - correlation with user-supplied filter			

 suxcor <stdin >stdout  filter= [optional parameters]			

 Required parameters: ONE of						
 sufile=		file containing SU traces to use as filter	
 filter=		user-supplied correlation filter (ascii)	

 Optional parameters:							
 vibroseis=0		=nsout for correlating vibroseis data		
 first=1		supplied trace is default first element of	
 			correlation.  =0 for it to be second.		
 panel=0		use only the first trace of sufile as filter 	
 			=1 xcor trace by trace an entire gather		
 ftwin=0		first sample on the first trace of the window 	
 				(only with panel=1)		 	
 ltwin=0		first sample on the last trace of the window 	
 				(only with panel=1)		 	
 ntwin=nt		number of samples in the correlation window	
 				(only with panel=1)		 	
 ntrc=48		number of traces on a gather 			
 				(only with panel=1)		 	

 Trace header fields accessed: ns					
 Trace header fields modified: ns					

 Notes: It is quietly assumed that the time sampling interval on the	
 single trace and the output traces is the same as that on the traces	
 in the input file.  The sufile may actually have more than one trace,	
 but only the first trace is used when panel=0. When panel=1 the number
 of traces in the sufile MUST be the same as the number of traces in 	
 the input.								

 Examples:								
	suplane | suwind min=12 max=12 >TRACE				
	suxcor<DATA sufile=TRACE |...					
 Here, the su data file, "DATA", is correlated trace by trace with the
 the single su trace, "TRACE".					

	suxcor<DATA filter=1,2,1 | ...					
 Here, the su data file, "DATA", is correlated trace by trace with the
 the filter shown.							

 Correlating vibroseis data with a vibroseis sweep:			
 suxcor < data sufile=sweep vibroseis=nsout  |...			

 is equivalent to, but more efficient than:				

 suxcor < data sufile=sweep |						
 suwind itmin=nsweep itmax=nsweep+nsout | sushw key=delrt a=0.0 |...   

 sweep=vibroseis sweep in SU format, nsweep=number of samples on	
 the vibroseis sweep, nsout eqis equal to the
 desired number of samples on output	

 or									
 suxcor < data sufile=sweep |						
 suwind itmin=nsweep itmax=nsweep+nsout | sushw key=delrt a=0.0 |...   

 tsweep=sweep length in seconds, tout=desired output trace length in seconds

 In the spatially variant case (panel=1), a window with linear slope 	
 can be defined:						 	
 	ftwin is the first sample of the first trace in the gather,  	
 	ltwin is the first sample of the last trace in the gather,	
 	ntwin is the lengthe of the window, 				
 	ntrc is the the number of traces in a gather. 			

 	If the data consists of a number gathers which need to be 	
	correlated with the same number gathers in the sufile, ntrc	
	assures that the correlating window re-starts for each gather.	

	The default window is non-sloping and takes the entire trace	
	into account (ftwin=ltwin=0, ntwin=nt).				


 Credits:
	CWP: Jack K. Cohen, Michel Dietrich
      CWP: modified by Ttjan to include cross correlation of panels
	   permitting spatially and temporally varying cross correlation.
      UTK: modified by Rick Williams for vibroseis correlation option.

  CAVEATS: 
     In the option, panel=1 the number of traces in the sufile must be 
     the same as the number of traces on the input.

 Trace header fields accessed: ns
 Trace header fields modified: ns

CHANGES and their DATES

sub Step

collects switches and assembles bash instructions by adding the program name Keeps track of actions for execution in the system

sub note

collects switches and assembles bash instructions by adding the program name

sub clear

sub filter

ASCII data filter

sub first

supplied trace is default first element of correlation if 1
0 for it to be second

sub ftwin

first sample on the first trace of the window
panel =1

sub itmin

sub ltwin

first sample on the last trace of the window
panel =1

sub nsout

sub ntrc

sub ntwin

sub panel

decide whether to use first trace of sufile as filter (=0) 
or to xcor trace by trace an entire gather

sub sufile

Define the data to be used as the correlation
This is the 'filter'

sub sweep

sub tsweep

sub vibroseis

sub get_max_index

max index = number of input variables -1