NAME
vi3d - routine to output a regular LI,DI grid of 3D interpo-
lated velocity data calculated from input velocity functions
at arbitrary LI,DI locations.
SYNOPSIS
vi3d [ -Nntap ] [ -Ootap ] [ -minliminLI ] [ -mindiminDI ] [
-maxlimaxLI ] [ -maxdimaxDI ] [ -dlidLI ] [ -ddidDI ] [
-cellycellY ] [ -cellxcellX ] [ -toltol ] [ -vsscale ] [
-numnum ] [ -expexp ] [ -C ] [ -tdfn ] [ -elength ] [
-dtisi ] [ -rec1irec ] [ -trc1itrc ] [ -drecidrec ] [
-dtrcidtrc ] [ -V ] [ -? -h -help ]
DESCRIPTION
vi3d accepts individual velocity functions at distinct LI,DI
locations in VDS3D or USP format and interpolates these
functions to provide a distinct velocity function for each
cell location of a user defined LI and DI distribution. A
radius of investigation parameter controls the search dis-
tance from each output location over which to look for input
functions. The final output is a USP format velocity trace
dataset of NLI records and NDI traces [ NLI is the number of
output LI's and NDI is the number of output DI's]. Any
information input on the command line will override entries
found on the 1MC3D cards if used.
vi3d has been modified to look for a "G" on the first line
of the input TDFN file. If this is present the velocities
are assumed to be gamma's [ gamma = Vold / Vnew ] arising
from one of the MBS tools but scaled by a factor of 1000
(see horvel3d). This scale factor is then written into the
output data set line header in slot T_Unit (for ordinary
velocity the scale factor is 1). When the gamma volume has
been created program znmo can be used to apply the gamma-NMO
to the migrated CRPs and znmo will know to look in line
header word T_Unit for the proper scaler.
vi3d gets both its data and its parameters from command line
arguments. These arguments specify the input, output, the
minimum and maximum LI and minimum and maximum DI limits of
the output, the LI and DI increments, the cell dimension in
feet or meters, the radius of investigation in feet or
meters, the type of input, the sample interval if required,
the trace length if required 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. Be aware that you may NOT pipe
into this routine if you have flagged -tdfn on the
command line [see below]
-O otap
Enter the output filename immediately after typing -O.
This output file is not required when piping the output
to another process.
-minli minLI
Enter the mimimum LI value of output velocity volume.
The entry is required if using USP velocity trace
input. If using VDS3D card file input this value may
be entered on the 1MC3D card. If present on the com-
mand line this value will supercede the 1MC3D card
entry.
-mindi minDI
Enter the mimimum DI value of output velocity volume.
The entry is required if using USP velocity trace
input. If using VDS3D card file input this value may
be entered on the 1MC3D card. If present on the com-
mand line this value will supercede the 1MC3D card
entry.
-maxli maxLI
Enter the maximum LI value of output velocity volume.
The entry is required if using USP velocity trace
input. If using VDS3D card file input this value may
be entered on the 1MC3D card. If present on the com-
mand line this value will supercede the 1MC3D card
entry.
-maxdi maxDI
Enter the maximum DI value of output velocity volume.
The entry is required if using USP velocity trace
input. If using VDS3D card file input this value may
be entered on the 1MC3D card. If present on the com-
mand line this value will supercede the 1MC3D card
entry.
-dli dLI
Enter the inline cell increment for output. The
default is 1. If using VDS3D card file input this
value may be entered on the 1MC3D card. If present on
the command line this value will supercede the 1MC3D
card entry.
-ddi dDI
Enter the crossline cell increment for output. The
default is 1. If using VDS3D card file input this
value may be entered on the 1MC3D card. If present on
the command line this value will supercede the 1MC3D
card entry.
-cellx cellX
Enter the inline cell increment in meters or feet.
This is the distance between sucessive DI's on a LI
sorted line. The entry is required if using USP velo-
city trace input. If using VDS3D card file input this
value may be entered on the 1MC3D card. If present on
the command line this value will supercede the 1MC3D
card entry.
-celly cellY
Enter the crossline cell increment in meters or feet.
This is the distance between sucessive LI's on a DI
sorted line. The entry is required if using USP velo-
city trace input. If using VDS3D card file input this
value may be entered on the 1MC3D card. If present on
the command line this value will supercede the 1MC3D
card entry.
-tol tol
Enter the radius of investigation surrounding each out-
put location. This area will be searched for input
functions and all those found within this area will be
distance weighted and used in the calculation of the
output function. There is no default for this entry
and it is required. This entry also serves as the cal-
culation base for distance weighting. A point lying on
the control point will be assigned a weight of unity.
A point lying on a circle of radius -tol will have a
weight of zero. All values within a radius of -tol
will be summed and the total divided by the sum of the
weights. This process often results in a lower velo-
city than anticipated at any given function location.
The following entry -vs allows compensation for this
effect.
-vs scalar
Enter any desired velocity scalar as a percentage of
the input velocity control. The default is to use 100
percent of the input velocities.
-num num
In the event that extrapolation outside areas of velo-
city control is required this entry allows the user to
require that a certain number of nearby velocity con-
trol points are always used in the extrapolation zone.
Should the number of points found within the user
defined search radius be zero then the radius will be
expanded by 10 percent and the search performed again.
This process will be repeated until -num nearest
neighbor functions locations have been located within
the search radius. This parameter has an effect on the
smoothness of the transition between the controlled and
uncontrolled zones in the output volume. The default
value is 5.
-exp exp
If you wish to use 1/r**exp type weighting of veloci-
ties within the radius of investigation [-tol[] above]
then make an entry here. If neither -exp[] nor -C are
flagged on the command line then a simple 1/r type
weighting will done within the radius of investigation.
This is a floating point entry so any real exponent is
possible. Should you place both a -C and a -exp[] on
the command line the -C entry will be used.
-C cos
Enter the command line option -C to use a cosine bell
weighting of velocities within the radius of investiga-
tion [-tol[] above]. The default if neither -C nor a
-exp[] entry are present is to use a simple 1/r weight-
ing.
-tdfn
Enter -tdfn on the command line if the input control
velocity functions are in VDS3D card image format.
This would be either a 1MC3D card followed by sets of
0TDFN through 9TDFN cards, or, simply the 0TDFN through
9TDFN cards without the 1MC3D card present. This rou-
tine will accept as many function elements as required.
The historical 1TDFN through 9TDFN cards will only hold
63 function elements.
In this code, as in vomit, we only key on the 9TDFN
card. The number of cards and the TDFN card
number of all entries before the 9TDFN card are imma-
terial. You can put as many TDFN cards as
you want in a function with whatever single digit
number you want associated with them as long as
it is not a 9. The 9TDFN card signals that this is
the last card of the function. Once a 9TDFN card is
encountered the next card expected is the next 0TDFN
card containing the LI and DI location of th e next
function. If -tdfn is not present on the command
line the program will expect USP format velocity trace
data as input, either in a pipe or in an attached file.
If -tdfn is flagged on the command line then the fol-
lowing two entries are required.
-e length
Enter the length of the output trace. Note: the 1st
sample is at time or depth zero, so to get a trace
that stops at 1000units enter 1000 + sample interval.
This parameter is used only if -tdfn is
present on the command line and is required in that
instance.
-dt nsi
Enter the output sample interval. This parameter is
used only if -tdfn is present on the
command line and is required in that instance.
-rec1 irec
This is an optional RecNum override for the output
dataset. If you wish to have RecNum numbering that is
something other than LI [the default] then you may make
use of this entry and -drec[] below to cause the output
RecNum indexing to be anything you want. This entry is
strictly optional and may be omitted if an index of LI
is sufficient. This indexing override may be useful in
some cases to allow appropriate indexing to facilitate
entry to Landmark etc.
-trc1 itrc
This is an optional TrcNum override for the output
dataset. If you wish to have TrcNum numbering that is
something other than DI [the default] then you may make
use of this entry and -dtrc[] below to cause the output
TrcNum indexing to be anything you want. This entry is
strictly optional and may be omitted if an index of DI
is sufficient.
-drec idrec
If you are utilizing -rec1[] above you may enter a Rec-
Num increment to use here. The default is unity.
-dtrc idtrc
If you are utilizing -trc1[] above you may enter a
TrcNum increment to use here. The default is unity.
-V Enter the command line argument '-V' to get printout of
the input velocity function data when
-tdfn is flagged on the command line. In the case of
USP velocity trace input it is assumed
that quality control of the functions has already
taken place using xsd or by some other means.
-? 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 routine will accept input in USP format which is use-
ful when doing conversions between velocity and unit types.
Be aware though that in the case of interval velocity you
may get into trouble. The interval velocity conversion in
vomit does a layerwise conversion with constant velocity
between. In this routine if TDFN input is given then
linear interpolation will be done between function entries.
The two approached DO NOT produce the same output.
If you are using VDS3D input format and need to get a look
at the input card format look in the
SIS TRACE PROCESSING FORMS HANDBOOK under MC3D . Also
documentation
on the VDS system and the vomit man page could be of use.
An example of VDS3D input follows:
1MC3D1 0 00 1878 2505 1977 3279 0 0 2000 00
25 25
0TDFN 1859 3115
1TDFN 0 1500 457 1828 986 21171535 21952115 23202755
25593461 2823
9TDFN4203 29705007 32136900 3787 0 0 0 0 0 0
0 0
0TDFN 1859 3155
1TDFN 0 1500 459 1836 993 21351545 22112129 23342766
25473470 2816
9TDFN4215 29815017 32076899 3765 0 0 0 0 0 0
0 0
The used entries on the 1MC3D card are:
1-5 1MC3D
16-20 MINIMUM LINE INDEX
Minimum LI of the areal grid for interpola-
tion.
blank or 0 = use command line entry of abort
21-25 MAXIMUM LINE INDEX
Maximum LI of the areal grid for interpolation.
blank or 0 = use command line entry of abort
26-30 MINIMUM DEPTH INDEX
Minimum DI of the areal grid for interpolation.
blank or 0 = use command line entry of abort
31-35 MAXIMUM DEPTH INDEX
Maximum DI of the areal grid for interpola-
tion.
blank or 0 = use command line entry of abort
36-40 LINE INDEX INCREMENT
41-45 DEPTH INDEX INCREMENT
Blank or 0 LI field = 1. es
Blank or 0 DI field = 1.
46-50 INTERPOLATION RADIUS
required; determines the size of the neighborhood
in feet or meters. (decimals allowed)
57-61 CROSS-LINE CELL DIMENSION
Enter the cross-line cell dimension in feet or
meters; decimals allowed.
62-66 IN-LINE CELL DIMENSION
Enter the in-line cell dimension in feet or
meters; decimals allowed.
EXAMPLES
vi3d -Nvel.tdfn -e8008 -dt64 \
-mindi200 -minli99 -maxdi2087 -maxli1411 \
-cellx41 -celly41 -tdfn |\
gentrp -Ovelout -i64 -s8 -C
where we have generated a velocity cube from the VDS3D velo-
city file vel.tdfn down to 8008ms at a coarse sample inter-
val of 64ms then piped the resulting traces into gentrp to
resample to 8ms using the cubic spline interpolator.
vi3d -Nvel.tdfn -e8008 -dt64 \
-mindi200 -minli99 -maxdi2087 -maxli1411 \
-cellx41 -celly41 |\
splitr -Ovelout1 -Ovelout2 -T
where we have generated a velocity cube from the TDFN velo-
city file vel.tdfn down to 8008ms at a sample interval of
8ms then piped the resulting traces into splitr to output
two volumes, one from 0 - 4000ms and the second from 4008 -
8008ms (the -T partitions the traces into two portions in
this case). We do this to get around the 2Gb file size limit
on some machines.
vomit -Nvel.vds3d -fivds3d -fousp -osi6 -nsamp1375 |
vi3d -mindi1 -minli1 -maxdi2160 -maxli380 \
-cellx200.0 -celly200.0 -exp1.5 -ddi16 -dli5 |
vi3d -mindi1 -minli1 -maxdi2160 -maxli380 \
-cellx12.5 -celly40.0 -exp1.5 -Ooutput
where we have a set of 3D velocity functions in VDS3D format
that were first converted to USP format using vomit then
gridded to a coarse grid and finally to the processing
grid. This process often results in a smoother result than
that obtained by going from the interpretation grid directly
to the processing grid.
BUGS
Unknown
SEE ALSO
vomit(1) vi3din(1) horvel3d(1) znmo(1)
AUTHOR
[Original by ???, Complete Re-Write by P.G.A.Garossino:
EPTG: 422-3932]
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html