Under Construction -- Everything below here is undependable

Seismic Imaging Home Page     Seismic Imaging & Modeling Software     Time to Depth Conversion     Ray Tracing

Summary:

A suite of programs trace rays through large, complex, gridded 3d velocity structures using a workstation or supercomputer. Velocity is specified by a dds data set. Rays start at points of an xsd segment. The starting direction for the propagation of rays can be included as extra columns of the xsd segment file or can be computed by the program. They allow for the display and manipulation of rays, surfaces, and traveltimes. Rays may be traced from a subsurface horizon (or horizons), z(x,y), to the surface, z=0. (That is, z(x,y) can have multiple values at x,y.) The initial surface can be specified by a DDS, USP, LandMark, GeoQuest, or GOCAD format. Initial ray directions can automatically computed to be normal to the orginal surface, or consistent with surface arrival times. The inital ray directions are available as columns in the PtNorm data structure. The resulting rays and traveltimes may be displayed. Rays may also be traced from picked arrival times at the surface downward through a complex velocity model until the travel time along the ray is equal to 1/2 of the surface arrival time. The intent is to provide an interactive facility for testing and designing velocity models and data acquisition plans.

Examples:

To show the capabilities of the raytracing system, rays were traced from the surface of the Phenix (Gabon) salt model to the surface z=0. The rays can be displayed using various graphical packages.

Example 1: Rays traced from a line along a complex salt surface

The program usp2PtNorms was used to create ray starting positions and directions in PtNorm format. Then PtNorms_win was used to select rays starting on a thin slice through the salt surface. The slice contained one value of y and all values of x. Then d3depth2time was used to trace rays from this starting line to the surface. The resulting rays were then displayed using a prototype ray/surface display program.
Movie of a line of rays and a salt surface rotating.


Perspective view of a line of rays and a salt surface.

Example 2: Rays traced from a patch of a large complex salt surface. This was created using essentially the same procedure as was used for the line traced from a salt surface except that the xmax, xmin, ymax, ymin window allowed a large number of x and y values to pass through the PtNorms_win filter. And the number of rays was reduced by using the Filter_by_Factor program.

Example 3:Surface arrival times from a complex salt surface. 570,000 surface arrival times displayed by Gocad and xsd show low coverage near the tops of salt domes. The rays originated on a regular grid on the surface of the salt. Variations in ray initial directions (directions of the salt surface normals) and variations in the velocity above the salt surface distributed the rays unevenly at z=0. The black regions in figure 2 represent areas where no rays impinged on the surface. The first arrival was used in regions with multiple arrivals


Gocad view of surface arrival times
xsd view of surface arrival amplitudes from fx modeling for comparison to ray coverage.
xsd view of ray arrival times from ray tracing for comparison to fx modeling. Notice how the black regions (regions with no rays) correspond to areas having low amplitude in the fx model.

List of Programs:

In the following programs, command line arguments control essential parameters like the names of the input files, output files, accuracy, and yes/no decision on storage of ray paths. The velocity is specified by an arbitrarily complex, gridded model of the subsurface. Each program has a help facility triggered by a command line flag of the form ``help='' or ``-help''. For more information contact: Dan Vasicek 918-660-3082, or 422-3082, dvasicek@trc.amoco.com or Dan Whitmore, 918-660-3351, 422-3351, zndw01@trc.amoco.com.

d3depth2time - Models events propagated thorough arbitrarily complex, gridded velocity models. It traces rays from a subsurface horizon upwards to the surface z=0.

d3time2depth - Migrates events to depth horizons by tracing rays downward from a surface until travel time along the ray is equal to the input ray travel time.

depth2time_ray and depth2time - Model events by tracing rays from a subsurface horizon upwards to the surface z=0. The input and output horizons are specified by xsd segments. The initial ray directions may be computed by the program to be normal (perpendicular) to the starting horizon or supplied to the program as extra information in the xsd file.

depth2time_ray writes an output xsd segment file giving the ray position and traveltime as a function of depth. The program depth2time does not write the xsd ray segment file. PtNorms2list - Converts 3d PtNorm files to ascii list format files. Then program putsis can be used to translate the resulting list into a usp data file. Thus surface arrival times may be displayed by xsd. Positions in the usp grid without data are given zero values.

PtNorms2usp2 - Interpolates and converts 3d PtNorm files to usp format data files. Positions in the usp grid without data are interpolated by averaging nonzero values in
adjacent grids.

PtNorms_Filter_by_Factor - Passes 1/n of the input points from a PtNorm file into the output file. The input filename, output filename, and ``n'' are determined by command line arguments.

PtNorms_win - Passes input points from a PtNorm file that fit into a x,y window into the output PtNorms file. xmin, xmax, ymin, and ymax are determined by command line arguments of the form xmax= 1000.

usp2PtNorms - Takes a surface defined by a usp file (z(x,y)) and creates a PtNorms file describing a normal at each node of the usp grid. The input file and output files are specified by command line arguments. data= uspfilename out_norms=file_name_out

Project Agreement D-95-2520, 3d Ray Tracing for Map Migration

Ray Tracing Complex Velocity Models

GN9516 September 1995 -TUL

Daniel J. Vasicek


Last Modified: . Document access count: 1