DOCUMENTATION

SYNOPSIS

PERL PROGRAM NAME:  SUTAUP - forward and inverse T-X and F-K global slant stacks		
AUTHOR: Juan Lorenzo (Perl module only)
DATE:   
DESCRIPTION:
Version: 

USE

NOTES

Examples

SEISMIC UNIX NOTES

 SUTAUP - forward and inverse T-X and F-K global slant stacks		

    sutaup <infile >outfile  [optional parameters]                 	

 Optional Parameters:                                                  
 option=1			=1 for forward F-K domian computation	
				=2 for forward T-X domain computation	
				=3 for inverse F-K domain computation	
				=4 for inverse T-X domain computation	
 dt=tr.dt (from header) 	time sampling interval (secs)           
 nx=ntr   (counted from data)	number of horizontal samples (traces)	
 dx=1				horizontal sampling interval (m)	
 npoints=71			number of points for rho filter		
 pmin=0.0			minimum slope for Tau-P transform (s/m)	
 pmax=.006			maximum slope for Tau-P transform (s/m)	
 np=nx				number of slopes for Tau-P transform	
 ntau=nt			number of time samples in Tau-P domain  
 fmin=3			minimum frequency of interest 	        
 xmin=0			offset on first trace	 	        

 verbose=0	verbose = 1 echoes information				

 tmpdir= 	 if non-empty, use the value as a directory path	
		 prefix for storing temporary files; else if the	
	         the CWP_TMPDIR environment variable is set use		
	         its value for the path; else use tmpfile()		

 Notes:                                                                
 The cascade of a forward and inverse  tau-p transform preserves the	
 relative amplitudes in a data panel, but not the absolute amplitudes  
 meaning that a scale factor must be applied to data output by such a  
 a cascade before the output may be compared to the original data.	
 This is a characteristic of the algorithm employed in this program.	
 (Suradon does not have this problem.)					



 Credits: CWP: Gabriel Alvarez, 1995.

 Reference:       
    Levin, F., editor, 1991, Slant-Stack Processing, Geophysics Reprint 
         Series #14, SEG Press, Tulsa.

 Trace header fields accessed: ns, dt
 Trace header fields modified: dt,d2,f2

Additional substitute subroutines: Juan Lorenzo March 1 2019

inverse_via_fk=3

inverse_via_tx=4

forward_via_fk=1

forward_via_tx=2

compute_via_in=number

outbound_pickfile=pick

dp=1 vmin=1 vmax=2

CHANGES and their DATES

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 compute_via_in

sub dp

Old was: if (defined($sutaup->{_pmin}) && $sutaup->{_pmax} && $sutaup->{_np} ) { $sutaup->{_note} = $sutaup->{_note}.' dp='.$sutaup->{_dp}; $sutaup->{_dp} = ($sutaup->{_pmax} - $sutaup->{_pmin})/ ($sutaup->{_np} -1) ; print("dp is $sutaup->{_dp}\n\n"); } else { print("Warning: dp requires np, and pmax and pmin\n"); print("Declare pmax and pmin and np earlier \n\n"); print("\tnp is $sutaup->{_np}\n\n"); print("\tpmax is $sutaup->{_pmax} and pmin is $sutaup->{_pmin}\n\n"); } return $sutaup->{_dp};

sub dt

sub dx

sub fmin

sub forward_via_fk same as subroutine option=1

sub forward_via_tx

same as subroutine option=2

sub inverse_via_fk

same as subroutine option=3

sub inverse_via_tx

        same as subroutine option
	=4
	

sub np

sub npoints

sub ntau

sub nx

sub option

sub outbound_pickfile

  Provides a default output file name
  for picking data points

  i/p requires a base-file name (i.e. no *.su extension)
	e.g. All_cmp
  o/p  ~/seismics_LSU/FalseRiver/seismics/pl/Bueche/All/H/1/gom/All_cmp_fp_picks
    if  ($file_in) {

Use directory navigation system and default parameter file names from SeismicUnix class

sub outbound_pickfile { my ($variable,$file_in) = @_; use aliased 'App::SeismicUnixGui::configs::big_streams::Project_config'; my $Project = Project_config->new(); my ($DATA_SEISMIC_SU) = $Project->DATA_SEISMIC_SU(); my ($PL_SEISMIC) = $Project->PL_SEISMIC(); use App::SeismicUnixGui::misc::SeismicUnix qw($suffix_fp $suffix_su) ;

        my $sufile_in			= $file_in.$suffix_su;
  	my $inbound			= $DATA_SEISMIC_SU.'/'.$sufile_in;
  	my $file_out			= $file_in.$suffix_fp;
        $sutaup->{_outbound_pickfile}	= $PL_SEISMIC.'/'.$file_out.'_picks';

	return ($sutaup->{_outbound_pickfile});

     }
}
  

Use directory navigation system and default parameter file names from SeismicUnix class

sub pmax

sub pmin

sub tmpdir

sub verbose

sub vmax

sub vmin

print("vmin is $sutaup->{_vmin}}\n\n");

sub xmin

sub get_max_index

max index = number of input variables -1