To implement prestack Kirchhoff migration, we need first to construct traveltime maps (the Greens function)
used to define the migration summation trajectories.
Ray tracing is used for this task, and in particular ()-domain ray tracing. However, ray tracing
only provides traveltime information along the ray paths. As a result, cubic interpolation is used to place
the traveltime information
on a regular grid.
![]() |
Figure 3 shows rays emanating from a source at a surface location 4000 m. Traveltime
along these rays are used to create a traveltime map with time values given by the dashed contour curves. These
dashed curves, thus represent the wavefronts of the propagating
waves. In ()-domain, the wavefronts do not necessarily have to be perpendicular
to the rays, even for isotropic media. Faster wavefronts are in agreement with high velocity zones, displayed in background. Clearly, from Figure 3 we can see regions of minimal ray coverage,
which makes the task of interpolating of the traveltime information to these regions a little more ambiguous.
However, such regions also have low energy and thus contribute little to the image. These areas of low
ray coverage exist mainly in areas surrounded by cusps. For the purpose of migration, traveltime information
in regions of large lateral distance from the source, compared to depth (or vertical time in this case),
are often discarded. This typically includes the area directly under surface location 6000 m, which
seemingly has suspect traveltime contours.
Traveltimes can also be calculated directly from finite difference solution of the eikonal equation. Specifically,
I use the fast marching method in polar coordinates Alkhalifah and Fomel (1997)
to generate traveltimes in the (x-z)-domain. To compare these traveltimes
with the ones obtained from ()-domain raytracing, I convert the raytracing traveltime maps from time to
depth.
![]() |
Figure 4 shows contour lines from both traveltime maps, with the velocity field
displayed in the background. Clearly, the traveltime contours obtained using ()-domain
raytracing agree well with those obtained via the eikonal solver in areas around the source.
Differences occur in areas dominated by traveltime triplications,
as can be deduced from Figure 3.
The finite difference solution of the eikonal equation provides only
the fastest energy solution, not necessarily the most useful (energetic), while the raytracing equations are capable of
producing all ray-theoretical solutions, and thus one can choose the most energetic solution.
![]() |
The absolute difference between the two traveltime maps is shown in Figure 5. Errors of 10 ms and beyond are given the color black. The areas of clear differences between the two traveltime solutions coincide with areas of multi-arrival traveltimes (triplications), as can be seen in Figure 3. The eikonal solution provides the fastest arrival; ray tracing via interpolation, provides the most energetic solution.