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
29 changes: 14 additions & 15 deletions docs/_sources/tccs-13.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ TCCS-13

Here we describe the steps to reproduce the results in:

Landa-Marbán, D., Sandve, T.H., and Gasda, S.E. 2025. A Coarsening Approach to the Troll Aquifer Model. Submitted to SINTEF Proceedings. https://doi.org/10.13140/RG.2.2.24886.41283
* Landa-Marbán, D., Sandve, T.H., and Gasda, S.E. 2025. A Coarsening Approach to the Troll Aquifer Model. Submitted to SINTEF Proceedings. https://doi.org/10.13140/RG.2.2.24886.41283

To this end, the deck `ORIGINAL.DATA <https://github.com/cssr-tools/expreccs/blob/main/tccs-13/ORIGINAL.DATA>`_ has the
same dimensions and number of total cells (12,450,809) as the Troll aquifer model, and the rest of the properties are
Expand All @@ -23,6 +23,13 @@ For the first figures, `plopm <https://github.com/cssr-tools/plopm.git>`_ and `p
pip install git+https://github.com/cssr-tools/plopm.git
pip install git+https://github.com/cssr-tools/pycopm.git

To run the optimization, `Everest <https://github.com/equinor/everest-tutorials>`_ is needed,
which is installed via `ert <https://github.com/equinor/ert>`_ when `pycopm <https://github.com/cssr-tools/pycopm>`_ is installed with the command above.

.. note::

Python 3.14 was not supported for ert at the time this was written, then you need Python 3.12 or 3.13.

The following commands generate Figures 1 and 2 (a few features such as the transmissibilities, wells, and sensor are added using PowerPoint) using
`FIG1.DATA <https://github.com/cssr-tools/expreccs/blob/main/tccs-13/methodology/FIG1.DATA>`_:

