SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUDMOFKCW - converted-wave DMO via F-K domain (log-stretch) method for
common-offset gathers
sudmofkcw <stdin >stdout cdpmin= cdpmax= dxcdp= noffmix= [...]
Required Parameters:
cdpmin= minimum cdp (integer number) for which to apply DMO
cdpmax= maximum cdp (integer number) for which to apply DMO
dxcdp= distance between adjacent cdp bins (m)
noffmix= number of offsets to mix (see notes)
Optional Parameters:
tdmo=0.0 times corresponding to rms velocities in vdmo (s)
vdmo=1500.0 rms velocities corresponding to times in tdmo (m/s)
gamma=0.5 velocity ratio, upgoing/downgoing
ntable=1000 number of tabulated z/h and b/h (see notes)
sdmo=1.0 DMO stretch factor; try 0.6 for typical v(z)
flip=0 =1 for negative shifts and exchanging s1 and s2
(see notes below)
fmax=0.5/dt maximum frequency in input traces (Hz)
verbose=0 =1 for diagnostic print
Notes:
Input traces should be sorted into common-offset gathers. One common-
offset gather ends and another begins when the offset field of the trace
headers changes.
The cdp field of the input trace headers must be the cdp bin NUMBER, NOT
the cdp location expressed in units of meters or feet.
The number of offsets to mix (noffmix) should typically equal the ratio of
the shotpoint spacing to the cdp spacing. This choice ensures that every
cdp will be represented in each offset mix. Traces in each mix will
contribute through DMO to other traces in adjacent cdps within that mix.
The tdmo and vdmo arrays specify a velocity function of time that is
used to implement a first-order correction for depth-variable velocity.
The times in tdmo must be monotonically increasing. The velocity function
is assumed to have been gotten by traditional NMO.
For each offset, the minimum time at which a non-zero sample exists is
used to determine a mute time. Output samples for times earlier than this
mute time will be zeroed. Computation time may be significantly reduced
if the input traces are zeroed (muted) for early times at large offsets.
z/h is horizontal-reflector depth normalized to half source-reciver offset
h. Normalized shift of conversion point is b/h. The code now does not
support signed offsets, therefore it is recommended that only end-on data,
not split-spread, be used as input (of course after being sorted into
common-offset gathers). z/h vs b/h depends on gamma (see Alfaraj's Ph.D.
thesis, 1993).
Flip factor = 1 implies positive shift of traces (in the increasing CDP
bin number direction). When processing split-spread data, for example,
if one side of the spread is processed with flip=0, then the other side
of the spread should be processed with flip=1. The flip factor also
determines the actions of the factors s1 and s2, i.e., stretching or
squeezing.
Trace header fields accessed: nt, dt, delrt, offset, cdp.
Credits:
CWP: Mohamed Alfaraj
Dave Hale
Technical Reference:
Transformation to zero offset for mode-converted waves
Mohammed Alfaraj, Ph.D. thesis, 1993, Colorado School of Mines
Dip-Moveout Processing - SEG Course Notes
Dave Hale, 1988
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 cdpmax
sub cdpmin
sub dxcdp
sub factor
sub flip
sub fmax
sub gamma
sub noffmix
sub ntable
sub sdmo
sub tdmo
sub vdmo
sub verbose
sub get_max_index
max index = number of input variables -1