To handle a slowness model containing large contrasts, my algorithm uses a simplified finite difference version of Podvin and Lecomte (1991). Therefore, the true slowness model is approximated by a discrete slowness model that consists of constant slowness cells in polar coordinates. I assume that the grid sizes are small so that each individual cell can be treated as a small rectangle of by .At the boundaries of each cell, the slowness function is generally discontinuous. The interfaces of the slowness model are formed along the boundaries of the cells. As we will see later in the examples, this approximation is adequate for the traveltime calculation, but inadequate for the amplitude calculation when slowness varies sharply.