Downloads - ASKI


ASKI - Analysis of Sensitivity and Kernel Inversion

Seismic Full Waveform Inversion and sensitivity/resolution analysis based on waveform sensitivity kernels utilizing external forward codes

ASKI is a highly modularized program suite (Fortran 90 and later and Python) offering sensitivity and regularization analysis tools for seismic datasets as well as a scattering-integral-type full waveform inversion concept based on waveform sensitivity kernels derived from Born scattering theory (Gauss-Newton convergence). ASKI does not implement an intrinsic code for simulation of seismic wave propagation but instead comes with support for several external forward codes for 1D and 3D background media in spherical and Cartesian framework, at the moment SPECFEM3D, SPECFEM3D GLOBE, Gemini II and NEXD.

From seismic wavefields and strains (computed by the forward codes throughout the volume of interest and written to file), waveform sensitivity kernels are computed and written to file. The kernels are integrated onto a volumetric inversion grid, which is kept separate from the forward grid, which every forward code can define individually. All quantities living on inversion or forward grid can be additionally written to vtk files and plotted with any tool supporting the vtk format, such as Paraview.

The waveform sensitivity kernels may be used for any kind of sensitivity or resolution analysis. In particular, a full waveform inversion procedure is realized by setting up a linear system of equations using the sensitivity kernel matrix to relate model update with data residuals, optionally adding smoothing or damping conditions. This (usually overdetermined) linear system is solved using LAPACK libraries or parallelized memory-distributed algorithms. Since this step is relatively cheap compared with wavefield and kernel computation it may be repeated several times altering the chosen data subset as well as the regularization conditions. As the sensitivity matrix is explicitely assembled, it is imaginable to compute a complete singular value decomposition of it and use it in the future to analyze optimal acquisition layouts subject to concentrating sensitivity to certain subvolumes.


Authors and License

The main authors are Florian Schumacher and Wolfgang Friederich, Ruhr-Universit├Ąt Bochum, Germany.

ASKI is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.
ASKI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details. A copy of the GNU General Public License is provided along with the source code in file LICENSE, you may also see http://www.gnu.org/licenses/.

Please report bugs via Issue Trackers of the respective software repository on GitHub (e.g. here for the ASKI main package).
Otherwise, you can contact the authors and developers team also by email.

If you use ASKI for your own research, please cite one of our publications, as appropriate:

F. Schumacher, W. Friederich and S. Lamara, A flexible, extendable, modular and computationally efficient approach to scattering-integral-based seismic full waveform inversion, Geophysical Journal International 2016, 204 (2): 1100-1119
http://dx.doi.org/10.1093/gji/ggv505

Schumacher F, Friederich W. ASKI: a modular toolbox for scattering-integral-based seismic full waveform inversion and sensitivity analysis utilizing external forward codes. SoftwareX 5 (2016) 252-259, http://dx.doi.org/10.1016/j.softx.2016.10.005

HOWTO_reference_ASKI.bib   BibTex file containing the above listed publications (6.4 kB)



Detailed Introduction to ASKI

Florian wrote his doctoral dissertation about waveform sensitivity kernels and the modularized iterative full waveform inversion concept on which ASKI is based. This document serves well to access the theory behind ASKI.

We published a paper on the general inversion concept of ASKI:
F. Schumacher, W. Friederich and S. Lamara, A flexible, extendable, modular and computationally efficient approach to scattering-integral-based seismic full waveform inversion, Geophysical Journal International 2016, 204 (2): 1100-1119,
http://dx.doi.org/10.1093/gji/ggv505

There is another paper on the software package ASKI itself:
Schumacher F, Friederich W. ASKI: a modular toolbox for scattering-integral-based seismic full waveform inversion and sensitivity analysis utilizing external forward codes. SoftwareX (2016), http://dx.doi.org/10.1016/j.softx.2016.10.005

Please have a look at the latest version of the ASKI user manual.

dissertation_florian_schumacher.pdf   Florian Schumacher's doctoral dissertation (3.8 MB)

ASKI_paper_GJI_2016.pdf   Accepted version of the GJI paper (re-typeset in a standard layout) (1.7 MB)

1-s2.0-S2352711016300346-main.pdf   Open Access paper published 2016 in SoftwareX (CC BY license http://creativecommons.org/licenses/by/4.0/) (3.3 MB)



Toy examples: Waveform Inversion and Kernel computation in Cartesian and spherical context

The synthetic cross borehole example presented in Florian's dissertation (chapter 5.1) as well as in our GJI 2016 paper (section 4.1) can be downloaded here, including many of the files produced during the ASKI workflow.

A very short example in spherical framework, computing a waveform kernel for just one source-receiver pair by SPECFEM3D_GLOBE was conducted using the setting of example "regional_Greece_small" from the SPECFEM3D_GLOBE 7.0.0 release package (example uses 4 CPU cores only). The example kernel files are also available there.

In order to reproduce the example files, you must install the ASKI main package (see below). Also refer to the ASKI user manual (chapter on "workflows") for documentation on the examples.


Downloading ASKI

The ASKI main package as well as its forward code extensions are available on gitHub. The easiest way to install the packages is to clone the respective code repository and to follow instructions in the contained REAMDE file. Alternatively, the codes can be downloaded from gitHub as .zip files (see below).

ASKI main package

This is the core software package of ASKI, sometimes called ASKI main package. You need it along with every forward code that you are using!

For installing the source code of the ASKI main package, please clone the master branch of its gitHub source repository:
git clone --depth 1 --branch master https://github.com/seismology-RUB/ASKI
Alternatively, download a .zip file here.

Follow the instructions of the contained README.md file or refer to the ASKI user manual on how to get started.

Extension: using SPECFEM3D_Cartesian as a forward code for ASKI

One of the external forward codes supported by ASKI is SPECFEM3D_Cartesian. This extension package provides all extra functionality for the use of SPECFEM3D_Cartesian along with ASKI (you still must install the ASKI main package). It uses an installation of the SPECFEM3D_Cartesian simulation code to produce output for ASKI.

For installing this extension package, please clone the master branch of its gitHub source repository:
git clone --depth 1 --branch master https://github.com/seismology-RUB/SPECFEM3D_Cartesian_for_ASKI
Alternatively, download a .zip file here.

Follow the instructions of the contained README.md file or refer to the manual "SPECFEM3D_Cartesian for ASKI" on how to get started.

Extension: using SPECFEM3D_GLOBE as a forward code for ASKI

Another external forward code supported by ASKI is SPECFEM3D_GLOBE. This extension package provides all extra functionality for the use of SPECFEM3D_GLOBE along with ASKI (you still must install the ASKI main package). It uses an installation of the SPECFEM3D_GLOBE simulation code to produce output for ASKI.

For installing this extension package, please clone the master branch of its gitHub source repository:
git clone --depth 1 --branch master https://github.com/seismology-RUB/SPECFEM3D_GLOBE_for_ASKI
Alternatively, download a .zip file here.

Follow the instructions of the contained README.md file or refer to the manual "SPECFEM3D_GLOBE for ASKI" on how to get started.


Acknowledgments

ASKI was developed at Ruhr-Universit├Ąt Bochum in the course of the TOAST project funded by the German Federal Ministry of Education and Research grant 03G0752C.