NAME
angst - module to perform angle-dependent stacking for
qualitative AVO analysis.
SYNOPSIS
ANGST [ -Nntap ] [ -Ootap ] [ -Aotp2 ] [ -vVelocity file ] [
-DAANGL card image file ] [ -as ] [ -ae ] [ -ai ] [ -rs ] [
-re ] [ -ws ] [ -we ] [ -md ] [ -em ] [ -saf ] [ -sm ] [
-cdp ] [ -srcpnt ] [ -iord ] [ -tdfn ] [ -disco ] [ -dead ]
[ -ANGLES ] [ -BC ] [ -S ] [ -exp ] [ -inorm ] [ -D ] [ -? ]
[ -H ]
DESCRIPTION
General
Program angst computes incident or emergent angles as a
function of time and input (RMS) velocity functions and
stacks the input CDP-sorted, NMO-corrected data into incre-
mental "bins", the size of which are controlled by the -ai
(angle increment) parameter. Angles are computed using a
ray tracing algorithm derived by Mike Kelly (TRC), and may
be computed as a straight-ray solution, a curved-ray solu-
tion, or a perturbed curved ray solution, in which the
difference between the curved raypath for the (internally)
smoothed estimate of the RMS velocity function and the input
velocity function is minimized. An options is also provided
for angle computation with a more industry-standard alogo-
rithm. The number of stacked traces output for each CDP is
a function of the -as (start angle), the -as (end angle),
and the -ai parameters. The temporal and spatial extent of
the stacked data is controlled by the -rs and -re (start
record and end record, respectively), and the -ws and -we
(window start and window end times, respectively).
As an alternative to computing the incident or emergent
angle field internally, a previously existing angle field
data set may be input. When the angle field is input exter-
nally, the ray tracing procedure is simply skipped and the
program otherwise functions as when computing the angles.
Angle Specifications, Binning, and Stacking
Angle "bin" limits for stacking or muting may be specified
using an incremental method or as ANGL card images. When
using incremental angle specification, the angle "bins" into
which the input CDP gather traces are stacked are determined
delimited by min/max angle pairs computed from the starting
angle and the angle increment. The ending angle is used
only to determine the number of stacked traces to output and
as the maximum angle for the last bin. The computations
used to compute the bin limits are (using "as" to represent
the start angle, "ae" to represent the end angle, "ai" to
represent the angle increment, and "N" to represent the
number of stacked traces):
bin 1 minimum angle = as
bin 1 maximum angle = as + ai
bin 2 minimum angle = as + ai increment
bin 2 maximum angle = bin 2 minimum angle + ai
.
.
.
bin N minimum angle = as angle + (N-1)*ai
bin N maximum angle = the smallest of
bin N minimum angle + ai
OR
the end angle.
The number of bins is computed as (using integer arithmetic
and the same notation as above):
N = (ae - as + ai - 1)/ai
For example, if the Start angle is 5, the End angle is 30,
and the angle increment is 3, nine traces would be created
within the bins 5-8, 8-11, 11-14, 14-17, 17-20, 20-23, 23-
26, 26-29, and 29-30.
The logic used to stack the data is that the angle must be
greater than or equal to the minimum but less than the max-
imum. In the example given, the last bin would contain only
angles greater than or equal to 29 degrees but less than 30
degrees.
Angle cards may be used to specify angle bin limits instead
of the incremental method. Anlge cards provide the easiest
means of extracting the standard "B0", "B1", and "B2"
stacks. These cards specify minimum and maximum angle pairs
in (right justified) five column fields, beginning in column
6. The first five columns contain a card identifier in the
form of nANGL, where n=1, 2, 3,..,9. For the last card, n
MUST be 9. For example, to enter 3 angle pairs, the single
card would appear (with the column position indicated) as:
1 1 2 2 3 3
1...5....0....5....0....5....0....5
9ANGL 0 12 12 27 27 90
The stacked output created using this card image input would
have as its first trace the stack of all samples on the CDP
gather traces for which the incident or emergent angles were
greater than or equal to 0 but less than 12. The last trace
would be the stack of all samples for which the incident or
emergent angles were greater than or equal to 27 but less
than 90.
The incident or emergent angles computed for each input sam-
ple and trace may be output on an optional secondary (-A)
data set. These angles may be used as a background display
using program PLTR (hardcopy) or XMPLOT (on-screen).
Velocity Input
Two methods of velocity input are supported in program
angst. The first method is through a velocity (seismic for-
mat) file, in the same manner as input to USP normal moveout
correction programs. The second method is through either
TDFN or DISCO HANDVEL card image files. For either method,
single or multiple functions may be input. If inputting
multiple functions using the velocity file method, there
MUST be a velocity function for each input cdp. When running
inside XIKP only velocity tape input is supported.
In general the velocity file method of input should be the
preferred method, for a variety of reasons. One of the most
compelling reasons for this is that very finely sampled
velocity functions, such as RMS velocities from well logs,
can be input. To observe the advantages of finely sampled
functions, compare the perturbed ray angle fields output by
program maksyn with the same fields generated with a "typi-
cal" velocity function in program angst.
The form of the velocities depends on the domain of the
input. If the data are in time, the velocity should be in
time and RMS (stacking velocities assumed close). If the
data are in depth, the velocities must be in depth and
interval. If you supply time/RMS velocities with depth
data, the results will be bad.
Muting
As an alternative to stacking the input CDP data, the data
may be muted within a specified angle range and output as
unstacked data. This option provides a means of applying a
velocity-consistent mute to the data. As an example of this,
to mute from the CDP data all amplitudes corresponding to
incident angles greater than 50 degrees, specify the -sm
option with the minimum angle set to 50 and the maximum
angle to 90 degrees. Internal, or surgical, mutes can be
specified just as easily.
Exponentiation in Normalization
A common practice in CDP stacking is to normalize the stack
by the number of non-zero samples contributing to a stacked
sample after raising that counter to a power such as 0.5 or
0.7. This practice of exponentiation has the effect of
increasing the stacked amplitudes for the events beyond the
mute zone at the expense of events within the mute zone in a
high S/N environment but may give more balance to the stack
in a low S/N environment. Program angst offers the option
to exponentiate the stack normalization vector, but this
option is offered as a special-purpose option only, to be
used only by those desiring simple angle-limited stacks. If
the input value is negative, no normalization is applied.
It is generally agreed that normalization of a stack should
produce a reasonable measure of a mean of the contributing
samples. This is proper for a CDP stack, where the number
of samples are essentially constant for all time, excluding
the mute zone. For angle stacks, however, post-stack appli-
cations of the data typically require more concern over how
the stacks are normalized. It is simple to show that the
most effective normalization of angle-limited stacks is nor-
malization by the width of the angle bands. Program ANGST
offers this normalization as an option. If the parameter is
not set, the program defaults to normalization by the number
of non-zero samples contributing to each sum. Otherwise, it
will normalize the the actuatl width of the angle bakds
summed.
This program is based on a concept for qualitative AVO
analysis developed by Chuck Skidmore (Houston) and developed
by Richard Crider (Houston).
Parameterization
angst gets its data and parameters from command line argu-
ments.
Command line arguments
-N ntap
Enter the input data set name or file immediately after
typing -N. 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 'vsp' stored on the 'b' disk.
(Default = pipe input)
-O otap
Enter the output data set name or file immediately
after typing -O. The output data set also requires the
full path name (see above). (Defalut = pipe output)
-A otp2
Enter the (optional) secondary output data set (angles)
name or file immediately after typing -A. This data set
also requires the full path name (see above). (Default
= no angle output)
-v Velocity file
Enter the name of the file containing the velocites to
be used for ray tracing. The velocities may be in
time/RMS or depth/INTERVAL, depending on the domain of
the input. This file may be in USP format (RECOM-
MENDED), or it may be a card image file in TDFN or
DISCO HANDVEL format (either the -tdfn or -disco flag
must be set) when the input is in TIME domain. For
information on what this velocity file should contain,
see the discussion above. If running inside XIKP using
a velocity tape then the tape file is connected to
input port "3" on the angst ikp process box or it may
also be filled in using the file selector box of the
angst panel. (Default = NONE. THIS IS A REQUIRED PARAM-
ETER)
Note: If the -ANGLES flag (see below) is present, this
parameter is understood to refer to an external angle field
to be used by the program in the place of ray tracing.
-DA ANGL card image file
Enter the name of the file containing the (optional)
ANGL card images. These cards are similar to TDFN
cards, except that all numerical fields are five
columns wide. The last card in a set must be a 9ANGL
card and up to 63 angles may be entered. (Default = use
incremental method for angle determination)
-as start angle
Enter the angle, in degrees, to be used as the bin
minimum for the first stacked output trace. All data
with incident angles greater than or equal to this
value but less than this value plus the angle increment
will be stacked into a single output trace. This
parameter is ignored if an ANGL card image file is sup-
plied. (Default = 0 degrees)
-ae end angle
Enter the greatest angle, in degrees, to be considered
in stacking the input data. This value will be the bin
maximum for the last stacked output trace. This
parameter is ignored if an ANGL card image file is sup-
plied. (Default = 45 degrees)
-ai angle increment
Enter the angular width (in degrees) of stacking
"bins". If this value is negative, a single "bucket"
is used for either stacking or muting. This parameter
is ignored if an ANGL card image file is supplied.
(Default = 5 degrees)
-rs start record
Enter the actual number of the record on which to begin
processing. All data prior to this record will be
skipped and not output. (Default = the first record on
the input data set)
-re record end
Enter the actual number of the record on which to end
processing. All data following this record will be
skipped and not output. (Default = last record on the
input data set)
-ws window start time
Enter the time for the start of the stacking operation
(in ms). Times less than this time on the stacked out-
put will be set to 0. (Default = 0)
-we window end time
Enter the time for the end of the stacking operation
(in ms). The stacked output is truncated at this time.
(Default = end of trace)
-md angle calculation mode
Enter the flag to indicate the type of ray-tracing
solution desired. A value of 0 gives a straight ray
solution. A value of 1 gives a curved ray solution.
A value of 2 give a perturbed curved ray solution
wherein the smooth curved ray solution is "perturbed"
in accordance with the true input velocity function. A
value of 3 gives an industry-standard solution and the
same solution used for Depth Domain input. The default
is mode 1.
-em angles flag
Enter the flag to indicate the type of angles to use in
the stacking or muting process. A value of 0 means use
incident angles. A value of 1 means use emergent
angles. (Default = 0)
-sm Output mode
Use this parameter to request angle-dependent mute
application rather than angle-dependent stacking. Enter
a value of '1' to requested muted output, '0' to
request stacked output. (Default = 0)
-saf Slope adjustment factor
An input velocity file (not TDFN or DISCO) may be
resampled to reduce the compute time required to per-
form the least squares fit to the velocity data. The
-saf parameter specifies by how much the slope of the
function must change before a new sample is taken.
More accurate ray tracing results are obtained when the
velocity function is finely sampled, so if this parame-
ter is used, a small number (e.g, 1.0e-4) is recom-
mended. (Default = no resampling, use function as
input).
-iord Smoothing order
Input velocity functions, whether from velocity file or
TDFN/DISCO card images, may have rather sharp breaks.
If such a function is used with the (mode 2) perturbed
curved ray solution, step functions in the angle field
can result. This parameter specifies a smoothing fac-
tor for the input velocities to allow "rounding" of the
sharp corners. Typical values for this parameter are 2
to 7. Larger numbers should probably not be used.
(Default = 0, no smoothing)
-tdfn TDFN card images input
If this parameter is present, the velocity file will be
assumed to be in TDFN card image format. DOMAIN OF
DATA MUST BE TIME. (Default = no)
-disco DISCO HANDVEL card images input
If this parameter is present, the velocity file will be
assumed to be in DISCO HANDVEL card image format.
DOMAIN OF DATA MUST BE TIME. (Default = no)
-cdp velocity function key flag
Enter this flag to indicate that the velocity functions
input are keyed to the CDP number instead of the RI
number. If neither this flag nor the -srcpnt flag are
present, the velocity functions are keyed to the RI
number.
-srcpnt velocity function key flag
Enter this flag to indicate that the velocity functions
input are keyed to the SOURCE POINT number instead of
the RI number. If neither this flag nor the -cdp flag
are present, the velocity functions are keyed to the RI
number.
-dead "dead" trace flag
If this parameter is present, no output trace is
flagged as a "dead" trace, whether it contains all
zeros or not. (Default = no)
-S Single Velocity flag
If this parameter is present, a single velocity (usp
format) function will be used and only one set of
angles will be computed, based on trace distances in
the very first gather of the input data set. This
assumes the trace distances for all remaining gathers
are the same. Without the -S parameter and if the velo-
city file contains only one trace then new angles will
be computed for each input gather regardless.
-BC CDP flag
If this parameter is present, the CDP XYs will be com-
puted from the average of the input trace source and
receiver XYs.
-ANGLES Angles input flag
If this parameter is present, the velocity tape (-v)
parameter is understood to refer to an angle field
rather than a velocity field. If an angle data set is
input, it, like the velocity field, must contain either
one (1) gather or N gathers, where N is the number of
CDP's in thd data set. (Default = No)
-exp stack normalization exponentiation
Enter the power to which the normalizer for each output
stacked sample is to be raised before normalizing the
stack. USE ONLY THE DEFAULT FOR AVO ANALYSIS APPLICA-
TIONS. (Default = 1.0)
-inorm stack normalization method
Enter a "1" to request normalization of each stack by
the width of the angle band actually summed. The
default is "0", or normalize by the number of live sam-
ples in each sum.
-? Enter the command line argument '-?' to get online help.
The program terminates after the help screen is printed.
-H Enter the command line argument -H to get online help.
The program terminates after the help screen is printed.
AUTHOR
Richard Crider EPTG Houston
CONTRIBUTORS
Mike Kelly EPTG ATTC
Chuck Skidmore EPTG ATTC
Don Griffin Houston
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html