SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUDATUMK2DS - Kirchhoff datuming of sources for 2D prestack data

		(input data are receiver gathers) 			



   sudatumk2ds  infile=  outfile=  [parameters] 			



Required parameters:							

infile=stdin		file for input seismic traces			

outfile=stdout	file for common offset migration output  	

ttfile=		file for input traveltime tables		

  The following 9 parameters describe traveltime tables:		

fzt=			first depth sample in traveltime table		

nzt= 			number of depth samples in traveltime table	

dzt=			depth interval in traveltime table		

fxt=			first lateral sample in traveltime table	

nxt=			number of lateral samples in traveltime table	

dxt=			lateral interval in traveltime table		

fs= 			x-coordinate of first source			

ns= 			number of sources				

ds= 			x-coordinate increment of sources		



fxi=                   x-coordinate of the first surface location      

dxi=                   horizontal spacing on surface                   

nxi=                   number of input surface locations               

sgn=                   Sign of the datuming process (up=-1 or down=1)  



Optional Parameters:							

dt= or from header (dt) 	time sampling interval of input data	

ft= or from header (ft) 	first time sample of input data		

surf="0,0;99999,0"  The first surface defined the recording surface 

surf="0,0;99999,0"  and the second one, the new datum.              

                      "x1,z1;x2,z2;x3,z3;...

fzo=fzt		z-coordinate of first point in output trace 	

dzo=0.2*dzt		vertical spacing of output trace 		

nzo=5*(nzt-1)+1 	number of points in output trace		",	

fxso=fxt		x-coordinate of first shot	 		

dxso=0.5*dxt		shot horizontal spacing		 		

nxso=2*(nxt-1)+1  	number of shots 				

fxgo=fxt		x-coordinate of first receiver			

exgo=fxgo+(nxgo-1)*dxgo	x-coordinate of the last receiver	

dxgo=0.5*dxt		receiver horizontal spacing			

nxgo=nxso		number of receivers per shot			

fmax=0.25/dt		frequency-highcut for input traces		

offmax=99999		maximum absolute offset allowed in migration 	

aperx=nxt*dxt/2  	migration lateral aperature 			

angmax=60		migration angle aperature from vertical 	

v0=1500(m/s)		reference velocity value at surface		

dvz=0.0  		reference velocity vertical gradient		

antiali=1             Antialiase filter (no-filter = 0)               

jpfile=stderr		job print file name 				

mtr=100  		print verbal information at every mtr traces	

ntr=100000		maximum number of input traces to be migrated	



Notes:								

1. Traveltime tables were generated by program rayt2d (or other ones)	

   on relatively coarse grids, with dimension ns*nxt*nzt. In the	

   migration process, traveltimes are interpolated into shot/gephone 	

   positions and output grids.					

2. Input traces must be SU format and organized in common shot gathers

3. If the offset value of an input trace is not in the offset array 	

   of output, the nearest one in the array is chosen. 		

4. Amplitudes are computed using the reference velocity profile, v(z),

   specified by the parameters v0= and dvz=.				

5. Input traces must specify source and receiver positions via the header

   fields tr.sx and tr.gx. Offset is computed automatically.		





Author:  Trino Salinas, 05/01/96,  Colorado School of Mines



This code is based on sukzmig2d.c written by Zhenyue Liu, 03/01/95.

Subroutines from Dave Hale's modeling library were adapted in

this code to define topography using cubic splines.



This code implements a Kirchhoff extraplolation operator that allows to

transfer data from one reference surface to another.  The formula used in

this application is a far field approximation of the Berryhill's original

formula (Berryhill, 1979).  This equation is the result of a stationary

phase analysis to get an analog asymptotic expansion for the two-and-one

half dimensional extrapolation formula (Bleistein, 1984).



The extrapolation formula permits the downward continuation of upgoing

waves  and  upward  continuation  of  downgoing waves.  For upward conti-

nuation of upgoing waves and downward continuation of downgoing waves,

the conjugate transpose of the equation is used (Bevc, 1993).



References :



Berryhill, J.R., 1979, Wave equation datuming: Geophysics,

  44, 1329--1344.



_______________, 1984, Wave equation datuming before stack

  (short note) : Geophysics, 49, 2064--2067.



Bevc, D., 1993, Data parallel wave equation datuming with

  irregular acquisition topography :  63rd Ann. Internat.

  Mtg., SEG, Expanded Abstracts, 197--200.



Bleistein, N., 1984, Mathematical methods for wave phenomena,

  Academic Press Inc. (Harcourt Brace Jovanovich Publishers),

  New York.

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 angmax

sub antiali

sub aperx

sub ds

sub dt

sub dvz

sub dxgo

sub dxi

sub dxso

sub dxt

sub dzo

sub dzt

sub exgo

sub fmax

sub fs

sub ft

sub fxgo

sub fxi

sub fxso

sub fxt

sub fzo

sub fzt

sub infile

sub jpfile

sub mtr

sub ns

sub ntr

sub nxgo

sub nxi

sub nxso

sub nxt

sub nzo

sub nzt

sub offmax

sub outfile

sub sgn

sub surf

sub ttfile

sub v0

sub get_max_index

max index = number of input variables -1