3w

Timely detections for more proactive and effective actions in offshore oil wells!

https://github.com/petrobras/3w

Science Score: 39.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

anomaly-detection data-science machine-learning multivariate-time-series-analysis oil-well-monitoring
Last synced: 10 months ago · JSON representation

Repository

Timely detections for more proactive and effective actions in offshore oil wells!

Basic Info
  • Host: GitHub
  • Owner: petrobras
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 3.01 GB
Statistics
  • Stars: 418
  • Watchers: 16
  • Forks: 94
  • Open Issues: 5
  • Releases: 80
Topics
anomaly-detection data-science machine-learning multivariate-time-series-analysis oil-well-monitoring
Created over 4 years ago · Last pushed 11 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Apache 2.0 CC BY 4.0 Code style Versioning

[!TIP] Would you like to participate in the 4th Workshop on 3W?

| Register at https://forms.gle/cmLa2u4VaXd1T7qp8

We will hold this workshop on the 3W between October 20 and 23, 2025. Always from 09:00 to 12:00 (GMT-3 - Braslia time).
This workshop will be 100% online, free of charge, and aimed at those interested in exploring, using and/or contributing to the 3W Project.
Short courses will be offered and works developed with the 3W Project resources by different authors around the world will be presented.

| |----------------------------------------------|

Table of Content

Introduction

This is the first repository published by Petrobras on GitHub. It supports the 3W Project, which aims to promote experimentation and development of Machine Learning-based approaches and algorithms for specific problems related to detection and classification of undesirable events that occur in offshore oil wells.

The 3W Project is based on the 3W Dataset, a database described in this paper, and on the 3W Toolkit, a software package that promotes experimentation with the 3W Dataset for specific problems. The name 3W was chosen because this dataset is composed of instances from 3 different sources and which contain undesirable events that occur in oil Wells.

Motivation

Timely detection of undesirable events in oil wells can help prevent production losses, reduce maintenance costs, environmental accidents, and human casualties. Losses related to this type of events can reach 5% of production in certain scenarios, especially in areas such as Flow Assurance and Artificial Lifting Methods. In terms of maintenance, the cost of a maritime probe, required to perform various types of operations, can exceed US $500,000 per day.

Creating a dataset and making it public to be openly experienced can greatly foment the development of tools that can:

  • Improve the process of identifying undesirable events in the drilling, completion and production phases of offshore wells;
  • Increase the efficiency of monitoring the integrity of wells and subsea systems, whose related problems can generate invaluable losses for people, environment, and company's image.

Strategy

The 3W is the first pilot of a Petrobras' program called Conexes para Inovao - Mdulo Open Lab. This pilot is an open project composed by two major resources:

  • The 3W Dataset, which will be evolved and supplemented with more instances from time to time;
  • The 3W Toolkit, which will also be evolved (in many ways) to cover an increasing number of undesirable events during its development.

Therefore, our strategy is to make these resources publicly available so that we can develop the 3W Project with a global community collaboratively.

Ambition

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

  • The 3W Dataset itself;
  • The 3W Toolkit itself;
  • Approaches and algorithms that can be incorporated into systems dedicated to monitoring undesirable events in offshore oil wells during their respective drilling, completion and production phases;
  • Tools that can be useful for our ambition.

Governance

The 3W Project was conceived and publicly launched on May 30, 2022 as a strategic action by Petrobras, led by its department responsible for Flow Assurance and its research center (CENPES). Since then, 3W has become increasingly consolidated at Petrobras in several aspects: more professionals specialized in labeling instances, more projects and teams using the resources made available by 3W, more investment in developing the digital tools needed to label and export instances, more interest in including different types of undesirable events that occur in wells during the drilling, completion and production phases, etc.

Due to this evolution, from May 1st, 2024 the 3W's governance is now done with the participation of the Petrobras' department responsible for Well Integrity.

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 3W Dataset's data files (Parquet files saved in subdirectories of the dataset directory) are licensed under the Creative Commons Attribution 4.0 International License.

Versioning

In the 3W Project, three types of versions will be managed as follows.

  • Version of the 3W Toolkit: specified in the init.py file;
  • Version of the 3W Dataset: specified in the dataset.ini file;
  • Version of the 3W Project: specified with tags in the git repository;
  • We will exclusively use the semantic versioning defined in https://semver.org;
  • Versions will always be updated manually;
  • Versioning of the 3W Toolkit and 3W Dataset are completely independent of each other;
  • The version of the 3W Project will be updated whenever, and only when, there is a new commit in the main branch of the repository, regardless of the updated resource: 3W Toolkit, 3W Dataset, 3W Project's documentation, example of use, etc;
  • We will only use annotated tags and for each tag there will be a release in the remote repository (GitHub);
  • Content for each release will be automatically generated with functionality provided by GitHub.

Questions

See the discussions section. If you don't get clarification, please open discussions to ask your questions so we can answer them.

3W Dataset

To the best of its authors' knowledge, this is the first realistic and public dataset with rare undesirable real events in oil wells that can be readily used as a benchmark dataset for development of machine learning techniques related to inherent difficulties of actual data. For more information about the theory behind this dataset, refer to the paper A realistic and public dataset with rare undesirable real events in oil wells published in the Journal of Petroleum Science and Engineering (link here).

