Joint inversion-segmentation of 4D post-stack seismic data using proximal solvers as introduced in the paper:
Seeing through the CO2 plume: joint inversion-segmentation of the Sleipner 4D Seismic Dataset
Juan Romero 1, Nick Luiken 1 , Matteo Ravasi 1
1 King Abdullah University of Science and Technology (KAUST)
This repository contains the 4D joint inversion-segmentation (4D JIS) algorithm, which introduces a novel strategy to jointly regularize a 4D seismic inversion problem and segment the 4D difference volume into percentages of acoustic impedance changes. We validate our algorithm with the VTI Hess synthetic seismic and 4D Sleipner seismic datasets. Furthermore, this repository comprehensively explains the data preparation workflow for 4D seismic inversion, including time-shift nonlinear inversion and well-to-seismic tie. We provide a CPU and GPU-based implementations of the 4D JIS.
This repository is organized as follows:
- 📂 data: Folder containing the data. For the Sleipner seismic dataset please download
the
94p07ful.sgy
and01p07ful.sgy
seismic files from [https://co2datashare.org/dataset] and put them indata/Sleipner_pysubsurface/Seismic/Post/
- 📂 prox4d: Python library containing the 4D JIS, among other functions.
- 📂 notebooks: Set of Jupyter notebooks reproducing the experiments of the paper mentioned above.
The following notebooks are provided:
-
📙
4DPoststackInversion_Hess.ipynb
: Notebook that contains the implementation of 4D JIS in the Hess VTI synthetic dataset and the benchmark 4D seismic inversion methods we compare to. -
📙
4DPoststackInversion_Sleipner_94_01_IL120.ipynb
: Notebook that contains the implementation of 4D JIS in the Inline 120 of the 1994 and 2001 Sleipner seismic surveys (2007 reprocessing version) -
📙
4DPoststackInversion_Sleipner_94_01_gpu.ipynb
: Notebook that contains the implementation of 4D JIS (GPU-based) of subvolumes of the 1994 and 2001 Sleipner seismic surveys (2007 reprocessing version). This notebook requires the 3D time-shift corrected output of the notebookTimeshift_Sleipner.ipynb
. -
📙
Timeshift_Sleipner.ipynb
: Notebook that contains the time-shift estimation (through non-linear inversion) of the 2001 Sleipner dataset. -
📙
WellTie_Sleipner.ipynb
: Notebook that contains the well-to-seismic correlation of the Sleipner dataset. This notebook includes well-log editing, statistical wavelet estimation, and time-depth calibration.
To ensure reproducibility of the results, we suggest using the environment.yml
file when creating an environment.
Simply run:
./install_env.sh
It will take some time, if at the end you see the word Done!
on your terminal you are ready to go. After that you can
simply install your package:
pip install -e .
Remember to always activate the environment by typing:
conda activate prox4d
Similarly, you can use environment_gpu.yml
and install_env_gpu.sh
to create an environment that runs the 4D JIS
algorithm in GPU.
Disclaimer: For computer time, this research used the resources of the Supercomputing Laboratory at KAUST in Thuwal, Saudi Arabia. All experiments have been carried on an AMD EPYC 7713P 64-Core Processor equipped with a single NVIDIA TESLA A100 . Different environment configurations may be required for different combinations of workstation and GPU.
@article{romero2023,
title={Seeing through the CO2 plume: joint inversion-segmentation of the Sleipner 4D Seismic Dataset},
author={Juan Romero and Nick Luiken and Matteo Ravasi},
year={2023},
eprint={2303.11662},
archivePrefix={arXiv},
primaryClass={physics.geo-ph}
}