============ Installation ============ The following steps work installing the dependencies in Ubuntu via apt-get or in macOS using `brew `_ or `macports `_. While using package managers such as Anaconda, Miniforge, or Mamba might work, these are not tested. The supported Python versions are 3.11 to 3.14. .. note:: In Ubuntu, one also needs to install freeglut3-dev: .. code-block:: bash sudo apt-get install freeglut3-dev .. _vpycopm: Python package -------------- To install the **pycopm** executable from the development version: .. code-block:: bash pip install git+https://github.com/cssr-tools/pycopm.git If you are interested in a specific version (e.g., v2025.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: .. code-block:: console # Clone the repo git clone https://github.com/cssr-tools/pycopm.git # Get inside the folder cd pycopm # For a specific version (e.g., v2025.04), or skip this step (i.e., edge version) git checkout v2025.04 # Create virtual environment (to specific Python, python3.12 -m venv vpycopm) python3 -m venv vpycopm # Activate virtual environment source vpycopm/bin/activate # Upgrade pip, setuptools, and wheel pip install --upgrade pip setuptools wheel # Install the pycopm package pip install -e . # For contributions/testing/linting, install the dev-requirements pip install -r dev-requirements.txt .. tip:: Typing **git tag -l** writes all available specific versions. .. note:: The ert dependency in Python 3.14 and macOS requires building some wheels; then execute the following commands before installing pycopm: .. code-block:: bash brew install openblas hdf5 pkg-config export PKG_CONFIG_PATH="/opt/homebrew/opt/openblas/lib/pkgconfig" .. _opmflow: OPM Flow -------- You also need to install: * OPM Flow (https://opm-project.org, Release 2026.04 or current master branches) Binary packages +++++++++++++++ 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_pycopm_ubuntu.yml `_ script for installation of OPM Flow (binary packages) and the pycopm package in Ubuntu 26.04 and Python 3.14. Source build in Linux/Windows +++++++++++++++++++++++++++++ If you are a Linux user (including the Windows subsystem for Linux, see `this link `_ for a nice tutorial for setting Python environments in WSL), then you could try to build Flow (after installing the `prerequisites `_) from the master branches with mpi support by running in the terminal the following lines (which in turn should build flow in the folder ./build/opm-simulators/bin/flow): .. code-block:: console CURRENT_DIRECTORY="$PWD" mkdir build for repo in common grid simulators do git clone https://github.com/OPM/opm-$repo.git mkdir build/opm-$repo cd build/opm-$repo cmake -DUSE_MPI=1 -DWITH_NDEBUG=1 -DCMAKE_BUILD_TYPE=Release $CURRENT_DIRECTORY/opm-$repo if [[ $repo == simulators ]]; then make -j5 flow else make -j5 opm$repo fi cd ../.. done .. tip:: You can create a .sh file (e.g., build_opm_mpi.sh), copy the previous lines, and run in the terminal **source build_opm_mpi.sh** .. _macOS: Brew formula for macOS ++++++++++++++++++++++ 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 (v2026.07 interim release) by simply typing: .. code-block:: console brew tap cssr-tools/opm brew trust cssr-tools/opm brew install cssr-tools/opm/opm-simulators -y 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. Source build in macOS +++++++++++++++++++++ See `this repository `_ dedicated to build OPM Flow from source in macOS 26 (GitHub actions), and tested with **pycopm**