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