WPRAutoencoders
This is one of Petrobras' open repositories on GitHub. It contains the WPRAutoencoders project which encompasses a wellbore pressure response generator, a dataset of 20.000 synthetic pressure responses and an autoencoder neural network capable of clustering this data based on transmissibility and reservoir geometry.
Install / Use
/learn @petrobras/WPRAutoencodersREADME
Table of Contents
- Introduction
- Wellbore Pressure Response Generator
- Autoencoder Neural Network
- Wellbore Pressure Response Dataset
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:
- Building a well test interpretation assistant capable of suggesting transmissibility and reservoir geometry automatically based on the raw pressure data;
- 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:
- A Wellbore Pressure Response Generator capable of building pressure responses for 7 different well/reservoir configurations;
- 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;
- 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%|20%| |Total compressibility (cm2/kgf)|1e-5|1e-5|1e |Viscosity — $\mu (cp)$*|1|1| |Well radius - m|0.108|0.108|
Related Skills
node-connect
348.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
348.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
348.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
