Q-LSRTM using Viscoacoustic Deblurring Filter as Preconditioner

Yuqing Chen (yuqing.chen@kaust.edu.sa), KAUST

figure Image_compare.png
Figure 1  a) The Q-LSRTM image on Q data and b) the preconditioned Q-LSRTM image on Q data.

Objective:

Learn how to use the viscoacoustic deblurring filter as a preconditioner for Q-LSRTM on cluster. Read Acoustic MD paper and Elastic MD

Required Software:

1. Compilers: ifort/11.1.075, intel/15, mpi-openmpi/1.8.3-intel-15.
2. Visualization: Matlab.

Procedure:

  • Load ViscoDeblur_Demo.zip, from which extract all the files to your working directory. It includes following directories: src for the source codes (Fortran), geom for the coordinate file, model for the velocity models and Q models, modeling for the forwarding modeling to generate the observed data (synthetic case), rtm for the least-square migration, visual for a visualization matlab scripts to plot the migration result.
  • cd to the src directory, create executable files.
    1. modify the directories (eg. DIR_CORE) in Makefile.config. Make sure these directories are consistent with the working directory. For local workstation, use mpiifort as the compiler. However, for Shaheen, please use ftn as the compiler.
    2. Make clean, then Make; which will make executable files.
  • cd to the modeling directory, change the forward modeling parameter in parfile_modeling and then Make.
    1. In parfile, FIRST_SHOT and LAST_SHOT indicates the shot number range. Please comment these two parameter if you use all shots in the coordinate file.
    2. To submit the job in the local workstation, type Make.
    3. The file project_modeling.sh is used to submit job on the cluster.
  • cd to the rtm directory, change the migration parameter in parfile_qlsrtm and then Make.
    1. The parameter ISDEBLUR decides whether you use the viscoacoustic deblurring filter as precondition. if you set ISDEBLUR=1, then do Q-LSRTM with deblurring filter; However, if you set ISDEBLUR=0, the program go back to the original Q-LSRTM.
    2. The parameter N_DEBLUR indicates the number of iteration with viscoacoustic deblurring filter. As the viscoacoustic debluring filter is only a approximation of the real Hessian Inverse, therefore I usually only use the deblurring filter on the first 4 or 5 iteration, then let the program go back to Q-LSRTM.
    3. The explanation of the deblurring filter parameter are shown in the program apps2d_lsm_atten.f90.
    4. In parfile, FIRST_SHOT and LAST_SHOT indicates the shot number range. Please comment these two parameter if you use all shots in the coordinate file.
    5. To submit the job in the local workstation, type Make.
    6. The file project_qlsrtm.sh is used to submit job on the cluster.
  • Visualization: cd to the visual directory, then run result_plot.m in matlab, we can see the results in Figure 1. Some display functions in the file Matlab_tools2 should be included into matlab.
  • This deblurring code is used for single node case. For parallel version deblurring code, please contact the author.