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.
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.
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:
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
Last Modified: . Document access count: