NAME
at3d - computes an arbitrary traverse through a stacked 3-D
volume of data. Traverse description may be through XSD
pickfile or command line vertex (x,y) or (li,di) pairs.
SYNOPSIS
at3d [ -Nntap ] [ -Ootap ] [ -Ppicks ] [ -x1ix1 ] [ -y1iy1 ]
[ -x2ix2 ] [ -y2iy2 ] [ -x3ix3 ] [ -y3iy3 ] [ -x4ix4 ] [ -
y4iy4 ] [ -dxdx ] [ -dydy ] [ -minliminli ] [ -maxlimaxli ]
[ -mindimindi ] [ -maxdimaxdi ] [ -liiincrli ] [ -
diiincrdi ] [ -cdpintcdpint ] [ -noutnout ] [ -DI ] [ -avg ]
[ -xixi ] [ -yiyi ] [ -liilii ] [ -diidii ] [ -V ] [ -? ]
DESCRIPTION
at3d constructs an arbitrary traverse through a 3-D stacked
seismic data volume. The linear segments of the traverse
may come from a standard XSD pickfile or be placed as vertex
control on the command line. The XSD pickfile may be
obtained by picking the traverse on a time-slice contructed
from the 3D stacked data volume of interest [ see qdslice].
The output cdp trace interval is user defined. Each output
trace is a weighted average of the four nearest traces in
the 3-D volume consequently the output of at3d often has an
improved S/N ratio over the raw trace input. The character
and amplitudes of the data are preserved allowing one to
construct a traverse that is both seamless and robust. at3d
gets both its data and its parameters from command line
arguments. These arguments specify the input, output, the
XSD pickfile, the 3D volume map corner coordinates, the
minimum and maximum LI and DI, the LI and DI increment, the
x and y grid sampling increments, the number of trace seeks
outside the area allowed, the DI ordering flag, the average
weighting flag, the traverse vertices in either (x,y) or
(li,di) nomenclature and verbose printout, if desired.
Command line arguments
-Nntap [NO DEFAULT: PIPE ON stdin NOT ALLOWED]
Enter the full path name of the file containing the
input data set.
-Ootap [default = stdout]
Enter the full path name for the output file to receive
the output data. Piping of output is allowed.
-Pptap [optional]
Enter the full path name for the XSD pickfile contain-
ing the arbitrary traverse turning points digitized
from a time slice derived from the input dataset using
qdslice or ttds3d . If not present the routine
expects to see the traverse definition on the command
line. [see -x -y -li -di below]
-x1ix1 [default = 0]
Enter the x-coord, grid-corner 1 (where DphInd = 1 and
LinInd = 1)
-y1iy1 [default = 0]
Enter the y-coord, grid-corner 1 (where DphInd = 1 and
LinInd = 1)
-x2ix2 [default = derive from data]
Enter the x-coord, grid-corner 2 (clockwise from corner
1)
-y2iy2 [default = derive from data]
Enter the y-coord, grid-corner 2 (clockwise from corner
1)
-x3ix3 [default = derive from data]
Enter the x-coord, grid-corner 3 (clockwise from corner
2)
-y3iy3 [default = derive from data]
Enter the y-coord, grid-corner 3 (clockwise from corner
2)
-x4ix4 [derive from data]
Enter the x-coord, grid-corner 4 (clockwise from corner
3)
-y4iy4 [derive from data]
Enter the y-coord, grid-corner 4 (clockwise from corner
3)
-dxdx [default = 1.0]
Enter the cell size in the x-direction (time slice
trace spacing)
-dydy [default = 1.0]
Enter the cell size in the y-direction (time slice sam-
ple spacing)
-minliminli [default = MnLnIn]
Enter the minimum line index. If not present and the
line header entries defaulted are not being used then
the default will become 1.
-maxlimaxli [default = MxLnIn]
Enter the maximum line index. If not present and the
line header entries defaulted are not being used then
the default will be then number of records or if -DI is
present on the command line, the number of traces from
the lineheader of the input dataset.
-mindimindi [default = MnDpIn]
Enter the minimum depth index If not present and the
line header entries defaulted are not being used then
the default will become 1.
-maxdimaxdi [default = MxDpIn]
Enter the maximum depth index. If not present and the
line header entries defaulted are not being used then
the default will be then number of traces or if -DI is
present on the command line, the number of records from
the lineheader of the input dataset.
-liiincrli [default = 1]
Enter the Line Index Increment.
-diiincrdi [default = 1]
Enter the Depth Index Increment.
-cdpintcdpint [default = 12.5]
Enter the output CMP interval.
-noutnout [default = 60]
Enter the number of trace seeks from outside the area
allowed. If you are running a traverse very close to
an edge of your data volume the nearest neighbor algo-
rithm may request traces from bins located outside your
volume. In most legal cases very few of these occur.
If you have messed up your corner coordinates [assuming
that you are using them] you may find that most or all
of the requested traces lie outside the volume. This
parameter is here to allow the program to abort if it
looks like something is wrong. If you find that you
cannot get your edge traverse then make this entry very
large. Of course at that point we assume that you know
what you are doing.
-DI [default = not used]
Enter the command line parameter -DI if your data is
organized in increasing depth index. This is true if
your LinInd entries increase within a record and your
DphInd entries increment across record boundaries. If
this flag is set then the defaults for maxli and maxdi
will correspond with the number of traces/rec and
number of records in the input dataset respectively.
If this flag is not set then it is assumed that the
LinInd index increments across record boundaries and
the DphInd index increments within a record.
-avg [default = not used]
Enter the command line parameter -avg to defeat the
distance weighting scheme used within at3d to weight
the nearest neighbor traces prior to summation for each
output trace. If this flag is not present then a
cosine taper based on distance from the desired output
position is used to weight the traces. You may want to
activate this option if you see an overabundance of
jitter on the output traverse.
-xxcoord [default = not used]
Enter the x coordinate in feet or meters. You may
enter as many x vertices as you desire.
-yycoord [default = not used]
Enter the y coordinate in feet or meters. You may
enter as many y vertices as you desire. They should
appear on the command line in the same order as their
associated x coordinate. If not you will have defined
a different traverse than intended.
-lilinum [default = not used]
Enter the li number for each vertex. You may enter as
many li vertices as you desire.
-didinum [default = not used]
Enter the di number for each vertex. You may enter as
many di vertices as you desire. They should appear on
the command line in the same order as their associated
li entry. If not you will have defined a different
traverse than intended.
-V Verbose printout.
-? or -h or -help
Enter the command line argument '-?' or -h or -help
to get online help. The program terminates after the
help screen is printed.
DISCUSSION
This program replaces the old SIS at3d program. There is no
longer any facility for handling AT3D cards. All traverse
control and parallelogram description now come in on the
command line. The fastest way to define a traverse for this
routine is to generate from your 3D stacked volume a single
time slice using for example:
qdslice -Ndatain -Oslice -ss200 -es200 -is1
Load this time slice to XSD and digitize the traverse of
interest.
Note that XSD in default load mode [that is if you have not
asked for plot reverse or upside down etc] will display the
(1,1) corner in the upper left hand of the display [i.e.
sequential trace = 1, sequential sample = 1] which should
[unless you have been playing games in USP] corresond to the
bin where LinInd = minli and DphInd = mindi. If you are
going to enter corner information x1, y1, x2, y2 etc on
the command line then realize that the above corner is the
(x1,y1) corner. Corners 2 through 4 proceed clockwise from
that location.
Note also that you may pick your traverse in XSD from a
display using plot reverse or plot upside down and the
pickfile output will still be referenced to the correct
sequential trace and sample information. If however you
have used transpose when building your XSD display then all
bets are off on what will happen. At this writing [Nov 22,
1996] the XSD routine seems to be having trouble mapping
picks onto the transposed display option. In other words
don't use it if you are trying to digitize a traverse for
input to this routine. You can convince yourself of this by
ploting a time slice in default display mode, pick a
traverse, now plot the same time slice using plot reverse,
then using plot upside down and watch how the picks follow
along. Now try the plot transpose option as observe the
results. [See what I mean].
You may also define a traverse by supplying vertex informa-
tion on the command line as either (x,y) or (li,di) pairs.
If you use the (x,y) option and are defining the corner
coordinates as well be sure to enter the corners prior to
the vertices. If you don't and you have an entry such as
-x23.5 -y2359.3 you will get into trouble. The routine
looks for the corners first and will see the -x123.5 as -x1
23.5 and the -y2359.3 as -y2 359.3 which will cause
erroneous corner definition and also result in points
dropped from your traverse.
If you choose not to enter corner coordinates on the command
line they will be calculated for you assuming an (x1,y1)
position of (0,0) and using the grid spacing information
supplied on the command line to calculate the rest.
If you choose not to enter -minli -maxli -mindi -maxdi on
the command line, the input line header will be examined for
the entries MnLnIn, MxLnIn, MnDpIn, MxDpIn which if found
will be used in their stead. If these entries are either
not used or all equal [i.e. all set to zero] then minimum
entries will be set to unity [minli=1, mindi=1] and the max-
imum entries will be set as a function of the -DI flag [if
no -DI then maxli=NumRec and maxdi=NumTrc, if -DI is present
then maxli = NumTrc and maxdi = NumRec].
The x direction is along traces on your time slice while the
y direction is along samples. This may cause some
confusion if your dataset has been turned to the point that
your field x coordinates look like y coordinates to at3d.
If this becomes a problem for you give me a call and I will
see what I can do about putting in a command line option to
identify which corner of the time slice to assign as corner
1. I almost did this during this rewrite but it really
looked like overkill to me and I had a lot of other more
pressing concerns on my to-do list. The dx and dy are the
bin dimensions used to construct the stacked volume. This
information is used to relate the cdp interval requested
with the stacked grid of data.
If you notice a lot of jitter in your output traverse you
can try using the -avg option which will shut off the dis-
tance weighting option used to weight the 4 nearest neighbor
traces prior to stacking for each output trace. Sometimes
if you have a lot of dip combined with pathological ampli-
tude distributions you may need to just go to a simple aver-
age to stop the jitter. If it persists let me know as I
wouldn't mind experimenting a little more with this part of
the program.
BUGS
If you are entering both corner coordinates and traverse
vertices in (x.y) pairs you must enter the corner coordi-
nates first. If you do not bad things can happen [see dis-
cussion above].
AUTHOR
- original [Murphy, Wagner etal]
- complete rewrite [Garossino 1995]
- P.G.A. Garossino [November 1996, pgarossino@amoco.com
SOCON 422-3932]
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html