Yous3ry/Python_Automated_DCA
Yous3ry/Python_Automated_DCA has 26 GitHub stars and 13 forks. Star changes are not measured yet. Last checked 2026-11-14 01:53 UTC. Last push 2026-11-11.
Progression mesurée des étoiles
- in 24h
- Historique en cours
- in 7 days
- Historique en cours
- in 15 days
- Historique en cours
- in 1 month
- Historique en cours
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
À propos
Python Automatic Decline Curve Analysis (DCA) For Petroleum Producing wells
DonnéesREADME.md
OriginalPython Automatic Decline Curve Analysis (DCA) For Petroleum Producing wells
Table of Contents
About The Project
Decline Curve Analysis (DCA) is a widely accepted method for analyzing declining production rates and forecasting future performance of oil and gas wells. [1] For oil fields with hundreds or even thousands of wells updating the production forecast for each well based on DCA could be very time consuimg. Here's why:
- Typically curve fitting to estimate the decline rate and initial rate is done graphically which could be very time consuming, and
- Over the life of a conventional oil producing well, decline rates may change over time with changes in operating conditions, e.g. start of water injection, aritifical lift methodlogy or effciency changes, etc. Thus the history of the well could be divided into different distinct regions and DCA parameters should only be estimated based on the last stable producing conditions rather than average fitting of all the historical performance.
Workflow
- Connect to production database to read well data (Python File here)
- Use R to detect change points assuming a piecewise linear trend using EnvCpt Package[2] as shown in example below (R File here)

- Finally an integrated Python file (Final Python File here) is used to a) Load Well Data b) detect change points using R via Rpy2 c) fit exponential or Hyperbolic decline based on user input on the last stable period d) Forecast production rate. Note forecast is limited by user minimum rate and forecast period.

NOTE A compiled Python Script integrates all previous steps and loops through all the wells in the database and exports the total field/company forecast. (Compiled Python File here)
Dependencies
Python Packages <- sqlalchemy, scipy, matplotlib, pandas, numpy, json, rpy2
R Packages <- EnvCpt
References
[1]
https://petrowiki.spe.org/Production_forecasting_decline_curve_analysis#:~:text=Decline%20curve%20analysis%20(DCA)%20is,fluids%2C%20are%20usually%20the%20cause.
[2]
https://rdrr.io/cran/EnvCpt/man/envcpt.html
Explorer des projets similaires
Asabeneh/30-Days-Of-Python
Le défi de programmation 30 Days of Python est un guide pas à pas pour apprendre le langage de programmation Python en 30 jours. Ce défi peut prendre plus de 100 jours. Avancez à votre rythme. Ces vidéos peuvent aussi vous aider : https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,710 étoilesgrafana/grafana
Plateforme ouverte et composable d’observabilité et de visualisation de données. Visualise les métriques, les journaux et les traces issus de plusieurs sources, comme Prometheus, Loki, Elasticsearch, InfluxDB, Postgres et bien d’autres.
77,892 étoilesredis/redis
Pour les développeurs qui créent des applications en temps réel pilotées par les données, Redis est le cache, le serveur de structures de données et le moteur de requêtes documentaires et vectorielles préféré, le plus rapide et le plus riche en fonctionnalités.
77,490 étoilesapache/superset
Apache Superset est une plateforme de visualisation et d'exploration de données.
75,521 étoiles