diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index 022d7af..8da0841 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -9,23 +9,17 @@ on:
jobs:
run-pofff-local:
timeout-minutes: 30
- strategy:
- fail-fast: false
- matrix:
- python-version: ['3.12']
- os: [ubuntu-latest]
-
- runs-on: ${{ matrix.os }}
+ runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- - name: Set up Python ${{ matrix.python-version }}
+ - name: Set up Python 3.12
uses: actions/setup-python@v2
with:
- python-version: ${{ matrix.python-version }}
+ python-version: 3.12
- name: Install Flow Simulator
run: |
@@ -58,7 +52,7 @@ jobs:
- name: Run the tests
run: |
- pytest --cov=pofff --cov-report term-missing tests/
+ pytest -x --cov=pofff --cov-report term-missing tests/
- name: Build documentation
run: |
diff --git a/docs/_images/plopm_xco2l.gif b/docs/_images/plopm_xco2l.gif
new file mode 100644
index 0000000..1ed2dd8
Binary files /dev/null and b/docs/_images/plopm_xco2l.gif differ
diff --git a/docs/_sources/examples.rst.txt b/docs/_sources/examples.rst.txt
index 809d9b7..0be38e9 100644
--- a/docs/_sources/examples.rst.txt
+++ b/docs/_sources/examples.rst.txt
@@ -22,8 +22,7 @@ Adding your results
===================
The `publication © Copyright 2025, NORCE Research AS. © Copyright 2025-2026, NORCE Research AS. © Copyright 2025, NORCE Research AS. © Copyright 2025-2026, NORCE Research AS. © Copyright 2025, NORCE Research AS. © Copyright 2025-2026, NORCE Research AS. © Copyright 2025, NORCE Research AS. © Copyright 2025-2026, NORCE Research AS. The publication folder contains the configuration files used for the results in the
-pofff paper (see publication for details in the steps to reproduce the figures in the paper).
-For example, running inside that folder:About pofff
-
pofff
Configuration file
-
Seek support
-
Hello world
Adding your results
pofff -i results.toml -o YOURS -m single -t 24,48,72,96,120 -f all
To postprocess the data, plopm can be used.
+Tip
+You can install plopm by executing in the terminal:
+pip install git+https://github.com/cssr-tools/plopm.git
+For example, if you run the appendixb.toml configuration file and change the ‘inj’ variable in line 17 to:
+inj=[[8100, 300, 3E-7, 0],
+[10200, 300, 3E-7, 3E-7],
+[3300, 300, 0, 0],
+[64800, 3600, 0, 0],
+[345600, 21600, 0, 0]]
+Then the following GIF is generated by:
+++++pofff -i appendixb.toml -o plopm -m single -c '5e-2' -f none +plopm -v xco2l -i plopm/PLOPM -d 8,2.5 -mask satnum -m gif -dpi 1000 -f 12 -loop 1 -cformat .2f -cbsfax 0.30,0.01,0.4,0.02 -remove 0,0,1,0 -interval 437.5 -maskthr 1e-5 -tunits h +
+See the plopm online docmunetation for additional information of supported flag parameters to generate customized PNGs and GIFs.
+ @@ -164,7 +192,7 @@© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Built with Sphinx using a diff --git a/docs/genindex.html b/docs/genindex.html index e050e07..14c24d8 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -522,7 +522,7 @@© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Built with Sphinx using a diff --git a/docs/installation.html b/docs/installation.html index 30b60e9..4062808 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -49,7 +49,9 @@Note
+There are binary packages for Linux and Windows to install Resinsight, see the ResInsight Documentation. For macOS users, you could try to install it using brew by executing:
+brew install cssr-tools/opm/resinsight
+Then, you should be able to open resinsight by typing in the terminal resinsight.
+To install the pofff executable from the development version:
@@ -125,6 +136,12 @@Typing git tag -l writes all available specific versions.
+Note
+For not macOS users, to install the (optional but recommended) dependencies used for the figure’s LaTeX formatting, execute
+sudo apt-get install texlive-fonts-recommended texlive-fonts-extra dvipng cm-super
+For macOS users, the LaTeX dependency can be installed from https://www.tug.org/mactex/
+OPM Flow (https://opm-project.org, Release 2025.10 or current master branches)
See the downloading and installing OPM Flow online documentation for +instructions to install the binary packages in Ubuntu and Red Hat Enterprise Linux, and for other platforms which are +supported either via source builds or through running a virtual machine.
Tip
See the CI.yml script for installation of OPM Flow (binary packages), LaTeX (optional) libraries, and the pofff package in Ubuntu 24.04 and Python 3.12.
If you are a Linux user (including the Windows subsystem for Linux, see this link @@ -165,25 +188,34 @@
For macOS, there are no available binary packages, so OPM Flow needs to be built from source. Recently, a formula to build flow using brew has +been added in https://github.com/cssr-tools/homebrew-opm. +Then, you can try to install flow (v2025.10) by simply typing:
+brew install cssr-tools/opm/opm-simulators
+You can check if the installation of OPM Flow succeded by typing in the terminal flow --help.
+Tip
+See the actions in the cssr-tools/homebrew-opm repository.
+For macOS, there are no available binary packages, so OPM Flow needs to be built from source, in addition to the dune libraries -(see the prerequisites, which can be installed using macports or brew). For example, -with brew the prerequisites can be installed by:
+If you would like to build the latest OPM Flow from the master branch, then you can first install the prerequisites using brew:
brew install boost cmake openblas suite-sparse python@3.13
In addition, it is recommended to upgrade and update your macOS to the latest available versions (the following steps have worked for macOS Tahoe 26.1 with Apple clang version 17.0.0). -After the prerequisites are installed and the vpofff Python environment is created (see Python package), -then building OPM Flow and the opm Python package can be achieved with the following lines:
+After the prerequisites are installed, then building OPM Flow can be achieved with the following lines:CURRENT_DIRECTORY="$PWD"
-deactivate
-source vpofff/bin/activate
-
for module in common geometry grid istl
-do git clone https://gitlab.dune-project.org/core/dune-$module.git --branch v2.9.1
+do git clone https://gitlab.dune-project.org/core/dune-$module.git
+ cd dune-$module && git checkout v2.10.0 && cd ..
./dune-common/bin/dunecontrol --only=dune-$module cmake -DCMAKE_DISABLE_FIND_PACKAGE_MPI=1
./dune-common/bin/dunecontrol --only=dune-$module make -j5
done
@@ -192,9 +224,8 @@ Source build in Linux/Windowsfor repo in common grid simulators
do git clone https://github.com/OPM/opm-$repo.git
- mkdir build/opm-$repo
- cd build/opm-$repo
- cmake -DWITH_NDEBUG=1 -DUSE_MPI=0 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$CURRENT_DIRECTORY/dune-common/build-cmake;$CURRENT_DIRECTORY/dune-grid/build-cmake;$CURRENT_DIRECTORY/dune-geometry/build-cmake;$CURRENT_DIRECTORY/dune-istl/build-cmake;$CURRENT_DIRECTORY/build/opm-common;$CURRENT_DIRECTORY/build/opm-grid" $CURRENT_DIRECTORY/opm-$repo
+ mkdir build/opm-$repo && cd build/opm-$repo
+ cmake -DUSE_MPI=0 -DWITH_NDEBUG=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$CURRENT_DIRECTORY/dune-common/build-cmake;$CURRENT_DIRECTORY/dune-grid/build-cmake;$CURRENT_DIRECTORY/dune-geometry/build-cmake;$CURRENT_DIRECTORY/dune-istl/build-cmake;$CURRENT_DIRECTORY/build/opm-common;$CURRENT_DIRECTORY/build/opm-grid" $CURRENT_DIRECTORY/opm-$repo
if [[ $repo == simulators ]]; then
make -j5 flow
else
@@ -203,19 +234,16 @@ Source build in Linux/Windows cd ../..
done
-echo "export PATH=\$PATH:$CURRENT_DIRECTORY/build/opm-simulators/bin" >> $CURRENT_DIRECTORY/vpofff/bin/activate
-
-deactivate
-source vpofff/bin/activate
+echo "export PATH=\$PATH:$CURRENT_DIRECTORY/build/opm-simulators/bin" >> ~/.zprofile
+source ~/.zprofile
This builds OPM Flow, and it exports the path to the flow executable (i.e., executing in the terminal which flow should print the path).
+This builds OPM Flow, and it exports the path to the flow executable. You can check if the installation of OPM Flow succeded by typing in the terminal flow --help.
Tip
See this repository dedicated to build OPM Flow from source in the latest macOS (GitHub actions). If you still face problems, raise an issue in the GitHub repository, or you could also send an email to the maintainers.
For macOS, the LaTeX dependency can be installed from https://www.tug.org/mactex/.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Built with Sphinx using a diff --git a/docs/introduction.html b/docs/introduction.html index c9cf60a..cdfc1a6 100644 --- a/docs/introduction.html +++ b/docs/introduction.html @@ -143,7 +143,7 @@© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Built with Sphinx using a diff --git a/docs/pofff.core.pofff.html b/docs/pofff.core.pofff.html index 72fba4f..fdc3663 100644 --- a/docs/pofff.core.pofff.html +++ b/docs/pofff.core.pofff.html @@ -118,7 +118,7 @@© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Built with Sphinx using a diff --git a/docs/pofff.jobs.data.html b/docs/pofff.jobs.data.html index d2ffba6..c072c3d 100644 --- a/docs/pofff.jobs.data.html +++ b/docs/pofff.jobs.data.html @@ -223,7 +223,7 @@© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Built with Sphinx using a diff --git a/docs/pofff.jobs.metric.html b/docs/pofff.jobs.metric.html index ace6e08..d65cd64 100644 --- a/docs/pofff.jobs.metric.html +++ b/docs/pofff.jobs.metric.html @@ -124,7 +124,7 @@© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Built with Sphinx using a diff --git a/docs/pofff.utils.inputvalues.html b/docs/pofff.utils.inputvalues.html index 59fd0e5..6d1e06d 100644 --- a/docs/pofff.utils.inputvalues.html +++ b/docs/pofff.utils.inputvalues.html @@ -125,7 +125,7 @@© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Built with Sphinx using a diff --git a/docs/pofff.visualization.maps.html b/docs/pofff.visualization.maps.html index 0cc4600..48277f3 100644 --- a/docs/pofff.visualization.maps.html +++ b/docs/pofff.visualization.maps.html @@ -151,7 +151,7 @@© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
Tip
You can install pyopmspe11 by executing in the terminal:
@@ -109,19 +109,19 @@mkdir figure4 && cd figure4
-curl -O https://raw.githubusercontent.com/OPM/pyopmspe11/refs/heads/main/benchmark/spe11a/r3_cp_1cmish_capmax2500Pa.txt
-curl -O https://raw.githubusercontent.com/OPM/pyopmspe11/refs/heads/main/benchmark/spe11a/r3_cp_1cmish_capmax2500Pa.txt
-curl -O https://raw.githubusercontent.com/OPM/pyopmspe11/refs/heads/main/benchmark/spe11a/r4_Cart_1mm_capmax2500Pa.txt
-curl -O https://raw.githubusercontent.com/OPM/pyopmspe11/refs/heads/main/benchmark/spe11a/r5_Cart_1mm_capmax2500Pa_strictol.txt
-pyopmspe11 -i r2_Cart_1cm_capmax2500Pa.txt -o r2_Cart_1cm_capmax2500Pa -t 1 -r 280,1,120 -w 0.16666666666666666
-pyopmspe11 -i r3_cp_1cmish_capmax2500Pa.txt -o r3_cp_1cmish_capmax2500Pa -t 1 -r 280,1,120 -w 0.16666666666666666
-pyopmspe11 -i r4_Cart_1mm_capmax2500Pa.txt -o r4_Cart_1mm_capmax2500Pa -t 1 -r 280,1,120 -w 0.16666666666666666
-pyopmspe11 -i r5_Cart_1mm_capmax2500Pa_strictol.txt -o r5_Cart_1mm_capmax2500Pa_strictol -t 1 -r 280,1,120 -w 0.16666666666666666
+curl -O https://raw.githubusercontent.com/OPM/pyopmspe11/refs/heads/main/benchmark/spe11a/r3_cp_1cmish_capmax2500Pa.toml
+curl -O https://raw.githubusercontent.com/OPM/pyopmspe11/refs/heads/main/benchmark/spe11a/r3_cp_1cmish_capmax2500Pa.toml
+curl -O https://raw.githubusercontent.com/OPM/pyopmspe11/refs/heads/main/benchmark/spe11a/r4_Cart_1mm_capmax2500Pa.toml
+curl -O https://raw.githubusercontent.com/OPM/pyopmspe11/refs/heads/main/benchmark/spe11a/r5_Cart_1mm_capmax2500Pa_strictol.toml
+pyopmspe11 -i r2_Cart_1cm_capmax2500Pa.toml -o r2_Cart_1cm_capmax2500Pa -t 1 -r 280,1,120 -w 0.16666666666666666
+pyopmspe11 -i r3_cp_1cmish_capmax2500Pa.toml -o r3_cp_1cmish_capmax2500Pa -t 1 -r 280,1,120 -w 0.16666666666666666
+pyopmspe11 -i r4_Cart_1mm_capmax2500Pa.toml -o r4_Cart_1mm_capmax2500Pa -t 1 -r 280,1,120 -w 0.16666666666666666
+pyopmspe11 -i r5_Cart_1mm_capmax2500Pa_strictol.toml -o r5_Cart_1mm_capmax2500Pa_strictol -t 1 -r 280,1,120 -w 0.16666666666666666
plopm -v xco2l -r 53 -mask satnum -maskthr 7e-5 -i 'r2_Cart_1cm_capmax2500Pa/flow/R2_CART_1CM_CAPMAX2500PA r3_cp_1cmish_capmax2500Pa/flow/R3_CP_1CMISH_CAPMAX2500PA r4_Cart_1mm_capmax2500Pa/flow/R4_CART_1MM_CAPMAX2500PA r5_Cart_1mm_capmax2500Pa_strictol/flow/R5_CART_1MM_CAPMAX2500PA_STRICTOL' -cnum 3 -xlnum 8 -clabel 'OPM results for SPE11A: CO$_2$ mass fraction (liquid phase) after 2 days' -d 16,6.5 -t "(a) Cartesian grid 1cm (b) Corner-point grid 1cmish (c) Cartesian grid 1mm (d) Cartesian grid 1mm stricter tolerances" -yunits cm -xunits cm -yformat .0f -xformat .0f -f 16 -save figure4 -cformat .2e -suptitle 0 -subfigs 2,2 -cbsfax 0.35,0.97,0.3,0.02 -delax 1 -c '#9ca245 #9da347 #9fa44a #a0a64d #a2a750 #a3a953 #a5aa56 #a6ac59 #a8ad5c #a9af5f #abb062 #adb164 #aeb367 #b0b46a #b1b66d #b3b770 #b4b973 #b6ba76 #b7bc79 #b9bd7c #babf7f #bcc082 #bec184 #bfc387 #c1c48a #c2c68d #c4c790 #c5c993 #c7ca96 #c8cc99 #cacd9c #cbcf9f #cdd0a2 #cfd1a4 #d0d3a7 #d2d4aa #d3d6ad #d5d7b0 #d6d9b3 #d8dab6 #d9dcb9 #dbddbc #dcdfbf #dee0c1 #e0e1c4 #e1e3c7 #e3e4ca #e4e6cd #e6e7d0 #e7e9d3 #e9ead6 #eaecd9 #eceddc #edefdf #eff0e1 #f1f1e4 #f2f3e7 #f4f4ea #f5f6ed #f7f7f0 #f8f9f3 #fafaf6 #fbfcf9 #fdfdfc #ffffff #fefbfb #fdf7f7 #fcf3f3 #fbefef #faebeb #f9e7e7 #f8e3e3 #f7e0e0 #f6dcdc #f5d8d8 #f4d4d4 #f3d0d0 #f2cccc #f1c8c8 #f0c5c5 #efc1c1 #eebdbd #edb9b9 #ecb5b5 #ebb1b1 #eaadad #e9aaaa #e8a6a6 #e7a2a2 #e69e9e #e59a9a #e49696 #e39292 #e28f8f #e18b8b #e08787 #df8383 #de7f7f #dd7b7b #dc7777 #db7474 #da7070 #d96c6c #d86868 #d76464 #d66060 #d55c5c #d45959 #d35555 #d25151 #d14d4d #d04949 #cf4545 #ce4141 #cd3e3e #cc3a3a #cb3636 #ca3232 #c92e2e #c82a2a #c72626 #c62323 #c51f1f #c41b1b #c31717 #c21313 #c10f0f #c00b0b'
A similar figure without the need of running the simulations (not showing the sands in the background and using the reporting grid) can be obtained by downloading the SPE11A benchmark data in csv format available at -this website (the submitted benchmark data does not include the r5_Cart_1mm_capmax2500Pa_strictol.txt results):
+this website (the submitted benchmark data does not include the r5_Cart_1mm_capmax2500Pa_strictol.toml results):mkdir figure4 && cd figure4
curl -L -O https://darus.uni-stuttgart.de/api/access/datafile/375719
unzip 375719
@@ -210,7 +210,7 @@ Publication
- © Copyright 2025, NORCE Research AS.
+ © Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.
© Copyright 2025, NORCE Research AS.
+© Copyright 2025-2026, NORCE Research AS.