3D Wave-equation Dispersion Inversion on Irregular Topography

Zhaolun Liu
King Abdullah University of Science and Technology

Figure: (a) True S-velocity model, (b) corresponding mesh, (c) initial S-velocity model and (d) S-velocity tomogram.
Image mainpic


This lab is for implementation of the 3D topographic wave equation dispersion inversion (3D TWD). It includes

  1. SPECFEM3D, forward and adjoint modeling, which needs to be compiled and added to the system environment.
  2. Seisflow, an open source Python package that can interface with SPECFEM3D MODRAK201888. It need to be added to the system environment.
  3. Geodesic calucation by the exact geodesic algorithm mitchell1987discrete. It is implemented by using matlab script which calls a C++ library. So, you need to compile the C++ code to get a matlab api. Then, the matlab script can call the lib and calculate the source-receiver offset.
  4. The calculation of dispersion curves and 3D TWD adjoint source by function "lzdispertest". It needs to be compiled and added to the system environment.
  5. CUBIT, to generate the 3D model from the receivers' locations.

Even though the above package number from 1 to 3 are open source packages, it may be not suitable for 3DTWD or may include some bugs. So, some changes are needed for these packages. For example, I modified the "write_output_SU" in SPECFEM3D to scale the coordinates of receivers by 1000 to get a more accurate value. I modified a lot in SeisFlows, and the main changes are listed as follows,

Some bugs are also fixed in the exact geodesic packages.

Compile Packages




Run 3D TWD



Mitchell et al., 1987
Mitchell, J. S., D. M. Mount, and C. H. Papadimitriou, 1987, The discrete geodesic problem: SIAM J. Comput., 16, 647-668.

Modrak et al., 2018
Modrak, R. T., D. Borisov, M. Lefebvre, and J. Tromp, 2018, Seisflows-flexible waveform inversion software: Computers & Geosciences, 115, 88 - 95.

Zhaolun Liu 2019-03-21