Structure

The 3W Dataset consists of multiple Parquet files saved in subdirectories of the dataset directory and structured as detailed here.

Overview

A 3W Dataset's general presentation with some quantities and statistics is available in this Jupyter Notebook.

3W Toolkit

The 3W Toolkit is a software package written in Python 3 that contains resources that make the following easier:

  • 3W Dataset overview generation;
  • Experimentation and comparative analysis of Machine Learning-based approaches and algorithms for specific problems related to undesirable events that occur in offshore oil wells during their respective drilling, completion and production phases;
  • Standardization of key points of the Machine Learning-based algorithm development pipeline.

It is important to note that there are arbitrary choices in this toolkit, but they have been carefully made to allow adequate comparative analysis without compromising the ability to experiment with different approaches and algorithms.

Structure

The 3W Toolkit is implemented in sub-modules as discribed here.

Incorporated Problems

Specific problems will be incorporated into this project gradually. At this point, we can work on:

All specification is detailed in the CONTRIBUTING GUIDE.

Examples of Use

The list below with examples of how to use the 3W Toolkit will be incremented throughout its development.

For a contribution of yours to be listed here, follow the instructions detailed in the CONTRIBUTING GUIDE.

Reproducibility

For all results generated by the 3W Toolkit to be consistent, we recommend you create and use a virtual environment with the packages versions specified in the environment.yml, which was generated with conda. Our current recommendation is to use the conda distributed by Miniforge. Download and install Miniforge according to the official instructions. Open a prompt on your operating system (Windows, Linux or MacOS). Make sure the current directory is the directory where you have the 3W. Run the following commands as needed:

  • To create a virtual environment from our environment.yml: $ conda env create -f environment.yml
  • To activate the created virtual environment: $ conda activate 3W
  • To use the 3W Toolkit resources interactively: $ python
  • To initialize a local Jupyter Notebook server: $ jupyter notebook

3W Community

The 3W Community is gradually expanding and is made up of independent professionals and representatives of research institutions, startups, companies and oil operators from different countries.

More information about this community can be found here.

Owner

  • Name: Petróleo Brasileiro S.A.
  • Login: petrobras
  • Kind: organization

GitHub Events

Total
  • Create event: 17
  • Issues event: 2
  • Release event: 16
  • Watch event: 91
  • Delete event: 2
  • Member event: 1
  • Issue comment event: 66
  • Push event: 109
  • Pull request event: 64
  • Fork event: 13
Last Year
  • Create event: 17
  • Issues event: 2
  • Release event: 16
  • Watch event: 91
  • Delete event: 2
  • Member event: 1
  • Issue comment event: 66
  • Push event: 109
  • Pull request event: 64
  • Fork event: 13

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 129
  • Total Committers: 13
  • Avg Commits per committer: 9.923
  • Development Distribution Score (DDS): 0.659
Past Year
  • Commits: 55
  • Committers: 9
  • Avg Commits per committer: 6.111
  • Development Distribution Score (DDS): 0.618
Top Committers
Name Email Commits
ricardoevvargas r****s@p****r 44
Ricardo Emanuel Vaz Vargas r****s@p****r 41
yantavares y****1@g****m 14
araujomarins m****o@t****m 10
araujomarins a****t@g****m 4
Tiago Siqueira t****a@g****m 4
andrepaulofm a****m@g****m 3
pivettamarcos m****0@g****m 3
Afrânio Melo 4****o 2
thomasvf t****i@p****r 1
VictorRezende v****o@g****m 1
Thadeu Luiz Barbosa Dias 5****z 1
Victor Hugo Lopes Benedito v****o@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 25
  • Total pull requests: 137
  • Average time to close issues: 23 days
  • Average time to close pull requests: about 1 month
  • Total issue authors: 4
  • Total pull request authors: 18
  • Average comments per issue: 1.12
  • Average comments per pull request: 1.12
  • Merged pull requests: 105
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 64
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 months
  • Issue authors: 1
  • Pull request authors: 11
  • Average comments per issue: 0.0
  • Average comments per pull request: 2.05
  • Merged pull requests: 36
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ricardoevvargas (20)
  • ramdhan1989 (2)
  • mthlimao (1)
  • rafaelpadilla (1)
Pull Request Authors
  • ricardoevvargas (92)
  • castrokelly (14)
  • tpsiqueira (9)
  • afraniomelo (6)
  • pivettamarcos (5)
  • araujomarins (3)
  • yantavares (3)
  • AndrePauloFM (3)
  • nabelly19 (2)
  • Alysson-Alves23 (2)
  • thomasvf (2)
  • Arthur-Llevy (2)
  • VictorRezende (2)
  • BernardoJBueno (2)
  • Victor-Bene (1)
Top Labels
Issue Labels
enhancement (7) documentation (7) bug (3) advance (1)
Pull Request Labels
enhancement (43) documentation (41) bug (10) advance (8) self-contained (7) invalid (1) waiting author (1) on hold (1)

Dependencies

.github/workflows/black.yml actions
  • actions/checkout v3 composite
  • psf/black stable composite