In this example, I try to break my code on the Marmousi velocity model,
pictured in Figure . The top panel is the true velocity
model, and the lower panel is a 2-D smoothed version (150 m wavelength) I
used for forward modeling traveltimes. Some smoothing is required to
satisfy the ray validity conditions of the eikonal equation
(Cervený et al. (1977)), which most finite difference traveltime algorithms
neglect. Velocity smoothing, ray validity conditions,
and stable numerical evaluation of the eikonal equation as a function of
classes of velocity models, are topics of utmost importance in traveltime
calculation which are not presently well understood.
I used the hybrid finite difference local raytracing algorithm of Zhang (1992)
to forward model traveltimes. Figure show the traveltime field
for a source at
= 4.75 km (upper panel), and a source at
= 5.25 km
(lower panel). The contours show some areas, particularly in the lower panel
near (x,z) = (3.0, 2.2) km, where there are significant traveltime
changes from
to
- a shot separation of 500 m. Due to this
large change in traveltime behavior, and the cusp-like nature of the
crossing traveltime branches in the lower panel, we can imagine that these
areas will be difficult to interpolate, and they are. Figure
shows the traveltime gradients at source
, and Figure
shows the traveltime gradients at source
. These
fields
are amazingly discontinuous and predict trouble ahead.
Figure shows the interpolated traveltime field for a source at
5.0 km. The lower panel shows the relative traveltime error in 5% contour
intervals. The good news is that most of the subsurface region (uncontoured)
has relative traveltime errors of less than 1%, at a fraction of the cost and
disk storage compared to the modeling code.
The bad news is that the corner regions at far offset and
large depths are contaminated with traveltime errors in the range of
5-20%. Figure
explains it all. At wide offsets, with sharp
velocity contrasts still remaining in the smoothed Marmousi model, complicated
interactions between head waves and precritical refractions are causing large
traveltime gradient contrasts. In this region, even my enhanced
estimate is breaking down, causing the evidenced traveltime instability.
As the traveltimes are spatially integrated through these bad zones, the error
is smeared out to larger depths and offsets.
However, before I sound the death knell, let's review. The algorithm did a fine interpolation for a large part of the Marmousi model. The interpolation was done at a 500 m shot spacing over a very complex velocity structure. Presently the interpolation code runs at about 4 times the speed of the traveltime forward modeling code, and I have made zero effort to optimize it. There is some traveltime gradient interpolation instability in regions of large and rapid velocity contrast that remain to be understood and overcome. These instabilities caused relative errors of 5-20% in the worst regions.