Professional Documents
Culture Documents
Comparison of Six Different Methods For Calculating Traveltimes
Comparison of Six Different Methods For Calculating Traveltimes
Abstract
We study six different methods for the calculation of seismic traveltimes. All methods
yield traveltimes at all points of a regular grid.
The methods examined comprise three different variants of finite-difference (FD)
eikonal solvers, the graph method, wavefront construction and a combined FD and
Runge–Kutta method.
The main points of investigation are computational time, accuracy and memory
requirements. We took measures to obtain a high level of both general validity and clear
understanding of the results. We used a profiling program to be able to measure the
time that the actual core algorithm needs, thus avoiding any overhead of highly system-
dependent in-/output operations.
The comparison shows that no single method is the most appropriate but that the
choice depends on the task to be fulfilled. The FD eikonal solver that uses expanding
squares proves to be best suited for models which are not too complicated because it
offers the best compromise between speed and accuracy, whereas wavefront
construction should be applied to complex media because of its superior reliability
which then justifies the much higher computational times.
Introduction
The calculation of traveltimes is a basic operation for several important fields of applied
geophysics and seismology, for instance tomography, earthquake location and prestack
Kirchhoff depth migration. With the advent of more and more powerful computer
systems with faster CPUs and growing amounts of core memory during the last years,
prestack Kirchhoff migration also became possible not merely for small (test) models
but also for real large-scale surveys. However, speed of computation is still a very
important factor, especially with respect to prestack Kirchhoff migration, since here
traveltime calculation is iterated as many times as there are surface locations. If we look
not only at large-scale two-dimensional (2D) surveys but move on to three dimensions
1
Received March 1997, revision accepted September 1998.
2
Universität Hamburg, Institut für Geophysik, Bundesstraße 55, 20146 Hamburg, Germany.
3
Tel Aviv University, Raymond and Beverly Sackler Faculty of Exact Sciences, Department of Geophysics
and Planetary Sciences, 69978 Tel Aviv, Israel.
(3D), the number of points for which traveltimes have to be computed increases
immensely and with it the CPU time required. Accuracy is another decisive factor as
inaccurate traveltimes result in an inaccurate image which, for example, may entail
costly mispositioned drillings. Memory requirements, finally, become interesting when
a number of traveltime arrays are to be computed simultaneously on a multiprocessor
system and also when considering the extension to 3D.
The tools available to fulfil the task of grid-based traveltime computation use a
variety of algorithms. Since we were looking for a fast and accurate traveltime
calculation method to carry out prestack Kirchhoff migration, we decided to compare a
variety of 2D methods. The selected methods are in detail:
X a finite-difference (FD) eikonal solver in Cartesian coordinates (Vidale 1988)
(1991) and improved by Klimes̆ and Kvasnic̆ka (1994) (referred to as graph method
or Graph);
X the wavefront construction method by Vinje, Iversen and Gjøstdal (1993) in a
Considerations on benchmarking
Before comparing the methods, we will make some general remarks about
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 271
benchmarking. This is in order to put the reader in a position to judge the results shown
here and their unavoidable limitations more objectively.
Benchmarking of numerical algorithms in general suffers from the lack of some
properties usually associated with an ‘experiment’ in natural sciences. First of all, there
is reproducibility of the results which requires an identical environment for the
benchmarking to take place. Environment here comprises both hard- and software.
The influence of a small change in computer hardware, e.g. a different hard disk drive,
or in software, e.g. the (version of the) operating system or compiler, may have a large
impact on the benchmarking results. As there exist only a few nearly identical computer
installations, the general acceptance of benchmarking results suffers. We have used a
Sun SPARC20 workstation, a fairly widely used platform. Moreover, we did some tests
with the GNU FORTRAN77 compiler on a Pentium PC running GNU/Linux, a free
UNIX clone. This cross-check yielded not only similar results in terms of numbers but
also, more importantly, an identical ranking of the tested methods.
Another aspect is the quality of implementation of the numerical methods: a good
algorithm can be programmed badly and (to an extent) vice versa. All of the
implementations used are available in source thus providing the opportunity to check
their qualities. In addition, four of the tested programs were written by the authors and
close contact was established with the developers of the remaining two programs.
A further important point concerns user-definable parameters of an implementation.
The main parameters here are steps in space and time and, additionally, the size of an
initialization zone (see the next section for more details). For a practical investigation, we
use a practical approach to dealing with parameters. Every method is applied to the same
model. This means that steps in space are identical for every method (the FD Runge–
Kutta method, however, uses a radius spacing of 25 m and wavefront construction steps
in time rather than in space). The methods that need an initialization zone (FD Cartesian
and FD parallel) use a zone of the size that yields the best results, i.e. the minimum
average error. The time step for wavefront construction, i.e. the difference in time
between two successively computed wavefronts, is set at 0.01 s, a value that gives a good
compromise between speed and accuracy. Other customizable parameters are set at
values suggested by the respective authors of the implementations.
In summary, we have made a completely practical approach to the comparison of the
different methods. Although certain limitations cannot be neglected, the kind of
investigation applied yielded the information that we were interested in.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
272 A. Leidenfrost et al.
Two of the methods use Huygens’ principle and one uses, in addition, Fermat’s
principle. One, finally, is based on the kinematic ray-tracing system which in fact is the
solution of the eikonal equation (1) along the characteristics:
dxi
¼ v2 pi ; i ¼ 1; 2; ð2Þ
dt
dpi 1 ∂v
¼¹ ; i ¼ 1; 2 : ð3Þ
dt v ∂xi
With respect to their general applicability, the methods tested can be grouped into
two categories: causal and acausal. Causality in this context refers to a method’s ability
to handle strongly varying velocity distributions. The technical question behind this is
whether an algorithm is built around a (starting from the source) rigidly expanding
(arbitrarily shaped) closed curve where the current traveltime computation takes place
(the calculation front), or not. If this is the case, the model is divided into two regions.
One region (including the source) consists of all points for which traveltimes have
already been computed, the other contains all other points. As the traveltime at every
gridpoint is computed only once, the calculation front forms an impenetrable border
between these two regions such that a wavefront cannot re-enter the already computed
region. This means in practice that the algorithm breaks down for velocity distributions
such as high contrasts or gradients that force the wavefront back into the already
computed region. Three of the methods tested use the concept of a calculation front:
(a) the FD method in Cartesian coordinates, (b) the FD method in polar coordinates
and (c) the FD Runge–Kutta method in polar coordinates. On the one hand this limits
their general applicability to strongly varying models, on the other hand their
performance benefits from the high computational speed of the calculation-front
concept.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 273
√—
contrasts larger than 1 : 2 ; for example, head waves or turning rays (in the case of a
smooth model) with an angle of less than 458 to the vertical axis are not handled
properly. On the other hand, the algorithm can make use of alternative formulae to
proceed, for instance by assuming diffraction. This in turn has a large impact on the
(local) accuracy. Finally, the method is restricted exclusively to computing arrivals that
belong to the minimum traveltime (first arrivals) due to the mathematical properties of
FD solutions of the eikonal equation (Van Trier and Symes 1991).
(Implementation here used by N. Ettrich, Hamburg University, Germany.)
Figure 1. While the Cartesian version of Vidale’s (1988) method is strictly restricted to a
minimum critical angle of 458, the polar implementation can handle smaller critical angles bmin.
In the above drawing, bmin is smaller than 458. For a (uniform) Cartesian grid, P2 would lie on the
tangent t yielding bmin ¼ 458 (the diagonal in a square with P1 and P2 as two adjacent corner
points). In the case of a polar grid, however, P2 lies on an arc such that the connection between P1
and P2 is not the tangent t in P1 but the secant at arc c through P1 and P2 which allows for a
smaller bmin.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
274 A. Leidenfrost et al.
increasing distance from the source because the curvature of the circular calculation
front also diminishes with increasing distance.
This method has a significant computational overhead due to the necessity of
transforming the velocities from Cartesian to polar coordinates and the calculated
traveltimes vice versa. In addition, the transformations will yield inaccuracies because
the model representation in polar coordinates differs from that in Cartesian
coordinates (e.g. a line-shaped interface parallel to one of the coordinate axes in a
Cartesian grid cannot be described exactly in a polar grid). Nevertheless, it may
produce better results in high-contrast models where the original eikonal solver by
Vidale (1988) fails.
Parallelized FD method
The parallelized FD method by Podvin and Lecomte (1991) solves the eikonal
equation with a finite-difference scheme as in the two methods described above.
However, the numerical scheme, i.e. the formulae and the algorithm used, are based on
Huygens’ principle: the algorithm distinguishes between different propagation modes,
such as transmitted, diffracted or head waves, to time a point. Each of the (allowed)
modes is traced, and the one yielding the minimum traveltime is chosen. The algorithm
continues until none of the newly computed traveltimes are smaller than those already
computed.
On the one hand, this method is slow compared with Vidale’s (1988) algorithm
because each point may be calculated several times and also accuracy can be expected
to be worse as the finite differences applied are of first order only. On the other hand,
the method is highly applicable to parallel computing and does not break down for high
velocity contrasts but handles them by updating the already computed region of the
time field.
(This implementation is by M. Roth and S. Buske (pers. comm.).)
and
∂t tðr; vi Þt ¹ ðr; vi ¹ DvÞ
¼ : ð5Þ
∂vi¹ Dv
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 275
To ensure causality, (4) is used when t(r, vi) > t(r, vi þ Dv). Otherwise (5) is used. To
achieve an approximately constant aspect ratio Dr/(rDv), the number of radial grid lines
is increased with increasing radius (similar to the FD method in polar coordinates).
The eikonal equation is solved by the fourth-order Runge–Kutta method.
As the method requires variables on a polar grid, the velocities need to be
interpolated from the Cartesian to the polar grid while the calculated traveltimes need
to be interpolated back to the Cartesian grid as in the case of the FD method in polar
coordinates. For a single output time frame, the mapping procedure can be more time
consuming than the actual solution of the eikonal equation. However, migration
involves the calculation of many time frames, and the mapping weights need to be
calculated only once. This in turn diminishes the impact of the time needed for
mapping on the overall performance for practical applications like migration.
Graph method
The graph method (network ray tracing), originally proposed by Nakanishi and
Yamaguchi (1986), later implemented by Saito (1989) and Moser (1991) and finally
refined by Klimes̆ and Kvasnic̆ka (1994), finds first-arrival traveltimes by using
Fermat’s and Huygens’ principles in a gridded velocity model.
The basic idea is to consider a number of points (preferably but not necessarily
located on a regular, e.g. Cartesian, grid) with interconnections between them, such
that each point is directly connected to its neighbours via straight lines. Each of the
connections between two neighbouring points is weighted with the traveltime
between these two points calculated as a product of the Euclidean distance and the
average slowness between the points. It is possible to determine the traveltime
between two arbitrary points of the grid by simply summing the traveltime weights
of connections that form the path from the starting (source) point to the end
(target) point.
The number of possible paths between two points depends on the number of
gridpoints and on which points are considered to be neighbours. It is generally quite
large. According to Fermat’s principle, the path with the smallest traveltime is the one
best approximating the ray trajectory derived from ray theory, i.e. yielding the desired
first-arrival traveltime. To avoid having to check every possible path Huygens’
principle is used, leading to Dijkstra’s algorithm (Dijkstra 1959). To speed up
Dijkstra’s (1959) algorithm, more precisely implied searches, the data are organized in
a tree-like structure (heap) or split into intervals containing elements with very similar
value (bucketing), the latter being more efficient.
However, the remaining amount of calculation is still very significant, so the
computational time is long. On the other hand, the algorithm is reliable for calculating
first-arrival traveltimes in arbitrary velocity models. Moreover, the program that we
use, implemented by Klimes̆ and Kvasnic̆ka (1994), contains an error estimation (for
this to be accurate, positions of sharp interfaces have to be given to the estimation
algorithm) which proved to be very valuable for the comparison of the methods.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
276 A. Leidenfrost et al.
Wavefront construction
The wavefront construction method by Vinje et al. (1993) is essentially based on ray
tracing with all its advantages, such as causality, computation of arrivals that do not
belong to the minimum traveltime (later arrivals) and amplitudes, but it overcomes the
major drawback of standard ray shooting, the poor penetration into shadow zones.
The basic concept of wavefront construction is to propagate a wavefront as a
representation of the endpoints of a number of rays at a given time. To ensure a good
representation of the wavefront the distance between two neighbouring points on the
wavefront must not exceed an upper limit (Ettrich and Gajewski (1996) also
considered a second condition, the deviation in the direction of propagation at two
neighbouring points). If so, a new ray is introduced between these two points resulting
in a new endpoint at only half the distance from the two former neighbours.
Wavefront construction is performed starting at a source point with a sufficient
number of rays. They are propagated by integrating the kinematic ray-tracing system
(equations (2) and (3)) with a time step adapted to the actual velocity gradient that may
subdivide the difference in time between two wavefronts into several segments for the
integration process. The calculation itself can be done for instance by a Taylor
expansion, as proposed by Vinje et al. (1993), or by applying a Runge–Kutta scheme
as in the implementation by Ettrich and Gakewski (1996) used here. However, the way
the ray tracing is carried out is not relevant to the idea of wavefront construction itself.
With little additional (computational) effort, amplitudes can also be computed by
means of dynamic ray tracing. In addition, wavefront construction can deliver virtually
completely accurate data (within the limits of machine accuracy) by choosing very
small steps in both time and space.
However, to perform wavefront construction, the model has to be sufficiently
smooth, i.e. the first derivatives have to be continuous everywhere in the model for
kinematic ray tracing and additionally the second derivatives must be continuous for
dynamic ray tracing. To avoid a time-consuming spline representation as used by Vinje
et al. (1993), Ettrich and Gajewski (1996) computed first and second derivatives at the
gridpoints and interpolated velocities and velocity derivatives bilinearly. Nevertheless,
the method can be rather time consuming, partly due to the necessary interpolation
from calculated raypoints to gridpoints and the Runge–Kutta scheme used in the ray
tracing. However, the time consumption is highly dependent on both the time chosen
and space granularity on the one hand and the model on the other.
Application
We now investigate how the methods tested behave when applied to two different
models, an analytically solvable one and a more realistic one. As indicated above, we
focus on accuracy, computational time and memory usage. Whereas accuracy is
measured on different bases for the two models, the measuring methods for
computational time are identical.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 277
Note that turning rays can only be traced up to their turning point since x(z) for
constant p is multivalued.
Computation was carried out on a model consisting of 201 × 201 samples with a 10 m
grid spacing along both the horizontal and the vertical axes, with the source being located
at the top left corner. Assuming that the samples are given on the gridpoints, the model
is a square of 2 km × 2 km. The parameters a and b were chosen as 0.50 s2/km2 and
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
278 A. Leidenfrost et al.
Accuracy
For the gradient model, the accuracy of the different methods is expressed as the
absolute value of the relative error errrel between the analytical solution tana and the
respective method tnum at every gridpoint:
ÿ ÿ
ÿ
errrel xi ; zi ¼ tana xi ; zi ÿ¹ tnum xi ; zi × 100% ; ð10Þ
tana xi ; zi
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 279
Figure 2. Isochrons [s] for the gradient model as given by the analytical solution.
Grey-scale background represents the velocity model.
Figure 3. Absolute value of the relative error for the FD method in Cartesian coordinates applied
to the gradient model.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
280 A. Leidenfrost et al.
Figure 4. Absolute value of the relative error for the FD method in polar coordinates applied to
the gradient model.
Figure 5. Absolute value of the relative error for the parallelized FD method applied to the
gradient model.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 281
Figure 6. Absolute value of the relative error for the FD Runge–Kutta method applied to the
gradient model.
Figure 7. Absolute value of the relative error for the graph method applied to the gradient model.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
282 A. Leidenfrost et al.
Figure 8. Absolute value of the relative error for the wavefront construction applied to the
gradient model.
Figure 9. Absolute values of the relative error for the different methods applied to the gradient
model.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 283
Figure 10. Computational times required by the different methods for the gradient model.
similar to that for the FD method in Cartesian coordinates (Fig. 3) only on a much
higher level. This is due to the use of first-order FD operators only.
The graph method performs well, in terms of both maximum and average error.
Note a similar but much less marked tendency to propagate the maximum error in the
part of the wavefront with near-vertical incidence than in the case of the FD method in
polar coordinates (compare Figs 7 and 4). This is probably due to systematically long
connections between points along the shortest paths. Again, note that the error itself is
still very small.
Wavefront construction, finally, offers both the smallest maximum and average error
(see Fig. 9). However, there is an interference-pattern-like structure of the error (see
Fig. 8) which is strongest near the source. This becomes plausible when considering
the fact that to save computation time only every second point in both directions is
computed via wavefront construction whereas the times in between are derived from
bilinear interpolation.
Computational time
The time chart in Fig. 10 leads to a partly similar and partly different ranking of the
methods from the error chart in Fig. 9.
Here, the graph method is by far the slowest, followed at a distance by wavefront
construction and the parallelized FD method. The fastest method is the FD Runge–
Kutta method followed by the FD methods in Cartesian and polar coordinates.
The high speed of the three latter methods can be explained by their rigidness: every
point is computed directly and only once without checking any conditions. The more
intelligent methods either check the validity of traveltimes as does the parallelized FD
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
284 A. Leidenfrost et al.
method or they even track the actual wavefront. Both are more time consuming. The
graph method, finally, generates a big overhead by computing a large quantity of virtual
raypaths for every gridpoint of which only one is chosen in the end.
Marmousi model
As a more realistic case we now choose a part of the Marmousi model (Versteeg and
Grau 1991). It ranges horizontally from 3000 m to 9000 m of the original model while
covering vertically the whole range from 0 m to 2990 m. The data set consists of
601 × 300 points and the samples are assumed to be taken at the gridpoints with a grid
spacing of 10 m. The model’s slowness s is smoothed by alternately applying the
following 1D smoothing operator 80 times in the horizontal and vertical directions.
(For the (n þ 1)th iteration,)
sðnÞ ði ¹ 1Þ sðnÞ ðiÞ sðnÞ ði þ 1Þ
sðnþ1Þ ðiÞ ¼ þ þ : ð11Þ
4 2 4
As for the gradient model, a time step of 0.01 s is chosen for the ray tracing in
wavefront construction.
Accuracy
For accuracy measurements in the Marmousi model, we use arrays of the absolute
value of relative errors errrel between traveltimes calculated using the graph method
tgraph and every other method tnum as defined by
ÿ ÿ
ÿ tgraph xi ; zi ¹ tnum xi ; zi
errrel xi ; zi ¼ ÿ × 100% ; ð12Þ
tgraph xi ; zi
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 285
Figure 11. Isochrons [s] for the Marmousi model as calculated by the graph method.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
286 A. Leidenfrost et al.
Figure 12. Estimated absolute value of the relative error of the graph method for the Marmousi model.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Figure 14. Absolute value of the relative error between the graph method and the FD method in polar coordinates for the
Marmousi model.
Comparison of traveltime methods 289
Figure 15. Absolute value of the relative error between the graph method and the parallelized FD method for the
Marmousi model.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
290
A. Leidenfrost et al.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Figure 16. Absolute value of the relative error between the graph method and the FD Runge–Kutta method for the
Marmousi model.
Comparison of traveltime methods 291
Figure 17. Absolute value of the relative error between the graph method and the wavefront construction for the
Marmousi model.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
292 A. Leidenfrost et al.
maximum error is 0.8%, the average error 0.3%. Although this indicates that the graph
method is not really accurate, the error estimation allows for independently dividing the
tested algorithms into at least equally accurate (with respect to the graph method) and
less accurate ones. Again, only the traveltimes for the reference solution are shown in
Fig. 11.
For the Marmousi model the error in the FD method in Cartesian coordinates (Fig.
13) is generally very small; in fact, it has the smallest average error of all the methods.
However, due to necessary initialization there is a rather large high-error area around
the source location. Moreover, there are two strips of higher error in the two bottom
corners of the model. In these areas, the real formula breaks down due to acausalities
caused by too high velocity contrasts making the use of a less accurate substitute
formula necessary.
Here, the FD method in polar coordinates proves to be superior (Fig. 14). Apart
from a spot at the right border, the error is small everywhere in the model. On the other
hand, the average error is nearly twice as high as for the FD method in Cartesian
coordinates. This, again, is due to necessary interpolation during coordinate
transformation.
The error in the parallelized FD method in Fig. 15 shows club-like structures
pointing away from the source containing high errors. They are due to initialization
and strong wavefront curvature near the source. The average error also exceeds that of
every other method except for the FD Runge–Kutta method, by at least two times.
For the error in the FD Runge–Kutta method as shown in Fig. 16, the average is
again doubled in relation to the average error for the parallelized FD method. By
contrast, the maximum error is smaller for the FD Runge–Kutta method than for the
parallelized FD method. It is still the second highest of all tested methods.
Finally, wavefront construction in Fig. 17 has an error distribution similar to that of
the FD method in polar coordinates but without the failure at the right border. Again,
there are two reasons for the amount of error still remaining: the interpolation of the
calculated traveltimes to the Cartesian grid plus the fact that only every second time
sample is calculated via wavefront construction whereas all remaining samples are
derived from bilinear interpolation for the sake of speed. The effect of interpolating
traveltimes can be seen very clearly at the source (see Fig. 17). Inside the rectangular
low-error region around the source, times at every gridpoint are directly computed via
wavefront construction. The edge of this box marks the beginning of the use of
interpolation. This is also the location of the fairly high maximum error (see Fig. 18).
Computational time
The time chart in Fig. 19 gives a rather different ranking compared with that obtained
from the accuracy considerations in the previous section.
Here, the fastest is the FD Runge–Kutta method followed by the FD method in
Cartesian and polar coordinates. However, when rating the numbers for the FD
methods in Cartesian and polar coordinates, it must be taken into account that only the
performance of the core algorithm is measured. Consequently, if we have a Cartesian
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 293
Figure 18. Absolute value of the relative errors between the graph method and every other
method for the Marmousi model. Bars for the graph method indicate error as estimated by the
error estimation included in the graph method.
Figure 19. Computational times required by the different methods for the Marmousi model.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
294 A. Leidenfrost et al.
velocity model and if we also want the traveltimes on a Cartesian grid, the FD method in
polar coordinates will have to transform the data once before and once after the actual
calculation. This, of course, will prolong the whole calculation thus largely diminishing the
method’s attractiveness. Basically, the situation is similar to the FD Runge–Kutta method.
The actual implementation, however, calculates a complete set of transformation weights
once, so that computation time is saved when a large number of shots have to be
computed as is the case, for example, in prestack Kirchhoff migration.
The next two methods, wavefront construction and parallelized FD method, are
about one order of magnitude slower. Between the fastest, the FD Runge–Kutta
method, and the slowest, the graph method, there is a difference of two orders of
magnitude.
Memory requirements
The memory requirements for a particular method can become important when
considering the calculation of large 2D or 3D time fields. Another point worth
mentioning is multithreading on multiprocessor workstations, for instance when
calculating traveltimes for prestack Kirchhoff migration from a large number of surface
locations. Each running process addresses its own memory (apart from the input
velocity model in the case of a shared memory architecture system), such that global
memory requirements can be considered. These depend nearly linearly on the per
thread requirements.
Memory used by a system is divided into memory used to store the actual program
code and memory used to store the necessary data. For larger problems the former is
generally negligible. It must also be taken into consideration that often only parts of the
program code as well as parts of the data are needed at a certain time during program
execution. This amount of memory has to be physically located in core memory to
enable the program run. It is the quantity we use to measure memory requirements as
they are shown in Fig. 20. The complete data set is kept in core memory during
program execution: there is no paging. This applies to every method tested here.
The measurements are not literally exact. They were not taken by means of a
memory profiler or the like, but by using a common UNIX tool called top, which gives
the amount of core memory in use when running a program. This information is
refreshed in selectable time intervals, such that changes during the execution of a
process become visible. Moreover, it is worth mentioning that memory requirements
may depend on the optimization level the compiler used while building the executable
code from the source code. As we use code compiled with maximum optimization, we
use the same code when examining memory requirements. The method’s memory
requirements when applied to the gradient and the Marmousi model (the difference in
size between the two models is about 0.5 MB) are shown in Fig. 20. The numbers are
peak values measured with the procedure described.
The most economic method with respect to memory requirements is the graph
method. On the other hand, it has a mid-range per-gridpoint memory demand similar
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 295
Figure 20. Memory usage of the different methods for the gradient and the Marmousi models.
Conclusion
The methods investigated have very different features, qualities and disadvantages.
The measured quantities, i.e. accuracy, computational time and memory require-
ments, vary by up to two orders of magnitude. This emphasizes and enforces the fact
that the right choice of traveltime calculation algorithm is crucial in the framework of a
task such as prestack Kirchhoff migration for both accuracy and performance.
The FD method in Cartesian coordinates and the wavefront construction method
have proved to be the two most appropriate algorithms. The former is, in general,
sufficiently accurate although it fails for high velocity contrasts, and it is very fast. The
latter is especially appropriate for complex smooth media due to its particular precision
and robustness. In addition, wavefront construction can also be used to calculate later
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
296 A. Leidenfrost et al.
arrival traveltimes which can have a large impact on image quality (Geoltrain and Brac
1993). Finally, there is a possibility of amplitude calculation leading to weights used in
true-amplitude migration. The effect of the smoothness of the input model on the
sensitivity of performance has not been investigated.
The FD Runge–Kutta method is even faster than the FD method in Cartesian
coordinates. However, the accuracy at least in certain regions of the Marmousi model is
rather poor. Nevertheless, this can be neglected if, for example, a cone-shaped aperture
is applied, because large inaccuracies mainly appear in the left and respectively right
top parts of the Marmousi model. On the other hand, the error in the method might
depend on the model, when high-error areas could be within an aperture cone.
The remaining three methods do not have significant advantages over the
aforementioned methods, either in accuracy or in performance.
Outlook
We are in the process of extending this comparison from 2D to 3D. First results show
that for instance Vidale’s (1988) method in 3D is slower than expected when simply
taking into account the number of gridpoints computed. This is due to the substantially
different algorithm for the 3D case. Other methods can be expected to behave in a
similar way or even with a much more dramatic loss of performance. For instance, we
expect wavefront construction to behave in this way. However, this is a subject for
further detailed investigations.
Acknowledgements
The authors are obliged to Ludĕk Klimes̆ and Michal Kvasnic̆ka as well as Stefan
Buske and Michael Roth for making available their programs.
Further thanks go to Ludĕk Klimes̆ for additional reference calculations with his
second-order method (Klimes̆ 1996) and interesting discussion.
The research was supported by the German Israeli Foundation within the
framework of the project ‘Computation of traveltime fields in 3D media’ under
grant I 0270-009.08/93.
References
Dijkstra, E.W. 1959. A note on two problems in connection with graphs. Numerical Mathematics
1, 269–271.
Ettrich, N. and Gajewski, D. 1996. Wavefront construction in smooth media for pre-stack depth
migration. Pageoph 148, 481–502.
Geoltrain, S. and Brac, J. 1993. Can we image complex structures with first-arrival traveltime?
Geophysics 58, 564–575.
Klimes̆, L. 1996. Grid travel-time tracing: Second-order method for the first arrvials in smooth
media. Pageoph 148, 539–563.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297
Comparison of traveltime methods 297
Klimes̆, L. and Kvasnic̆ka, M. 1994. 3-D network ray tracing. Geophysical Journal International
116, 726–738.
Moser, T.J. 1991. Shortest path calculation of seismic rays. Geophysics 56, 59–67.
Nakanishi, I. and Yamaguchi, K. 1986. A numerical experiment on nonlinear image
reconstruction from first-arrival times for two-dimensional island arc structures. Journal of
Physics of the Earth 34, 195–201.
Podvin, P. and Lecomte, I. 1991. Finite difference computation of traveltimes in very contrasted
velocity models: A massively parallel approach and its associated tools. Geophysical Journal
International 105, 271–284.
Reshef, M. and Kosloff, D. 1986. Migration of common shot gathers. Geophysics 51, 324–331.
Saito, H. 1989. Travel times and raypaths of first-arrival seismic waves: Computation method
based on Huygens’ principle. 59th SEG meeting, Dallas, USA, Expanded Abstracts, 244–
247.
Van Trier, J. and Symes, W.W. 1991. Upwind finite-difference calculation of seismic traveltimes.
Geophysics 58, 1157–1166.
Versteeg, R. and Grau G. (eds) 1991. The Marmousi Experience. Proceedings of 1990 EAEG
Workshop on Practical Aspects of Seismic Data Inversion, Zeist, The Netherlands. EAEG.
Vidale, J. 1988. Finite-difference calculation of traveltimes. Bulletin of the Seismological Society of
America 78, 2026–2076.
Vinje, V., Iversen, E. and Gjøstdal, H. 1993. Traveltime and amplitude estimation using
wavefront construction. Geophysics 58, 1157–1166.
q 1999 European Association of Geoscientists & Engineers, Geophysical Prospecting, 47, 269–297