NAME
dmoamp - true amplitude dmo (and dmo stack)
SYNOPSIS
dmoamp [ -Nntap ] [ -Ootap ] [ -vvtap ] [ -dvidv ] [ -frfr ]
[ -lrlr ] [ -sp1xs1 ] [ -dsds ] [ -dmdm ] [ -srcpt ] [
-dl1dl1 ] [ -dl2dl2 ] [ -dr1dr1 ] [ -dr2dr2 ] [ -nmnm ] [
-dipdip ] [ -ampamp ] [ -A ] [ -GS ] [ -P ] [ -fgfar ] [
-dgdxg ] [ -ngngrp ] [ -R ] [ -V ] [ -? ]
DESCRIPTION
dmoamp is a dmo implementation from the Colorado School of
Mines Center for Wave Phenomena. It is basically a born-
type algorithm that takes input data in any form (shot, cdp,
etc), an RMS velocity field, and outputs either a zero
offset (dmo stack) section or a true amplitude dmo (with nmo
correction) CDP pre-stack line.
As each input trace is read in the amplitudes are corrected
for the type of spreading desired and then sprayed out along
the dmo ellipse accumulating in the proper CDP x-locations
in time in the output array. In pre-stack mode a model CDP
spread is used to organize the traces in their proper offset
slots within each CDP location along the ground. In post-
stack mode no correction for number of live samples is given
so results from the dmo stack may differ slightly from the
output of stack -L run on the dmoamp pre-stack output espe-
cially in zones where the fold drops away. Unlike some dmo
codes no prior NMO correction is applied; this is all done
internally (which is why we need the RMS velocity field).
The input data can be in any sort order (shot, group, cdp,
offset) but must have been prepped properly since both the
trace distances and the shot indeces are critical to calcu-
lation the dmo operator and the location on the ground of
the output trace amplitude. The indexing must adhere to the
relation di = gi + si, where di is the midpoint index, and
gi and si are the group and shot indexes respectively. The
trace header word used for the shot is SrcLoc, which is si x
10. In general the first output trace (or gather in the
pre-stack case) will correspond to the first live midpoint.
dmoamp gets both its data and its parameters from command
line arguments. These arguments specify the input, output,
the dmo velocity, trace spacing, and start and end sequen-
tial records used, 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'.
-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).
-v vtap
Enter the name of the RMS velocity tape. This must
contain one trace per CDP gather just like for a
stacked section.
-dv idv
Enter the decimation factor for each velocity trace
(samples). Because most velocity fields are in some
way smoothed (explicitly or implicitly) it is not
necessary to store every point in time and one may take
every nth point and interpolate between. Default is 2
but if the velocity tape has been smoothed even more
(say using vsn) then this value might be increased.
-fr fs
Enter the starting sequential record used. Default is
to use the first record in the data set (fs = 1). By
limiting the range of records used (see end record
below) one reduces the run time but also reduces the
data participating in the dmo so that the edges of the
zero offset output section will deteriorate.
-lr ls
Enter the ending sequential record used. Default =
last record in data set.
-sp1 xs1
Enter the starting shotpoint number on the line. The
default is to grab the shot point from the first live
trace read. Bad things can happen in the default case
if the data are not in shot order.
-srcpt
Enter the command line argument '-srcpt' to use the
SoPtNm trace header mnemonic shot point word. Default
is to use SrcLoc which is the shot point x 10
-ds ds
Enter the group spacing (ft,m/s). No default.
-dm dm
Enter the CDP spacing (ft,m/s). No default.
-nm dm
Enter the number of CDP's expected. The default is to
take whatever it finds in the "number of records" line
header entry of the velocity tape.
-dip dip
Enter maximum dip (degrees) to process. Default = 90.
-dl1 dl1
Enter the maximum leftmost (negative) distance (ft,m)
to process. Default is to process up to and including
the leftmost distance on the spread. Note that this
command line parameter and the three following define a
distance filter where the processing is done for ranges
that fall in the limits dl1 < trace_distance < dl2 or
dr1 < trace_distance < dr2.
-dl2 dl2
Enter the near left (negative) distance (ft,m) limit to
process. Default is the near offset.
-dr1 dr1
Enter the near right (positive) distance (ft,m) limit
to process. Default is the near offset.
-dr2 dr2
Enter the far right (positive) distance (ft,m) limit to
process. Default is the far offset.
-amp amp
Amplitude flag: 0 = common shot amplitude term; 1 =
common offset amplitude term; 2 = kinematic amplitude
term. Choice between 0 & 1 does not make a whole lot
of difference in the output since both preserve rela-
tive amplitudes quite well. Choice of the kinematic
term however will not preserve relative amplitudes very
well although the code will run faster.
-P Enter the command line argument '-P' to operate the
program in pre-stack mode. If this is set then the
following 3 command line arguments must be properly
filled in.
-fg far
Enter the absolute maximum offset present in the CDP
gathers (ft,m). No default.
-dg dxg
Enter the spacing of traces with in a CDP gather
(ft,m). No default.
-ng ngrp
Enter the number of traces (fold) within a complete CDP
gather. No default. Note that this and the above 2
arguments enable a model CDP spread to be built. This
model is used to gather up the dmo'd traces.
-S Enter the command line argument '-S' if the model
spread is a split spread.
-R Enter the command line argument '-R' to restart a pre-
vious pre-stack run. If this option is set then the
following 2 command line arguments must be properly
filled out.
-fs fs
Enter the starting sequential shot or record used.
This must be equal to the last shot or record that was
current in the previous run. Check the printout file
for the last run to determine what this was.
-ns ns
Enter the sequential trace number of the last trace
within the above shot or record that was successfully
completed in the previous run. Check the printout file
for the last run to determine what this was.
-A Enter the command line argument '-A' to relax the
anti-aliasing conditions. Sometimes it is desireable
to output all diffractions even if they violate the
aliasing conditions of the dmo operator.
-GS Enter the command line argument '-GS' to include
geometric spreading in the final output section; other-
wise zero offset spreading will be assumed.
-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
Currently for the poststack option both the velocity tape
and the dmo stack section are held in memory, so for large
section this could present a problem for small memory (e.g.
32mb sparcs) machines. You can get a good idea of whether or
not you're going to run into memory problems by taking the
number of CDP traces times the number of time samples times
2 (velocity filed plus zero offset section) times 4 bytes
(on machines other than the 64bit Crays). e.g. 1000 traces
by 1500 samples by 2 by 4 comes out to be 12mb which can be
handled nicely by a 32mb sparc 2. Even 2000 traces will work
(especially if run nohup'd and logging ouy so that the win-
dow manager does not compete for machine resources.
For the prestack case the output data set will probably have
incorrect indexing and so could present a problem is sorting
is required. Until this problem is addressed user hdrswap
to grab the headers from a regular CDP sorted version of
this data set.
EXAMPLE
1. DMO stack:
dmoamp -Nshots.raw -ds150 -nm414 -dm75 -Ozero_off_stk
-vvel.rms
where the shot spacing is 150 the CDP spacing is 75 and
there are 414 midpoints along the line. The input shot data
could easily have come in from tape, e.g.
xcram -r | dmoamp -ds150 -nm414 -dm75 -Ozero_off_stk
-vvel.rms
2. DMO pre-stack:
dmoamp -Nshots.raw -ds150 -nm414 -dm75 -Ozero_off_stk
-vvel.rms -P -fg9000 -dg300 -ng61 -S
SEE ALSO
dmofast, dmofx, dmovz
AUTHOR
Chris Liner, formerly Colorado School of Mines
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html