OPM Release 2020.10

Dear OPM Users,

It is my pleasure to announce that the binary packages for the 2020.10 OPM release are now available for RHEL 6, 7, and 8, as well as for Ubuntu 20.04 LTS (code name Focal Fossa) and Ubuntu 18.04 LTS (code name Bionic Beaver).  The Ubuntu packages may be downloaded from the OPM Project’s Personal Package Archive (ppa:opm/ppa).  If you have not already included this in your package sources you can do so with the commands

sudo apt-add-repository ppa:opm/ppa
sudo apt-get update

Then you can install the simulator and its prerequisites using the command

sudo apt install libopm-simulators1-bin

I would like to express my gratitude to the users who provided feedback on our release candidates and to the developers for building the features that go into this release.  At this time there is one known issue relating to extrapolating a SALTVD table outside its domain of definition in simulation runs with BRINE.  We recommend that users take care that SALTVD table data is provided for the entire vertical range of the simulation model geometry.  Additional details concerning this problem are discussed in GitHub Issue #2889.

Best Regards,

Bård Skaflestad

SINTEF Digital, Mathematics & Cybernetics, Computational Geosciences group

Release Manager OPM 2020.10 Release

Release Notes for OPM 2020.10 Release

Since the OPM 2020.04 release in May 2020 we have worked on many aspects of the simulator, with a particular focus on prediction mode abilities and expanding support for user-defined quantities and dynamic actions (ACTIONX keyword). We have also added specialized physics models including Brine and CO2 storage capabilities as well as two experimental accelerators for the linear solvers based on OpenCL and CUDA for GPU calculations.

User-Visible Changes and Highlights,
New Command Line Options and Output Files

  • Add a new output file, CASE.INFOSTEP, that contains per-timestep performance numbers (e.g., number of linear solves, number of linear iterations, setup time)
  • Improve efficiency in loading summary files, especially to support manipulating summary data from Python wrappers. This also includes a new special purpose utility, called “make_lodsmry”, that creates files named “CASE.LODSMRY” which contain the summary vectors collected in the time direction-all values for one vector before all values of another vector.
  • Exclusively use the “flexible” framework for selecting linear solvers, through the new command line option “–linsolver”. We support the preconfigured options “ilu0”, “cpr_trueimpes”, “cpr_quasiimpes”, “cpr” (alias for “cpr_trueimpes”) or “amg”. Advanced users may alternatively select a runtime configuration represented in JSON by passing a filename with the extension “.json”. The default setting is “ilu0”.
  • Use non-strict tolerances only if a small fraction of the total pore-volume violates the strict tolerances. By default the simulator uses a non-strict PV threshold of 0.03 (3%), but this is configurable at runtime with the new option ‘–relaxed-max-pv-fraction’.
  • Add new option ProjectSaturations (–project-saturations) which ensures all saturation values are in the interval [0, 1], including runs that use solvents.

New Simulator Features

  • Initial support for calling simulator step functions from Python language wrappers.
  • Add a new PVT model for CO2 and brine.
  • Support salt-dependent water PVT properties.
  • Add support for using user-defined arguments (UDAs) in WELTARG and GCONPROD requests.
  • Add support for using SOF2 (Family II) with Family I (SGOF/SWOF) keywords in the case of three-phase solvent models.
  • Add support for well-level temperature summary output in thermal simulations (keywords WT[PI]CHEA).
  • Add support for well, group, and field-level summary output of gas-lift injection rates (keywords xGLIR).
  • Add summary output for analytical aquifers (AAQR, AAQT, AAQP).
  • Support counting abandoned producers/injectors in summary vectors [FG]MW[PI]A.
  • Implement FILLEPS. Saturation function scaling endpoints also honour TOLCRIT when output to the CASE.INIT file.
  • Generalise implementation of the FIP keyword and handle summary keywords like RPR__REG.
  • Improved the error messages from the initial parsing.
  • Support for group control targets/prediction mode with guide rates.
    • Includes voidage replacement and reinjection scenarios.
    • Includes support for outputting guiderate values at well and group levels to the summary files (summary keywords WxPGR and GxPGR).
  • Add more logging for the setup phase when processing the .DATA file-including which keywords and their file locations are being processed at any one time. This is to assist the user in narrowing down problems in the input file.
  • Support gas-lift optimisation for standard (non-segmented) wells.
  • Add support for editing transmissibility values in the EDIT section.
  • Add support for handling MULTZ in a pinched-out column of cells when the PINCH multiplier processing mode is ‘ALL’.
  • Guarantee clean shutdown in a parallel simulation run if any process throws an exception.
  • Add support for running Zoltan-based partitioning on a single process only.

Important Bugfixes

  • Fix the default pressure initialization for CT (Carter-Tracey) analytical aquifers.
  • Fix the way we incorporate gravity terms in boundary conditions fluxes.
  • Fix bugs with TRAN keywords in EDIT section.
  • Ensure VTK dataset filenames use relative paths.
  • Bugfixes for MPI.
  • Fixes to the build, especially for the “opm-upscaling” module.
  • Fix a bug in the interaction of TUNING and WSEGITER. This is needed for ECLIPSE-compatible restart.