Pre-stack depth migration: Kirchhoff
Learning objectives
- Write the Kirchhoff depth-migration operator in terms of ray-traced travel times
- Explain the role of travel-time tables (Green's functions) and eikonal solvers
- Relate Snell-law ray bending to why time-domain methods misposition reflectors under lateral velocity variation
- State when depth migration is necessary and what it costs compared to time migration
PSTM (Section 5.3) uses the double-square-root formula with an RMS velocity per midpoint. That works as long as the rays between source, scatterer and receiver see nearly the same average velocity: mild vertical gradients and gentle lateral variation. When the earth has strong lateral velocity contrasts (salt flanks, volcanic sills, overthrust blocks), rays bend significantly at each contrast and PSTM's straight-ray, RMS-velocity travel time breaks down. Pre-stack depth migration (PSDM) replaces RMS velocity with an explicit model and replaces the algebraic ellipse with ray-traced travel times.
1. The Kirchhoff depth-migration operator
For each image point and each pre-stack trace , the PSDM image accumulates
where is the one-way travel time from the source at to the image point, and is the time from the image point to the receiver at . Both are ray-traced through . The weight carries the obliquity, geometric spreading and aperture taper, and is the derivative filter every practical Kirchhoff operator applies (a half-derivative in 2D). In a constant-velocity medium the sum defines the same ellipse PSTM uses; in a varying medium it defines a more complex isochron that bends wherever the ray does.
2. Where the travel times come from
Computing for every image pixel and every shot is the dominant cost of PSDM. Two standard methods:
- Ray tracing. Shoot rays from the source in many directions, integrate along each ray through using Snell's law at interfaces (or the eikonal characteristics in smooth media). Good for smooth velocity models; can miss shadow zones and turning waves.
- Eikonal solvers. Solve the partial differential equation directly on the grid, typically by the Fast Marching Method or Fast Sweeping Method. Handles complex velocity models, guaranteed to produce a travel time everywhere (up to first arrivals).
Either way, the output is a pre-computed travel-time table , one 2D field per shot. During the migration loop, each image point reads its source and receiver tables, forms , and adds the weighted trace amplitude at that time to the image.
3. The widget: ray bending and the travel-time error
The figure times one source, one receiver and one image point twice: along the rays traced through the model, as PSDM does, and along PSTM's straight rays. Compare the two in a flat model first, then tilt the interface so the velocity changes sideways, and read how far time migration misplaces .
In (a) the solid path from the source to and up to the receiver obeys Snell's law at the interface, with the angles measured from the interface normal:
The dashed path is the straight ray PSTM assumes, timed at the RMS velocity of the column under . In the flat default model ( over , interface at 600 m) the straight ray predicts 1333.4 ms against the ray-traced 1331.7 ms: only 1.7 ms, or 0.13 %, late. Time migration images where it is, because in the apex of its diffraction sits straight above it. Timing the straight ray at the top velocity instead makes it 30.6 % late, a straw man: PSTM never does that.
Experiment to try: push to 4600 m/s in the flat model and watch the ray bend sharply; the straight ray is still only 0.32 % off, because the velocity does not change laterally. Then tilt the interface 20Β° about a depth of 900 m at , with (exercise 4): the straight ray is 2.73 % late, the isochrons in (c) part, and time migration images 485 m to the left and 128 m too deep, because the apex of its diffraction no longer sits above it. Table (b) shows the other half of the story: every shot, and every receiver, needs its own travel-time table.
4. Why time migration cannot fix this
Time migration uses a single RMS velocity per CMP that averages over the vertical velocity profile. RMS velocity describes the moveout of horizontally layered accurately at short to moderate offsets, but it is systematically wrong when the velocity varies laterally: rays leaving one midpoint then pass through different velocity columns. The PSTM ellipse is therefore positioned correctly wherever the velocity varies only with depth, including under dipping reflectors. Once the velocity changes laterally within the migration aperture, PSTM mispositions the reflector: it images each diffraction at the apex of its traveltime curve, and ray bending moves that apex away from the point above the scatterer.
5. What PSDM costs
- Velocity model building. PSDM is only as good as its input velocity model. Production PSDM is almost always run iteratively with velocity-model refinement (Section 5.9); a single migration run is rare. Each iteration can cost weeks of CPU time.
- Travel-time table storage. A 3D travel-time table for one shot on a grid, 10 km by 10 km wide and 8 km deep, holds about 410 million samples, roughly 1.6 GB in 32-bit floats, which is why tables are stored on a coarser grid and interpolated. Thousands of shots per survey. Disk I/O dominates modern PSDM implementations.
- Migration loop. For each output voxel, sum contributions from all traces whose travel-time arrivals land at the observed sample. Typical production PSDM is 10-50Γ the cost of PSTM. Anisotropic or elastic PSDM multiplies that by another 3-10Γ.
6. When PSDM is worth it
- Sub-salt imaging. Salt is a 4000-4500 m/s body embedded in 2000-3000 m/s sediment. Rays bend drastically at the salt boundary; time migration is hopeless here.
- Sub-basalt. Extensive volcanic sills have similar properties.
- Thrust belts. Steep velocity contrasts across thrust fronts cause lateral velocity jumps of 1000-2000 m/s that PSTM cannot handle.
- Steep-dip 3D. Anywhere dips exceed ~60Β° with variable velocities; time-domain methods misposition even with modest lateral gradients.
7. What PSDM cannot do
- Multipathing and turning waves. Where the velocity model focuses rays (salt, lenses), an image point is reached by several arrivals; a single-arrival table keeps one of them (the first, or the most energetic) and drops the rest, so complex overburden images poorly. Turning (diving) waves, which curve back up because velocity increases with depth, need RTM (Section 5.7); one-way extrapolation (Section 5.6) cannot follow a wave that turns.
- Shadow zones. Ray-traced tables can leave shadow zones that no ray reaches; eikonal tables fill them with first-arrival (often head-wave) times, which carry little of the reflected energy. Beam migration (Section 5.5) partly fixes this.
- Amplitude fidelity. Simple Kirchhoff sums sacrifice amplitude accuracy for speed. Amplitude-preserving PSDM adds the ray Jacobian, obliquity, and proper aperture weighting.
Kirchhoff PSDM replaces PSTM's algebraic ellipse with a ray-traced travel-time table in ; it correctly handles lateral velocity variation at the cost of needing an accurate velocity model and an expensive precomputed travel-time kernel.
Where this goes next
Section 5.5 introduces beam migration, a compromise between Kirchhoff's single ray per image pixel and full wavefield extrapolation. Instead of one ray, you send a bundle of rays (a "beam") with a prescribed lateral width and migrate energy along the beam, improving shadow-zone coverage and amplitude fidelity at modest extra cost.
References
- Schneider, W. A. (1978). Integral formulation for migration in two and three dimensions. Geophysics, 43, 49.
- Stolt, R. H., Benson, A. K. (1986). Seismic Migration: Theory and Practice. Geophysical Press.
- Yilmaz, Γ. (2001). Seismic Data Analysis (2 vols.). SEG.
- Etgen, J., Gray, S. H., Zhang, Y. (2009). An overview of depth imaging in exploration geophysics. Geophysics, 74, WCA5.