Giter Site home page Giter Site logo

co2-cycle-gan's Introduction

Inversion of Time-lapse Seismic Reservoir Monitoring Data Using CycleGAN: A Deep Learning Based Approach for Estimating Dynamic Reservoir Property Changes

Carbon capture and storage (CCS) is being pursued globally as a geoengineering measure for reducing the emission of anthropogenic $CO_{2}$ into the atmosphere. Comprehensive monitoring, verification, and accounting programs must be established for demonstrating the safe storage of injected $CO_{2}$. One of the most commonly deployed monitoring techniques is time-lapse seismic reservoir monitoring (also known as 4D seismic), which involves comparing 3D seismic survey data taken at the same study site but over different times. Analyses of 4D seismic data volumes can help improve the quality of storage reservoir characterization, track the movement of injected $CO_{2}$ plume, and identify potential $CO_{2}$ spillover/leakage from the storage reservoir. However, the derivation of high resolution $CO_{2}$ saturation maps from 4D seismic data is a highly nonlinear and ill-posed inverse problem, often requiring significant computational effort. In this research, we apply a physics-based deep learning method to facilitate the solution of both the forward and inverse problems in seismic inversion while honoring physical constraints. A cycle generative adversarial neural network (CycleGAN) model is trained to learn the bi-directional functional mappings between the reservoir dynamic property changes and seismic attribute changes, such that both forward and inverse solutions can be obtained efficiently from the trained model. We show that our CycleGAN-based approach not only improves the reliability of 4D seismic inversion, but also expedites the quantitative interpretation. Our deep learning based workflow is generic and can be readily used for reservoir characterization and reservoir model updates involving the use of 4D seismic data.

Geological Model

The geological model considered in this study is a 2D vertical slice of a synthetic saline aquifer, which is discretized uniformly by a $128\times128$ grid (i.e., $128$ grid blocks in $x$ and $z$ direction and a single layer in the $y$ direction). The grid block size is $\delta x = \delta y = 25m$ in x and y direction, and $\delta z =0.25m$ in z direction. Therfore, the reservoir is 3200m in x direction and 32 m in z direction. The top of the reservoir is 1500m. The injection well is located in the center of the reserovir (64,64). The injection rate is $5\times 10^4 m^3/day$. The reservoir is splited into three sections: upper shale zone, middle sandstone zone, and low shale zone. The porosity is calculated from permeability field, based on the following equation: $$\phi=0.05(\log k+2)+0.05$$

Numerical Simulation

In this research, we appy the commerical numerical simlator (CMG-GEM, 2018) to conduct fluid numerical simulation. We collect the water saturation and pressure every 30 days for each permeability realization. Totally, 1800 days (5 years) simulations are conducted, and 60 snapshots for each geological model are collected for training and testing the Cycle-GAN proposed in this research. 75% dataset from the total dataset are used to train the network, and the remaining 25% dataset are used for testing the performance of the well-trained Cycle-GAN.

Cycle-GAN

Cycle-GAN is one special type of the vanila GAN proposed by Goodfellow, et al., (2014). There are some GAN which are similar to Cycle-GAN, such as Disco-GAN amd biodirection GAN. All of those GANs has tow paris of generative models and discriminative models. We define the forward process as $F:x\rightarrow y$, which shows the domain transforamtion from domain X to domain Y; we define the inverse process as $I:y\rightarrow x$, which shows the domain transforamtion from domain Y to domain X.

Training and Testing Performance

We evaluate the performance of the proxy model via following equation:

  • RMSE: $RMSE = \sqrt{\frac{1}{N}\sum_{i=1}^{N}(x_i -\hat {x_i})^2}$
  • SSIM: $SSIM({\bf u},{\bf v})=\frac{2\mu_{{\bf u}}\mu_{{\bf v}}+C_{1}}{\mu_{{\bf \textbf{{, \bf u}}}}^{2}+\mu_{{\bf v}}^{2}+C_{1}}\cdot\frac{2\sigma_{{\bf uv}}+C_{2}}{\sigma_{{\bf u}}^{2}+\sigma_{{\bf v}}^{2}+C_{2}}$, where

co2-cycle-gan's People

Contributors

danilecug avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.