Skip to content

Latest commit

 

History

History
123 lines (84 loc) · 6.47 KB

README.md

File metadata and controls

123 lines (84 loc) · 6.47 KB

Apache 2.0 CC BY 4.0

Table of Contents

Introduction

This is Petrobras' second repository on GitHub. It contains the Reservoir Autoencoders codebase which is part of the CÉOS Strategic Reservoir program.

Motivation

Well testing strategies are based on measuring pressure variation on reservoirs after production or injection. Based on these values and their derivatives, important information can be gathered about the formation such as the transmissibility, formation damage (skin), reservoir geometry, etc.

The Reservoir Autoencoders repository contains the wellbore pressure response generator, an autoencoder neural network and a wellbore pressure response dataset.

This solution has two practical day-to-day applications on reservoir evaluation:

  1. Building a well test interpretation assistant capable of suggesting transmissibility and reservoir geometry automatically based on the raw pressure data;
  2. Enabling the use of pressure dynamic data asd inputs for analogous reservoir queries.

Strategy

The Reservoir Autoencoders is the second entry the Petrobras' program called Conexões para Inovação - Módulo Open Lab. This is an open project with three different parts:

  1. A Wellbore Pressure Response Generator capable of building pressure responses for 7 different well/reservoir configurations;
  2. An Autoencoder Neural Network trained on a dataset of 20.000 synthetic wellbore pressure responses capable of clustering the data based on transmissibility and reservoir geometries;
  3. A Wellbore Pressure Response Dataset with 20.000 synthetic wellbore pressure responses based on 20.000 different combinations of reservoir properties such as permeability, heught, storage, skin factor, etc.

Ambition

With this project, Petrobras intends to develop (fix, improve, supplement, etc.) and/or foment:

  • The wellbore pressure response generator itself;
  • The autoencoder network itself;
  • New algorithms using the wellbore pressure response dataset.

Contributions

We expect to receive various types of contributions from individuals, research institutions, startups, companies and partner oil operators.

Before you can contribute to this project, you need to read and agree to the following documents:

It is also very important to know, participate and follow the discussions. See the discussions section.

Licenses

All the code of this project is licensed under the Apache 2.0 License and all dataset data files (CSV files in the subdirectories of the dataset directory) are licensed under the Creative Commons Attribution 4.0 International License.

Wellbore Pressure Response Generator

The WPRGenerator class synthesizes wellbore pressure response based on 13 parameters:

  • Permeability
  • Porosity
  • Reservoir height
  • Total compressibility
  • Volume formation factor
  • Viscosity
  • Flow rate
  • Skin factor
  • Barriers distances (L1, L2, L3, L4)
  • Well radius

The image method is then used to compute the wellbore pressure response for each time stamp.

Based on different configurations of the barrier distances parameters, the WPRGenerator class can synthesize responses for any of 6 six common configurations: infinite reservoir, one barrier, two orthogonal barriers, two parallel barriers, three orthogonal barriers and four orthogonal barriers.

In order to compute wellbore storage, the RadialStorage.py helper file is needed. This strategy was implemented to separate wellbore responses created using the Laplace transform and subsequent Stefehst inversion.

Autoencoder Neural Network

Autoencoders are deep learning algorithms for compression and decompression of data.

Network training is based on using the same datasets as inputs and outputs, effectively training the network to reproduce the data. The caveat here is based on the network architecture, that has an encoding and a decoding halves.

In the first block, the number of neuros on each layers decreases progressively, reaching a minimum in the so called latent layer. From this layer on, starts the decoding block, with an increasing number of neurons on each layer, until the same input dimmensionality is reached in the last layer.

These networks' capacity to reduce data dimmensionality until the latent layer and then rebuild it with minimum data loss leads to the conclusion that the information outputted by the latent layer contains is a "minimal representation" of the input data. Therefore, this network becomes an interesting alternative to reduce dimmensionality of complex datasets.

Wellbore Pressure Response Dataset

This is the dataset that was used to train the Autoencoder Neural Network. Each row represents a different wellbore pressure response, ate its columns are described below.

Columns Description
1 through 15 Contains the input data used to generate the current response
16 through 35 Timestamps used to calculate pressure variation and its derivative
36 through 55 Pressure variation values
56 through 75 Pressure variation derivative values

Parameter variation

Parameter Minimum Maximum
Permeability — k (md) 50 1000
Reservoir height — h (m) 10 300
Volume formation factor — B (m3/m3) 1 2
Wellbore storage 0.01 5
Skin -2 5
Flow rate - m3/d 100 1000
Porosity* 20% 20%
Total compressibility (cm2/kgf)* 1e-5 1e-5
Viscosity — $\mu (cp)$* 1 1
Well radius - m 0.108 0.108