SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUINVVXZCO - Seismic INVersion of Common Offset data for a smooth

            velocity function V(X,Z) plus a slowness perturbation vp(x,z)



    suinvvxzco <infile >outfile [optional parameters] 		



Required Parameters:							

vfile=                  file containing velocity array v[nx][nz]	

nx=                    number of x samples (2nd dimension) in velocity

nz=                    number of z samples (1st dimension) in velocity

nxm=			number of midpoints of input traces		



Optional Parameters:							

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

offs= or from header (offset) 	source-receiver offset	 	

dxm= or from header (d2) 	sampling interval of midpoints 		

fxm=0		first midpoint in input trace				

nxd=5		skipped number of midpoints (see note)			

dx=50.0	x sampling interval of velocity				

fx=0.0	first x sample of velocity				

dz=50.0	z sampling interval of velocity				

nxb=nx/2	band centered at midpoints (see note)			

nxc=0		hozizontal range in which velocity is changed		

nzc=0		vertical range in which velocity is changed		

fxo=0.0	x-coordinate of first output trace 			

dxo=15.0	horizontal spacing of output trace 			

nxo=101	number of output traces 				",	

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

dzo=15.0	vertical spacing of output trace 			

nzo=101	number of points in output trace			",	

fmax=0.25/dt	Maximum frequency set for operator antialiasing		

ang=180	Maximum dip angle allowed in the image			

ls=0		=1 for line source; =0 for point source			

pert=0	=1 calculate time correction from v_p[nx][nz]		

vpfile=file containing slowness perturbation array v_p[nx][nz]	

verbose=1              =1 to print some useful information		



Notes:								

Traveltime and amplitude are calculated by finite difference which	

is done only in one of every NXD midpoints; in the skipped midpoint, 	

interpolation is used to calculate traveltime and amplitude.		", 

For each midpoint, traveltime and amplitude are calculated in the 	

horizontal range of (xm-nxb*dx, xm+nxb*dx). Velocity is changed by 	

constant extropolation in two upper trianglar corners whose width is 	

nxc*dx and height is nzc*dz.						



Eikonal equation will fail to solve if there is a polar turned ray.	

In this case, the program shows the related geometric information. 	

There are three ways to remove the turned ray: smoothing velocity, 	

reducing nxb, and increaing nxc and nzc (if the turned ray occurs  	

in the shallow areas). To prevent traveltime distortion from a over	

smoothed velocity, traveltime is corrected based on the slowness 	

perturbation.								



Offsets are signed - may be positive or negative. 			









Author:  Zhenyue Liu, 08/28/93,  Colorado School of Mines 



Reference:

Bleistein, N., Cohen, J. K., and Hagin, F., 1987,

 Two-and-one-half dimensional Born inversion with an arbitrary reference

        Geophysics Vol. 52, no.1, 26-36.

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 ang

sub dt

sub dx

sub dxm

sub dxo

sub dz

sub dzo

sub fmax

sub fx

sub fxm

sub fxo

sub fzo

sub ls

sub nx

sub nxb

sub nxc

sub nxd

sub nxm

sub nxo

sub nz

sub nzc

sub nzo

sub offs

sub pert

sub verbose

sub vfile

sub vpfile

sub get_max_index

max index = number of input variables -1