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