NAME
rmo - residual automatic moveout correction
SYNOPSIS
rmo [-N Input data] [-O Output data] [-maxoff maximum
DstUsg] [-deltat Max shift] [-wind Smoothing window] [-minx-
ref Min reference offset] [-maxxref Max reference offset]
[-nxref Number of offsets] [-ncdp Number of cdps] [-tshort
Max short offset shift] [-bandw Signal bandwidth] [-stabl
Stability factor] [-afile Aux O/P] [-xfile Aux O/P] [-qcfile
Aux O/P] [-parab] [-loshift Min parabolic/gamma shift]
[-hishift Max parabolic/gamma shift] [-limit Limit max gamma
shift] [-nscans Number of gamma steps between loshift and
hishift] [-A] [-V] [-foff Verbose first offset] [-loff Ver-
bose last offset] [-noff Verbose number of offsets] [-tinc
Verbose time increment] [-mincdp Verbose first cdp] [-cdpinc
Verbose CDP increment] [-? -h -help]
DESCRIPTION
RMO computes and applies residual moveout corrections.
Input data must be NMO corrected and CDP ordered.
RMO assumes the residual moveout can be described by the
following general equation:
Delta t = alpha * x**2 + beta * x**4
Where x is the source to receiver offset. The above equa-
tion is very difficult to apply in practice. The alpha and
beta terms strongly interact with each other.
In order to make this equation useful, a constraint must be
applied. For practical reasons, we may assume that typical
NMO correction is reasonably good on the near traces where
the moveout is hyperbolic. In other words, we assume that
the non-hyperbolic error is positive and small up to a
reference offset. A mathematical equation for this restric-
tion is:
Delta t = 0 = alpha * xref**2 + beta * xref**4
From this relationship, beta may be eliminated from the
general equation, which then becomes:
Delta t = alpha * x**2 * [1 - (x / xref)**2]
This equation basically says that for some non-zero offset,
xref, the 2nd and 4th order terms balance each other and
produce a net zero moveout error. For offsets up to the
xref the data is assumed slightly undercorrected. Offsets
greater than xref are overcorrected by an ever increasing
amount. This moveout curve mimics actual data processing
procedures. Normally, a user will pick the highest sem-
blance on a velocity analysis. This highest semblance value
is affected by the long offset NMO errors and is actually
faster than the true RMS velocity. This common tendency, to
pick slightly faster velocities in order to align the far
traces better, fits the assumptions in the previous equa-
tion. RMO scans the input data for a reasonable range of
alpha and xref values. Using a stacked amplitude criterion,
when the data appears to contain these residual moveout
errors, RMO applies a dynamic correction to align the data.
Actual alpha and xref values are allowed to change sample by
sample. Smoothing is applied across a time gate and across
CDPs to stabilize the output.
See below for the parabolic and gamma options since these
are of most use for simple correction of short to medium
length spreads or in dealing with imaged gathers from the
migration shop.
Theoretical Factors
Residual moveout errors can be caused by several factors.
Three readily identified sources have been investigated.
First, a layered earth with a vertical velocity distribution
produces non-hyperbolic moveout (see for example, Taner and
Koehler, 1969, and Castle, 1994). Secondly, anisotropic
material produces residual moveout errors (Tsvankin and
Thomsen, 1994). Thirdly, spatial velocity changes produce
apparent residual moveout errors. Moveout errors due to
statics and buried velocity lenses are examples of this
third class. Theoretically, a prestack depth migration with
the proper velocity model can correct for the first and
third source of error. In fact, such a prestack depth
migration program expects these travel time anomalies and
won't work properly on RMO output. The second source of
moveout errors, anisotropy, would be handled properly if the
same prestack depth migration program also included correc-
tions for anisotropic propagation.
RMO attempts to correct for all residual moveout errors of a
particular shape regardless of their source. RMO should NOT
precede prestack depth migration. RMO after prestack time
migration may be beneficial. DMO, since it alters the pre-
stack arrival time of dipping energy, should precede RMO.
Operation
The number of moveout scans performed is roughly propor-
tional to the number of reference offsets times the maximum
shift times the bandwidth (NXREF * DELTAT * BANDW). Not all
analyses are actually performed, however. When the shift on
the near traces (TSHORT) becomes too large, then that
particular analysis will not be performed. RMO can be made
to run faster if the number of reference offsets is
decreased, the maximum shift is reduced, or the bandwidth
reduced. With some combinations of parameters, reduced
TSHORT will execute somewhat faster.
RMO can require large blocks of memory if the number of CDPs
to smooth (NCDP) is large. Memory for the number of ana-
lyses times the number of CDPs to smooth is allocated. If
this block of memory is too large, excessive page faulting
may occur, or in extreme cases RMO may not run at all.
Parabolic Residuals
RMO has an option to search for residual moveout errors of
the form:
Delta t = alpha * x^2
This equation represents a "parabolic" residual error. Par-
abolic errors are caused by different kinds of errors than
the 4th order errors described previously. Parabolic errors
can be caused by mis-picked velocity analyses. Another
source of residual NMO errors occurs when user time-velocity
picks are linearly interpolated to each sample of each CDP.
Parabolic errors can occur on even short offsets.
The parabolic residual moveout option should be used cau-
tiously. Multiples and diffracted energy can easily create
spurious apparent moveout errors. The parabolic option is,
therefore, safer on DMO output after multiple attenuation.
Gamma Residuals
RMO has another option to search for residual moveout errors
of the form:
Delta z = sqrt [ z0^2 + (gamma^2 - 1) * x^2 ], or, Delta z =
sqrt [ z0^2 + alpha * x^2 ]
This equation represents a type of "parabolic" correction
that becomes progressively less with depth (or time). It is
the correction derived from flattening imaged gathers after
migration, gamma being the fractional deviation in the velo-
city field at that location, i.e. to obtain the new migra-
tion velocity field take the old one and sample-by-sample
multiply it with the gamma field. The scans are done over
linear alpha and then converted to gamma values if the gamma
field if output (2-step process). On application the gammas
are converted back to alphas and the correction computed and
applied. For the gamma option the depth increment is deter-
mined from the line header entry Dz1000, which is the depth
interval times 1000. This entry must be present. It is
recommended that the rmo program be run in the two step
mode: once to generate the gammas, followed by user smooth-
ing of the gamma field, followed by the application run of
rmo. This flow will allow volumetric smoothing of the gam-
mas. Because of the sqrt the gamma option runs about 6x
slower than the parabolic option so if the goal is merely to
flatten this type of simple residual then use the parabolic
option. It is recommended that the rmo program be run.
References
Castle, Richard J. 1994. "A theory of normal moveout" Geo-
physics, Vol 59, No 6, June 1994, pp 983-999.
Taner, M.T., and Koehler, F., 1969, "Velocity spectra-
digital computer derivation and applications of velocity
functions," Geophysics, Vol 34, pp 859-881.
Tsvankin, Ilya, and Thomsen, Leon, 1994, "Nonhyperbolic
reflection moveout in anisotropic media," Geophysics, Vol
59, No 8, pp 1290-1304.
Command line arguments
-N input dataset
Specify the input data set name or file immediately
after typing -N unless the input is from a pipe in
which case the -N entry must be omitted. This input
file should include the complete path name if the file
resides in a different directory. Example
-N/b/vsp/dummy tells the program to look for file
'dummy' in directory '/b/vsp'.
-O Output dataset
Specify the output data set name or file immediately
after typing -O. This output file is not required when
piping the output to another process. The output data
set also requires the full path name (see above).
-maxoff maximum offset
Maximum offset in the input dataset. This parameter is
used to calculate analysis increments. A few input
traces longer than MAXOFF will not cause problems.
Those traces with larger offsets will contribute poorly
to the analysis because the moveout scan increments
will be too coarse. REQUIRED.
-deltat Max shift at maxoff
The maximum residual moveout error allowed. Units are
milliseconds. REQUIRED.
-wind Time smoother
Time window length, in milliseconds. The residual
moveout analysis will be performed within a sliding
window of this length. In effect, this parameter con-
trols a temporal smoother.
-minxref Minimum analysis reference offset.
RMO will assume that residual moveout errors are very
small for offsets less than the reference offsets.
Units must match the OFFSET trace header values.
-maxxref Maximum analysis reference offset.
Units must match the OFFSET trace header values.
-nxref Number of analysis reference offsets.
The range of analyzed reference offsets between MINXREF
and MAXXREF will be equally spaced.
-ncdp Number of CDPs to smooth the analysis.
Must be odd. NCDP will be increased by one if neces-
sary in order to make NCDP odd. If -parab or -gamma
options are chosen with the two pass method then ncdp
will be set to 1. In that case the user is strongly
advised to smooth the alpha or gamma data (the -O[]
file in the first of 2 passes).
-tshort Short offset max time shift
The maximum shift allowed at offsets less than the
reference offset. Units are milliseconds.
-bandw Estimated data bandwidth as fraction of Nyquist frequency
If there is little high frequency energy in the input,
anti-aliasing provisions can be relaxed and RMO can run
faster. For example, if 4 ms data has been filtered
back to 50 Hertz, then a BANDW = 50 / 125 = .4 will
cause RMO to run roughly twice as fast as the default.
This parameter has no effect in the -gamma option.
There -nscans[] will uniquely determine the step size
between loshift and hishift.
-stabl Stability factor. Extreme shifts are,
normally, less likely than small shifts. STABL pro-
vides a weight to apply to the largest shift. Weights
are linearly tapered so that a shift of 0 milliseconds
has a weight of 1. In the gamma option the weight is 1
at a gamma of 1 tapering to its minimum value at the
absolute largest of loshift or hishift.
-qcfile Auxiliary QC output dataset.
Enter the file name containing the smoothed semblances
generated by the scans at a gather increment of
-cdpinc[]. The disk file is organized as if it were
cdp data with the number of traces per record equal to
the number of scans. This option is only valid for
-parab and -gamma options.
-afile Auxiliary QC output dataset.
The disk file is organized as if it were stacked data.
The sample values are, however, the values of alpha
(see the Technical description) actually applied to the
data. Output data samples are in units of samples of
shift per foot**2 or samples of shift per meter**2.
Since typical offsets are 1000s of feet or meters, the
data amplitudes are quite small (i.e. 10e-6). The out-
put trace header is constructed from the first trace in
the input CDP.
-xfile Auxiliary QC output dataset.
The disk file is organized as if it were stacked data.
The sample values are, however, the values of reference
offset (see the Technical description) actually applied
to the data. Output data samples are in units of feet
or meters. Data values will therefore, range between 0
and MAXXREF. The output trace header is constructed
from the first trace in the input CDP.
-parab Parabolic flag This parameter list initiates the
parabolic residual moveout analysis and correction.
Parabolic moveout analysis is incompatible with the
standard 4th order analysis. If this flag is present,
4th order search is disabled. The following parameters
will be ignored: DELTAT, MINXREF, MAXXREF, NXREF, and
TSHORT. The STABL weight is applied symmetrically
around zero shift, i.e. zero shift always has a weight
of 1 and STABL is applied to the maximum of LOSHIFT or
HISHIFT. -loshift[] -hishift[] should be tested. -max-
off[] must also be included but does not need to be
tested.
-gamma gamma flag This parameter list initiates the
gamma residual moveout analysis and correction. The
following parameters will be ignored: DELTAT, MINXREF,
MAXXREF, NXREF, and TSHORT. The STABL weight is
applied symmetrically around zero shift, i.e. zero
shift always has a weight of 1 and STABL is applied to
the maximum of LOSHIFT or HISHIFT. -loshift[]
-hishift[] should be tested. -maxoff[] must also be
included but does not need to be tested.
The line header entry Dz1000, the depth interval times
1000, must be present.
-loshift The minimum residual parabolic error or gamma at MAXOFF.
Units are milliseconds for the -parab option but are
unitless for -gamma (fractional above and below 1.0,
e.g. .8). For -gamma the -limit paramater is checks to
prevent shifts at maxoffset from exceeding this value
at any time. Also the shifts (positive or negative) at
the end ot the trace at maxoffset are compared to
-limit[] and if they are greater (absolute) then the
delta gamma and either loshift or hishift are adjusted
to be smaller, keeping the gamma step size more effi-
cient. The magnitude of this shift corresponds to the
amount of NMO overcorrection. THIS PARAMETER SHOULD BE
TESTED ON A SMALL SAMPLING OF GATHERS.
-hishift The highest residual parabolic error or gamma at MAXOFF.
Units are milliseconds for the -parab option but are
unitless for -gamma (fractional above and below 1.0,
e.g. 1.2). Also the shifts (p ositive or negative) at
the end ot the trace at maxoffset are compared to
-limit[]
and if they are greater (absolute) then the delta
gamma and either loshift or his hift are adjusted to be
smaller, keeping the gamma step size more efficient.
The magnitude of this shift corresponds to the amount
of NMO undercorrection. THIS PARAMETER SHOULD BE TESTED
ON A SMALL SAMPLING OF GATHERS.
-nscans The number of scans for the -gamma option.
This parameter is only for the -gamma option. It is the
number of gamma steps between loshift and hishift. The
default is 31 which so far seems fine for most seismic
data, however testing should be done on a small portion
of data. The run time scales proportionally to this
parameter.
-limit The limit on max absolute gamma shift.
Units are % of total trace length. Since the gamma
shift is time varying [ sqrt(z0^2 + (gamma^2-1)*x^2) ]
the shallower shifts tend to be larger like NMO. This
is a way of getting the required deeper shifts while
not going berserk up shallow. Default is 5%
-A Specify the command line argument '-A' to run the pro-
gram in separate steps: first, generate an alpha data
set and second, read the cdps and the alpha data and
apply the corrections. This can be useful for 3D data
where one would like to smooth the alpha parameter spa-
tially. After the first run utop the alpha data volume
to have the same multi trace records as your stack
(txy) volume. Then qdslice the volume into the time
slice (xyt) domain and run fkkstrip. Then qdslice -R
the volume back into the txy domain. This data is then
read using the -afile[] cmd line entry or input port 3
in the ikp rmo panel. The cmd line arguments for
loshift, hishift, maxoff, and -A must be present for
both steps.
-V Specify the command line argument '-V' to get addi-
tional printout. Flagging this will result A HUGE
AMOUNT OF PRINTOUT - BE CAREFUL!
-foff First OFFSET value for verbose tables.
Units must be the same as the OFFSET header units.
Tables of time shifts (Delta ts) will be printed for
the specified offsets
-loff Last offset value for verbose tables
-noff Number of OFFSETs for verbose tables
-tinc Time increment for verbose tables
The time increment in milliseconds for the print out of
the analysis results.
-mincdp Minimum CDP for verbose tables
-cdpinc CDP increment for verbose tables
The increment between CDPs for the output of QC sem-
blances (if requested) and the printout of the analysis
results.
-? Specify the command line argument '-?' to get online
help. The program terminates after the help screen is
printed.
EXAMPLES
rmo -Nindata -Oodata -maxoff6240 -deltat120 -ncdp41
Here is a relatively simple example. The default shift of
200 milliseconds has been changed to 120 milliseconds. The
default CDP smoother has been changed from 5 CDPs to 41
CDPs.
rmo -Nindata -Oodata -maxoff6240 -parab -loshift-20
-hishift12
This is an example of a parabolic search for residual NMO
errors.
rmo -Nindata -Oodata -maxoff6240 -V -cdpinc10
-afilealpha.sis -xfilexref.sis
This is an example of a test job. Verbose output is
requested along with both QC outputs.
Next is an example of using the 2-step process.
1. compute gammas and output QC semblance at the default
interval of every 100th gather
rmo -Nindata -Ogammadata -maxoff2950 -qcfilesembdata
-loshift0.0 -hishift2.0 -A -gamma
2. after smoothing the gamma field apply it to the data
rmo -Nindata -Oodata -maxoff2950 -afilegamma_smooth -A
-gamma
BUGS
No known bugs at present.
SEE ALSO
rnmopec, rnmo, vtispec, vtinmo
AUTHOR
Original code by Steve Markley and mods by Paul Gutowski
x4202 or 504-588-9294
Man(1) output converted with
man2html