NAME
rmmult - generalized radon noise/multiple removal and data
interpolation program
SYNOPSIS
rmmult [ -Nntap ] [ -Ootap ] [ -Aatap ] [ -Sstap ] [ -mminm-
min ] [ -mmaxmmax ] [ -rminrmin ] [ -rmaxrmax ] [ -npnp ] [
-sist ] [ -eiend ] [ -hwhdrwrd ] [ -tscltscl ] [ -flfl ] [
-fhfh ] [ -xminxmin ] [ -xmaxxmax ] [ -dxdx ] [ -zrefzref ]
[ -prewwhite ] [ -livenlive ] [ -ttaperntaper ] [ -pass ] [
-mute ] [ -L ] [ -P ] [ -H ] [ -I ] [ -V ] [ -? ]
DESCRIPTION
rmmult breaks the seismic data into 3 components:
1) modeled seismic noise
2) modeled seismic signal
3) unmodeled seismic data (including both noise and signal)
The user models the seismic data with a series of np curves,
(linear, parabolic or hyperbolic) which are fit to the data
in a least squares sense, thereby generating a modeled
response. That subset of the curves defined as 'noise' is
subtracted from the data. The remaining curves are con-
sidered to be modeled 'signal' and as an option, can be used
to intelligently interpolate dead traces.
This program was originally designed to remove multiple
reflection events. Specifically, rmmult approaches the
problem of multiple attenuation on unstacked data by means
of Velocity Stack Inversion. Input to the process is
unstacked data: common shot- ,common receiver- or CDP-
ordered, with the primary reflections flattened or over-
corrected using an appropriate NMO routine. The data are
assumed to have had both CDP-average and CDP-datum static
corrections applied.
Multiple attenuation using this program, like most long
period multiple attenuation techniques, relies on differen-
tial moveout between primary and noise events. Since the
process would be ineffective at early data times where velo-
city separation is small, the program allows the user to
specify a constant time window in which multiple suppression
is to be effected.
In contrast to dip filtering, quadrant chopping, and other
f-k techniques, this technique allows effective separation
of coincident primaries and multiples on short-offset traces
by partitioning the energy between the two events using all
the user supplied offsets; separation occurs in velocity
space.
Also in contrast to deterministic f-k and tau-p techniques,
this implementation of the generalized Radon transform is
quite robust when dealing with spatially aliased data. Typi-
cally, the user specified curves that do not (mathemati-
cally) span the entire data space. If the user specifies
his/her curves such that the aliased data can be uniquely
represented (fit by a small subset of curves), the aliased
data can be modeled, and subsequently subtracted or interpo-
lated as desired. Unmodeled portions of the data space
(such as diffraction 'signal' events) pass through this pro-
cess without undo attenuation. Thus, certain components of
aliased Rayleigh waves may be modeled and then subtracted.
In essence, by carefully defining the curves to be modeled,
the user is providing supplemental a priori information not
available to deterministic f-k filters.
INPUT: Shot-, Receiver- or CDP-ordered records, with
appropriate moveout corrections and all statics applied.
OUTPUT: Shot-, Receiver- or CDP-ordered records with mul-
tiples or other user defined noise suppressed. Interpolation
of dead traces if so desired using the 'signal' part of the
modeled data.
AUXILIARY OUTPUT 1: Shot- , Receiver- or CDP-ordered
records of subtracted noise.
AUXILIARY OUTPUT 2: Spectra in (omega,p) space of modeled
data.
rmmult gets both its data and its parameters from command
line arguments. These arguments specify the input, output,
auxilliary output, the design window, the start and end
delta-T, number of parameters/curves, and verbose printout,
if desired.
Command line arguments
-N ntap
Enter 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'.
It is highly recommended that the user regularize the
data using routine disort for the more computationally
efficient big memory option.
-O otap
Enter 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).
-A atap
Enter the output file name of the 'rejected' data, if
desired. This file contains the data that was sub-
tracted from the original. This output file cannot be
piped and requires the full path name.
-S stap
Enter the output file name of the spectrum in (omega,p)
space of the modeled data, if desired. (when using the
-L option, (omega,p) is equivalent to (omega,kx) ). The
differential moveout delta-t corresponding to each p is
stored in the traceheader word DstSgn and can be
displayed using xsd or scan. The first half of each
trace (p value) contains the amplitude, while the
second half of each trace contains the phase of the
modeled data in radon transform space (same format as
in routine fft2da). This output file cannot be piped
and requires the full path name.
-s ist
Window Start Time (ms). This window specifies the
region on the input data after which noise will be
suppressed. (default = first sample).
-e iend
Window End Time (ms). End of window for noise suppres-
sion. (default = last sample)
-hw hdrwrd
Window time keyed on trace header word, e.g. WDepDP. If
this is on the command line the the start and end times
above are referenced to the header word time, e.g. -s-
100 means a start procesing time 100ms above the trace
header word time; -e100 means an end time 100ms below
the header word time. Each gather is read but only the
header word time associated with the minimum absolute
trace distance is used. Default is to ignore in which
case -s[] and -e[] are now global window times.
-tscl tscl
Trace header start time multiplier. Default = 2 (e.g.
first water bottom).
-fl fl
Low Frequency (Hz). Lowest frequency of interest.
(default = 5 Hz)
-fh fh
High Frequency (Hz). Highest frequency of interest. The
cost goes up linearly with fh. (default = 1/2 Nyquist)
-mmin mmin (previously called -id0)
Minimum value of differential moveout to be modeled
where delta-t is measured at the larger absolute value
of the -xmin[] and -xmax[] entries below. If the pri-
mary is NMO-corrected to be flat, it is recommended to
set mmin=-40ms for a 25Hz wavelet, thereby allowing the
algorithm to model subtle AVO effects in the wavelet.
No default.
-mmax mmax (previously called -id1)
Maximum value of differential moveout to be modeled.
This value should be slightly greater than the largest
moveout the user wishes to reject. No default.
-rmin rmin (previously called -jd0)
Minimum value of differential moveout to be rejected
where delta-t is measured at the larger absolute value
of the -xmin[] and -xmax[] entries below. If the pri-
mary is NMO-corrected to be flat, it is recommended to
set rmin=+40ms for a 25Hz wavelet, thereby allowing the
algorithm to retain subtle AVO effects in the
wavelet.(Default = mmin).
-rmax rmax (previously called -jd1)
Maximum value of differential moveout to be rejected.
(Default = mmax).
-np np
Number of parameters or curves. About each record's
(actual or nonexisting) zero-offset trace a set of
linear, parabolic or hyperbolic curves are used to
model the data. The moveout range for these curves is
specified in the -mmin, -mmax entries above. This
parameter determines how many curves are used to span
that range. The cost goes up linearly with the value
of np. (Default: np = 2*fh*(mmax-mmin)/1000), giving 2
points per wavelength at the farthest offset).
-xmin xmin
Minimum trace distance (ft or m) in the data. If the
trace distances in the trace header word DstSgn are
negative, xmin should also be negative. The delta-t's
(after the -mmin, -mmax, -rmin, -rmax options) are
calculated at max(|xmin|,|xmax|). Default: xmin=0.
-xmax xmax
Maximum trace distance (ft or m) in the data. The
delta-t's (after the -mmin, -mmax, -rmin, -rmax
options) are calculated at max(|xmin|,|xmax|). No
default.
-dx dx
Seismic group spacing (ft or m). Supplying this value
will trigger the 'big memory' option in rmmult whereby
the Radon transform matrices are precomputed. Since a
Radon transform needs to be calculated at every possi-
ble shot-receiver distance, dx needs to represent the
separation in the common shot domain, vs. the coarser
common midpoint domain. The program will test for vali-
dity of data regularity against the seismic distances
stored in the trace headers. If the trace distance is
greater than .1*dx off a precomputed Radon transform
position, the program will abort. Default: data assumed
to be totally irregular, resulting in a more expensive
but smaller memory run.
-prew white
Percent Pre-Whitening. Pre-whitening is used to stabil-
ize the least-squares inversion in the presence of
noise. Default = 5%
-ttaper ntaper
Temporal taper length (ms). Taper length to be applied
to window of noise traces -s,-e before subtraction
from the original data. Default = 0 ms, that is, don't
apply a taper.
-pass
Enter the command line argument '-pass' to pass data
between (rmin,rmax) and reject data between (mmin,rmin)
and (rmax,mmax). Default is to reject data between
(rmin,rmax).
-mute
Enter the command line argument '-mute' to preserve the
early mute on the data. Since rmmult attempts to fit
constant amplitude curves to the data, it will generate
artifacts in the mute zone, possibly giving undesire-
able effects after reverse moveout.
-L Enter the command line argument '-L' to use linear
curves in the data model.
-P Enter the command line argument '-P' to use parabolic
curves in the data model. (default)
-H Enter the command line argument '-H' to use time
invariant hyperbolic curves in the data model.
-zref zref
Reference depth for time invariant hyperbolic curves if
-H option selected. Hyperbolae defined as in Foster
and Mosher, Geophysics, 1992 . Default:
zref=max(|xmin|,|xmax|).
-I Enter the command line argument '-I' to interpolate
dead traces using the 'signal' part of the modeled
data. If the user wishes to interpolate missing inside
traces prior to slant stacking and plane wave migration
before stack, he/she should pipe embed -D into this
program such that dead traces are padded on the inside.
This routine differs from program mess in that it
tries to interpolate/extrapolate the data using many
curves instead of just one, flat curve in the NMO
domain. In this way it is possible to interpolate con-
flicting dips. Trace headers are assumed to be correct
on input to this routine.
-V Enter the command line argument '-V' to get additional
printout.
-? Enter the command line argument '-?' to get online
help. The program terminates after the help screen is
printed.
BUGS
NOTE 1: Besides controlling the run-time, the data window
defined by the -s,-e entries should also be chosen in such a
way as to avoid heavily muted zones. Since the algorithm
depends on moveout discrimination, only data which has a
sufficient range of moveout to discriminate multiple from
primary energy should be included.
NOTE 2: The run-time increases with the number of frequen-
cies to process. This, in turn, is proportional both to the
window length and to the frequency range specified by the
fl,fh entries. It is important that the frequency range
specified here be sufficient to encompass the input data
(even though the frequency band of the multiples may be nar-
rower than that of the primaries) in order to ensure correct
modelling of ALL events and, therefore, optimum attenuation
of the multiples.
NOTE 3: The original code written for MVS/SIS contained a
body of code to "synthesize" super gathers in those cases
(particularly land, 3-D) where the gathers are sparse by
performing the modeling and attenuation steps over several
adjacent CDP's, thus filling in the offset holes. The USP
version does not do this. If super gathers are needed there
are a number of USP tools (sorting, editing, etc) to fairly
easily assemble them from the input data.
NOTE 4: Rejection in common shot or receiver domain can be
difficult since the apices of the hyperbolae are not cen-
tered about x=0. Many more parameters are need to express
these offcentered hyperbolae than those that are centered.
In general, filtering in the common midpoint and common
reflection point (MBS) domains show a cleaner separation of
signal to noise (P. J. Singer).
NOTE 5: The -dx option should be considered when running
regular marine lines on the Cray-2 and Cray-XMP supercomput-
ers. Although this option may run on seismic processing
workstation and network servers, the user should then deter-
mine whether the program truely resides in core or is paging
in and out of the swap space, and determine whether or not
the -dx (big memory) option is truely more efficient.
NOTE 6: Dead traces are not used if they fall within the
design window.
NOTE 7: Considerable care must be taken in applying the
radon transform, yet preserving subtle AVO effects. Even if
the desired events are flat, the p=0 moveout coefficient is
only able to model a constant amplitude component of this
event. Other positive and/or negative p coefficients are
needed to model the observed AVO variation. Rejecting these
essential components of AVO in a multiple elimination pro-
cess will also wipe out the desired AVO effect! Model stu-
dies have shown that retaining parabolae that express the
full wavelet (eg mmin < -40ms and rmin > +40ms for a 25Hz
wavelet) at the farthest offset causes minimal damage to the
AVO effect, with only moderate retention of multiples (N. C.
Allegar).
BUGS
No bugs known at present.
SEE ALSO
disort, embed
AUTHOR
Original code by Tony Samsom, Amoco Canada (1987); usp ver-
sion by Paul Gutowski, TRC (1990); signifcant reworking for
code performance (eg. vectorization, precomputation of Radon
transform matrices) and easier maintenance along with inter-
polation and non parabolic options by K. J. Marfurt, APR
(1992). Considerable calabration and improvements by W. F.
Felinksi, N. C. Allegar and P. J. Singer (1992). (Depreca-
tion of -nsm -nem -nsa -nea options by K.J. Marfurt on
9/15/92. Callhim if you need these!)
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html