For TUPREP members

The full list of software developed by TUPREP can be accessed here (members only). Some recent release highlights include:

TUPREP Embed-to-Control Observe (TU-E2CO) v1.0 (2024 Release)

TUPREP releases a software package for constructing a deep-learning-based reservoir surrogate model to handle geological uncertainty. The Embed-to-Control Observe (E2CO) architecture is utilized in this code, and the surrogate is referred to as the “multi-model E2CO”. The surrogate model can used for reservoir performance forecast and robust production optimization (using TU-NLCPO-IX module translated to TensorFlow).

This program is compatible with INTERSECT (IX) and CMG-IMEX simulators. It utilizes a simulator of choice to generate the training data. In the package, we also provide one example using the SPE10 sector model. The supplemental data for the computational example shown in Nguyen and Onur (SPE-220002-MS, 2024) can be found here (note: training data is not uploaded due to the heavy size).

The code is developed by Quang Minh Nguyen (qun972@utulsa.edu).

TUPREP Nonlinearly Constrained Production Optimization Package (TU-NLCPO) v1.3 (2024 Release)

This program is the extension of v1.2, released in 2023. The major improvements include:

  • Individual well rate nonlinear state constraint option.
  • Filter Method in both LS-SQP and TR-SQP, implemented by Ömer Lütfü Toktaş (omt0353@utulsa.edu).

This optimization program is currently only compatible with INTERSECT (IX) reservoir simulator: 

For a CMG-compatible (IMEX and GEM) version of v1.3, some input/output modules will need to be restructured as CMG Report.exe is found to be highly unstable when extracting a lot of information via multiple .rwd files where the individual well rate constraint option is enabled.

The code is developed by Quang Minh Nguyen (qun972@utulsa.edu).

TUPREP Nonlinearly Constrained Production Optimization Package (TU-NLCPO) v1.2 (2023 Release)

This program is the extension of v1.1, released in 2022. The major improvements include:

  • Compatibility with INTERSECT reservoir simulator (IX).
  • Enabled injection bottom-hole pressure (IBHP) nonlinear state constraints for rate-controlled injectors.
  • Second-order correction (SOC) for quadratic programming (QP) subproblem.
  • User-defined random seed number for determinism.

This optimization program is compatible with many different reservoir simulators:

  • For CMG-compatible (IMEX and GEM) version: 
  • For IX-compatible version:

The code is developed by Quang Minh Nguyen (qun972@utulsa.edu).

TU-ILHSOPT v1.0 (2023 Release)

TUPREP releases an optimization package (referred to as TU-ILHSOPT v1.0) using Python programming language for performing minimization/maximization based on a population-based gradient-free optimization method called Iterative Latin Hypercube Sampling (ILHS).

It is a standalone optimizer that can be used to optimize any user-specified objective function, be it a simple test function or a more complicated problem that involves calling an external reservoir simulator. Depending on the fitness function provided by the user, TU-ILHSOPT is designed to accommodate optimization problems where the design variables have the same or different upper and lower bounds.

In the examples provided, a 40-dimensional Rosenbrock function was optimized, as well as two well-placement optimization problems coupled with CMG-GEM from Computer Modeling Group (CMG).

The code is developed by Imaobong Tom (iut6383@utulsa.edu). 

INSIM-BHP v1.0 (2023 Release)

The version referred to as INSIM-BHP-v1.0-2023 is the extension of INSIM-FT-3D-v1.1-2020 to include the following new major features:

  • Addresses the material balance error (MBE) originating from the well control pore volume update formula.
  • Removes the Glimm data-reduction technique from the front tracking method to rectify saturation calculation inaccuracies.
  • The user can match the BHP directly. The ΔBHP of wells in the history matching procedure is removed from the code.
  • Coupled with TU-NLCPO optimization module (written in Python, originally developed by Quang Minh Nguyen) that is capable of managing production optimization problems with nonlinear state constraints. This module facilitates operation of producers under both rate and BHP control during optimization.
  • Integrates time-variant skin to accommodate changing skin conditions.
  • Incorporates well productivity index multipliers as additional history matching parameters.
  • Adds the Fetkovich-type aquifer nodes.
  • Implements a well-control switches for producers in instances of non-physical situations during forward runs, such as BHP falling below atmospheric pressure.
  • Includes six (6) tutorial cases to verify the functionality of the newly added code features.

The code is developed by Ying Li (liy7576@utulsa.edu).


Data Set of the Comparative Study on the Sampling Performance of Ensemble-based methods.

Data set used to compare ensemble-based methods in the paper: “Investigation on the sampling performance of ensemble-based methods” submitted to Computational Geosciences by Alexandre Emerick and Albert Reynolds, 2012.

The objective of this data set is to allow other research groups to reproduce the results in the original paper and to test their own implementations and methods. Besides the true model, the data set includes the results obtained with Markov chain Monte Carlo (MCMC) using a very long Markov chain (20 million proposals). The results from this Markov chain were used as reference distributions to compare the results of the ensemble-based methods.

Download data set (zip file 807 KB)

Note: the file MCMC_results.xls was updated on April 03, 2013 to correct the standard deviation of lnk.

For questions about the data set, please contact Alex Emerick (aemerick@gmail.com)