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