Python For Reservoir Engineering and Surveillance
Have Questions ?
Python For Reservoir Engineering and Surveillance - RE-PYRS-PEA27
| Code | Date | Time | Duration | Location | Currency | Early Bird Fee Per Person |
|---|---|---|---|---|---|---|
| RE-PYRS-PEA27 | 17 - 21 May 2027 | 10 AM CST | 4 Hours Per Day |
Online |
USD |
2000 |
Boost your team's skills and your budget! Enjoy group discounts for collaborative learning. Send an inquiry to info@peassociations.com.
Python For Reservoir Engineering and Surveillance
Description
Reservoir surveillance is repetitive by nature. The same production data is pulled, cleaned, plotted and reviewed every month. Decline curves are refitted. Water cut and gas-oil ratio trends are checked. Voidage replacement is calculated. Reports are assembled. Done manually in a spreadsheet, this consumes a substantial share of an engineer’s time, scales badly beyond a few dozen wells, and produces inconsistent results because each analyst does it slightly differently. Done in code, it runs in seconds, applies the same method to every well, and leaves the engineer free to look at the results rather than to produce them.
This course builds that capability from the ground up. It starts with Python fundamentals and the scientific stack, then covers data acquisition and cleaning for production, pressure and well data, tabular data manipulation at scale, and the construction of reliable data pipelines. It then works through reservoir engineering calculations implemented in code: PVT correlations, volumetrics with Monte Carlo, material balance with automated history matching, inflow performance, decline curve analysis with automated fitting across a well population, rate transient analysis, and waterflood surveillance including diagnostic plots and connectivity analysis. It closes with visualisation and dashboard construction, automated report generation, applied machine learning for production forecasting and anomaly detection, and the practices that make code maintainable by someone other than its author.
Demo Class
The argument for Python in reservoir engineering is not that spreadsheets are inadequate for a single calculation. They are perfectly adequate, and often better. The argument is about repetition and scale. A material balance for one tank is a spreadsheet job. Refitting decline curves for four hundred wells every month, flagging the ones whose behaviour has changed, and issuing a report is not, and attempting it in a spreadsheet produces something fragile that nobody except its author can maintain.
Python has become the default because of its libraries rather than the language itself. Tabular data handling, numerical computation, optimisation, statistics, plotting and machine learning are all covered by mature, well documented packages that work together. A production dataset can be loaded, cleaned, grouped by well, fitted, plotted and exported in a few dozen lines. The same code runs identically next month on new data. When the method needs to change, it changes in one place rather than in four hundred spreadsheets.
The barrier is that most reservoir engineers were not taught to program, and general programming courses teach concepts far removed from the work. This course avoids that by using reservoir engineering as the entire subject matter. Every construct is introduced when a reservoir problem requires it, and every exercise produces something an engineer would actually use. The intent is not to make participants software developers but to make them capable of automating their own technical work and reading and modifying code written by others.
By the end of this training, participants will be able to:
- Write clear, functional Python code using the scientific computing and data analysis libraries
- Load, clean and structure production, pressure and well data from files, databases and interfaces
- Build reliable data pipelines that handle missing values, outliers and inconsistent reporting
- Implement PVT and rock property correlations with validity checking
- Build volumetric and probabilistic in-place estimation including Monte Carlo simulation
- Implement material balance models and automate history matching through optimisation
- Apply decline curve analysis and rate transient methods automatically across a well population
- Construct waterflood surveillance analyses including diagnostic plots and injector-producer connectivity
- Produce visualisations, dashboards and automated reports that update as new data arrives
- Apply machine learning methods appropriately to production forecasting and anomaly detection
Organisations sending participants to this training will:
- Eliminate repetitive manual surveillance work and redirect engineering time to analysis
- Apply consistent analytical methods across every well rather than varying by analyst
- Process well populations too large for spreadsheet-based workflows
- Reduce reporting cycle time and improve the timeliness of surveillance findings
- Build reusable internal tooling that survives staff changes
- Establish a foundation for data science and machine learning work on subsurface data
Participants will:
- Automate the routine parts of reservoir engineering and surveillance work
- Handle datasets far beyond the practical limits of a spreadsheet
- Build analysis tools that colleagues can run and maintain
- Read, modify and extend code written by others
- Apply machine learning methods with an understanding of when they are appropriate
- Add a skill that is increasingly expected in subsurface technical roles
- Reservoir engineers and production engineers with no programming background
- Surveillance and production data analysts in subsurface teams
- Petroleum engineers handling large well populations
- Petrophysicists and geoscientists working with large datasets
- Simulation engineers automating pre- and post-processing
- Graduate engineers building technical computing capability
- Technical leads establishing automated workflows for an asset
Module 1 — Python Foundations for Engineers
- Environment setup, notebooks and script execution
- Variables, data types and operators
- Lists, dictionaries and data structures
- Control flow, loops and conditional logic
- Functions, arguments and return values
- Modules, packages and imports
- Error handling and debugging basics
- Writing readable code and commenting practice
Module 2 — Numerical and Scientific Computing
- Arrays, vectorised operations and broadcasting
- Mathematical and statistical functions
- Interpolation and curve fitting
- Root finding and solving implicit equations
- Numerical integration and differentiation
- Optimisation routines and constrained fitting
- Random number generation and sampling
- Performance considerations for large calculations
Module 3 — Working With Production and Well Data
- Reading data from spreadsheets, text files and databases
- Tabular data structures and indexing
- Filtering, grouping, merging and reshaping data
- Time series handling, resampling and date arithmetic
- Cleaning: missing values, outliers and inconsistent units
- Handling shut-ins, workovers and rate constraint periods
- Well master data, hierarchies and metadata management
- Building a reusable data loading and cleaning pipeline
Module 4 — Fluid and Rock Property Calculations
- Implementing black oil PVT correlations as functions
- Iterative gas property calculation including z-factor
- Correlation validity checking and warning flags
- Building a reusable property module
- Tuning correlations to laboratory data by regression
- Relative permeability and capillary pressure functions
- Testing property functions against known values
Module 5 — Volumetrics and Probabilistic Estimation
- Deterministic volumetric calculation
- Probability distributions for reservoir parameters
- Monte Carlo simulation implementation
- Correlated parameter sampling
- Result aggregation and percentile extraction
- Sensitivity analysis and tornado chart generation
- Presenting probabilistic results graphically
Module 6 — Material Balance and History Matching
- Implementing the material balance equation in code
- Drive index calculation and diagnostic output
- Aquifer influx model implementation
- Objective function definition for history matching
- Automated parameter estimation by optimisation
- Multiple starting points and non-uniqueness testing
- Confidence bounds on estimated parameters
- Batch material balance across multiple tanks or compartments
Module 7 — Decline Curve and Rate Transient Analysis at Scale
- Implementing exponential, hyperbolic and harmonic decline
- Automated fitting with data segment selection
- Handling noisy and interrupted production records
- Fitting across an entire well population in one run
- Fit quality metrics and automatic flagging of poor fits
- Forecast generation and reserves calculation
- Rate transient methods: flowing material balance and linear flow analysis
- Comparing results across wells and over time
Module 8 — Well Performance and Surveillance Analytics
- Inflow performance calculation and productivity index tracking
- Water cut, gas-oil ratio and pressure trend analysis
- Automated detection of performance change and anomalies
- Well event integration and before-after comparison
- Ranking wells by intervention potential
- Deferment and loss analysis from production data
- Building a surveillance screening workflow
Module 9 — Waterflood and Injection Surveillance
- Voidage replacement ratio calculation and tracking
- Hall plot construction and injectivity analysis
- Water-oil ratio diagnostic plots
- Pattern balancing and allocation of injection support
- Injector-producer connectivity from rate correlation
- Capacitance resistance model concepts and implementation
- Flood front tracking and sweep assessment
- Automated waterflood surveillance reporting
Module 10 — Visualisation, Dashboards and Reporting
- Plot construction and customisation for technical output
- Multi-panel and diagnostic plot layouts
- Interactive plots and exploratory visualisation
- Building dashboards for well and field surveillance
- Automated report generation to document and spreadsheet formats
- Scheduling and running workflows on new data
- Designing output that engineers and managers will actually use
Module 11 — Applied Machine Learning for Reservoir Data
- When machine learning is appropriate and when it is not
- Feature engineering from production and completion data
- Regression methods for production and property prediction
- Classification for well categorisation and failure prediction
- Clustering for well grouping and analogue identification
- Time series methods for production forecasting
- Anomaly detection in surveillance data
- Training, validation, overfitting and honest performance assessment
- Interpreting model output and communicating its limitations
Module 12 — Code Quality, Reproducibility and Deployment
- Structuring a project into modules and reusable functions
- Version control basics and collaborative working
- Testing engineering code and validating against known results
- Documentation and docstrings for technical code
- Managing environments and dependencies
- Handing over code to colleagues and long-term maintenance
- Integrating Python workflows with existing spreadsheet-based practice
Upon successful completion of this training course, delegates will be awarded an official Certificate of Completion issued by the Petroleum Engineers Association (PEA), an ISO 9001:2015 certified training organization. The certificate carries 10 Credits and formally records the total learning hours completed.
Each certificate is signed by the Course Facilitator and the CEO of the Petroleum Engineers Association, and serves as verifiable proof of professional training that delegates can present to employers and professional bodies worldwide.
Frequently Asked Questions
All course bookings made through PEA are strictly non-refundable. By registering for a course, you acknowledge and accept that all fees are payable in full and are not subject to refund under any circumstances, including changes in personal or professional commitments or partial attendance.
PEA reserves the right to make reasonable adjustments to course content, trainers, or schedules where necessary, without entitling delegates to a refund. Comprehensive details of each course — including objectives, target audience, and content — are clearly outlined before enrolment, and it is the responsibility of the delegate to ensure the course's suitability prior to booking.
For any inquiries related to cancellations or bookings, please contact our support team, who will be happy to assist you.