NAME

     time2depth_ray - Trace seismic rays from seismic horizons in
     2 dimensions


SYNOPSIS

     time2depth_ray [ -dt realnum ] [ -h ]  [  -N  filename  ]  [
     -Nsteps nsteps ] [ -ns start_trace_no ] [ -ne end_trace_no ]
     [ -O filename ] [ -rs begin_record ] [ -re  end_record  ]  [
     -seg     segment_number     ]     [    -V    ]    [    -ismv
     vertical_smoothing_steps         ]          [          -ismh
     horizontal_smoothing_steps ] [ -VEL filename ]



INTRODUCTION

     time2depth_ray (2d seismic ray tracer) is designed to  trace
     seismic  rays  from  the  surface to the point of reflection
     through a gridded velocity model.  The original  ray  direc-
     tions can be given to the program or the program can compute
     directions consistent with the surface arrival  times.  Sur-
     face  arrival  times  are presented to time2depth_ray in the
     format of xsd segments where the sample  coordinate  (z)  is
     the two way travel time in milliseconds.  Ray paths from the
     surface specified by the  -seg  argument  to  the  point  of
     reflection  are  computed  and  written  to  the file called
     "ray.path" in xsd format.  time2depth_ray takes as  input  a
     set  of  arrival  times  at surface locations in xsd segment
     format and produces a new  set  of  segments  that  are  the
     reflector   depth  locations  associated  with  the  surface
     arrivals.  The output ray locations  (horizontal  or  'trac'
     coordinate)  will not be the same as the input ray locations
     because the rays may have horizontal components of the  pro-
     pagation vector.  The surface arrival locations "migrate" to
     initial reflector locations.  Rays are assumed  to  be  nor-
     mally  incident  at  the reflecting surface.  time2depth_ray
     uses a second order Runga-Kutta scheme to integrate the dif-
     ferential  ray  equations  to  the  point  where the initial
     travel time (z-coordinate) is  used  up.  time2depth_ray  is
     intended to trace seismic rays.  It is not intended to catch
     syntax errors in xsd data files. The  program  xsdcheck  can
     help  verify  the  syntax  of  an  xsdfile.  Prior  to using
     time2depth_ray, the user should verify that the xsd file  is
     read correctly by xsd.

     This document first summarizes how to invoke time2depth_ray.
     That   section  should  be  read  before  beginning  to  use
     time2depth_ray.  Later  sections  describe  time2depth_ray's
     options  in  more  detail,  give  an example of its use, and
     explain how to interpret the  output.   The  final  sections
     mention the limitations and known bugs in time2depth_ray.


INVOKING time2depth_ray

     time2depth_ray is invoked through a command of the form:
        $ time2depth_ray [-switch | -setting [set_value] ...]

     The brackets indicate  something  which  is  optional.   The
     brackets  themselves  are  not actually typed.  Here options
     are command-line switches or  settings,  which  control  the
     operation  of the program and the amount of information that
     will be printed out.  If options or arguments are not speci-
     fied, default options or arguments are assigned.

     Each option begins with the '-' character.  The options  are
     described at greater length in the next section.

     time2depth_ray options fall into two  categories:  switches,
     which are either present or not present, and settings, which
     have a numeric or string value.

     The switches which time2depth_ray currently recognizes are:

     -h   Print helpful information (a command summary) to  stan-
          dard error. If -h is not present, the usage information
          is not printed.

     -V   Print a verbose list of  all  program  arguments.   The
          list     is     printed     to     a     file    called
          time2depth_ray.integer, where 'integer' is  an  integer
          that  makes  time2depth_ray.integer  a unique filename.
          If -V is not specified the verbose list is not created.

     There are eight settings:

     -dt time_step_size
          Use time_step_size as the size of the time step  incre-
          ment.   The  default  value is 1.0 millisecond per time
          interval.  If -dt is present but no real number follows
          it or if -dt is not present, then the value of the time
          increment is assumed to be one millisecond.

     -ismv vertical_smoothing_steps
          Apply  vertical_smoothing_steps  applications  of  a  3
          point  average smoother to the velocity in the vertical
          direction.  If -ismv is  not  specified  or  if  it  is
          specified  with no value, then no vertical smoothing is
          applied to the velocity.

     -ismh horizontal_smoothing_steps
          Apply horizontal_smoothing_steps applications  of  a  3
          point  average smoother to the velocity in the horizon-
          tal direction.  If -ismh is not specified or if  it  is
          specified  with no value, then no vertical smoothing is
          applied to the velocity.

     -N input_file_name
          The input xsd file name.  If no name is specified, then
          use standard input.

     -Nsteps nsteps
          Define the number of Runga-Kutta steps to be taken  for
          each level of the velocity model.

     -O output_file_name
          The output xsd file name.  If  no  name  is  specified,
          then the output is sent to the standard output.

     -seg segnumber
          Define the number of the xsd segment to be  used  as  a
          starting  horizon  for rays.  If no segment is defined,
          then all segments will be used as  a  starting  horizon
          for rays.

     -VEL velocity_file
          Defines the name of the usp velocity model to be  used.
          -VEL is a required input parameter.

     When more than one option is used, they should be  separated
     by a blank space.


