Full Waveform Inversion (FWI) (Tarantola, 1984; Pratt et al., 1998; Mora, 1987) gives more accurate subsurface velocity estimation than conventional methods of velocity estimation, such as ray-based methods (White, 1989; Hampson and Russell, 1984; Olson, 1984), especially in geologically complex areas.
Traditional time-domain FWI algorithm is very computationally expensive for two reasons: first, it involves iterative forward and backward two-way wavefield propagation; second, to compute FWI gradient, at least one of the wavefield needs to be saved. Because wavefields in large-scale 3D application can require terabytes of storage, I/O can be a non-trivial bottleneck.
Computational time of two-way wavefield propagation can be dramatically reduced by using unconventional hardware such as GPUs (Micikevicius, 2008), leaving the I/O cost associated with the huge wavefield size the primary bottle neck.
Time-reversible boundary conditions can almost eliminate the I/O cost entirely by propagating source and receiver wavefields in the same temporal direction (Shen and Clapp, 2011; Clapp, 2009). By doing this, gradient calculation can be done on the fly, and no wavefield saving is necessary. However, to achieve good results, boundaries must be carefully designed to avoid artifacts.
For example, in Reverse Time Migration (RTM) applications, random boundary conditions (Clapp, 2009) result in good final images, whereas continuation of velocity gives rise to artifacts in the final image.
RTM image calculation is similar to FWI gradient calculation. However, FWI performs those calculations many more times, which makes it different from RTM as far as boundary artifacts are concerned.
We first present the pseudo-code of gradient calculation using different boundary conditions; then we compare the results of a single gradient calculation and the whole inversion process for each boundary condition.