SUNMO - NMO for an arbitrary velocity
function of time and CDP
nmo <stdin >stdout [optional
parameters]
Optional Parameters:
tnmo=0 NMO times
corresponding to velocities in vnmo
vnmo=2000 NMO
velocities corresponding to times in tnmo
anis1=0 two
anisotropy coefficients making up quartic term
anis2=0 in traveltime curve, corresponding to
times in tnmo
cdp= CDPs
for which vnmo & tnmo are specified (see Notes)
smute=1.5 samples
with NMO stretch exceeding smute are zeroed
lmute=25 length (in samples) of linear ramp for
stretch mute
sscale=1 =1
to divide output samples by NMO stretch factor
invert=0 =1 to perform (approximate) inverse NMO
ixoffset=0 do not
consider cross-line offset
=1
read cross-line offset from trace header
Notes:
For constant-velocity NMO, specify only one vnmo=constant and omit
tnmo.
The anisotropy coefficients anis1, anis2
permit non-hyperbolicity due
to layering, mode conversion, or anisotropy. Default is isotropic
NMO.
For NMO with a velocity function of time
only, specify the arrays
vnmo=v1,v2,... tnmo=t1,t2,...
where v1 is the
velocity at time t1, v2 is the velocity at time t2, ...
The times specified in the tnmo array must be monotonically
increasing.
Linear interpolation and constant
extrapolation of the specified velocities
is used to compute the velocities at times not specified.
The same holds for the
anisotropy coefficients as a function of time only.
For NMO with a velocity function of time and
CDP, specify the array
cdp=cdp1,cdp2,...
and, for each CDP
specified, specify the vnmo and tnmo arrays as described
above. The first (vnmo,tnmo) pair corresponds
to the first cdp, and so on.
Linear interpolation and constant extrapolation of 1/velocity^2 is
used
to compute velocities at CDPs not specified.
The same holds
for the anisotropy coefficients as a function of time and
CDP.
Moveout is defined by
1 anis1
--- x^2 + ------------- x^4.
v^2 1 + anis2 x^2
Note: In general, the user should set the cdp parameter. The default is
to use tr.cdp
from the first trace and assume only one cdp.
Caveat:
Nmo cannot handle negative moveout as in triplication caused by
anisotropy. But negative
moveout happens necessarily for negative anis1 at
sufficiently large offsets. Then the
error-negative moveout- is printed.
Check anis1. An error
(anis2 too small) is also printed if the
denominator of the quartic term becomes negative. Check anis2.
These errors
are prompted even if
they occur in traces which would not survive the
NMO-stretch threshold. Chop off enough
far-offset traces (e.g. with suwind)
if anis1, anis2 are fine for near-offset traces.
NMO
interpolation error is less than 1% for frequencies less than 60% of
the Nyquist frequency.
Exact inverse NMO is impossible, particularly for early times at
large
offsets and for frequencies near Nyquist with
large interpolation errors.
Credits:
SEP: Shuki, Chuck Sword
CWP:
Shuki, Jack, Dave Hale, Bjoern Rommel
Modified: 08/08/98 - Carlos E. Theodoro - option for lateral
offset
Technical
Reference:
The Common Depth
Point Stack
William A.
Schneider
Proc. IEEE, v. 72, n.
10, p. 1238-1254
1984
Trace header fields accessed: ns, dt, delrt,
offset, cdp, sy