Replace months of reservoir simulation with millisecond ML inference.
Given 6 geological and operational parameters, our models predict 22-year oil production, cumulative output, and reservoir pressure with R² > 0.94 across all targets.
The Problem
Reservoir simulators (like OPM Flow) solve complex fluid-flow equations over millions of grid cells. A single 22-year scenario takes minutes-to-hours to run — making real-time decision-making, history matching, and economic optimization impractical.
Our solution: train surrogate models on 200 high-fidelity OPM Flow simulations so that the same prediction takes under 1 second.
Models
Model
Type
Predicts
Best R²
Encoder-Decoder LSTM
Deep learning
Full 22-year time-series (8 variables)
0.991 †
MLP
Deep learning
4 final/peak scalar values
0.996
PINN
Physics-informed NN
4 scalars with Darcy's Law enforced
0.996
Random Forest
Classical ML
4 scalars (most interpretable)
0.988
† Best single-variable R² (FGIT — cumulative gas injection); average R² across all 8 output variables is 0.94.
We used the SPE10 benchmark reservoir model as our base simulation. Across 6 key parameters, we applied Latin Hypercube Sampling to generate 200 diverse scenarios:
Runs 101–150: Chaotic group (simultaneous variation for interaction capture)
Runs 151–200: Geological group (permeability/porosity uncertainty)
Each scenario was simulated in OPM Flow producing 22 years of production data (~800 adaptive time steps per run → 158,742 total rows).
Key Technical Contributions
1. Encoder-Decoder LSTM with sentinel padding
Static reservoir parameters are compressed into a latent "scenario fingerprint" by the Encoder; the Decoder LSTM unrolls it over adaptive time steps. Padded sequences use a −1.0 sentinel with a Keras Masking layer to prevent the LSTM from learning on padded steps.
2. Weighted Huber loss for integral drift
Standard MSE causes cumulative oil (FOPT) to drift because it doesn't enforce that cumulative = ∫ rate. We apply a 1.5× loss weight to FOPT/FGPT to correct this — R²(FOPT) improved from 0.57 to 0.965.
3. Physics-Informed Neural Network
Two reservoir engineering constraints are embedded directly in the training loop via a custom GradientTape:
Violations are penalized with Huber loss (λ = 0.01), achieving 93% physical constraint compliance (56/60 checks passed) on the test set and R²(FOPT) = 0.996.
Results
Target
LSTM R²
MLP R²
PINN R²
RF R²
Oil Rate (FOPR)
0.984
0.984
0.942
0.972
Cumul. Oil (FOPT)
0.965
0.996
0.996
0.988
Reservoir Pressure (FPR)
0.842
0.972
0.960
0.934
Gas Injection Rate (FGIR)
0.947
—
—
—
Cumul. Gas Injection (FGIT)
0.991
—
—
—
Note on LSTM FPR (R² = 0.842): Reservoir pressure exhibits slower convergence in recurrent models due to pressure equilibration dynamics spanning the full 22-year horizon. For pressure-critical predictions, use the MLP (R² = 0.972) or PINN (R² = 0.960) scalar models instead.
LSTM: Predicted vs Actual (3 held-out test scenarios)
LSTM Predicted vs Actual
Authors
Sabayna Ali · Gabe Horas · Morgan Klutzke · Mushahid Raza
Machine Learning 2 — University of Chicago, Spring 2026
Citation
If you use this work, please cite:
BibTeX:
bibtex
1@misc{ali2026reservoir,
2 title = {AI-Driven Reservoir Performance Proxy: Physics-Aware Deep Learning for Surrogate Reservoir Modeling},
3 author = {Ali, Sabayna and Horas, Gabe and Klutzke, Morgan and Raza, Mushahid},
4 year = {2026},
5 publisher = {University of Chicago},
6 note = {ML2 Final Project. Models: \url{https://huggingface.co/mushahid-raza/reservoir-proxy-models}},
7}
Plain text:
Ali, S., Horas, G., Klutzke, M., & Raza, M. (2026).
AI-Driven Reservoir Performance Proxy: Physics-Aware Deep Learning
for Surrogate Reservoir Modeling.
University of Chicago.