Expand All @@ -36,7 +43,7 @@ The following commands generate Figures 1 and 2 (a few features such as the tran
plopm -i FIG1 -v poro -c '#bfebf2' -z 0 -grid 'black,1e0' -y '[5,-1]' -ylnum 5 -xlnum 7 -r 0 -remove 0,0,1,1 -d 24,16 -f 60 -save fig1
plopm -i 'COARSENED_PERMS FIG1 COARSENED_TRANS' -v 'pressure - 0pressure' -subfigs 3,1 -r 1 -z 0 -delax 1 -y '[5,-1]' -cformat .0f -grid 'black,1e0' -cbsfax 0.1,0.95,0.8,0.02 -suptitle 0 -clabel 'Pressure increase [bar]' -cnum 5 -t 'Coarsened (permeabilities) Before coarsening Coarsened (transmissibilities)' -d 24,48 -f 80 -save fig2

For Figs. 3b, 5, 6, and 8, 9, and 10:
For Figs. 3b, 5, 6, and 8, 9, and 10 using ORIGINAL.DATA in the `expreccs/tccs-13/original <https://github.com/cssr-tools/expreccs/blob/main/tccs-13/original/>`_ folder:

.. code-block:: bash

Expand All @@ -53,21 +60,13 @@ For Figs. 3b, 5, 6, and 8, 9, and 10:
plopm -i 'ORIGINAL' -v 'imbnum' -s ',,1:217' -r 0 -translate '[-495000,-6.605e6]' -x '[0,95000]' -xunits km -xlnum 2 -y '[0,160000]' -yunits km -yformat .0f -ylnum 2 -xformat .0f -remove 0,0,1,1 -c '203;203;203' -save fig10a
plopm -i 'ORIGINAL COARSENED' -v 'overpres' -s ',,1:217 ,,1:5' -translate '[-495000,-6.605e6]' -x '[0,95000]' -xunits km -xlnum 2 -y '[0,160000]' -yunits km -yformat .0f -ylnum 2 -xformat .0f -subfigs 1,2 -d 16,12 -cbsfax 0.1,0.95,0.8,0.02 -f 24 -cnum 5 -suptitle 0 -clabel 'Overpressure (p - p$_{lim}$) [bar], t=25 years' -delax 1 -remove 1,0,0,0 -t 'Troll aquifer model Coarsened version' -b '[-126.7,-1.1]' -c cet_diverging_rainbow_bgymr_45_85_c67 -save fig10bc

Figs. 4 and 7 are generated using `ResInsight <https://resinsight.org>`_. To run the optimization, `Everest <https://github.com/equinor/everest>`_ is needed. Since it has been merged to
`ERT <https://github.com/equinor/ert>`_, it seems there are some issues using it via ERT. Then, the walk around is to use the version before merging. One way to get this installed is to
create a new virtual environment (to avoid version conflicts, tested with Python 3.13) and execute:

.. code-block:: bash

pip install ert==11.0.8
pip install git+https://github.com/equinor/everest.git
pip install mako

Once installed, then you could adapt the coarsened generated files in the `coarsened folder <https://github.com/cssr-tools/expreccs/blob/main/tccs-13/coarsened/>`_ to run the optimization:
Figs. 4 and 7 are generated using `ResInsight <https://resinsight.org>`_.

Using the coarsened files from pycopm, you could adapt the exisiting files in the `coarsened folder <https://github.com/cssr-tools/expreccs/blob/main/tccs-13/coarsened/>`_ to run the optimization:

.. code-block:: bash

everest run coarsened.yml
everest run coarsened.yml --skip-prompt

.. note::

Expand All @@ -79,7 +78,7 @@ After the study, to generate Fig. 11, execute the `postprocessing.py file <https

python3 postprocessing.py

Finally, you can look at the improved well locations in the generated figures/optimal_solution folder, and take those locations in the ORGININAL.DATA deck
Finally, you can look at the improved well locations in the generated figures/optimal_solution folder, and take those locations into the ORGININAL.DATA deck
and save it as IMPROVED.DATA, similar to the coarsened version to COARSENED_IMPROVED.DATA, to generate Fig. 12:

.. code-block:: bash
Expand Down
2 changes: 1 addition & 1 deletion docs/searchindex.js

Large diffs are not rendered by default.

27 changes: 14 additions & 13 deletions docs/tccs-13.html
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,9 @@
<section id="tccs-13">
<h1>TCCS-13<a class="headerlink" href="#tccs-13" title="Link to this heading"></a></h1>
<p>Here we describe the steps to reproduce the results in:</p>
<p>Landa-Marbán, D., Sandve, T.H., and Gasda, S.E. 2025. A Coarsening Approach to the Troll Aquifer Model. Submitted to SINTEF Proceedings. <a class="reference external" href="https://doi.org/10.13140/RG.2.2.24886.41283">https://doi.org/10.13140/RG.2.2.24886.41283</a></p>
<ul class="simple">
<li><p>Landa-Marbán, D., Sandve, T.H., and Gasda, S.E. 2025. A Coarsening Approach to the Troll Aquifer Model. Submitted to SINTEF Proceedings. <a class="reference external" href="https://doi.org/10.13140/RG.2.2.24886.41283">https://doi.org/10.13140/RG.2.2.24886.41283</a></p></li>
</ul>
<p>To this end, the deck <a class="reference external" href="https://github.com/cssr-tools/expreccs/blob/main/tccs-13/ORIGINAL.DATA">ORIGINAL.DATA</a> has 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 TCCS-13 paper.
Expand All @@ -99,6 +101,12 @@ <h1>TCCS-13<a class="headerlink" href="#tccs-13" title="Link to this heading">
pip<span class="w"> </span>install<span class="w"> </span>git+https://github.com/cssr-tools/pycopm.git
</pre></div>
</div>
<p>To run the optimization, <a class="reference external" href="https://github.com/equinor/everest-tutorials">Everest</a> is needed,
which is installed via <a class="reference external" href="https://github.com/equinor/ert">ert</a> when <a class="reference external" href="https://github.com/cssr-tools/pycopm">pycopm</a> is installed with the command above.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Python 3.14 was not supported for ert at the time this was written, then you need Python 3.12 or 3.13.</p>
</div>
<p>The following commands generate Figures 1 and 2 (a few features such as the transmissibilities, wells, and sensor are added using PowerPoint) using
<a class="reference external" href="https://github.com/cssr-tools/expreccs/blob/main/tccs-13/methodology/FIG1.DATA">FIG1.DATA</a>:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pycopm<span class="w"> </span>-i<span class="w"> </span>FIG1.DATA<span class="w"> </span>-z<span class="w"> </span><span class="m">1</span>:4<span class="w"> </span>-m<span class="w"> </span>all<span class="w"> </span>-a<span class="w"> </span>max<span class="w"> </span>-w<span class="w"> </span>COARSENED_TRANS<span class="w"> </span>-l<span class="w"> </span>TRANS<span class="w"> </span>-t<span class="w"> </span><span class="m">2</span>
Expand All @@ -110,7 +118,7 @@ <h1>TCCS-13<a class="headerlink" href="#tccs-13" title="Link to this heading">
plopm<span class="w"> </span>-i<span class="w"> </span><span class="s1">&#39;COARSENED_PERMS FIG1 COARSENED_TRANS&#39;</span><span class="w"> </span>-v<span class="w"> </span><span class="s1">&#39;pressure - 0pressure&#39;</span><span class="w"> </span>-subfigs<span class="w"> </span><span class="m">3</span>,1<span class="w"> </span>-r<span class="w"> </span><span class="m">1</span><span class="w"> </span>-z<span class="w"> </span><span class="m">0</span><span class="w"> </span>-delax<span class="w"> </span><span class="m">1</span><span class="w"> </span>-y<span class="w"> </span><span class="s1">&#39;[5,-1]&#39;</span><span class="w"> </span>-cformat<span class="w"> </span>.0f<span class="w"> </span>-grid<span class="w"> </span><span class="s1">&#39;black,1e0&#39;</span><span class="w"> </span>-cbsfax<span class="w"> </span><span class="m">0</span>.1,0.95,0.8,0.02<span class="w"> </span>-suptitle<span class="w"> </span><span class="m">0</span><span class="w"> </span>-clabel<span class="w"> </span><span class="s1">&#39;Pressure increase [bar]&#39;</span><span class="w"> </span>-cnum<span class="w"> </span><span class="m">5</span><span class="w"> </span>-t<span class="w"> </span><span class="s1">&#39;Coarsened (permeabilities) Before coarsening Coarsened (transmissibilities)&#39;</span><span class="w"> </span>-d<span class="w"> </span><span class="m">24</span>,48<span class="w"> </span>-f<span class="w"> </span><span class="m">80</span><span class="w"> </span>-save<span class="w"> </span>fig2
</pre></div>
</div>
<p>For Figs. 3b, 5, 6, and 8, 9, and 10:</p>
<p>For Figs. 3b, 5, 6, and 8, 9, and 10 using ORIGINAL.DATA in the <a class="reference external" href="https://github.com/cssr-tools/expreccs/blob/main/tccs-13/original/">expreccs/tccs-13/original</a> folder:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>flow<span class="w"> </span>ORIGINAL.DATA<span class="w"> </span>--enable-opm-rst-file<span class="o">=</span><span class="nb">true</span><span class="w"> </span>--linear-solver<span class="o">=</span>cpr_trueimpes<span class="w"> </span>--time-step-control<span class="o">=</span>newtoniterationcount<span class="w"> </span>--newton-min-iterations<span class="o">=</span><span class="m">1</span><span class="w"> </span>--tolerance-cnv-relaxed<span class="o">=</span>1e-2<span class="w"> </span>--relaxed-max-pv-fraction<span class="o">=</span><span class="m">0</span>
pycopm<span class="w"> </span>-i<span class="w"> </span>ORIGINAL.DATA<span class="w"> </span>-t<span class="w"> </span><span class="m">2</span><span class="w"> </span>-a<span class="w"> </span>max<span class="w"> </span>-z<span class="w"> </span><span class="m">1</span>:30,31:56,57:111,112:116,117:217<span class="w"> </span>-w<span class="w"> </span>COARSENED<span class="w"> </span>-l<span class="w"> </span>C
flow<span class="w"> </span>COARSENED.DATA<span class="w"> </span>--enable-opm-rst-file<span class="o">=</span><span class="nb">true</span><span class="w"> </span>--linear-solver<span class="o">=</span>cpr_trueimpes<span class="w"> </span>--time-step-control<span class="o">=</span>newtoniterationcount<span class="w"> </span>--newton-min-iterations<span class="o">=</span><span class="m">1</span><span class="w"> </span>--tolerance-cnv-relaxed<span class="o">=</span>1e-2<span class="w"> </span>--relaxed-max-pv-fraction<span class="o">=</span><span class="m">0</span>
Expand All @@ -125,16 +133,9 @@ <h1>TCCS-13<a class="headerlink" href="#tccs-13" title="Link to this heading">
plopm<span class="w"> </span>-i<span class="w"> </span><span class="s1">&#39;ORIGINAL COARSENED&#39;</span><span class="w"> </span>-v<span class="w"> </span><span class="s1">&#39;overpres&#39;</span><span class="w"> </span>-s<span class="w"> </span><span class="s1">&#39;,,1:217 ,,1:5&#39;</span><span class="w"> </span>-translate<span class="w"> </span><span class="s1">&#39;[-495000,-6.605e6]&#39;</span><span class="w"> </span>-x<span class="w"> </span><span class="s1">&#39;[0,95000]&#39;</span><span class="w"> </span>-xunits<span class="w"> </span>km<span class="w"> </span>-xlnum<span class="w"> </span><span class="m">2</span><span class="w"> </span>-y<span class="w"> </span><span class="s1">&#39;[0,160000]&#39;</span><span class="w"> </span>-yunits<span class="w"> </span>km<span class="w"> </span>-yformat<span class="w"> </span>.0f<span class="w"> </span>-ylnum<span class="w"> </span><span class="m">2</span><span class="w"> </span>-xformat<span class="w"> </span>.0f<span class="w"> </span>-subfigs<span class="w"> </span><span class="m">1</span>,2<span class="w"> </span>-d<span class="w"> </span><span class="m">16</span>,12<span class="w"> </span>-cbsfax<span class="w"> </span><span class="m">0</span>.1,0.95,0.8,0.02<span class="w"> </span>-f<span class="w"> </span><span class="m">24</span><span class="w"> </span>-cnum<span class="w"> </span><span class="m">5</span><span class="w"> </span>-suptitle<span class="w"> </span><span class="m">0</span><span class="w"> </span>-clabel<span class="w"> </span><span class="s1">&#39;Overpressure (p - p$_{lim}$) [bar], t=25 years&#39;</span><span class="w"> </span>-delax<span class="w"> </span><span class="m">1</span><span class="w"> </span>-remove<span class="w"> </span><span class="m">1</span>,0,0,0<span class="w"> </span>-t<span class="w"> </span><span class="s1">&#39;Troll aquifer model Coarsened version&#39;</span><span class="w"> </span>-b<span class="w"> </span><span class="s1">&#39;[-126.7,-1.1]&#39;</span><span class="w"> </span>-c<span class="w"> </span>cet_diverging_rainbow_bgymr_45_85_c67<span class="w"> </span>-save<span class="w"> </span>fig10bc
</pre></div>
</div>
<p>Figs. 4 and 7 are generated using <a class="reference external" href="https://resinsight.org">ResInsight</a>. To run the optimization, <a class="reference external" href="https://github.com/equinor/everest">Everest</a> is needed. Since it has been merged to
<a class="reference external" href="https://github.com/equinor/ert">ERT</a>, it seems there are some issues using it via ERT. Then, the walk around is to use the version before merging. One way to get this installed is to
create a new virtual environment (to avoid version conflicts, tested with Python 3.13) and execute:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip<span class="w"> </span>install<span class="w"> </span><span class="nv">ert</span><span class="o">==</span><span class="m">11</span>.0.8
pip<span class="w"> </span>install<span class="w"> </span>git+https://github.com/equinor/everest.git
pip<span class="w"> </span>install<span class="w"> </span>mako
</pre></div>
</div>
<p>Once installed, then you could adapt the coarsened generated files in the <a class="reference external" href="https://github.com/cssr-tools/expreccs/blob/main/tccs-13/coarsened/">coarsened folder</a> to run the optimization:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>everest<span class="w"> </span>run<span class="w"> </span>coarsened.yml
<p>Figs. 4 and 7 are generated using <a class="reference external" href="https://resinsight.org">ResInsight</a>.</p>
<p>Using the coarsened files from pycopm, you could adapt the exisiting files in the <a class="reference external" href="https://github.com/cssr-tools/expreccs/blob/main/tccs-13/coarsened/">coarsened folder</a> to run the optimization:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>everest<span class="w"> </span>run<span class="w"> </span>coarsened.yml<span class="w"> </span>--skip-prompt
</pre></div>
</div>
<div class="admonition note">
Expand All @@ -145,7 +146,7 @@ <h1>TCCS-13<a class="headerlink" href="#tccs-13" title="Link to this heading">
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python3<span class="w"> </span>postprocessing.py
</pre></div>
</div>
<p>Finally, you can look at the improved well locations in the generated figures/optimal_solution folder, and take those locations in the ORGININAL.DATA deck
<p>Finally, you can look at the improved well locations in the generated figures/optimal_solution folder, and take those locations into the ORGININAL.DATA deck
and save it as IMPROVED.DATA, similar to the coarsened version to COARSENED_IMPROVED.DATA, to generate Fig. 12:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>flow<span class="w"> </span>IMPROVED.DATA<span class="w"> </span>--enable-opm-rst-file<span class="o">=</span><span class="nb">true</span><span class="w"> </span>--linear-solver<span class="o">=</span>cpr_trueimpes<span class="w"> </span>--time-step-control<span class="o">=</span>newtoniterationcount<span class="w"> </span>--newton-min-iterations<span class="o">=</span><span class="m">1</span><span class="w"> </span>--tolerance-cnv-relaxed<span class="o">=</span>1e-2<span class="w"> </span>--relaxed-max-pv-fraction<span class="o">=</span><span class="m">0</span>
flow<span class="w"> </span>COARSENED_IMPROVED.DATA<span class="w"> </span>--enable-opm-rst-file<span class="o">=</span><span class="nb">true</span><span class="w"> </span>--linear-solver<span class="o">=</span>cpr_trueimpes<span class="w"> </span>--time-step-control<span class="o">=</span>newtoniterationcount<span class="w"> </span>--newton-min-iterations<span class="o">=</span><span class="m">1</span><span class="w"> </span>--tolerance-cnv-relaxed<span class="o">=</span>1e-2<span class="w"> </span>--relaxed-max-pv-fraction<span class="o">=</span><span class="m">0</span>
Expand Down
Loading