Elastic Least-squares Reverse Time Migration on SEG/EAGE Salt Model

figure seg_model.png

Figure 1 SEG/EAGE salt model: (a) true V p , (b) true V s , (c) migration V p , and (d) migration V s models.
figure seg_image.png
Figure 2 Elastic LSRTM for (a) V p and (c) V s .
Objective
Learn how to carry out elastic LSRTM to invert for the P- and S-velocity perturbation. Read Acoustic MD paper and Elastic MD
Procedure
  1. Download the codes elastic_lsm_lab.tar.gz.
     Run: tar -xzvf elastic_lsm_lab.tar.gz
     Then cd  elastic_lsm_lab
    
  2. Check the sourceme example and Makefile.config file, make sure you have load the require compiler according to the cluster before running the code.
  3. Assuming you have the Intel Fortran compiler, by running
     make 
    
    Verify that the e2d_modeling_mute.x and e2d_postlsrtm.x have been generated in the bin directory.
  4. Run elastic forward modeling and mute the direct P wave, by adjusting the parameters in the Job_modeling.sh accordingly and batch the Job_modeling.sh.
    Verify that the CSG’s csg_w_*.bin and csg_u_*.bin have been generated in the ./results/2D_models/seg_salt_320x1290 directory, * is CSG number.
  5. Run elastic LSRTM code, by adjusting the parameters in the Job_lsrtm.sh accordingly and batch the Job_lsrtm.sh.
    The iteration will start and generate image_vp_*.bin and image_vs_*.bin every iteration in the ./results/2D_models/seg_salt_320x1290 directory, * is the iteration number.
  6. To visualize the result, download matlab program package, extract it with "tar -xvf visualize.tar.gz". Download all image_vp_*.bin and image_vs_*.bin, and place them with all *.m files. Adjust filename in the read_image.m (line 26 and line 31) to display the result for certain iteration.
Note
  1. The parameter file for elastic LSRTM is in the ./working/2D_models/seg_salt_320x1290/parfile_e2dlsrtm.sh directory, you can change the iteration number NIT.
  2. Please keep the --ntask=shot # (which is 260 for our model), later version of the code will fix the problem.
  3. If --ntask=shot # doesn't work, try -n shot # instead