Skip to content

Commit

Permalink
Merge pull request #10 from daavid00/dev
Browse files Browse the repository at this point in the history
Docs, fixing co2eor, and option to not output cell values
  • Loading branch information
daavid00 authored Oct 31, 2024
2 parents 13895e5 + 3c089e7 commit 153c670
Show file tree
Hide file tree
Showing 124 changed files with 1,430 additions and 1,201 deletions.
18 changes: 16 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,30 @@ in Linux, Windows, and macOS.
## Running pyopmnearwell
You can run _pyopmnearwell_ as a single command line:
```
pyopmnearwell -i some_input.txt -o some_output_folder
pyopmnearwell -i configuration_file.txt
```
Run `pyopmnearwell --help` to see all possible command line
argument options. Inside the `some_input.txt` file you provide the path to the
argument options. Inside the `configuration_file.txt` file you provide the path to the
flow executable and simulation parameters. See the .txt files in the [_examples_](https://github.com/cssr-tools/pyopmnearwell/tree/main/examples),
[_tests/geometries/_](https://github.com/cssr-tools/pyopmnearwell/tree/main/tests/geometries), and [_tests/models/_](https://github.com/cssr-tools/pyopmnearwell/tree/main/tests/models) folders.

## Getting started
See the [_examples_](https://cssr-tools.github.io/pyopmnearwell/examples.html) in the [_documentation_](https://cssr-tools.github.io/pyopmnearwell/introduction.html).

## Citing
If you would like to cite this repository:

* Landa-Marbán, D. and von Schultzendorff, P.M. 2023. Pyopmnearwell: A framework to simulate near well dynamics using OPM Flow. V2023.10. https://doi.org/10.5281/zenodo.10266791.

## Publications
The following is a list of manuscripts in which _pyopmnearwell_ is used:

1. Landa-Marbán, D., Zamani, N., Sandve, T.H., Gasda, S.E., 2024. Impact of Intermittency on Salt Precipitation During CO2 Injection, presented at SPE
Norway Subsurface Conference, Bergen, Norway, April 2024. doi: 10.2118/218477-MS.
1. von Schultzendorff, P., Sandve, T.H., Kane, B., Landa-Marbán, D., Both, J.W., Nordbotten, J.M., 2024. A Machine-Learned Near-Well Model in OPM Flow, presented at ECMOR 2024, European Association of Geoscientists & Engineers, Sep. 2024, pp. 1–23. doi: 10.3997/2214-4609.202437033.
1. Lliguizaca, J.R., Landa-Marbán, D., Gasda, S.E., Sandve, T.H., Alcorn, Z.P., 2024. Data-Driven Predictions of CO2 EOR Numerical Studies Using Machine Learning in an Open-Source Framework, presented at SPE Norway Subsurface Conference, Bergen, Norway, April 2024. doi: 10.2118/218441-MS.
1. Mushabe, R., Minougou, J.D., Landa-Marbán, D., Kane, B., Sandve, T.H., Submitted. Predicting Ultimate Hydrogen Production and Residual Volume during Cyclic Underground Hydrogen Storage in Porous Media using Machine Learning.

## About pyopmnearwell
The pyopmnearwell package is being funded by the [_HPC Simulation Software for the Gigatonne Storage Challenge project_](https://www.norceresearch.no/en/projects/hpc-simulation-software-for-the-gigatonne-storage-challenge) [project number 622059] and [_Center for Sustainable Subsurface Resources (CSSR)_](https://cssr.no)
[project no. 331841].
Expand Down
Binary file modified docs/_images/plopm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/pyopmspe11.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 7 additions & 1 deletion docs/_sources/examples.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,13 @@ The following are some of the plots created by the **pyopmnearwell** executable:
.. figure:: figs/nearwell_saturation.png

Permeability (top), CO2 injection schedule (middle), and saturation values over time on the cells along the well location
at three different locations (bottom).
at three different locations (bottom).

CCUS (machine learning)
-----------------------
See `this folder <https://github.com/cssr-tools/pyopmnearwell/tree/main/examples/cemracs2023/ml_example_co2eor>`_ for an example of
how to use **pyopmnearwell** to generate data for different input parameters (e.g., injection rates) and read the data (e.g.,
production volumes). This example could be used as a starting point for the ones interested in ML.

Publications
------------
Expand Down
18 changes: 9 additions & 9 deletions docs/_sources/installation.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,25 +51,25 @@ in the terminal the following lines (which in turn should build flow in the fold
CURRENT_DIRECTORY="$PWD"
for repo in common grid models simulators
for repo in common grid simulators
do
git clone https://github.com/OPM/opm-$repo.git
done
mkdir build
for repo in common grid models
for repo in common grid
do
mkdir build/opm-$repo
cd build/opm-$repo
cmake -DUSE_MPI=1 -DWITH_NDEBUG=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$CURRENT_DIRECTORY/build/opm-common;$CURRENT_DIRECTORY/build/opm-grid" $CURRENT_DIRECTORY/opm-$repo
cmake -DUSE_MPI=1 -DWITH_NDEBUG=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$CURRENT_DIRECTORY/build/opm-common" $CURRENT_DIRECTORY/opm-$repo
make -j5 opm$repo
cd ../..
done
mkdir build/opm-simulators
cd build/opm-simulators
cmake -DUSE_MPI=1 -DWITH_NDEBUG=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$CURRENT_DIRECTORY/build/opm-common;$CURRENT_DIRECTORY/build/opm-grid;$CURRENT_DIRECTORY/build/opm-models" $CURRENT_DIRECTORY/opm-simulators
cmake -DUSE_MPI=1 -DWITH_NDEBUG=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$CURRENT_DIRECTORY/build/opm-common;$CURRENT_DIRECTORY/build/opm-grid" $CURRENT_DIRECTORY/opm-simulators
make -j5 flow
cd ../..
Expand Down Expand Up @@ -98,7 +98,7 @@ package (see the `prerequisites <https://opm-project.org/?page_id=239>`_, which
./dune-common/bin/dunecontrol --only=dune-$module make -j5
done
for repo in common grid models simulators
for repo in common grid simulators
do
git clone https://github.com/OPM/opm-$repo.git
done
Expand All @@ -107,18 +107,18 @@ package (see the `prerequisites <https://opm-project.org/?page_id=239>`_, which
mkdir build
for repo in common grid models
for repo in common grid
do
mkdir build/opm-$repo
cd build/opm-$repo
cmake -DPYTHON_EXECUTABLE=$(which python) -DWITH_NDEBUG=1 -DUSE_MPI=0 -DOPM_ENABLE_PYTHON=ON -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
make -j5
cmake -DPYTHON_EXECUTABLE=$(which python) -DWITH_NDEBUG=1 -DUSE_MPI=0 -DOPM_ENABLE_PYTHON=ON -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/opm-$repo
make -j5 opm$repo
cd ../..
done
mkdir build/opm-simulators
cd build/opm-simulators
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/build/opm-models" $CURRENT_DIRECTORY/opm-simulators
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-simulators
make -j5 flow
cd ../..
Expand Down
25 changes: 12 additions & 13 deletions docs/_sources/introduction.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@ Introduction
.. image:: ./figs/introduction.gif
:scale: 50%

This documentation describes the content of the **pyopmnearwell** package.
The numerical studies are performed using the
`OPM Flow <https://opm-project.org/?page_id=19>`_ simulator.
This documentation describes the **pyopmnearwell** package hosted in `https://github.com/cssr-tools/pyopmnearwell <https://github.com/cssr-tools/pyopmnearwell>`_.

Concept
-------
Simplified and flexible testing framework for near-well simulations via a
:doc:`configuration file <./configuration_file>`:
:doc:`configuration file <./configuration_file>` using the `OPM Flow simulator <https://opm-project.org/?page_id=19>`_:

- Set the physical model (current ones are co2store, co2eor, h2store, and saltprec).
- Choose a `specific template <https://github.com/cssr-tools/pyopmnearwell/blob/main/src/pyopmnearwell/templates>`_ inside the folder for the chosen physical model.
Expand All @@ -31,18 +29,19 @@ The current implementation supports the following executable with the argument o

.. code-block:: bash
pyopmnearwell -i input.txt -o output -p resdata -g all -z 10 -s log -m co2store
pyopmnearwell -i input.txt -o output -p resdata -c '' -g all -w yes -z 10 -s log -m co2store
where

- \-i: The base name of the :doc:`configuration file <./configuration_file>` ('input.txt' by default).
- \-o: The base name of the :doc:`output folder <./output_folder>` ('output' by default).
- \-p: Using the 'resdata' or 'opm' Python package to generate the figures ('resdata' by default, 'off' to skip the plotting).
- \-c: Compare the results from different output folders (write any name to actiate, '' by default).
- \-g: Run the whole framework ('all'), only run flow ('flow'), or only create plots ('plot') ('all' by default).
- \-z: xlim in meters for the zoomed in plots (20 by default).
- \-s: Scale for the x axis in the figures: 'normal' or 'log' ('normal' by default).
- \-m: Simulated model (5th row in the configuration file). This is used for the plotting compare method (it gets overwritten by the configuration file) ('co2store' by default).
-i The base name of the :doc:`configuration file <./configuration_file>` ('input.txt' by default).
-o The base name of the :doc:`output folder <./output_folder>` ('output' by default).
-p Using the 'resdata' or 'opm' Python package to generate the figures ('resdata' by default, 'off' to skip the plotting).
-c Compare the results from different output folders (write any name to actiate, '' by default).
-g Run the whole framework ('all'), only run flow ('flow'), only write the deck and run flow together in the output folder ('single'), or only create plots ('plot') ('all' by default).
-w Write cell values, i.e., EGRID, INIT, UNRST ('yes' by default).
-z xlim in meters for the zoomed in plots (20 by default).
-s Scale for the x axis in the figures: 'normal' or 'log' ('normal' by default).
-m Simulated model (5th row in the configuration file). This is used for the plotting compare method (it gets overwritten by the configuration file) ('co2store' by default).

.. warning::
The H2CH4 template in the h2store model folder is under development and it is based on an input deck available in
Expand Down
2 changes: 1 addition & 1 deletion docs/_sources/related.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ plopm

.. image:: ./figs/plopm.png

`Quick generation of PNG figures from a simulation model given any 2D slide <https://github.com/cssr-tools/plopm>`_.
`Quick generation of PNGs, GIFs, and VTKs from a OPM Flow type model <https://github.com/cssr-tools/plopm>`_.

********
expreccs
Expand Down
15 changes: 2 additions & 13 deletions docs/_static/basic.css
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
/*
* basic.css
* ~~~~~~~~~
*
* Sphinx stylesheet -- basic theme.
*
* :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/

/* -- main layout ----------------------------------------------------------- */
Expand Down Expand Up @@ -115,15 +108,11 @@ img {
/* -- search page ----------------------------------------------------------- */

ul.search {
margin: 10px 0 0 20px;
padding: 0;
margin-top: 10px;
}

ul.search li {
padding: 5px 0 5px 20px;
background-image: url(file.png);
background-repeat: no-repeat;
background-position: 0 7px;
padding: 5px 0;
}

ul.search li a {
Expand Down
2 changes: 1 addition & 1 deletion docs/_static/css/badge_only.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 153c670

Please sign in to comment.