Main Page

From opm
Revision as of 13:43, 29 March 2022 by Markusblatt (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Developer Information

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).

Coding standard

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)

Jenkins information

Jenkins dashboard.

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 - | apt-key add -
# Add repo itself
# Look at available nightly versions
apt-cache show libopm-simulators1-bin

Static analysis tools

Information about static analysis tools available.

Help for release managers

Notes for managing release 2016.10

Data required for output and restarting

Data for output and restart

Notes on Debian Packages

Debian Packaging Workflow

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:

Through command-line

A command-line application named summary is distributed with OPM packages, and can be compiled from source in 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:

  1. You need the Python packages matplotlib and numpy.
  2. 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:




The full Norne model is run once a week, and PDF document with all the well results is generated: