Getting started with OPM
We have a Quick Installation guide, showing how to install the opm-core library.
The FPGA setup and building guide explains how to compile and use the bitstream for the FPGA-enabled Flow simulator.
The tutorials section contain some tutorials for programmers using opm-core.
Consult the User's Guide for information on using the wiki software.
Please note that the content of this wiki is in the process of being updated, many parts are not current!
User documentation for selected programs
- Black-oil reservoir simulator Flow:
- CO2 sequestration
- Enhanced oil recovery
- Geothermal flow_onephase_energy
How to contribute
OPM tries to follow a development model which is as open as possible. Therefore, all development happens on github. The process of contributing changes is the following:
- Fork the module for which you want to propose a change on github
- Locally create a new branch of the module's repository which contains your changes
- Push this branch to your personal github fork
- Create a pull request
- To make a pull request (PR) easy to review (and likely to be merged):
- A PR should contain a single feature, preferably with a unit test.
- It should not be too large. If you change lots of lines in lots of files in an automatic refactoring, show the script/commands you used.
- If you change existing code, do not mix feature changes and (large amounts of) pure formatting changes (use a separate PR for that).
- Some more tips on PRs
- After some discussion, one of the module maintainers will either merge your changes, or your changes will be rejected with an explanation why they are a bad idea.
- Often, you will be asked to make some modification to the code in the PR. Do this locally, and push the changes to the same repo and branch that you used for the PR. It will be updated automatically (as a corollary, do not use this branch for unrelated development -- start a new one instead).
We do not at the moment mandate a specific coding standard, but in practice we try to have a homogenous code base, and encourage all contributors to follow certain practices.
These are listed in the Suggested coding standard.
List of module maintainers
The current module maintainers (and their github user names) are:
- opm-common: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska), Arne Morten Kvarving (@akva2), Joakim Hove (@joakim-hove), Markus Blatt (@blattms)
- opm-material: Tor Harald Sandve (@totto82), Atgeirr Rasmussen (@atgeirr)
- opm-grid: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska), Markus Blatt (@blattms) and Robert Klöfkorn (@dr-robertk)
- opm-models: Tor Harald Sandve (@totto82), Atgeirr Rasmussen (@atgeirr)
- opm-simulators: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska) and Robert Klöfkorn (@dr-robertk)
- opm-tests: Alf Birger Rustad (@alfbr), Torbjørn Skille (@tskille) and Bård Skaflestad (@bksa).
- opm-upscaling: Arne Morten Kvarving (@akva2)
- ResInsight: Magne Sjaastad (@magnesj) and Jacob Støren (@JacobStoren)
Information about Jenkins triggers.
Nightly binary packages for Ubuntu and Red Hat
List of available nightly images generated by Jenkins. Note that in order to use the Ubuntu binaries you must add the PPA containing these nightly binaries:
# NOTE: you may need to sudo some of these apt commands! # Add gpg key for repository wget -qO - https://opm-project.org/package/nightly-bionic/repokey.gpg | apt-key add - # Add repo itself apt-add-repository https://opm-project.org/package/nightly-bionic # Look at available nightly versions apt-cache show libopm-simulators1-bin
Static analysis tools
Information about static analysis tools available.
Help for release managers
Data required for output and restarting
Notes on Debian Packages
Viewing ECLIPSE summary files
Resinsight provides a state-of-the art solution for all post-processing of reservoir simulation, including plotting functionality for summary files. Resinsight can be installed from packages or source.
Through lightweight GUI
For those who like to keep clicking at a minimum, a lean plotting tool is found i qsummary. No binaries are available at the moment, so you will need to compile yourself from: https://github.com/OPM/qsummary
A command-line application named summary is distributed with OPM packages, and can be compiled from source in https://github.com/OPM/opm-common It will give you direct access to any summary vectors, which subsequently can be handled through gnuplot, spreadsheet, or whatever you choose.
Through Python script
The script is found in opm-utilities. The script in question is a Python script and some requirements must be satisifed:
- You need the Python packages matplotlib and numpy.
- You must compile/enable ERT Python packages when building ert. Then make sure that the path CMAKE_INSTALL_PREFIX/python is in your PYTHONPATH.
When everything is installed the summaryplot application can be used, it can plot mulitple realisations:
summaryplot WWCT:OP_1 CASE1.DATA CASE2.DATA
The full Norne model is run once a week, and PDF document with all the well results is generated: http://220.127.116.11/plots/