This repository contains scripts to set up a workflow using Python for the three cases in the SPE11 project. Here we use the OPM-Flow simulator.
You will first need to install
- Flow (https://opm-project.org, Release 2024.10 or current master branches)
To install the pyopmspe11 executable from the development version:
pip install git+https://github.com/OPM/pyopmspe11.git
If you are interested in a specific version (e.g., v2024.04) or in modifying the source code, then you can clone the repository and install the Python requirements in a virtual environment with the following commands:
# Clone the repo
git clone https://github.com/OPM/pyopmspe11.git
# Get inside the folder
cd pyopmspe11
# For a specific version (e.g., v2024.04), or skip this step (i.e., edge version)
git checkout v2024.04
# Create virtual environment (to specific Python, python3.12 -m venv vpyopmspe11)
python3 -m venv vpyopmspe11
# Activate virtual environment
source vpyopmspe11/bin/activate
# Upgrade pip, setuptools, and wheel
pip install --upgrade pip setuptools wheel
# Install the pyopmspe11 package
pip install -e .
# For contributions/testing/linting, install the dev-requirements
pip install -r dev-requirements.txt
See the installation for further details on building OPM Flow from the master branches in Linux, Windows, and macOS, as well as the OPM Python package and LaTeX dependencies.
You can run pyopmspe11 as a single command line:
pyopmspe11 -i configuration_file
Run pyopmspe11 --help
to see all possible command line
argument options. Inside the configuration_file
you provide the path to the flow executable and simulation parameters. See the .txt and .toml files in the examples, benchmark, and tests folders.
See the examples in the documentation.
The pyopmspe11 package is being funded by the HPC Simulation Software for the Gigatonne Storage Challenge project [project number 622059] and Center for Sustainable Subsurface Resources (CSSR) [project no. 331841]. This is work in progress. Here is the link to the SPE11 details. Contributions are more than welcome using the fork and pull request approach. For a new feature, please request this by raising an issue.