pofff#

An open-source image-based history-matching framework for the FluidFlower benchmark using OPM Flow, ERT, and Everest.

pofff generates FluidFlower simulation models, runs OPM Flow, writes benchmark CSV files, compares simulations with experimental and published results, and supports history matching with ERT and Everest.

Get started

Learn the main simulation, benchmark, and history-matching workflows.

Introduction
Install

Install pofff, OPM Flow, ERT, Everest, and visualization tools.

Installation
Configure a case

Define the grid, thickness, facies, sources, injection schedule, and history-matching settings.

Configuration reference
Follow the tutorial

Run a simulation and add its results to the FluidFlower comparisons.

Tutorial

Quick installation#

Install the current development version:

pip install git+https://github.com/cssr-tools/pofff.git

See Installation for virtual environments, OPM Flow, ERT, Everest, ResInsight, plopm, optional LaTeX support, and installation from source.

Quick start#

Run a FluidFlower simulation and generate benchmark results at 24, 48, and 72 hours:

pofff -i examples/single.toml -o output -t 24,48,72

Generate only the OPM Flow and workflow input files:

pofff -i examples/single.toml -o output -m files -f none

Display the available command-line options:

pofff --help

See Tutorial for a guided simulation and comparison workflow, Examples for focused applications, and Command-line reference for exact syntax, accepted values, defaults, and option compatibility.

What can pofff do?#

Generate FluidFlower models

Create Cartesian, tensor, and corner-point grids with geological facies, thickness maps, sources, observation sensors, and benchmark regions.

Run configurable workflows

Generate input files, run OPM Flow, process benchmark data, and create figures independently or as a connected workflow.

Write and compare benchmark results

Export sparse time-series and dense spatial CSV data, then compare local or external simulations with experimental and published results.

Perform history matching

Run ERT ensemble studies or Everest differential-evolution optimization, then extract and postprocess the best simulation.