Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@ jobs:

- name: Check code style and linting
run: |
black --target-version py312 src/ tests/ examples/ --check
pylint src/ tests/ examples/
ruff check src/ tests/ examples/
mypy --ignore-missing-imports src/ tests/ examples/
black --target-version py312 src/ tests/ examples/ publications/ tccs-13/ --check
pylint src/ tests/ examples/ publications/ tccs-13/
ruff check src/ tests/ examples/ publications/ tccs-13/
mypy --ignore-missing-imports src/ tests/ examples/ publications/ tccs-13/

- name: Run the tests
run: |
pytest --cov=expreccs --cov-report term-missing --basetemp=test_outputs --exitfirst tests/
pytest --cov=expreccs --cov-report term-missing --basetemp=test_outputs tests/ --exitfirst

- name: Build documentation
run: |
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,6 @@ presentation
debugging
vexpreccs
workshop
results
cssr
test_outputs

Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ Contributions are more than welcome using the fork and pull request approach
1. Work on your own fork of the main repo
1. In the main repo execute:
1. **pip install -r dev-requirements.txt** (this installs the [_dev-requirements.txt_](https://github.com/cssr-tools/expreccs/blob/main/dev-requirements.txt))
1. **black --target-version py312 src/ tests/** (this formats the code)
1. **pylint src/ tests/** (this analyses the code, and might rise issues that need to be fixed before the pull request)
1. **ruff check src/ tests/ convergence/** (this also analyses the code, and might rise issues that need to be fixed before the pull request)
1. **mypy --ignore-missing-imports src/ tests/** (this is a static checker, and might rise issues that need to be fixed before the pull request)
1. **black --target-version py312 src/ tests/ examples/ publications/ tccs-13/** (this formats the code)
1. **pylint src/ tests/ examples/ publications/ tccs-13/** (this analyses the code, and might rise issues that need to be fixed before the pull request)
1. **ruff check src/ tests/ examples/ publications/ tccs-13/** (this also analyses the code, and might rise issues that need to be fixed before the pull request)
1. **mypy --ignore-missing-imports src/ tests/ examples/ publications/ tccs-13/** (this is a static checker, and might rise issues that need to be fixed before the pull request)
1. **pytest --cov=expreccs --cov-report term-missing tests/ -n auto** (this runs locally the tests, and might rise issues that need to be fixed before the pull request)
1. **pushd docs & make html** (this generates the documentation, and might rise issues that need to be fixed before the pull request; if the build succeeds and if the contribution changes the documentation, then copy all content from the docs/_build/html/ folder and replace the files in the [_docs_](https://github.com/cssr-tools/expreccs/tree/main/docs) folder)
* Tip for Linux users: See the [_CI.yml_](https://github.com/cssr-tools/expreccs/blob/main/.github/workflows/CI.yml) script and the [_Actions_](https://github.com/cssr-tools/expreccs/actions) for installation of expreccs, OPM Flow (binary packages), and dependencies, as well as the execution of the six previous steps in Ubuntu 24.04 using Python 3.12.
Expand Down
8 changes: 4 additions & 4 deletions docs/_sources/contributing.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ Contribute to the software
#. In the main repo execute:

#. **pip install -r dev-requirements.txt** (this installs the `dev-requirements.txt <https://github.com/cssr-tools/expreccs/blob/main/dev-requirements.txt>`_)
#. **black \-\-target-version py312 src/ tests/** (this formats the code)
#. **pylint src/ tests/** (this analyses the code, and might rise issues that need to be fixed before the pull request)
#. **ruff check src/ tests/ convergence/** (this also analyses the code, and might rise issues that need to be fixed before the pull request)
#. **mypy \-\-ignore-missing-imports src/ tests/** (this is a static checker, and might rise issues that need to be fixed before the pull request)
#. **black \-\-target-version py312 src/ tests/ examples/ publications/ tccs-13/** (this formats the code)
#. **pylint src/ tests/ examples/ publications/ tccs-13/** (this analyses the code, and might rise issues that need to be fixed before the pull request)
#. **ruff check src/ tests/ examples/ publications/ tccs-13/** (this also analyses the code, and might rise issues that need to be fixed before the pull request)
#. **mypy \-\-ignore-missing-imports src/ tests/ examples/ publications/ tccs-13/** (this is a static checker, and might rise issues that need to be fixed before the pull request)
#. **pytest \-\-cov=expreccs \-\-cov-report term-missing tests/ -n auto** (this runs locally the tests, and might rise issues that need to be fixed before the pull request)
#. **pushd docs & make html** (this generates the documentation, and might rise issues that need to be fixed before the pull request; if the build succeeds and if the contribution changes the documentation, then copy all content from the docs/_build/html/ folder and replace the files in the `docs <https://github.com/cssr-tools/expreccs/tree/main/docs>`_ folder)

Expand Down
100 changes: 100 additions & 0 deletions docs/_sources/ecmor2026.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
*********
ECMOR2026
*********

Here we describe the steps to reproduce the results in:

* Landa-Marbán, D., Sandve, T.H., and Gasda, S.E. 2026. Improving pressure communication in coarsened aquifer models for CO2 storage via explicit non-net cell treatment. ECMOR 2026 (to appear by first week of September 2026).

To this end, we use mainly bash files, while Python scripts are used for more comprehensive tasks.

The core tools for the preprocessing and postprocessings are `pycopm <https://github.com/cssr-tools/pycopm>`_ and `plopm <https://github.com/cssr-tools/plopm>`_, which can be installed by:

.. code-block:: bash

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

======
Method
======

Run `figure1.sh <https://github.com/cssr-tools/expreccs/blob/main/publications/method/figure1.sh>`_:

.. code-block:: bash

. ./figure1.sh

.. note::

PowerPoint is used to put all together the subfigures and add the colorful connections.

=======
Results
=======

2D synthetic model
------------------

Run `figure2.sh <https://github.com/cssr-tools/expreccs/blob/main/publications/results_2d_synthetic_model/figure2.sh>`_ and `figure3_table1.py <https://github.com/cssr-tools/expreccs/blob/main/publications/results_2d_synthetic_model/figure3_table1.py>`_:

.. code-block:: bash

. ./figure2.sh
python3 figure3_table1.py

.. note::

PowerPoint is used to set the sensor, region, and well in Figure 2.

3D synthetic model
------------------

Run `figure4_table2.py <https://github.com/cssr-tools/expreccs/blob/main/publications/results_3d_synthetic_model/figure4_table2.py>`_:

.. code-block:: bash

python3 figure4_table2.py

.. note::

The graphics in Figure 4 are generated via screenshots using `ParaView <https://resinsight.org>`_.

Troll aqifer model
------------------

To this end, the decks `MODEL.DATA <https://github.com/cssr-tools/expreccs/blob/main/publications/results_troll/results/MODEL.DATA>`_ and
`FILLED_MODEL.DATA <https://github.com/cssr-tools/expreccs/blob/main/publications/results_troll/results/FILLED_MODEL>`_ have the
same dimensions and number of total cells (12,450,809) as the Troll aquifer model, and the rest of the properties are
set to common homogeneous values from literature, while the well locations match the ones described in the ecmor2026 paper.
Then, you could contact the `Norwegian Offshore Directorate <https://www.sodir.no/en/>`_ to get the actual Troll aquifer model,
and adapt those files to the ones in the `results_troll folder <https://github.com/cssr-tools/expreccs/blob/main/publications/results_troll/results>`_.
To get the FILLED_MODEL, using the petrel model provided by the Norwegian Offshore Directorate one can export the non-net cells IDs to FLUXNUM and set those
values to 0, then EQUALREG can be used to assign the PORO and PERMS in the non-net cells (see the `FILLED_MODEL.DATA <https://github.com/cssr-tools/expreccs/blob/main/publications/results_troll/results/FILLED_MODEL>`_).

.. warning::

You should not run the MODEL.DATA and FILLED_MODEL.DATA decks before adapting it with the actual Troll aquifer model, since they have a lot of active cells.

First, we generate the results by creating the dual models and running all simulations (`run_results.sh <https://github.com/cssr-tools/expreccs/blob/main/publications/results_troll/run_results.sh>`_):

.. code-block:: bash

. ./run_results.sh

Then, we can obtained Table 3 (`table3.py <https://github.com/cssr-tools/expreccs/blob/main/publications/results_troll/table3.py>`_):

.. code-block:: bash

python3 table3.py

Finally, we generate figures 5 to 9 (`figure5-9.sh <https://github.com/cssr-tools/expreccs/blob/main/publications/results_troll/figure5-9.sh>`_):

.. code-block:: bash

. ./figure5-9.sh

.. note::

Figures 5c and 5d are generated via screenshots using `ResInsight <https://resinsight.org>`_. PowerPoint is used to set the wells in Figure 7 and to put
together Figure 9 (using the indiviudal generated Figures from plopm (figure9a.png, figure9b.png, and figure9c.png) and using the color bar from to_extract_colorbar_for_figure9.png).
2 changes: 1 addition & 1 deletion docs/_sources/examples.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ Layered model
-------------

The configuration file example2.toml set a more complex geological model with more grid cells (1 417 500). This was used
to generate the animation (using ResInsight) in the :doc:`introduction section <./introduction>` by running
to generate the animation (using `ResInsight <https://resinsight.org>`_) in the :doc:`introduction section <./introduction>` by running

.. code-block:: bash

Expand Down
1 change: 1 addition & 0 deletions docs/_sources/index.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Welcome to the expreccs's documentation!
configuration_file
examples
tccs-13
ecmor2026
api
contributing
output_folder
Expand Down
1 change: 1 addition & 0 deletions docs/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
<li class="toctree-l1"><a class="reference internal" href="configuration_file.html">Configuration file</a></li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="tccs-13.html">TCCS-13</a></li>
<li class="toctree-l1"><a class="reference internal" href="ecmor2026.html">ECMOR2026</a></li>
<li class="toctree-l1"><a class="reference internal" href="api.html">expreccs Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="output_folder.html">Output folder</a></li>
Expand Down
5 changes: 3 additions & 2 deletions docs/api.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="expreccs package" href="expreccs.html" />
<link rel="prev" title="TCCS-13" href="tccs-13.html" />
<link rel="prev" title="ECMOR2026" href="ecmor2026.html" />
</head>

<body class="wy-body-for-nav">
Expand Down Expand Up @@ -50,6 +50,7 @@
<li class="toctree-l1"><a class="reference internal" href="configuration_file.html">Configuration file</a></li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="tccs-13.html">TCCS-13</a></li>
<li class="toctree-l1"><a class="reference internal" href="ecmor2026.html">ECMOR2026</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">expreccs Python API</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#expreccs">expreccs</a><ul>
<li class="toctree-l3"><a class="reference internal" href="expreccs.html">expreccs package</a></li>
Expand Down Expand Up @@ -136,7 +137,7 @@ <h2>expreccs<a class="headerlink" href="#expreccs" title="Link to this heading">
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="tccs-13.html" class="btn btn-neutral float-left" title="TCCS-13" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="ecmor2026.html" class="btn btn-neutral float-left" title="ECMOR2026" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="expreccs.html" class="btn btn-neutral float-right" title="expreccs package" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>

Expand Down
1 change: 1 addition & 0 deletions docs/configuration_file.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="tccs-13.html">TCCS-13</a></li>
<li class="toctree-l1"><a class="reference internal" href="ecmor2026.html">ECMOR2026</a></li>
<li class="toctree-l1"><a class="reference internal" href="api.html">expreccs Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="output_folder.html">Output folder</a></li>
Expand Down
9 changes: 5 additions & 4 deletions docs/contributing.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
<li class="toctree-l1"><a class="reference internal" href="configuration_file.html">Configuration file</a></li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="tccs-13.html">TCCS-13</a></li>
<li class="toctree-l1"><a class="reference internal" href="ecmor2026.html">ECMOR2026</a></li>
<li class="toctree-l1"><a class="reference internal" href="api.html">expreccs Python API</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Contributing</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#ground-rules">Ground Rules</a></li>
Expand Down Expand Up @@ -108,10 +109,10 @@ <h2>Contribute to the software<a class="headerlink" href="#contribute-to-the-sof
<blockquote>
<div><ol class="arabic simple">
<li><p><strong>pip install -r dev-requirements.txt</strong> (this installs the <a class="reference external" href="https://github.com/cssr-tools/expreccs/blob/main/dev-requirements.txt">dev-requirements.txt</a>)</p></li>
<li><p><strong>black --target-version py312 src/ tests/</strong> (this formats the code)</p></li>
<li><p><strong>pylint src/ tests/</strong> (this analyses the code, and might rise issues that need to be fixed before the pull request)</p></li>
<li><p><strong>ruff check src/ tests/ convergence/</strong> (this also analyses the code, and might rise issues that need to be fixed before the pull request)</p></li>
<li><p><strong>mypy --ignore-missing-imports src/ tests/</strong> (this is a static checker, and might rise issues that need to be fixed before the pull request)</p></li>
<li><p><strong>black --target-version py312 src/ tests/ examples/ publications/ tccs-13/</strong> (this formats the code)</p></li>
<li><p><strong>pylint src/ tests/ examples/ publications/ tccs-13/</strong> (this analyses the code, and might rise issues that need to be fixed before the pull request)</p></li>
<li><p><strong>ruff check src/ tests/ examples/ publications/ tccs-13/</strong> (this also analyses the code, and might rise issues that need to be fixed before the pull request)</p></li>
<li><p><strong>mypy --ignore-missing-imports src/ tests/ examples/ publications/ tccs-13/</strong> (this is a static checker, and might rise issues that need to be fixed before the pull request)</p></li>
<li><p><strong>pytest --cov=expreccs --cov-report term-missing tests/ -n auto</strong> (this runs locally the tests, and might rise issues that need to be fixed before the pull request)</p></li>
<li><p><strong>pushd docs &amp; make html</strong> (this generates the documentation, and might rise issues that need to be fixed before the pull request; if the build succeeds and if the contribution changes the documentation, then copy all content from the docs/_build/html/ folder and replace the files in the <a class="reference external" href="https://github.com/cssr-tools/expreccs/tree/main/docs">docs</a> folder)</p></li>
</ol>
Expand Down
Loading
Loading