Reverse Time Migration Lab




Figure 1.Seismograms and snapshot associated with a point source at the center of the surface in the 2-layer medium.



Figure 2. Back propagating wave field calculated by reversely inputting the calculated seismograms.



Figure 3. Zero-lag cross correlation (nt =800, for forward wave field it = 300, for backward wave field it = 500).

Objective: Calculate synthetic seismograms, forward wave field and back propagating wave field by a 2-4 FD solution to the wave equation for a point source at the surface. Adjust code so the data recorded at the surface is migrated by reverse time migration over all the shots.

Skill Learned: The idea of RTM; the implementation of RTM on very simple model and the parallelization of RTM.

Model used: A two-layered medium with velocity 4 km/s for the upper layer and velocity 5.6 km/s for the lower layer.

Procedure:

  1. Download the supporting codes plt.m, Laplacian.m and save_survey.m and create two new directories fd_data and bk_data under the current directory ./.
  2. Download the major codes fd.m, bkwd.m and rtm.m and type "fd". This will generate the synthetic seismograms and snapshots for a 2-layer medium.
  3. Type "bkwd" to generate back propagating wave field.
  4. Type "rtm" to sum up zero-lag xcorr over every time iteration for one shot.

Exercises:

  1. Run fd.m to generate the forward seismogram and wave field Why do we save the forward wave field for each iteration?
  2. Run bkwd.m to generate the backward wave field? What is the physical meaning of the backward wave field (i.e. Figure 2)?
  3. Do rtm.m for one shot. What is the meaning of the dot product (i.e. Figure 3)?
  4. Parallelizing the fd.m bk.m and rtm.m codes by uncommenting "matlabpool local", "parfor is = ... " and commenting "for is = ... ". This is doing RTM for all the shots. You can design your own shots, i.e. number of shots and their locations.