Next: EXAMPLES Up: ALGORITHM Previous: Computation of traveltimes

## Computation of amplitudes

To compute the amplitudes, we need to solve equations (14) and (16). In polar coordinates, these two equations become:
 (24)
and
 (25)
respectively. Because the traveltimes are known now, these two equations are first-order linear partial differential equations in and . The algorithms for solving these two equations are very similar to the one for traveltime calculation. To solve equation (24), we replace equations (18) to (20) by
 (26)
 (27)
and
 (28)
respectively. As in the calculation of , the calculation of also involves four different cases:

1.
and

2.
and ui,j > 0

3.
ui-1,j < 0 and

4.
ui-1,j < 0 and ui,j > 0

If and are calculated in one subroutine, then the implementation is simple and the program is fully vectorizable, which is shown as follows:

         do i = 1,n+1
sign1 = 0.5*(1.+sign(1.,u(i-1)))
sign2 = 0.5*(1.+sign(1.,-u(i)))
hatw1 = sign1*min(w(i-1),s(i))+(1.-sign1)*s(i-1)
hatw2 = sign2*min(w(i),s(i-1))+(1.-sign2)*s(i)
hatw(i) = min(hatw1,hatw2)
sign3 = 0.5*(1.+sign(1.,w(i-1)-s(i)))
sign4 = 0.5*(1.+sign(1.,w(i)-s(i-1)))
sign5 = 0.5*(1.+sign(1.,hatw2-hatw1))
hatg1 = sign1*(1.-sign3)*g(i-1)
hatg2 = sign2*(1.-sign4)*g(i)
hatg(i) = sign5*hatg1+(1.-sign5)*hatg2
enddo

From equation (28), we have
 (29)
I can apply Podvin and Lecomte's method to the computation of function so that backward extrapolation can be handled.

To solve equation (25), I use

to extrapolate the function . Referring to the algorithm for calculating and , one can easily construct the algorithm for calculating function .

The Jacobian function in polar coordinates can be determined from (13) as follows:
 (30)
We can either map this Jacobian function to Cartesian coordinates and use equation (11) to calculate the amplitudes, or calculate the amplitudes in polar coordinates and then map them to Cartesian coordinates.

Next: EXAMPLES Up: ALGORITHM Previous: Computation of traveltimes
Stanford Exploration Project
12/18/1997