time2depth_ray OPTIONS

     This  section  provides  a  more  detailed   discussion   of
     time2depth_ray command-line options and settings.

     The options and settings in the following list are in alpha-
     betical order.

     -dt time_step_size
          Use time_step_size as the size of the time step  incre-
          ment.   The  default  value is 1.0 millisecond per time
          interval.  If -dt is present but no real number follows
          it or if -dt is not present, then the value of the time
          increment is assumed to be one millisecond.

     -ismv vertical_smoothing_steps
          Apply  vertical_smoothing_steps  applications  of  a  3
          point  average  to  smooth the velocity in the vertical
          direction.  If -ismv is  not  specified  or  if  it  is
          specified  with no value, then no vertical smoothing is
          applied to the velocity.   Specifying  a  large  number
          produces a close approximation to Gaussian weighting.


     -ismh horizontal_smoothing_steps
          Apply horizontal_smoothing_steps applications  of  a  3
          point  average smoother to the velocity in the horizon-
          tal direction.  If -ismh is not specified or if  it  is
          specified  with no value, then no vertical smoothing is
          applied to the velocity.

     -N input_file_name
          Defines the name of the input xsd file to be used as  a
          starting horizon for rays.  Any valid name may be used.
          An absolute pathname such as /usr/data/xsdfile.1  could
          be  used.   A relative pathname such as xsdfile.1 could
          also be used.  The user must have read  access  to  the
          input   file.    If   no   name   is   specified,  then
          time2depth_ray reads input from standard input  (typing
          from the terminal).

     -Nsteps nsteps
          Define the number of Runga-Kutta steps to be taken  for
          each level of the velocity model. That it, if the velo-
          city model has 75 foot vertical  increments,  then  the
          R-K integration will use 7.5 foot vertical increments.

     -O output_file_name
          Defines the name of the output xsd file.  Either  rela-
          tive  or  absolute  names  may be given.  The user must
          have write access to the proposed output file.   If  no
          output file name is give, then time2depth_ray sends the
          output to the standard output (screen).

     -seg segnumber
          Defines the number of the xsd segment from which traced
          rays  are  to  be  output.   If  no  segment  number is
          defined, then all segments will be the source  of  rays
          to be traced.

     -V   This "verbose" option is off by default.  Turning it on
          provides  a  way  to verify that the correct flags were
          passed to time2depth_ray. For more information describ-
          ing  the ray tracing algorithm see the FrameMaker docu-
          ment at /home/gp14/zdjv02/mbs/src/cmd/smooth/mapmig.fra



LIMITATIONS AND EXTENSIONS

     time2depth_ray accepts xsd 3, 4, and 5 column formats  where
     the  first  column is "rec" the second is "trac" and the 3rd
     is "samp".  Columns 2 and 3 are used as the initial horizon-
     tal  (x)  position and surface arrival time. Columns 4-5 are
     the initial x and z direction cosines of the ray.   If  more
     than  half  of  the  z  direction  cosines  are nonzero then
     columns 4 & 5 are used to set the initial ray directions.

     Restrictions:
          time2depth_ray is column oriented.


NEW FEATURES

     This is version 1.0 of time2depth_ray.  No changes have been
     made.




BUGS

     time2depth_ray is in the early stages of development.   Your
     feedback is appreciated.  We want to know about any bugs you
     notice.  Bugs include not only cases in which time2depth_ray
     incorrectly   ray   traces   xsd   segments   but   also  if
     time2depth_ray fails to issue a warning when it ought to  or
     crashes.  We  especially  want  to  know  if  time2depth_ray
     crashes for any reason.  Comments  on  the  readability  and
     accuracy of this document are also welcome.

     If you find a bug in time2depth_ray, first consult the  list
     of  known bugs below to see if it has already been reported.
     Also check the section entitled "Limitations and Extensions"
     above  for  restrictions  that could be causing the problem.
     If you do not find the problem documented in  either  place,
     then send a report including

     1.  The   operating   system   and   CPU   type   on   which
         time2depth_ray is running.

     2.  The version of time2depth_ray.

     3.  A brief description of the bug.

     4.  If possible, a small sample program showing the bug.

     The report should be sent to the following address:

          dvasicek@trc.amoco.com


     Highest  priority  will  be  given  to  bugs   which   cause
     time2depth_ray to crash.

     Bugs: The following is a list of known bugs.

     1.  Rays  that  reverse  in  the  vertical  direction   die.
         time2depth_ray  passes  over the velocity model from the
         top down, only once in an effort to  allow  optimization
         for  vector  and  parallel  computers. Rays that reverse
         direction require revisiting previous levels.  Such rays
         make  optimization difficult.  Computation for rays that
         reverse direction stops at the point where the ray  rev-
         erses.   Program  xsdclean  is provided so that the user
         can remove rays that reverse direction.

     2.  Outside of the region of  definition,  the  velocity  is
         assumed  to  have  the  value  of  the  closest  defined
         velocity.  Rays are  propagated  through  this  extended
         velocity  field and may travel significant distance out-
         side of the region of definition of the velocity  field.
         Program  xsdwindow  is  provided  to  allow  the user to
         remove points from xsd segments that are  outside  of  a
         user prescribed window.




CONCLUSION

     time2depth_ray was designed by Daniel  Vasicek,  and  Daniel
     Whitmore  at  Amoco  Production  Company,  Box  3385, Tulsa,
     Oklahoma 74102.


COPYRIGHT

     copyright 2001, Amoco Production Company
               All Rights Reserved
          an affiliate of BP America Inc.



































Man(1) output converted with man2html