One solution is to pose wavefield extrapolation in a ray-based coordinate system defined by an extrapolation axis oriented along the axis of increasing travel time and additional coordinates represented by shooting angles Sava and Fomel (2005). However, grids thus specified exhibit attributes that depend intrinsically on the chosen ray-tracing method. For example, ray-coordinate systems generated by Huygen's ray-tracing Sava and Fomel (2001) may triplicate and cause numerical instability during wavefield extrapolation. Hence, care must be taken to ensure that ray-coordinate systems have the appropriate attributes.
One method for calculating singular-valued travel times is with a fast-marching Eikonal equation solver, which provides a travel-time map to each subsurface model location for a given shot point. A travel-time map example is shown in the upper left panel of figure for a velocity slice of the SEG-EAGE salt data set.
A ray-based coordinate system can be formed by choosing two isochrons that represent the initial and maximal extrapolation times. The coordinate system is fully defined by connecting the two isochrons with the extremal rays. Blending functions can then be used to specify an intermediate geometry . (see upper right panel of figure ).
Coordinate systems generated with this approach, though, are not guaranteed to be smooth and generally will require mesh regularization. The bottom right panel shows the output of the differential grid generation algorithm after 20 smoothing iterations. Note that kinks visible in the upper right panel have disappeared leaving a significantly smoother mesh. A qualitatively test of coordinate system smoothness is to examine the smoothness of the underlying velocity model in the transform domain. The salt body example (lower left panel) indicates that the velocity model is fairly smooth and should not create significant problems for generalized coordinate wavefield extrapolation.