SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUMIGPREFD --- The 2-D prestack common-shot 45-90 degree

			finite-difference depth migration. 		



    sumigprefd <indata >outfile [parameters] 				", 



 Required Parameters:							",  

 nxo=		number of total horizontal output samples		

 nxshot=	number of shot gathers to be migrated			

 nz=		number of depth sapmles					

 dx=		horizontal sampling interval				",	

 dz=		depth sampling interval				 	

 vfile=	velocity profile, it must be binary format (see Notes)	

  

 Optional Parameters:							

 dip=79	the maximum dip to migrate, possible values are:	

		45,65,79,80,87,89,90 degrees				

		The computation cost is 45 equals 65equals 79<80<87<89<90		

 fmax=25	peak frequency of Ricker wavelet used as source wavelet	

 f1=5

 f2=10

 f3=40

 f4=50	 frequencies to build a Hamming window	



 lpad=9999

 rpad=9999	number of zero traces padded on both		

			sides of depth section to determine the		

			migration aperature, the default values 	

			are using the full aperature.			

 verbose=0		silent, =1 additional runtime information	



 Notes:								

 The input velocity file \'vfile\' consists of C-style binary floats.  

 The structure of this file is vfile[iz][ix]. Note that this means that

 the x-direction is the fastest direction instead of z-direction! Such a

 structure is more convenient for the downward continuation type	

 migration algorithm than using z as fastest dimension as in other SU  

 programs.								



 Because most of the tools in the SU package (such as  unif2, unisam2, ", 

 and makevel) produce output with the structure vfile[ix][iz], you will

 need to transpose the velocity files created by these programs. You may

 use the SU program \'transp\' in SU to transpose such files into the  

 required vfile[iz][ix] structure.					

 (In C  v[iz][ix] denotes a v(x,z) array, whereas v[ix][iz]  		

 denotes a v(z,x) array, the opposite of what Matlab and Fortran	

 programmers may expect.)						", 



 Also, sx must be monotonically increasing throughout the dataset, and 

 and gx must be monotonically increasing within a shot. You may resort	

 your data with \'susort\', accordingly.				



 The scalco header field is honored so this field must be set correctly.

 See selfdocs of \'susort\', \'suchw\'. Also:   sukeyword scalco	







 Credits: CWP, Baoniu Han, bhan@dix.mines.edu, April 19th, 1998

	  Modified: Chris Stolk, 11 Dec 2005, - changed data input

		    to remove erroneous time delay. 

	  Modified: CWP, John Stockwell 26 Sept 2006 - replaced Han's

	  "goto-loop" in two places with "do { }while loops".

	  Fixed it so that sx, gx, and scalco are honored.







 Trace header fields accessed: ns, dt, delrt, d2, sx, gx, 

 Trace header fields modified: ns, dt, delrt

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 dip

sub dx

sub dz

sub f1

sub f2

sub f3

sub f4

sub fmax

sub lpad

sub nxo

sub nxshot

sub nz

sub rpad

sub verbose

sub vfile

sub get_max_index

max index = number of input variables -1