diff --git a/.github/workflows/ci_pycopm_ubuntu.yml b/.github/workflows/ci_pycopm_ubuntu.yml index 1498209..b3ceb83 100644 --- a/.github/workflows/ci_pycopm_ubuntu.yml +++ b/.github/workflows/ci_pycopm_ubuntu.yml @@ -16,10 +16,10 @@ jobs: with: fetch-depth: 0 - - name: Set up Python 3.11 + - name: Set up Python 3.12 uses: actions/setup-python@v2 with: - python-version: 3.11 + python-version: 3.12 - name: Install Flow Simulator run: | @@ -45,7 +45,7 @@ jobs: - name: Check code style and linting run: | - black --check src/ tests/ + black --target-version py312 --check src/ tests/ pylint src/ tests/ mypy --ignore-missing-imports src/ tests/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4b85d5b..584daf4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,13 +13,13 @@ 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/pycopm/blob/main/dev-requirements.txt)) - 1. **black src/ tests/** (this formats the code) + 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. **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. **pytest --cov=pycopm --cov-report term-missing tests/** (this runs locally the tests, and might rise issues that need to be fixed before the pull request) 1. **pycopm -i examples/decks/HELLO_WORLD.DATA -c 5,5,1 -m all -o output** (this runs the hello world example, which succeeds if the file output/HELLO_WORLD_PYCOPM.EGRID is created) 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/pycopm/tree/main/docs) folder) - * Tip for Linux users: See the [_ci_pycopm_ubuntu.yml_](https://github.com/cssr-tools/pycopm/blob/main/.github/workflows/ci_pycopm_ubuntu.yml) script and the [_Actions_](https://github.com/cssr-tools/pycopm/actions) for installation of pycopm, OPM Flow (binary packages), and dependencies, as well as the execution of the seven previous steps in Ubuntu 24.04 using Python 3.11. + * Tip for Linux users: See the [_ci_pycopm_ubuntu.yml_](https://github.com/cssr-tools/pycopm/blob/main/.github/workflows/ci_pycopm_ubuntu.yml) script and the [_Actions_](https://github.com/cssr-tools/pycopm/actions) for installation of pycopm, OPM Flow (binary packages), and dependencies, as well as the execution of the seven previous steps in Ubuntu 24.04 using Python 3.12. * Tip for macOS users: See the [_ci_pycopm_macos_.yml_](https://github.com/daavid00/OPM-Flow_macOS/blob/main/.github/workflows/ci_pycopm_macos.yml) script and the [_OPM-Flow_macOS Actions_](https://github.com/cssr-tools/pycopm/actions) for installation of pycopm, OPM Flow (source build), and dependencies, as well as running the tests and the hello world example in macOS 26 using Python3.13. Note that if you do not add the directory containing the OPM Flow executable to your system's PATH environment variable (e.g., export PATH=$PATH:/Users/yourname/pycopm/build/opm-simulators/bin), then you can pass this in the execution of the tests and pycopm using the flags **-f/--flow** (see [_ci_pycopm_macos.yml_](https://github.com/daavid00/OPM-Flow_macOS/blob/main/.github/workflows/ci_pycopm_macos.yml#L76)). 1. Squash your commits into a single commit (see this [_nice tutorial_](https://gist.github.com/lpranam/4ae996b0a4bc37448dc80356efbca7fa) if you are not familiar with this) 1. Push your commit and make a pull request diff --git a/docs/_sources/contributing.rst.txt b/docs/_sources/contributing.rst.txt index 86ac49a..1b7f9fd 100644 --- a/docs/_sources/contributing.rst.txt +++ b/docs/_sources/contributing.rst.txt @@ -22,7 +22,7 @@ Contribute to the software #. In the main repo execute: #. **pip install -r dev-requirements.txt** (this installs the `dev-requirements.txt `_) - #. **black src/ tests/** (this formats the code) + #. **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) #. **mypy --ignore-missing-imports src/ tests/** (this is a static checker, and might rise issues that need to be fixed before the pull request) #. **pytest --cov=pycopm --cov-report term-missing tests/** (this runs locally the tests, and might rise issues that need to be fixed before the pull request) @@ -30,7 +30,7 @@ Contribute to the software #. **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 `_ folder) .. tip:: - See the `ci_pycopm_ubuntu.yml `_ script and the `Actions `_ for installation of pycopm, OPM Flow (binary packages), and dependencies, as well as the execution of the seven previous steps in Ubuntu 24.04 using Python 3.11. + See the `ci_pycopm_ubuntu.yml `_ script and the `Actions `_ for installation of pycopm, OPM Flow (binary packages), and dependencies, as well as the execution of the seven previous steps in Ubuntu 24.04 using Python 3.12. For macOS users, see the `ci_pycopm_macos.yml `_ script and the `OPM-Flow_macOS Actions `_ for installation of pycopm, OPM Flow (source build), and dependencies, as well as running the tests and the hello world example in macOS 26 using Python3.13. Note that if you do not add the directory containing the OPM Flow executable to your system's PATH environment variable (e.g., export PATH=$PATH:/Users/yourname/pycopm/build/opm-simulators/bin), then you can pass this in the execution of the tests and pycopm using the flags **-f/--flow** (see `this script `_). diff --git a/docs/_sources/installation.rst.txt b/docs/_sources/installation.rst.txt index e6b91cc..b383fd0 100644 --- a/docs/_sources/installation.rst.txt +++ b/docs/_sources/installation.rst.txt @@ -88,7 +88,7 @@ in the terminal the following lines (which in turn should build flow in the fold 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 -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 $CURRENT_DIRECTORY/opm-$repo if [[ $repo == simulators ]]; then make -j5 flow else @@ -108,7 +108,7 @@ 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 (v2025.10) by simply typing: +Then, you can try to install flow (v2026.02) by simply typing: .. code-block:: console @@ -121,46 +121,4 @@ You can check if the installation of OPM Flow succeded by typing in the terminal Source build in macOS +++++++++++++++++++++ -If you would like to build the latest OPM Flow from the master branch, then you can first install the prerequisites using brew: - -.. code-block:: console - - brew install cjson boost openblas suite-sparse python@3.13 cmake - -In addition, it is recommended to uprade and update your macOS to the latest available versions (the following steps have -worked for macOS Tahoe 26.2.0 with Apple clang version 17.0.0). After the prerequisites are installed, then building OPM Flow -can be achieved with the following bash lines: - -.. code-block:: console - - CURRENT_DIRECTORY="$PWD" - - for module in common geometry grid istl - do git clone https://gitlab.dune-project.org/core/dune-$module.git - cd dune-$module && git checkout v2.10.0 && cd .. - ./dune-common/bin/dunecontrol --only=dune-$module cmake -DCMAKE_DISABLE_FIND_PACKAGE_MPI=1 - ./dune-common/bin/dunecontrol --only=dune-$module make -j5 - done - - 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=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-$repo - if [[ $repo == simulators ]]; then - make -j5 flow - else - make -j5 opm$repo - fi - cd ../.. - done - - echo "export PATH=\$PATH:$CURRENT_DIRECTORY/build/opm-simulators/bin" >> ~/.zprofile - source ~/.zprofile - -This builds OPM Flow, and it exports the path to the flow executable. - -.. tip:: - See `this repository `_ dedicated to build OPM Flow from source in the latest macOS (GitHub actions), and tested with **pycopm**. - If you still face problems, raise an issue in the GitHub repository, or you could also send an email to the maintainers. +See `this repository `_ dedicated to build OPM Flow from source in the latest macOS (GitHub actions), and tested with **pycopm** diff --git a/docs/contributing.html b/docs/contributing.html index 988ec66..19b5823 100644 --- a/docs/contributing.html +++ b/docs/contributing.html @@ -108,7 +108,7 @@

Contribute to the software
  • pip install -r dev-requirements.txt (this installs the dev-requirements.txt)

  • -
  • black src/ tests/ (this formats the code)

  • +
  • 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)

  • mypy –ignore-missing-imports src/ tests/ (this is a static checker, and might rise issues that need to be fixed before the pull request)

  • pytest –cov=pycopm –cov-report term-missing tests/ (this runs locally the tests, and might rise issues that need to be fixed before the pull request)

  • @@ -117,7 +117,7 @@

    Contribute to the software

    Tip

    -

    See the ci_pycopm_ubuntu.yml script and the Actions for installation of pycopm, OPM Flow (binary packages), and dependencies, as well as the execution of the seven previous steps in Ubuntu 24.04 using Python 3.11. +

    See the ci_pycopm_ubuntu.yml script and the Actions for installation of pycopm, OPM Flow (binary packages), and dependencies, as well as the execution of the seven previous steps in Ubuntu 24.04 using Python 3.12. For macOS users, see the ci_pycopm_macos.yml script and the OPM-Flow_macOS Actions for installation of pycopm, OPM Flow (source build), and dependencies, as well as running the tests and the hello world example in macOS 26 using Python3.13. Note that if you do not add the directory containing the OPM Flow executable to your system’s PATH environment variable (e.g., export PATH=$PATH:/Users/yourname/pycopm/build/opm-simulators/bin), then you can pass this in the execution of the tests and pycopm using the flags -f/–flow (see this script).

    diff --git a/docs/installation.html b/docs/installation.html index 071956a..67fbadb 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -165,7 +165,7 @@

    Source build in Linux/Windowsdo 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 -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 $CURRENT_DIRECTORY/opm-$repo if [[ $repo == simulators ]]; then make -j5 flow else @@ -184,7 +184,7 @@

    Source build in Linux/Windows

    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 (v2025.10) by simply typing:

    +Then, you can try to install flow (v2026.02) by simply typing:

    brew install cssr-tools/opm/opm-simulators
     
    @@ -196,46 +196,7 @@

    Source build in Linux/Windows

    Source build in macOS

    -

    If you would like to build the latest OPM Flow from the master branch, then you can first install the prerequisites using brew:

    -
    brew install cjson boost openblas suite-sparse python@3.13 cmake
    -
    -
    -

    In addition, it is recommended to uprade and update your macOS to the latest available versions (the following steps have -worked for macOS Tahoe 26.2.0 with Apple clang version 17.0.0). After the prerequisites are installed, then building OPM Flow -can be achieved with the following bash lines:

    -
    CURRENT_DIRECTORY="$PWD"
    -
    -for module in common geometry grid istl
    -do  git clone https://gitlab.dune-project.org/core/dune-$module.git
    -    cd dune-$module && git checkout v2.10.0 && cd ..
    -    ./dune-common/bin/dunecontrol --only=dune-$module cmake -DCMAKE_DISABLE_FIND_PACKAGE_MPI=1
    -    ./dune-common/bin/dunecontrol --only=dune-$module make -j5
    -done
    -
    -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=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-$repo
    -    if [[ $repo == simulators ]]; then
    -        make -j5 flow
    -    else
    -        make -j5 opm$repo
    -    fi
    -    cd ../..
    -done
    -
    -echo "export PATH=\$PATH:$CURRENT_DIRECTORY/build/opm-simulators/bin" >> ~/.zprofile
    -source ~/.zprofile
    -
    -
    -

    This builds OPM Flow, and it exports the path to the flow executable.

    -
    -

    Tip

    -

    See this repository dedicated to build OPM Flow from source in the latest macOS (GitHub actions), and tested with pycopm. -If you still face problems, raise an issue in the GitHub repository, or you could also send an email to the maintainers.

    -
    +

    See this repository dedicated to build OPM Flow from source in the latest macOS (GitHub actions), and tested with pycopm

    diff --git a/docs/searchindex.js b/docs/searchindex.js index 059e4aa..59b0d91 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles":{"About pycopm":[[0,null]],"Binary packages":[[6,"binary-packages"]],"Brew formula for macOS":[[6,"brew-formula-for-macos"]],"Concept":[[7,"concept"]],"Configuration file":[[2,null]],"Contribute to the software":[[3,"contribute-to-the-software"]],"Contributing":[[3,null]],"Drogon":[[4,"drogon"]],"Dual coarsening":[[4,"dual-coarsening"]],"Examples":[[4,null]],"Graphical abstract":[[4,"graphical-abstract"]],"Grid coarsening":[[23,"grid-coarsening"]],"Grid refinement":[[23,"grid-refinement"]],"Ground Rules":[[3,"ground-rules"]],"Hello world":[[4,"hello-world"]],"Indices and tables":[[5,"indices-and-tables"]],"Installation":[[6,null]],"Introduction":[[7,null]],"Module contents":[[10,"module-pycopm"],[11,"module-pycopm.core"],[13,"module-pycopm.utils"]],"Norne":[[4,"norne"]],"OPM Flow":[[6,"opm-flow"]],"Output folder":[[9,null]],"Overview":[[7,"overview"]],"Python package":[[6,"python-package"]],"Related":[[22,null]],"Report issues or problems":[[3,"report-issues-or-problems"]],"Roadmap":[[7,"roadmap"]],"SPE10":[[4,"spe10"]],"Seek support":[[3,"seek-support"]],"Smeaheia":[[4,"smeaheia"]],"Source build in Linux/Windows":[[6,"source-build-in-linux-windows"]],"Source build in macOS":[[6,"source-build-in-macos"]],"Submodels":[[23,"submodels"]],"Submodules":[[11,"submodules"],[13,"submodules"]],"Subpackages":[[10,"subpackages"]],"Theory":[[23,null]],"Transformations":[[23,"transformations"]],"Via OPM Flow decks":[[4,"via-opm-flow-decks"]],"Via an OPM Flow input deck":[[9,"via-an-opm-flow-input-deck"]],"Via configuration files":[[4,"via-configuration-files"],[9,"via-configuration-files"]],"Welcome to pycopm\u2019s documentation!":[[5,null]],"ad-micp":[[22,"ad-micp"]],"expreccs":[[22,"expreccs"]],"plopm":[[22,"plopm"]],"pofff":[[22,"pofff"]],"pycopm":[[1,"pycopm"],[8,null]],"pycopm Python API":[[1,null]],"pycopm package":[[10,null]],"pycopm.core package":[[11,null]],"pycopm.core.pycopm module":[[12,null]],"pycopm.utils package":[[13,null]],"pycopm.utils.files_writer module":[[14,null]],"pycopm.utils.generate_files module":[[15,null]],"pycopm.utils.grid_builder module":[[16,null]],"pycopm.utils.input_values module":[[17,null]],"pycopm.utils.mapping_methods module":[[18,null]],"pycopm.utils.parser_deck module":[[19,null]],"pycopm.utils.properties_builder module":[[20,null]],"pycopm.utils.runs_executer module":[[21,null]],"pymm":[[22,"pymm"]],"pyopmnearwell":[[22,"pyopmnearwell"]],"pyopmspe11":[[22,"pyopmspe11"]]},"docnames":["about","api","configuration_file","contributing","examples","index","installation","introduction","modules","output_folder","pycopm","pycopm.core","pycopm.core.pycopm","pycopm.utils","pycopm.utils.files_writer","pycopm.utils.generate_files","pycopm.utils.grid_builder","pycopm.utils.input_values","pycopm.utils.mapping_methods","pycopm.utils.parser_deck","pycopm.utils.properties_builder","pycopm.utils.runs_executer","related","theory"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["about.rst","api.rst","configuration_file.rst","contributing.rst","examples.rst","index.rst","installation.rst","introduction.rst","modules.rst","output_folder.rst","pycopm.rst","pycopm.core.rst","pycopm.core.pycopm.rst","pycopm.utils.rst","pycopm.utils.files_writer.rst","pycopm.utils.generate_files.rst","pycopm.utils.grid_builder.rst","pycopm.utils.input_values.rst","pycopm.utils.mapping_methods.rst","pycopm.utils.parser_deck.rst","pycopm.utils.properties_builder.rst","pycopm.utils.runs_executer.rst","related.rst","theory.rst"],"indexentries":{},"objects":{"":[[10,0,0,"-","pycopm"]],"pycopm":[[11,0,0,"-","core"],[13,0,0,"-","utils"]],"pycopm.core":[[12,0,0,"-","pycopm"]],"pycopm.core.pycopm":[[12,1,1,"","check_cmdargs"],[12,1,1,"","load_parser"],[12,1,1,"","main"],[12,1,1,"","pycopm"]],"pycopm.utils":[[14,0,0,"-","files_writer"],[15,0,0,"-","generate_files"],[16,0,0,"-","grid_builder"],[17,0,0,"-","input_values"],[18,0,0,"-","mapping_methods"],[19,0,0,"-","parser_deck"],[20,0,0,"-","properties_builder"],[21,0,0,"-","runs_executer"]],"pycopm.utils.files_writer":[[14,1,1,"","coarser_files"],[14,1,1,"","ert_files"],[14,1,1,"","grid_features"],[14,1,1,"","opm_properties"],[14,1,1,"","write_let_tables"]],"pycopm.utils.generate_files":[[15,1,1,"","bool_mult"],[15,1,1,"","check_mult"],[15,1,1,"","compact_format"],[15,1,1,"","compact_perm"],[15,1,1,"","create_deck"],[15,1,1,"","handle_nnc_trans"],[15,1,1,"","initialize_variables"],[15,1,1,"","search_file"],[15,1,1,"","write_grid"],[15,1,1,"","write_props"]],"pycopm.utils.grid_builder":[[16,1,1,"","coarser_grid"],[16,1,1,"","handle_face_dir_im"],[16,1,1,"","handle_face_dir_ip"],[16,1,1,"","handle_face_dir_jm"],[16,1,1,"","handle_face_dir_jp"],[16,1,1,"","handle_faults"]],"pycopm.utils.input_values":[[17,1,1,"","check_flow"],[17,1,1,"","initialize_values"],[17,1,1,"","process_input"],[17,1,1,"","read_reference"]],"pycopm.utils.mapping_methods":[[18,1,1,"","add_pv_bc"],[18,1,1,"","chop_grid"],[18,1,1,"","coarsening_dir"],[18,1,1,"","find_neighbors"],[18,1,1,"","get_ijk"],[18,1,1,"","handle_clusters"],[18,1,1,"","handle_cp_grid"],[18,1,1,"","handle_dual"],[18,1,1,"","handle_pv"],[18,1,1,"","handle_refinement"],[18,1,1,"","handle_vicinity"],[18,1,1,"","handle_zcorn"],[18,1,1,"","map_ijk"],[18,1,1,"","map_properties"],[18,1,1,"","map_vicinity"],[18,1,1,"","refine_grid"],[18,1,1,"","transform_grid"]],"pycopm.utils.parser_deck":[[19,1,1,"","get_wells_for_vicinity"],[19,1,1,"","handle_aquancon"],[19,1,1,"","handle_aqucon"],[19,1,1,"","handle_aqunum"],[19,1,1,"","handle_bccon"],[19,1,1,"","handle_bwpr"],[19,1,1,"","handle_compsegs"],[19,1,1,"","handle_dimens"],[19,1,1,"","handle_editnnc"],[19,1,1,"","handle_equil"],[19,1,1,"","handle_fault"],[19,1,1,"","handle_grid_props"],[19,1,1,"","handle_mapaxes"],[19,1,1,"","handle_multflt"],[19,1,1,"","handle_multiply"],[19,1,1,"","handle_multregt"],[19,1,1,"","handle_oper"],[19,1,1,"","handle_pinch"],[19,1,1,"","handle_props"],[19,1,1,"","handle_regions"],[19,1,1,"","handle_schedule"],[19,1,1,"","handle_schedulekw"],[19,1,1,"","handle_segmented_wells"],[19,1,1,"","handle_source"],[19,1,1,"","handle_welldims"],[19,1,1,"","handle_wells"],[19,1,1,"","handle_welsegs"],[19,1,1,"","names_segwells"],[19,1,1,"","names_wells"],[19,1,1,"","process_the_deck"],[19,1,1,"","write_explicit"]],"pycopm.utils.properties_builder":[[20,1,1,"","add_lost_pv_to_all_cells"],[20,1,1,"","add_lost_pv_to_all_eq_cells"],[20,1,1,"","add_lost_pv_to_all_fip_cells"],[20,1,1,"","add_lost_pv_to_boundary_cells"],[20,1,1,"","coarser_properties"],[20,1,1,"","identify_removed_pilars"],[20,1,1,"","identify_removed_pilars_zdir"],[20,1,1,"","initialize_properties"]],"pycopm.utils.runs_executer":[[21,1,1,"","plotting"],[21,1,1,"","simulations"]]},"objnames":{"0":["py","module","Python module"],"1":["py","function","Python function"]},"objtypes":{"0":"py:module","1":"py:function"},"terms":{"":[2,3,4,7,18,23],"0":[2,4,6,7,23],"01":[2,4],"02":4,"03":2,"04":[3,6],"0f":4,"0pressur":4,"1":[2,3,4,6,7,23],"10":[4,6,7,23],"100":2,"100000":2,"11":[3,4,6,23],"12":[4,6],"128":4,"13":[3,6,7],"14":[4,6],"16":4,"17":6,"18":23,"1e":4,"1f":4,"2":[2,4,6,7,23],"20":4,"2000":4,"2005":2,"2019":23,"2022":2,"2025":6,"24":3,"243":4,"25":[4,23],"26":[3,6],"2d":23,"2e":4,"2f":4,"2xyz":4,"3":[2,3,4,6,7,23],"30":[4,7,23],"300":4,"31":4,"331841":0,"336294":0,"35":[4,23],"351":4,"3h":23,"3xz":4,"4":[4,7,23],"40":23,"41":4,"45":[4,7,23],"463284":4,"463739":4,"464401":4,"464872":4,"5":[2,3,4,7,23],"50":23,"58":4,"5931508":4,"5932123":4,"5932209":4,"5932862":4,"6":[4,7],"60":23,"600":2,"65":23,"7":[2,7],"75":23,"8":[2,4],"8859":7,"9":2,"90":23,"95":4,"A":[2,22,23],"As":[4,7,9,23],"By":[2,4],"For":[0,2,3,4,6,9,23],"If":[2,4,6,23],"In":[3,4,6,7,23],"It":4,"One":23,"The":[0,1,2,3,4,6,7,9,23],"Then":[2,4,6,9,23],"There":4,"These":[4,23],"To":[2,4,6,23],"_":23,"_build":3,"_pycopm":7,"abl":4,"about":[3,4,5,23],"abov":[4,23],"abstract":5,"accept":3,"accordingli":23,"account":2,"accuraci":23,"achiev":[2,4,6,23],"across":[4,23],"action":[3,6],"activ":[2,4,6,7,18,20,23],"actnum":[7,18],"actual":4,"ad":[2,4,5,6,7,23],"adapt":[7,9],"add":[2,3,4,7,18,19],"add_lost_pv_to_all_cel":[10,13,20],"add_lost_pv_to_all_eq_cel":[10,13,20],"add_lost_pv_to_all_fip_cel":[10,13,20],"add_lost_pv_to_boundary_cel":[10,13,20],"add_pv_bc":[10,13,18],"addiiton":23,"addit":[2,4,6,23],"adjust":7,"adopt":23,"affin":23,"after":[1,2,4,6,9,23],"al":2,"align":23,"all":[2,3,4,6,7,9,18,20,23],"allow":[2,4,7,23],"along":[7,23],"also":[3,4,6,7,19,23],"altern":[3,7],"among":23,"an":[0,2,3,4,5,6,7,22,23],"anaconda":6,"analys":3,"ani":[2,3,23],"answer":3,"api":5,"appear":9,"appl":6,"appli":[4,7,23],"applic":[4,7,9,23],"apporach":4,"approach":[0,2,3,4,7,9,23],"appropri":23,"aproach":4,"apt":6,"aquancon":19,"aquif":19,"ar":[0,1,2,3,4,6,7,9,22,23],"area":23,"arg":[12,14,15,16,17,18,19,20,21],"argument":[2,7,12,18],"arithmet":[7,23],"armon":[7,23],"around":[4,7,23],"arrai":[2,7,18,20,23],"assign":[7,23],"assum":4,"assur":23,"avail":[4,6,7],"averag":[7,23],"avoid":[4,7,15],"axi":7,"azurewebsit":4,"back":2,"bar":4,"base":[1,7,22,23],"bash":6,"bc0407_hist01122006":4,"bccon":19,"been":[6,7,23],"befor":[2,3,7],"being":0,"below":[7,22,23],"benchmark":22,"better":[4,23],"between":[4,7,23],"bin":[2,3,6,7],"binari":[3,4,5,7],"black":[3,4],"block":[19,20],"bool_mult":[10,13,15],"boost":6,"both":23,"bottom":[4,18],"boundari":[2,4,7,20,23],"box":[7,23],"branch":6,"break":23,"brew":[4,5],"build":[2,3,5,7],"build_opm_mpi":6,"built":[4,6,7],"c":[3,4,7,23],"c1":4,"c2":4,"ca":4,"calcit":22,"call":[1,2,9,15],"can":[2,3,4,6,7,9,15,23],"cannot":23,"capillari":23,"care":23,"cartesian":23,"case":[1,4,23],"cbsfax":4,"cd":[4,6],"cell":[2,4,7,16,17,18,20,23],"cell_index":16,"center":[0,4,18],"certain":4,"cet_rainbow_bgyrm_35_85_c69":4,"cfd":22,"cformat":4,"chang":[2,3],"character":23,"check":[6,12,15,17,22],"check_cmdarg":[10,11,12],"check_flow":[10,13,17],"check_mult":[10,13,15],"checker":3,"checkout":6,"chop_grid":[10,13,18],"ci_pycopm_maco":3,"ci_pycopm_ubuntu":[3,6],"cjson":6,"clabel":4,"clang":6,"clone":[4,6],"closest":[4,7],"clusmax":18,"clusmin":18,"cluster":[18,23],"cmake":6,"cmdarg":12,"co2":[0,22],"coars":[2,4,7,16,20,23],"coarsen":[1,2,5,7,9,16,18],"coarsening_dir":[10,13,18],"coarser":[2,4,7,9,15,18,20,23],"coarser_fil":[10,13,14],"coarser_grid":[10,13,16],"coarser_properti":[10,13,20],"coarsern":4,"code":[3,6,10],"collabor":3,"com":[4,6,7],"combin":[4,12],"comma":7,"command":[2,4,6,12],"comment":4,"commit":3,"common":[6,23],"commonli":23,"commun":23,"compact":15,"compact_format":[10,13,15],"compact_perm":[10,13,15],"compar":4,"comparison":23,"compdat":7,"complet":2,"complex":23,"compseg":19,"comput":[2,7,23],"concept":5,"condit":23,"confact":7,"confer":2,"configur":[5,7,16,17,20,21],"conform":7,"connect":[4,7,15,23],"conquer":4,"conserv":4,"consid":[2,7],"contain":[1,3,4],"content":[1,3,4,5,8],"contribut":[0,5,6],"coordin":[7,18],"copi":[3,4,6,9,15,19],"core":[1,6,8,10],"corner":[7,15,16,18,23],"correct":[2,7,9,20,23],"correl":23,"correspond":[2,4,7,18,23],"could":[4,6,9,23],"cov":3,"cporv":2,"creat":[3,4,6,7,9,15,18,23],"create_deck":[10,13,15],"creation":7,"criterium":7,"csp":22,"cssr":[0,4,6,7],"current":[2,4,6,7,9,18,21],"current_directori":6,"d":[4,7,23],"dai":4,"data":[2,3,4,7,23],"datafram":18,"dataset":4,"date":2,"dcmake_build_typ":6,"dcmake_disable_find_package_mpi":6,"dcmake_prefix_path":6,"deck":[1,2,3,5,7,14,15,19,20,23],"deck_dri":7,"dedic":6,"default":[2,4,7,9,23],"defin":[2,4,9,20,23],"definit":[2,4,23],"degre":[4,7],"delax":4,"delet":2,"demonstr":4,"depend":[3,6,23],"depth":23,"describ":[3,4,7,9],"descript":[2,7],"destroi":18,"dev":[3,6],"develop":[4,6,7,9,23],"diamond":[7,23],"diamondxi":[4,7,23],"dic":[14,15,16,17,18,19,20,21],"dic1":17,"dict":[12,14,15,16,17,18,19,20,21],"dictionari":[14,15,16,17,18,19,20,21],"diffeent":15,"differ":[1,2,4,7,18,23],"differenti":[4,7],"dimens":19,"dir":[2,7,16],"direct":[2,4,7,18,20,23],"directli":[2,9],"directori":3,"discontinu":7,"discret":23,"discuss":2,"disperc":7,"dist":2,"distpara":2,"distribut":[2,7,18,20,23],"divers":[7,23],"divid":4,"dmar":2,"do":[2,3,4,6,7,23],"doc":3,"document":[2,3,4,6,7],"done":[6,7],"download":[4,6],"dpi":4,"drawback":23,"drogon":[1,2,5,7,9],"drogon_2times_coars":4,"drogon_coars":4,"drogon_hist":4,"drogon_hist_prep_pycopm_dryrun":4,"drogon_hist_pycopm":4,"drogon_hist_pycopm_pycopm":4,"drogon_pycopm_comparison":4,"dry":[4,7,15],"dual":[5,15,18],"due":[4,23],"dune":6,"dunecontrol":6,"dure":23,"duse_mpi":6,"dwith_ndebug":6,"dynam":22,"e":[2,3,4,6,7,9,23],"each":[2,7,23],"earli":9,"eas":23,"echo":6,"edg":6,"effect":23,"eg":2,"egrid":3,"either":[6,7],"els":6,"em":22,"email":[3,6],"emltg":2,"emlto":2,"emphas":23,"empti":[4,7],"enabl":[4,7],"encod":7,"end":[4,23],"endnum":7,"ensembl":[2,4,7],"ensemble_experi":2,"ensemble_smooth":2,"enterpris":6,"entri":[2,7,15,23],"environ":[3,6],"eo":2,"eog":2,"eqlnum":[7,20],"equal":[4,7,23],"equil":[2,4],"error":[2,4,9],"ert":[1,2,4,6,7,9,14,21],"ert_fil":[10,13,14],"es_mda":2,"et":2,"etc":7,"ew":2,"exampl":[2,3,5,9,23],"excel":23,"except":2,"exectut":7,"execut":[1,2,3,4,6,7,9,12,21,23],"expans":0,"explicit":[4,19],"explicitli":7,"export":[3,6],"exprecc":[0,5],"extend":[3,18],"extract":[4,7,18,23],"f":[3,4,7],"face":[6,7,16,23],"familiar":[2,3],"faster":23,"fault":[4,7,16,19,23],"favourit":[7,9],"featur":[0,4,23],"fewer":23,"fgip":7,"fi":6,"field":[2,4,23],"figur":[4,9,23],"file":[1,3,5,6,7,14,15,16,17,18,20,21,23],"files_writ":[10,13],"final":[1,2,4],"find":[9,18],"find_neighbor":[10,13,18],"fine":2,"finner":[15,18,23],"fipnum":[7,20,23],"first":[2,4,6,7],"five":4,"fix":3,"flag":[2,3,4,7,12,18],"flexibl":[7,23],"float":[18,21],"flow":[1,2,3,5,7,14,17,21,22,23],"flow_maco":3,"fluid":23,"fluidflow":22,"fluxnum":7,"focu":[4,7,9,23],"focus":[4,7,9],"foip":[4,7],"folder":[1,3,4,5,6,7],"follow":[2,4,6,7,9,23],"fopr":4,"fork":[0,3],"format":[2,3,4,23],"former":23,"formula":5,"found":[15,17],"four":[4,23],"frac":23,"framework":[1,4,22],"freeglut3":6,"frequent":23,"friend":4,"friendli":7,"from":[1,2,3,4,6,7,15,16,17,18,19,20,21,22,23],"full":[2,4,9],"function":[1,2,4,12,14,16,17,20,21,23],"fund":0,"further":9,"g":[2,3,4,6,7,9,23],"ga":[4,7],"gener":[1,2,3,4,7,9,15,20,21,22,23],"generate_fil":[10,13],"geolog":[2,4,7,9,23],"geometr":23,"geometri":[6,23],"geophys":23,"get":[3,6,18,19],"get_ijk":[10,13,18],"get_wells_for_vicin":[10,13,19],"gif":[4,22],"git":[4,6],"github":[2,3,4,6,7],"gitlab":6,"give":[4,9,23],"given":[2,4,7,23],"global":[14,15,16,17,18,19,20,21,23],"go":4,"good":4,"graphic":5,"grid":[1,4,5,6,7,9,14,15,16,18,19,20],"grid_build":[10,13],"grid_featur":[10,13,14],"ground":5,"group":23,"gui":2,"h":2,"ha":[6,7,23],"handi":23,"handl":[4,18,19,23],"handle_aquancon":[10,13,19],"handle_aqucon":[10,13,19],"handle_aqunum":[10,13,19],"handle_bccon":[10,13,19],"handle_bwpr":[10,13,19],"handle_clust":[10,13,18],"handle_compseg":[10,13,19],"handle_cp_grid":[10,13,18],"handle_dimen":[10,13,19],"handle_du":[10,13,18],"handle_editnnc":[10,13,19],"handle_equil":[10,13,19],"handle_face_dir_im":[10,13,16],"handle_face_dir_ip":[10,13,16],"handle_face_dir_jm":[10,13,16],"handle_face_dir_jp":[10,13,16],"handle_fault":[10,13,16,19],"handle_grid_prop":[10,13,19],"handle_mapax":[10,13,19],"handle_multflt":[10,13,19],"handle_multipli":[10,13,19],"handle_multregt":[10,13,19],"handle_nnc_tran":[10,13,15],"handle_op":[10,13,19],"handle_pinch":[10,13,19],"handle_prop":[10,13,19],"handle_pv":[10,13,18],"handle_refin":[10,13,18],"handle_region":[10,13,19],"handle_schedul":[10,13,19],"handle_schedulekw":[10,13,19],"handle_segmented_wel":[10,13,19],"handle_sourc":[10,13,19],"handle_vicin":[10,13,18],"handle_wel":[10,13,19],"handle_welldim":[10,13,19],"handle_welseg":[10,13,19],"handle_zcorn":[10,13,18],"harmon":[7,23],"hat":6,"have":[2,4,6,19,23],"hello":[3,5],"hello_world":[3,4],"hello_world_pycopm":[3,4],"hello_world_pycopm_pycopm":4,"help":[3,6],"here":[2,4,23],"hexahedron":23,"higher":4,"highlight":4,"histori":[2,4,7,9,22,23],"hm":[2,4],"home":7,"homebrew":6,"honor":[2,23],"horda":0,"horizont":23,"host":7,"how":[4,23],"howev":4,"html":3,"http":[4,6,7],"i":[0,1,2,3,4,6,7,9,15,16,17,18,19,23],"i_d":18,"identifi":[4,19,20],"identify_removed_pilar":[10,13,20],"identify_removed_pilars_zdir":[10,13,20],"ignor":3,"ilustr":4,"imag":22,"imbnum":7,"impact":23,"implement":[4,7,23],"import":[3,23],"in_fil":17,"inact":[4,7,18,23],"inc":[4,7,15],"includ":[4,6,7,9,15],"increas":[4,18,23],"ind":18,"index":[2,5,16,18,20],"indic":[4,7,18,19,23],"induc":22,"industri":23,"inform":[2,23],"init":[2,4],"initi":[2,4,7,17,20,23],"initialize_properti":[10,13,20],"initialize_valu":[10,13,17],"initialize_vari":[10,13,15],"inj":4,"injector":4,"input":[2,4,5,7,17,19,20,23],"input_valu":[10,13],"insid":[4,6,23],"insight":23,"inspect":2,"instal":[3,4,5,7],"instead":[2,4,23],"instruct":6,"int":[16,18,20],"integ":[4,18],"integr":2,"interest":[6,22,23],"intern":7,"interv":[2,4,7,23],"introduct":[5,9,23],"invalid":12,"involv":[4,23],"inx":20,"ir":18,"iso":7,"isol":4,"issu":[0,4,5,6],"istl":6,"item":7,"iter":[2,4],"iterative_ensemble_smooth":2,"its":[18,23],"j":[2,4,7,16,18,19,23],"j5":6,"jk":7,"job":1,"jump":[4,18],"just":7,"k":[2,4,7,16,18,19,23],"keep":[2,4,7,19],"kei":23,"keyword":[4,15,19],"kh":7,"kilomet":23,"km":4,"l":[4,6,7],"l127":4,"l242":4,"label":4,"larg":23,"last":[2,7],"later":2,"latest":6,"latter":4,"layer":23,"leakag":22,"least":[4,7,18],"left":[4,9,23],"legend":4,"less":4,"let":[2,14],"letsatn":2,"level":[7,15],"lg":2,"lie":23,"like":[4,6,23],"line":[2,3,4,6,23],"link":6,"lint":6,"linux":[4,5],"list":[15,18,19],"lmltg":2,"lmlto":2,"lo":2,"load_pars":[10,11,12],"loc":4,"local":[3,17,23],"locat":[1,4,7,9,23],"log":2,"look":[3,15],"loop":4,"lost":[2,20],"lot":[4,23],"lower":[4,23],"lw":2,"m":[3,4,6,7],"machin":[2,6],"maco":[3,4,5],"macport":6,"made":[4,23],"main":[1,2,3,4,10,11,12,15],"maintain":[3,6],"make":[3,4,6,7,18,23],"mako":[1,14],"mamba":6,"manag":[6,23],"mantain":3,"manual":7,"map":[7,15,16,18,19,23],"map_ijk":[10,13,18],"map_properti":[10,13,18],"map_vicin":[10,13,18],"mapax":4,"mapping_method":[10,13],"mask":18,"master":6,"match":[2,4,7,9,22,23],"mathbb":23,"max":[2,4,7,23],"maximum":[2,4,18],"maxpermz":4,"mean":[2,4,7,23],"measur":23,"member":4,"memori":2,"mention":[4,23],"mep":2,"merg":3,"meter":[7,23],"method":[14,15,16,18,19,20,23],"micp":5,"microbi":22,"microsystem":22,"middl":4,"might":[3,4,6,9,22,23],"million":4,"min":[2,4,7,23],"minerror":2,"mini":7,"miniforg":6,"minimum":2,"minj":7,"miscnum":7,"miss":3,"missmatch":23,"mkdir":6,"mode":[2,4,7,23],"model":[2,4,7,9,19,20,22,23],"model3":23,"model6":4,"modif":2,"modifi":[2,4,6,7,9,14,15,16,17,18,19,20,21],"modul":[1,5,6,8,22],"more":[0,3,4],"most":[4,15,23],"mpi":[4,6],"mpirun":2,"mrn":2,"mrt":2,"mult":[7,15],"multflt":15,"multi":4,"multipli":[4,7,15,19,23],"multnum":7,"multregt":[4,19],"multx":4,"multz":4,"must":[2,4,23],"mypi":3,"n":[4,7,15,18],"name":[2,4,7,15,17,19],"name_of_input_fil":7,"names_segwel":[10,13,19],"names_wel":[10,13,19],"natur":23,"necessari":[14,19],"need":[2,3,4,6,7,9],"neighbor":23,"neighbour":[4,7,15,18,23],"neighbourhood":[7,23],"net":[2,4,7],"new":[0,3,4,7,18,23],"newton":2,"next":2,"nice":[3,4,6],"nnc":[19,23],"non":[4,7,15,23],"none":[12,14,15,21],"nor":18,"norn":[1,2,5,7,9,23],"norne_atw2013":4,"notat":[15,23],"note":[3,4],"noth":7,"now":4,"np":2,"nrwo":[15,19],"ntg":[2,4],"num":20,"number":[2,4,7,19,23],"o":[3,4,7,9,18],"ob":2,"object":18,"observ":[2,4],"observations_complet":2,"observations_test":2,"observations_train":2,"often":23,"oil":[4,7],"ok":4,"old":4,"omega":23,"onc":23,"one":[2,4,6,7,9,18,23],"ones":[4,7],"onli":[2,4,6,7,15,18,23],"onlin":6,"open":[4,22,23],"openbla":6,"oper":[4,19,23],"opernum":7,"opm":[1,2,3,5,7,14,15,18,19,21,22,23],"opm_properti":[10,13,14],"optim":[7,9],"option":[2,4,7,12,23],"order":[2,4,7,23],"org":6,"origin":[1,4],"other":[4,6,9],"otherwis":9,"our":[3,4],"out":22,"outisd":23,"output":[2,3,4,5,7,17],"outsid":[4,7,18,23],"over":23,"overlap":23,"overview":[2,5],"own":[3,9],"p":[4,7,23],"packag":[1,3,4,5,8],"page":[3,5],"panda":18,"parallel":2,"paramet":[2,4,7,17,20,23],"paraview":4,"parser":19,"parser_deck":[10,13],"part":[4,23],"pass":[3,4],"path":[2,3,4,6,7,9,15],"peqvr":7,"per":4,"perform":[4,7,23],"perm":4,"perm_max":2,"perm_min":2,"permeabl":[2,4,23],"permi":[2,4,7,15],"permx":[2,4,7,15],"permz":[2,4,7,15],"pet":[7,9],"phi_":23,"pilar":[2,4,7,20],"pillar":[2,18,23],"pinch":19,"pip":[3,4,6],"place":[4,23],"plane":[7,23],"platform":[0,6],"pleas":[0,3],"plopm":[4,5],"plot":[9,10,13,21],"plu":7,"pm":7,"png":[4,22],"pofff":5,"point":[15,16,23],"polygon":[7,23],"pore":[4,7,18,20,23],"poro":[2,4,7],"poros":[2,4,23],"porv":[2,4,7],"posit":[7,16,18],"possibl":[3,23],"postprocess":9,"pr":3,"practic":4,"precipit":22,"prefer":3,"prep":7,"prep_deck":7,"prerequisit":6,"preserv":23,"pressur":[4,19,23],"previou":[3,4,6],"print":4,"problem":[5,6],"process":[17,18],"process_input":[10,13,17],"process_the_deck":[10,13,19],"product":[4,23],"project":[0,4,6,22,23],"prop":[4,19],"properti":[2,4,7,14,15,18,20,23],"properties_build":[10,13],"provid":[2,7,23],"proxi":7,"proyect":4,"prt":2,"pull":[0,3],"push":3,"pushd":3,"pv":[2,4,7,23],"pvmean":[4,7,23],"pvtnum":7,"pvweightedperm":4,"pwd":6,"py":21,"pycopm":[2,3,4,6,7,9,23],"pycopm_":7,"pycopm_porv":7,"pylint":3,"pymm":5,"pyocpm":1,"pyopmnearwel":5,"pyopmspe11":5,"pytest":3,"python":[3,5,22],"python3":[3,6],"q":[4,7],"quantiti":[17,23],"question":23,"quick":22,"r":[3,4,6,7],"rais":[0,3,6],"random":2,"rang":[7,23],"rate":[4,23],"ratio":23,"rd":2,"read":[4,7,15,17],"read_refer":[10,13,17],"realiz":2,"recent":6,"recommend":[4,6,9],"red":6,"redistribut":4,"reduc":4,"refer":[4,16,20,23],"reference_simul":1,"refin":[1,2,4,5,7,9,18],"refine_grid":[10,13,18],"regard":[2,23],"region":[2,4,7,19,22,23],"regular":23,"rel":23,"relat":[4,5,14],"releas":6,"relev":4,"remain":2,"remedi":22,"remov":[2,4,7,18,20,23],"renam":4,"repit":15,"replac":[3,4],"repo":[3,6],"report":5,"repositori":[3,6,7],"reproduc":2,"request":[0,3],"requir":[3,4,6,17,19,20],"reservoir":[7,18,22,23],"resinsight":[4,9],"resourc":0,"respect":[2,7,23],"rest":[4,7],"restrict":7,"result":[2,4,7,9,23],"return":[7,12,14,15,16,17,18,19,20,21],"review":3,"right":[4,9,23],"rightarrow":23,"rise":3,"rmv":18,"roadmap":5,"rock":[2,23],"rocknum":7,"rotat":[4,7,9,23],"rotatexi":[4,7,23],"rotatexz":7,"rotateyz":7,"row":19,"rule":5,"run":[1,2,3,4,6,7,9,14,15,21],"runs_execut":[10,13],"runtim":2,"rx":[4,7],"ry":4,"same":[2,4,9,19,20,23],"sandv":2,"sat":2,"satnum":[2,7,23],"satur":[2,4,14,23],"save":[2,4,7,15],"scale":[2,7,9,23],"sch":4,"schedul":[4,19],"score":4,"screenshot":9,"script":[1,3,6,12,15],"scriptsiz":23,"search":[5,18],"search_fil":[10,13,15],"second":[2,4,23],"section":[4,7,19],"see":[2,3,4,6,7,23],"seed":2,"seek":5,"seem":4,"segment":19,"seismic":23,"select":[2,9,21,23],"send":[3,6],"separ":7,"set":[2,4,6,7,9,15,17,23],"setuptool":6,"seven":3,"sever":23,"sga":4,"sh":6,"shape":[2,23],"shift":[18,23],"should":[4,6],"show":[4,9,23],"shown":2,"side":23,"similar":23,"simpl":23,"simpli":[6,23],"simul":[2,3,4,6,7,9,10,13,17,21,22,23],"simulation_model":4,"sinc":[4,23],"singl":[2,3],"site":22,"six":23,"size":23,"skip":6,"sm":4,"smaller":23,"smeaheia":[5,7],"so":[6,19],"softwar":5,"solut":[4,7,19,23],"some":[4,9,22],"soon":3,"sourc":[3,4,5,19,22],"spars":6,"spatial":23,"spe10":5,"spe10_model2":4,"spe10_model2_pycopm":4,"spe11":22,"special":[4,19,23],"specif":[2,4,6],"speed":23,"splite":19,"squash":3,"src":3,"standard":[2,4,23],"static":[3,4,7],"statoil_feasibility_sim_model_with_depletion_kross_inj_sector_20":4,"statoil_feasibility_sim_model_with_depletion_kross_inj_sector_20_prep_pycopm_dryrun":4,"statoil_feasibility_sim_model_with_depletion_kross_inj_sector_20_pycopm":4,"step":[3,6],"still":[4,6],"stop":2,"storag":[0,2,15,22],"str":[15,17],"straight":23,"studi":[2,4,7,9,21,22,23],"sub":[4,7],"subfig":4,"subgrid":18,"submodel":[1,2,4,5,7,9,15,18,19],"submodul":[1,8,10],"subpackag":[1,5,8],"substract":4,"subsurfac":[0,4,23],"subsystem":6,"succe":3,"succed":6,"succeed":2,"success":2,"sudmodel":23,"sudo":6,"suffix":2,"suit":6,"sum":[7,23],"sum_":23,"summari":[4,9],"support":[2,5,6,7,19],"suptitl":4,"sure":18,"surfac":23,"sustain":0,"swatinit":[4,7],"system":[3,7],"t":[4,7,23],"t_":23,"tabl":[14,23],"tag":6,"taho":6,"tailor":4,"taken":23,"tcpu":4,"techniqu":[7,23],"templat":[7,14],"template_script":1,"term":3,"termin":[2,4,6,7],"test":[1,2,3,4,6,7],"test_run":2,"text":[4,7,17],"textbook":23,"tg":2,"than":[0,3,4,23],"thconr":7,"thei":23,"them":[4,7,15],"theori":[4,5],"thi":[0,2,3,4,6,7,9,23],"thick":23,"those":[2,4],"thousand":4,"three":[4,7,15,23],"through":6,"time":[2,4,21,23],"tmltg":2,"tmlto":2,"tog":2,"toml":[2,4,7,16,17,20,21],"tool":[0,4,6,7,9,22,23],"top":[4,18],"total":4,"trade":23,"tran":15,"transform":[1,2,4,5,7,9,15,18],"transform_grid":[10,13,18],"translat":[7,9,23],"transmis":[7,23],"transmiss":[7,23],"transmissibili":7,"transsmiss":23,"trial":4,"trim":23,"true":[4,15,18],"try":[3,4,6,7],"tune":7,"tunit":4,"turn":6,"tutori":[3,6],"tw":2,"two":[4,7,23],"txt":[3,6],"type":[2,4,6,22],"typic":23,"ual":7,"ubuntu":[3,6],"uncertainti":23,"uncoarsen":17,"uniform":2,"uniformli":7,"unlimit":2,"unrefin":23,"up":23,"updat":6,"upgrad":6,"uprad":6,"upscal":[7,23],"us":[0,1,2,3,4,6,7,9,15,20,22,23],"user":[2,3,4,6,7],"utf8":7,"util":[1,8,10],"utilii":[14,16,17,20,21],"v":[4,7,23],"v2":6,"v2025":6,"v_c":18,"valu":[2,4,7,15,17,23],"variabl":[3,7,14,15,17],"vector":4,"venv":6,"version":[6,10],"vertic":23,"via":[2,5,6,7],"vicin":[4,7,18],"view":[4,19],"vile":4,"virtual":6,"visaluaz":4,"visit":[2,3],"visual":[4,9],"volum":[4,7,18,20,23],"vpycopm":6,"vtk":[4,22],"w":[4,7],"wa":[7,9],"water":[4,7],"we":[2,3,4,6,9,15,19,23],"webviz":4,"weight":[2,4,7,23],"welcom":[0,3],"well":[2,3,4,7,19,22,23],"welln":7,"wellspec":4,"welseg":19,"were":7,"wgpr":2,"wheel":6,"when":[6,23],"where":[4,7,23],"which":[2,3,4,6,7,23],"while":[4,6,7,23],"whole":7,"wide":23,"window":[4,5],"without":[2,4,9],"wopr":2,"work":[3,6,7],"workflow":23,"world":[3,5],"would":[4,6,7,9],"write":[2,4,6,7,14,15,19,20],"write_explicit":[10,13,19],"write_grid":[10,13,15],"write_let_t":[10,13,14],"write_prop":[10,13,15],"written":23,"wsl":6,"wwpr":2,"x":[2,4,7,15,23],"xformat":4,"xi_":23,"xlnum":4,"xplicit":7,"xunit":4,"xy":[7,18,23],"xypolygon":[4,7,23],"xyz":[7,23],"y":[2,4,7,23],"yet":6,"yformat":4,"ylabel":4,"yml":[3,6],"you":[2,3,4,6,9],"your":[2,3,4,6,7,9],"yournam":3,"yunit":4,"z":[2,4,7,18,20,23],"z_b":18,"z_b_t":18,"z_t":18,"zcord":18,"zcorn":18,"zero":23,"zprofil":6},"titles":["About pycopm","pycopm Python API","Configuration file","Contributing","Examples","Welcome to pycopm\u2019s documentation!","Installation","Introduction","pycopm","Output folder","pycopm package","pycopm.core package","pycopm.core.pycopm module","pycopm.utils package","pycopm.utils.files_writer module","pycopm.utils.generate_files module","pycopm.utils.grid_builder module","pycopm.utils.input_values module","pycopm.utils.mapping_methods module","pycopm.utils.parser_deck module","pycopm.utils.properties_builder module","pycopm.utils.runs_executer module","Related","Theory"],"titleterms":{"":5,"about":0,"abstract":4,"ad":22,"an":9,"api":1,"binari":6,"brew":6,"build":6,"coarsen":[4,23],"concept":7,"configur":[2,4,9],"content":[10,11,13],"contribut":3,"core":[11,12],"deck":[4,9],"document":5,"drogon":4,"dual":4,"exampl":4,"exprecc":22,"file":[2,4,9],"files_writ":14,"flow":[4,6,9],"folder":9,"formula":6,"generate_fil":15,"graphic":4,"grid":23,"grid_build":16,"ground":3,"hello":4,"indic":5,"input":9,"input_valu":17,"instal":6,"introduct":7,"issu":3,"linux":6,"maco":6,"mapping_method":18,"micp":22,"modul":[10,11,12,13,14,15,16,17,18,19,20,21],"norn":4,"opm":[4,6,9],"output":9,"overview":7,"packag":[6,10,11,13],"parser_deck":19,"plopm":22,"pofff":22,"problem":3,"properties_build":20,"pycopm":[0,1,5,8,10,11,12,13,14,15,16,17,18,19,20,21],"pymm":22,"pyopmnearwel":22,"pyopmspe11":22,"python":[1,6],"refin":23,"relat":22,"report":3,"roadmap":7,"rule":3,"runs_execut":21,"seek":3,"smeaheia":4,"softwar":3,"sourc":6,"spe10":4,"submodel":23,"submodul":[11,13],"subpackag":10,"support":3,"tabl":5,"theori":23,"transform":23,"util":[13,14,15,16,17,18,19,20,21],"via":[4,9],"welcom":5,"window":6,"world":4}}) \ No newline at end of file +Search.setIndex({"alltitles":{"About pycopm":[[0,null]],"Binary packages":[[6,"binary-packages"]],"Brew formula for macOS":[[6,"brew-formula-for-macos"]],"Concept":[[7,"concept"]],"Configuration file":[[2,null]],"Contribute to the software":[[3,"contribute-to-the-software"]],"Contributing":[[3,null]],"Drogon":[[4,"drogon"]],"Dual coarsening":[[4,"dual-coarsening"]],"Examples":[[4,null]],"Graphical abstract":[[4,"graphical-abstract"]],"Grid coarsening":[[23,"grid-coarsening"]],"Grid refinement":[[23,"grid-refinement"]],"Ground Rules":[[3,"ground-rules"]],"Hello world":[[4,"hello-world"]],"Indices and tables":[[5,"indices-and-tables"]],"Installation":[[6,null]],"Introduction":[[7,null]],"Module contents":[[10,"module-pycopm"],[11,"module-pycopm.core"],[13,"module-pycopm.utils"]],"Norne":[[4,"norne"]],"OPM Flow":[[6,"opm-flow"]],"Output folder":[[9,null]],"Overview":[[7,"overview"]],"Python package":[[6,"python-package"]],"Related":[[22,null]],"Report issues or problems":[[3,"report-issues-or-problems"]],"Roadmap":[[7,"roadmap"]],"SPE10":[[4,"spe10"]],"Seek support":[[3,"seek-support"]],"Smeaheia":[[4,"smeaheia"]],"Source build in Linux/Windows":[[6,"source-build-in-linux-windows"]],"Source build in macOS":[[6,"source-build-in-macos"]],"Submodels":[[23,"submodels"]],"Submodules":[[11,"submodules"],[13,"submodules"]],"Subpackages":[[10,"subpackages"]],"Theory":[[23,null]],"Transformations":[[23,"transformations"]],"Via OPM Flow decks":[[4,"via-opm-flow-decks"]],"Via an OPM Flow input deck":[[9,"via-an-opm-flow-input-deck"]],"Via configuration files":[[4,"via-configuration-files"],[9,"via-configuration-files"]],"Welcome to pycopm\u2019s documentation!":[[5,null]],"ad-micp":[[22,"ad-micp"]],"expreccs":[[22,"expreccs"]],"plopm":[[22,"plopm"]],"pofff":[[22,"pofff"]],"pycopm":[[1,"pycopm"],[8,null]],"pycopm Python API":[[1,null]],"pycopm package":[[10,null]],"pycopm.core package":[[11,null]],"pycopm.core.pycopm module":[[12,null]],"pycopm.utils package":[[13,null]],"pycopm.utils.files_writer module":[[14,null]],"pycopm.utils.generate_files module":[[15,null]],"pycopm.utils.grid_builder module":[[16,null]],"pycopm.utils.input_values module":[[17,null]],"pycopm.utils.mapping_methods module":[[18,null]],"pycopm.utils.parser_deck module":[[19,null]],"pycopm.utils.properties_builder module":[[20,null]],"pycopm.utils.runs_executer module":[[21,null]],"pymm":[[22,"pymm"]],"pyopmnearwell":[[22,"pyopmnearwell"]],"pyopmspe11":[[22,"pyopmspe11"]]},"docnames":["about","api","configuration_file","contributing","examples","index","installation","introduction","modules","output_folder","pycopm","pycopm.core","pycopm.core.pycopm","pycopm.utils","pycopm.utils.files_writer","pycopm.utils.generate_files","pycopm.utils.grid_builder","pycopm.utils.input_values","pycopm.utils.mapping_methods","pycopm.utils.parser_deck","pycopm.utils.properties_builder","pycopm.utils.runs_executer","related","theory"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["about.rst","api.rst","configuration_file.rst","contributing.rst","examples.rst","index.rst","installation.rst","introduction.rst","modules.rst","output_folder.rst","pycopm.rst","pycopm.core.rst","pycopm.core.pycopm.rst","pycopm.utils.rst","pycopm.utils.files_writer.rst","pycopm.utils.generate_files.rst","pycopm.utils.grid_builder.rst","pycopm.utils.input_values.rst","pycopm.utils.mapping_methods.rst","pycopm.utils.parser_deck.rst","pycopm.utils.properties_builder.rst","pycopm.utils.runs_executer.rst","related.rst","theory.rst"],"indexentries":{},"objects":{"":[[10,0,0,"-","pycopm"]],"pycopm":[[11,0,0,"-","core"],[13,0,0,"-","utils"]],"pycopm.core":[[12,0,0,"-","pycopm"]],"pycopm.core.pycopm":[[12,1,1,"","check_cmdargs"],[12,1,1,"","load_parser"],[12,1,1,"","main"],[12,1,1,"","pycopm"]],"pycopm.utils":[[14,0,0,"-","files_writer"],[15,0,0,"-","generate_files"],[16,0,0,"-","grid_builder"],[17,0,0,"-","input_values"],[18,0,0,"-","mapping_methods"],[19,0,0,"-","parser_deck"],[20,0,0,"-","properties_builder"],[21,0,0,"-","runs_executer"]],"pycopm.utils.files_writer":[[14,1,1,"","coarser_files"],[14,1,1,"","ert_files"],[14,1,1,"","grid_features"],[14,1,1,"","opm_properties"],[14,1,1,"","write_let_tables"]],"pycopm.utils.generate_files":[[15,1,1,"","bool_mult"],[15,1,1,"","check_mult"],[15,1,1,"","compact_format"],[15,1,1,"","compact_perm"],[15,1,1,"","create_deck"],[15,1,1,"","handle_nnc_trans"],[15,1,1,"","initialize_variables"],[15,1,1,"","search_file"],[15,1,1,"","write_grid"],[15,1,1,"","write_props"]],"pycopm.utils.grid_builder":[[16,1,1,"","coarser_grid"],[16,1,1,"","handle_face_dir_im"],[16,1,1,"","handle_face_dir_ip"],[16,1,1,"","handle_face_dir_jm"],[16,1,1,"","handle_face_dir_jp"],[16,1,1,"","handle_faults"]],"pycopm.utils.input_values":[[17,1,1,"","check_flow"],[17,1,1,"","initialize_values"],[17,1,1,"","process_input"],[17,1,1,"","read_reference"]],"pycopm.utils.mapping_methods":[[18,1,1,"","add_pv_bc"],[18,1,1,"","chop_grid"],[18,1,1,"","coarsening_dir"],[18,1,1,"","find_neighbors"],[18,1,1,"","get_ijk"],[18,1,1,"","handle_clusters"],[18,1,1,"","handle_cp_grid"],[18,1,1,"","handle_dual"],[18,1,1,"","handle_pv"],[18,1,1,"","handle_refinement"],[18,1,1,"","handle_vicinity"],[18,1,1,"","handle_zcorn"],[18,1,1,"","map_ijk"],[18,1,1,"","map_properties"],[18,1,1,"","map_vicinity"],[18,1,1,"","refine_grid"],[18,1,1,"","transform_grid"]],"pycopm.utils.parser_deck":[[19,1,1,"","get_wells_for_vicinity"],[19,1,1,"","handle_aquancon"],[19,1,1,"","handle_aqucon"],[19,1,1,"","handle_aqunum"],[19,1,1,"","handle_bccon"],[19,1,1,"","handle_bwpr"],[19,1,1,"","handle_compsegs"],[19,1,1,"","handle_dimens"],[19,1,1,"","handle_editnnc"],[19,1,1,"","handle_equil"],[19,1,1,"","handle_fault"],[19,1,1,"","handle_grid_props"],[19,1,1,"","handle_mapaxes"],[19,1,1,"","handle_multflt"],[19,1,1,"","handle_multiply"],[19,1,1,"","handle_multregt"],[19,1,1,"","handle_oper"],[19,1,1,"","handle_pinch"],[19,1,1,"","handle_props"],[19,1,1,"","handle_regions"],[19,1,1,"","handle_schedule"],[19,1,1,"","handle_schedulekw"],[19,1,1,"","handle_segmented_wells"],[19,1,1,"","handle_source"],[19,1,1,"","handle_welldims"],[19,1,1,"","handle_wells"],[19,1,1,"","handle_welsegs"],[19,1,1,"","names_segwells"],[19,1,1,"","names_wells"],[19,1,1,"","process_the_deck"],[19,1,1,"","write_explicit"]],"pycopm.utils.properties_builder":[[20,1,1,"","add_lost_pv_to_all_cells"],[20,1,1,"","add_lost_pv_to_all_eq_cells"],[20,1,1,"","add_lost_pv_to_all_fip_cells"],[20,1,1,"","add_lost_pv_to_boundary_cells"],[20,1,1,"","coarser_properties"],[20,1,1,"","identify_removed_pilars"],[20,1,1,"","identify_removed_pilars_zdir"],[20,1,1,"","initialize_properties"]],"pycopm.utils.runs_executer":[[21,1,1,"","plotting"],[21,1,1,"","simulations"]]},"objnames":{"0":["py","module","Python module"],"1":["py","function","Python function"]},"objtypes":{"0":"py:module","1":"py:function"},"terms":{"":[2,3,4,7,18,23],"0":[2,4,7,23],"01":[2,4],"02":[4,6],"03":2,"04":[3,6],"0f":4,"0pressur":4,"1":[2,3,4,6,7,23],"10":[4,6,7,23],"100":2,"100000":2,"11":[4,6,23],"12":[3,4,6],"128":4,"13":[3,6,7],"14":[4,6],"16":4,"18":23,"1e":4,"1f":4,"2":[2,4,7,23],"20":4,"2000":4,"2005":2,"2019":23,"2022":2,"2025":6,"24":3,"243":4,"25":[4,23],"26":3,"2d":23,"2e":4,"2f":4,"2xyz":4,"3":[2,3,4,6,7,23],"30":[4,7,23],"300":4,"31":4,"331841":0,"336294":0,"35":[4,23],"351":4,"3h":23,"3xz":4,"4":[4,7,23],"40":23,"41":4,"45":[4,7,23],"463284":4,"463739":4,"464401":4,"464872":4,"5":[2,3,4,7,23],"50":23,"58":4,"5931508":4,"5932123":4,"5932209":4,"5932862":4,"6":[4,7],"60":23,"600":2,"65":23,"7":[2,7],"75":23,"8":[2,4],"8859":7,"9":2,"90":23,"95":4,"A":[2,22,23],"As":[4,7,9,23],"By":[2,4],"For":[0,2,3,4,6,9,23],"If":[2,4,6,23],"In":[3,4,6,7,23],"It":4,"One":23,"The":[0,1,2,3,4,6,7,9,23],"Then":[2,4,6,9,23],"There":4,"These":[4,23],"To":[2,4,6,23],"_":23,"_build":3,"_pycopm":7,"abl":4,"about":[3,4,5,23],"abov":[4,23],"abstract":5,"accept":3,"accordingli":23,"account":2,"accuraci":23,"achiev":[2,4,23],"across":[4,23],"action":[3,6],"activ":[2,4,6,7,18,20,23],"actnum":[7,18],"actual":4,"ad":[2,4,5,6,7,23],"adapt":[7,9],"add":[2,3,4,7,18,19],"add_lost_pv_to_all_cel":[10,13,20],"add_lost_pv_to_all_eq_cel":[10,13,20],"add_lost_pv_to_all_fip_cel":[10,13,20],"add_lost_pv_to_boundary_cel":[10,13,20],"add_pv_bc":[10,13,18],"addiiton":23,"addit":[2,4,23],"adjust":7,"adopt":23,"affin":23,"after":[1,2,4,6,9,23],"al":2,"align":23,"all":[2,3,4,6,7,9,18,20,23],"allow":[2,4,7,23],"along":[7,23],"also":[3,4,6,7,19,23],"altern":[3,7],"among":23,"an":[0,2,3,4,5,7,22,23],"anaconda":6,"analys":3,"ani":[2,3,23],"answer":3,"api":5,"appear":9,"appli":[4,7,23],"applic":[4,7,9,23],"apporach":4,"approach":[0,2,3,4,7,9,23],"appropri":23,"aproach":4,"apt":6,"aquancon":19,"aquif":19,"ar":[0,1,2,3,4,6,7,9,22,23],"area":23,"arg":[12,14,15,16,17,18,19,20,21],"argument":[2,7,12,18],"arithmet":[7,23],"armon":[7,23],"around":[4,7,23],"arrai":[2,7,18,20,23],"assign":[7,23],"assum":4,"assur":23,"avail":[4,6,7],"averag":[7,23],"avoid":[4,7,15],"axi":7,"azurewebsit":4,"back":2,"bar":4,"base":[1,7,22,23],"bc0407_hist01122006":4,"bccon":19,"been":[6,7,23],"befor":[2,3,7],"being":0,"below":[7,22,23],"benchmark":22,"better":[4,23],"between":[4,7,23],"bin":[2,3,6,7],"binari":[3,4,5,7],"black":[3,4],"block":[19,20],"bool_mult":[10,13,15],"both":23,"bottom":[4,18],"boundari":[2,4,7,20,23],"box":[7,23],"branch":6,"break":23,"brew":[4,5],"build":[2,3,5,7],"build_opm_mpi":6,"built":[4,6,7],"c":[3,4,7,23],"c1":4,"c2":4,"ca":4,"calcit":22,"call":[1,2,9,15],"can":[2,3,4,6,7,9,15,23],"cannot":23,"capillari":23,"care":23,"cartesian":23,"case":[1,4,23],"cbsfax":4,"cd":[4,6],"cell":[2,4,7,16,17,18,20,23],"cell_index":16,"center":[0,4,18],"certain":4,"cet_rainbow_bgyrm_35_85_c69":4,"cfd":22,"cformat":4,"chang":[2,3],"character":23,"check":[6,12,15,17,22],"check_cmdarg":[10,11,12],"check_flow":[10,13,17],"check_mult":[10,13,15],"checker":3,"checkout":6,"chop_grid":[10,13,18],"ci_pycopm_maco":3,"ci_pycopm_ubuntu":[3,6],"clabel":4,"clone":[4,6],"closest":[4,7],"clusmax":18,"clusmin":18,"cluster":[18,23],"cmake":6,"cmdarg":12,"co2":[0,22],"coars":[2,4,7,16,20,23],"coarsen":[1,2,5,7,9,16,18],"coarsening_dir":[10,13,18],"coarser":[2,4,7,9,15,18,20,23],"coarser_fil":[10,13,14],"coarser_grid":[10,13,16],"coarser_properti":[10,13,20],"coarsern":4,"code":[3,6,10],"collabor":3,"com":[4,6,7],"combin":[4,12],"comma":7,"command":[2,4,6,12],"comment":4,"commit":3,"common":[6,23],"commonli":23,"commun":23,"compact":15,"compact_format":[10,13,15],"compact_perm":[10,13,15],"compar":4,"comparison":23,"compdat":7,"complet":2,"complex":23,"compseg":19,"comput":[2,7,23],"concept":5,"condit":23,"confact":7,"confer":2,"configur":[5,7,16,17,20,21],"conform":7,"connect":[4,7,15,23],"conquer":4,"conserv":4,"consid":[2,7],"contain":[1,3,4],"content":[1,3,4,5,8],"contribut":[0,5,6],"coordin":[7,18],"copi":[3,4,6,9,15,19],"core":[1,8,10],"corner":[7,15,16,18,23],"correct":[2,7,9,20,23],"correl":23,"correspond":[2,4,7,18,23],"could":[4,6,9,23],"cov":3,"cporv":2,"creat":[3,4,6,7,9,15,18,23],"create_deck":[10,13,15],"creation":7,"criterium":7,"csp":22,"cssr":[0,4,6,7],"current":[2,4,6,7,9,18,21],"current_directori":6,"d":[4,7,23],"dai":4,"data":[2,3,4,7,23],"datafram":18,"dataset":4,"date":2,"dcmake_build_typ":6,"deck":[1,2,3,5,7,14,15,19,20,23],"deck_dri":7,"dedic":6,"default":[2,4,7,9,23],"defin":[2,4,9,20,23],"definit":[2,4,23],"degre":[4,7],"delax":4,"delet":2,"demonstr":4,"depend":[3,6,23],"depth":23,"describ":[3,4,7,9],"descript":[2,7],"destroi":18,"dev":[3,6],"develop":[4,6,7,9,23],"diamond":[7,23],"diamondxi":[4,7,23],"dic":[14,15,16,17,18,19,20,21],"dic1":17,"dict":[12,14,15,16,17,18,19,20,21],"dictionari":[14,15,16,17,18,19,20,21],"diffeent":15,"differ":[1,2,4,7,18,23],"differenti":[4,7],"dimens":19,"dir":[2,7,16],"direct":[2,4,7,18,20,23],"directli":[2,9],"directori":3,"discontinu":7,"discret":23,"discuss":2,"disperc":7,"dist":2,"distpara":2,"distribut":[2,7,18,20,23],"divers":[7,23],"divid":4,"dmar":2,"do":[2,3,4,6,7,23],"doc":3,"document":[2,3,4,6,7],"done":[6,7],"download":[4,6],"dpi":4,"drawback":23,"drogon":[1,2,5,7,9],"drogon_2times_coars":4,"drogon_coars":4,"drogon_hist":4,"drogon_hist_prep_pycopm_dryrun":4,"drogon_hist_pycopm":4,"drogon_hist_pycopm_pycopm":4,"drogon_pycopm_comparison":4,"dry":[4,7,15],"dual":[5,15,18],"due":[4,23],"dure":23,"duse_mpi":6,"dwith_ndebug":6,"dynam":22,"e":[2,3,4,6,7,9,23],"each":[2,7,23],"earli":9,"eas":23,"edg":6,"effect":23,"eg":2,"egrid":3,"either":[6,7],"els":6,"em":22,"email":3,"emltg":2,"emlto":2,"emphas":23,"empti":[4,7],"enabl":[4,7],"encod":7,"end":[4,23],"endnum":7,"ensembl":[2,4,7],"ensemble_experi":2,"ensemble_smooth":2,"enterpris":6,"entri":[2,7,15,23],"environ":[3,6],"eo":2,"eog":2,"eqlnum":[7,20],"equal":[4,7,23],"equil":[2,4],"error":[2,4,9],"ert":[1,2,4,6,7,9,14,21],"ert_fil":[10,13,14],"es_mda":2,"et":2,"etc":7,"ew":2,"exampl":[2,3,5,9,23],"excel":23,"except":2,"exectut":7,"execut":[1,2,3,4,6,7,9,12,21,23],"expans":0,"explicit":[4,19],"explicitli":7,"export":3,"exprecc":[0,5],"extend":[3,18],"extract":[4,7,18,23],"f":[3,4,7],"face":[7,16,23],"familiar":[2,3],"faster":23,"fault":[4,7,16,19,23],"favourit":[7,9],"featur":[0,4,23],"fewer":23,"fgip":7,"fi":6,"field":[2,4,23],"figur":[4,9,23],"file":[1,3,5,6,7,14,15,16,17,18,20,21,23],"files_writ":[10,13],"final":[1,2,4],"find":[9,18],"find_neighbor":[10,13,18],"fine":2,"finner":[15,18,23],"fipnum":[7,20,23],"first":[2,4,7],"five":4,"fix":3,"flag":[2,3,4,7,12,18],"flexibl":[7,23],"float":[18,21],"flow":[1,2,3,5,7,14,17,21,22,23],"flow_maco":3,"fluid":23,"fluidflow":22,"fluxnum":7,"focu":[4,7,9,23],"focus":[4,7,9],"foip":[4,7],"folder":[1,3,4,5,6,7],"follow":[2,4,6,7,9,23],"fopr":4,"fork":[0,3],"format":[2,3,4,23],"former":23,"formula":5,"found":[15,17],"four":[4,23],"frac":23,"framework":[1,4,22],"freeglut3":6,"frequent":23,"friend":4,"friendli":7,"from":[1,2,3,4,6,7,15,16,17,18,19,20,21,22,23],"full":[2,4,9],"function":[1,2,4,12,14,16,17,20,21,23],"fund":0,"further":9,"g":[2,3,4,6,7,9,23],"ga":[4,7],"gener":[1,2,3,4,7,9,15,20,21,22,23],"generate_fil":[10,13],"geolog":[2,4,7,9,23],"geometr":23,"geometri":23,"geophys":23,"get":[3,6,18,19],"get_ijk":[10,13,18],"get_wells_for_vicin":[10,13,19],"gif":[4,22],"git":[4,6],"github":[2,3,4,6,7],"give":[4,9,23],"given":[2,4,7,23],"global":[14,15,16,17,18,19,20,21,23],"go":4,"good":4,"graphic":5,"grid":[1,4,5,6,7,9,14,15,16,18,19,20],"grid_build":[10,13],"grid_featur":[10,13,14],"ground":5,"group":23,"gui":2,"h":2,"ha":[6,7,23],"handi":23,"handl":[4,18,19,23],"handle_aquancon":[10,13,19],"handle_aqucon":[10,13,19],"handle_aqunum":[10,13,19],"handle_bccon":[10,13,19],"handle_bwpr":[10,13,19],"handle_clust":[10,13,18],"handle_compseg":[10,13,19],"handle_cp_grid":[10,13,18],"handle_dimen":[10,13,19],"handle_du":[10,13,18],"handle_editnnc":[10,13,19],"handle_equil":[10,13,19],"handle_face_dir_im":[10,13,16],"handle_face_dir_ip":[10,13,16],"handle_face_dir_jm":[10,13,16],"handle_face_dir_jp":[10,13,16],"handle_fault":[10,13,16,19],"handle_grid_prop":[10,13,19],"handle_mapax":[10,13,19],"handle_multflt":[10,13,19],"handle_multipli":[10,13,19],"handle_multregt":[10,13,19],"handle_nnc_tran":[10,13,15],"handle_op":[10,13,19],"handle_pinch":[10,13,19],"handle_prop":[10,13,19],"handle_pv":[10,13,18],"handle_refin":[10,13,18],"handle_region":[10,13,19],"handle_schedul":[10,13,19],"handle_schedulekw":[10,13,19],"handle_segmented_wel":[10,13,19],"handle_sourc":[10,13,19],"handle_vicin":[10,13,18],"handle_wel":[10,13,19],"handle_welldim":[10,13,19],"handle_welseg":[10,13,19],"handle_zcorn":[10,13,18],"harmon":[7,23],"hat":6,"have":[2,4,19,23],"hello":[3,5],"hello_world":[3,4],"hello_world_pycopm":[3,4],"hello_world_pycopm_pycopm":4,"help":[3,6],"here":[2,4,23],"hexahedron":23,"higher":4,"highlight":4,"histori":[2,4,7,9,22,23],"hm":[2,4],"home":7,"homebrew":6,"honor":[2,23],"horda":0,"horizont":23,"host":7,"how":[4,23],"howev":4,"html":3,"http":[4,6,7],"i":[0,1,2,3,4,6,7,9,15,16,17,18,19,23],"i_d":18,"identifi":[4,19,20],"identify_removed_pilar":[10,13,20],"identify_removed_pilars_zdir":[10,13,20],"ignor":3,"ilustr":4,"imag":22,"imbnum":7,"impact":23,"implement":[4,7,23],"import":[3,23],"in_fil":17,"inact":[4,7,18,23],"inc":[4,7,15],"includ":[4,6,7,9,15],"increas":[4,18,23],"ind":18,"index":[2,5,16,18,20],"indic":[4,7,18,19,23],"induc":22,"industri":23,"inform":[2,23],"init":[2,4],"initi":[2,4,7,17,20,23],"initialize_properti":[10,13,20],"initialize_valu":[10,13,17],"initialize_vari":[10,13,15],"inj":4,"injector":4,"input":[2,4,5,7,17,19,20,23],"input_valu":[10,13],"insid":[4,6,23],"insight":23,"inspect":2,"instal":[3,4,5,7],"instead":[2,4,23],"instruct":6,"int":[16,18,20],"integ":[4,18],"integr":2,"interest":[6,22,23],"intern":7,"interv":[2,4,7,23],"introduct":[5,9,23],"invalid":12,"involv":[4,23],"inx":20,"ir":18,"iso":7,"isol":4,"issu":[0,4,5],"item":7,"iter":[2,4],"iterative_ensemble_smooth":2,"its":[18,23],"j":[2,4,7,16,18,19,23],"j5":6,"jk":7,"job":1,"jump":[4,18],"just":7,"k":[2,4,7,16,18,19,23],"keep":[2,4,7,19],"kei":23,"keyword":[4,15,19],"kh":7,"kilomet":23,"km":4,"l":[4,6,7],"l127":4,"l242":4,"label":4,"larg":23,"last":[2,7],"later":2,"latest":6,"latter":4,"layer":23,"leakag":22,"least":[4,7,18],"left":[4,9,23],"legend":4,"less":4,"let":[2,14],"letsatn":2,"level":[7,15],"lg":2,"lie":23,"like":[4,23],"line":[2,3,4,6,23],"link":6,"lint":6,"linux":[4,5],"list":[15,18,19],"lmltg":2,"lmlto":2,"lo":2,"load_pars":[10,11,12],"loc":4,"local":[3,17,23],"locat":[1,4,7,9,23],"log":2,"look":[3,15],"loop":4,"lost":[2,20],"lot":[4,23],"lower":[4,23],"lw":2,"m":[3,4,6,7],"machin":[2,6],"maco":[3,4,5],"macport":6,"made":[4,23],"main":[1,2,3,4,10,11,12,15],"maintain":3,"make":[3,4,6,7,18,23],"mako":[1,14],"mamba":6,"manag":[6,23],"mantain":3,"manual":7,"map":[7,15,16,18,19,23],"map_ijk":[10,13,18],"map_properti":[10,13,18],"map_vicin":[10,13,18],"mapax":4,"mapping_method":[10,13],"mask":18,"master":6,"match":[2,4,7,9,22,23],"mathbb":23,"max":[2,4,7,23],"maximum":[2,4,18],"maxpermz":4,"mean":[2,4,7,23],"measur":23,"member":4,"memori":2,"mention":[4,23],"mep":2,"merg":3,"meter":[7,23],"method":[14,15,16,18,19,20,23],"micp":5,"microbi":22,"microsystem":22,"middl":4,"might":[3,4,6,9,22,23],"million":4,"min":[2,4,7,23],"minerror":2,"mini":7,"miniforg":6,"minimum":2,"minj":7,"miscnum":7,"miss":3,"missmatch":23,"mkdir":6,"mode":[2,4,7,23],"model":[2,4,7,9,19,20,22,23],"model3":23,"model6":4,"modif":2,"modifi":[2,4,6,7,9,14,15,16,17,18,19,20,21],"modul":[1,5,8,22],"more":[0,3,4],"most":[4,15,23],"mpi":[4,6],"mpirun":2,"mrn":2,"mrt":2,"mult":[7,15],"multflt":15,"multi":4,"multipli":[4,7,15,19,23],"multnum":7,"multregt":[4,19],"multx":4,"multz":4,"must":[2,4,23],"mypi":3,"n":[4,7,15,18],"name":[2,4,7,15,17,19],"name_of_input_fil":7,"names_segwel":[10,13,19],"names_wel":[10,13,19],"natur":23,"necessari":[14,19],"need":[2,3,4,6,7,9],"neighbor":23,"neighbour":[4,7,15,18,23],"neighbourhood":[7,23],"net":[2,4,7],"new":[0,3,4,7,18,23],"newton":2,"next":2,"nice":[3,4,6],"nnc":[19,23],"non":[4,7,15,23],"none":[12,14,15,21],"nor":18,"norn":[1,2,5,7,9,23],"norne_atw2013":4,"notat":[15,23],"note":[3,4],"noth":7,"now":4,"np":2,"nrwo":[15,19],"ntg":[2,4],"num":20,"number":[2,4,7,19,23],"o":[3,4,7,9,18],"ob":2,"object":18,"observ":[2,4],"observations_complet":2,"observations_test":2,"observations_train":2,"often":23,"oil":[4,7],"ok":4,"old":4,"omega":23,"onc":23,"one":[2,4,6,7,9,18,23],"ones":[4,7],"onli":[2,4,7,15,18,23],"onlin":6,"open":[4,22,23],"oper":[4,19,23],"opernum":7,"opm":[1,2,3,5,7,14,15,18,19,21,22,23],"opm_properti":[10,13,14],"optim":[7,9],"option":[2,4,7,12,23],"order":[2,4,7,23],"org":6,"origin":[1,4],"other":[4,6,9],"otherwis":9,"our":[3,4],"out":22,"outisd":23,"output":[2,3,4,5,7,17],"outsid":[4,7,18,23],"over":23,"overlap":23,"overview":[2,5],"own":[3,9],"p":[4,7,23],"packag":[1,3,4,5,8],"page":[3,5],"panda":18,"parallel":2,"paramet":[2,4,7,17,20,23],"paraview":4,"parser":19,"parser_deck":[10,13],"part":[4,23],"pass":[3,4],"path":[2,3,4,7,9,15],"peqvr":7,"per":4,"perform":[4,7,23],"perm":4,"perm_max":2,"perm_min":2,"permeabl":[2,4,23],"permi":[2,4,7,15],"permx":[2,4,7,15],"permz":[2,4,7,15],"pet":[7,9],"phi_":23,"pilar":[2,4,7,20],"pillar":[2,18,23],"pinch":19,"pip":[3,4,6],"place":[4,23],"plane":[7,23],"platform":[0,6],"pleas":[0,3],"plopm":[4,5],"plot":[9,10,13,21],"plu":7,"pm":7,"png":[4,22],"pofff":5,"point":[15,16,23],"polygon":[7,23],"pore":[4,7,18,20,23],"poro":[2,4,7],"poros":[2,4,23],"porv":[2,4,7],"posit":[7,16,18],"possibl":[3,23],"postprocess":9,"pr":3,"practic":4,"precipit":22,"prefer":3,"prep":7,"prep_deck":7,"prerequisit":6,"preserv":23,"pressur":[4,19,23],"previou":[3,4,6],"print":4,"problem":5,"process":[17,18],"process_input":[10,13,17],"process_the_deck":[10,13,19],"product":[4,23],"project":[0,4,6,22,23],"prop":[4,19],"properti":[2,4,7,14,15,18,20,23],"properties_build":[10,13],"provid":[2,7,23],"proxi":7,"proyect":4,"prt":2,"pull":[0,3],"push":3,"pushd":3,"pv":[2,4,7,23],"pvmean":[4,7,23],"pvtnum":7,"pvweightedperm":4,"pwd":6,"py":21,"py312":3,"pycopm":[2,3,4,6,7,9,23],"pycopm_":7,"pycopm_porv":7,"pylint":3,"pymm":5,"pyocpm":1,"pyopmnearwel":5,"pyopmspe11":5,"pytest":3,"python":[3,5,22],"python3":[3,6],"q":[4,7],"quantiti":[17,23],"question":23,"quick":22,"r":[3,4,6,7],"rais":[0,3],"random":2,"rang":[7,23],"rate":[4,23],"ratio":23,"rd":2,"read":[4,7,15,17],"read_refer":[10,13,17],"realiz":2,"recent":6,"recommend":[4,9],"red":6,"redistribut":4,"reduc":4,"refer":[4,16,20,23],"reference_simul":1,"refin":[1,2,4,5,7,9,18],"refine_grid":[10,13,18],"regard":[2,23],"region":[2,4,7,19,22,23],"regular":23,"rel":23,"relat":[4,5,14],"releas":6,"relev":4,"remain":2,"remedi":22,"remov":[2,4,7,18,20,23],"renam":4,"repit":15,"replac":[3,4],"repo":[3,6],"report":5,"repositori":[3,6,7],"reproduc":2,"request":[0,3],"requir":[3,4,6,17,19,20],"reservoir":[7,18,22,23],"resinsight":[4,9],"resourc":0,"respect":[2,7,23],"rest":[4,7],"restrict":7,"result":[2,4,7,9,23],"return":[7,12,14,15,16,17,18,19,20,21],"review":3,"right":[4,9,23],"rightarrow":23,"rise":3,"rmv":18,"roadmap":5,"rock":[2,23],"rocknum":7,"rotat":[4,7,9,23],"rotatexi":[4,7,23],"rotatexz":7,"rotateyz":7,"row":19,"rule":5,"run":[1,2,3,4,6,7,9,14,15,21],"runs_execut":[10,13],"runtim":2,"rx":[4,7],"ry":4,"same":[2,4,9,19,20,23],"sandv":2,"sat":2,"satnum":[2,7,23],"satur":[2,4,14,23],"save":[2,4,7,15],"scale":[2,7,9,23],"sch":4,"schedul":[4,19],"score":4,"screenshot":9,"script":[1,3,6,12,15],"scriptsiz":23,"search":[5,18],"search_fil":[10,13,15],"second":[2,4,23],"section":[4,7,19],"see":[2,3,4,6,7,23],"seed":2,"seek":5,"seem":4,"segment":19,"seismic":23,"select":[2,9,21,23],"send":3,"separ":7,"set":[2,4,6,7,9,15,17,23],"setuptool":6,"seven":3,"sever":23,"sga":4,"sh":6,"shape":[2,23],"shift":[18,23],"should":[4,6],"show":[4,9,23],"shown":2,"side":23,"similar":23,"simpl":23,"simpli":[6,23],"simul":[2,3,4,6,7,9,10,13,17,21,22,23],"simulation_model":4,"sinc":[4,23],"singl":[2,3],"site":22,"six":23,"size":23,"skip":6,"sm":4,"smaller":23,"smeaheia":[5,7],"so":[6,19],"softwar":5,"solut":[4,7,19,23],"some":[4,9,22],"soon":3,"sourc":[3,4,5,19,22],"spatial":23,"spe10":5,"spe10_model2":4,"spe10_model2_pycopm":4,"spe11":22,"special":[4,19,23],"specif":[2,4,6],"speed":23,"splite":19,"squash":3,"src":3,"standard":[2,4,23],"static":[3,4,7],"statoil_feasibility_sim_model_with_depletion_kross_inj_sector_20":4,"statoil_feasibility_sim_model_with_depletion_kross_inj_sector_20_prep_pycopm_dryrun":4,"statoil_feasibility_sim_model_with_depletion_kross_inj_sector_20_pycopm":4,"step":[3,6],"still":4,"stop":2,"storag":[0,2,15,22],"str":[15,17],"straight":23,"studi":[2,4,7,9,21,22,23],"sub":[4,7],"subfig":4,"subgrid":18,"submodel":[1,2,4,5,7,9,15,18,19],"submodul":[1,8,10],"subpackag":[1,5,8],"substract":4,"subsurfac":[0,4,23],"subsystem":6,"succe":3,"succed":6,"succeed":2,"success":2,"sudmodel":23,"sudo":6,"suffix":2,"sum":[7,23],"sum_":23,"summari":[4,9],"support":[2,5,6,7,19],"suptitl":4,"sure":18,"surfac":23,"sustain":0,"swatinit":[4,7],"system":[3,7],"t":[4,7,23],"t_":23,"tabl":[14,23],"tag":6,"tailor":4,"taken":23,"target":3,"tcpu":4,"techniqu":[7,23],"templat":[7,14],"template_script":1,"term":3,"termin":[2,4,6,7],"test":[1,2,3,4,6,7],"test_run":2,"text":[4,7,17],"textbook":23,"tg":2,"than":[0,3,4,23],"thconr":7,"thei":23,"them":[4,7,15],"theori":[4,5],"thi":[0,2,3,4,6,7,9,23],"thick":23,"those":[2,4],"thousand":4,"three":[4,7,15,23],"through":6,"time":[2,4,21,23],"tmltg":2,"tmlto":2,"tog":2,"toml":[2,4,7,16,17,20,21],"tool":[0,4,6,7,9,22,23],"top":[4,18],"total":4,"trade":23,"tran":15,"transform":[1,2,4,5,7,9,15,18],"transform_grid":[10,13,18],"translat":[7,9,23],"transmis":[7,23],"transmiss":[7,23],"transmissibili":7,"transsmiss":23,"trial":4,"trim":23,"true":[4,15,18],"try":[3,4,6,7],"tune":7,"tunit":4,"turn":6,"tutori":[3,6],"tw":2,"two":[4,7,23],"txt":[3,6],"type":[2,4,6,22],"typic":23,"ual":7,"ubuntu":[3,6],"uncertainti":23,"uncoarsen":17,"uniform":2,"uniformli":7,"unlimit":2,"unrefin":23,"up":23,"updat":6,"upgrad":6,"upscal":[7,23],"us":[0,1,2,3,4,6,7,9,15,20,22,23],"user":[2,3,4,6,7],"utf8":7,"util":[1,8,10],"utilii":[14,16,17,20,21],"v":[4,7,23],"v2025":6,"v2026":6,"v_c":18,"valu":[2,4,7,15,17,23],"variabl":[3,7,14,15,17],"vector":4,"venv":6,"version":[3,6,10],"vertic":23,"via":[2,5,6,7],"vicin":[4,7,18],"view":[4,19],"vile":4,"virtual":6,"visaluaz":4,"visit":[2,3],"visual":[4,9],"volum":[4,7,18,20,23],"vpycopm":6,"vtk":[4,22],"w":[4,7],"wa":[7,9],"water":[4,7],"we":[2,3,4,6,9,15,19,23],"webviz":4,"weight":[2,4,7,23],"welcom":[0,3],"well":[2,3,4,7,19,22,23],"welln":7,"wellspec":4,"welseg":19,"were":7,"wgpr":2,"wheel":6,"when":[6,23],"where":[4,7,23],"which":[2,3,4,6,7,23],"while":[4,6,7,23],"whole":7,"wide":23,"window":[4,5],"without":[2,4,9],"wopr":2,"work":[3,6,7],"workflow":23,"world":[3,5],"would":[4,7,9],"write":[2,4,6,7,14,15,19,20],"write_explicit":[10,13,19],"write_grid":[10,13,15],"write_let_t":[10,13,14],"write_prop":[10,13,15],"written":23,"wsl":6,"wwpr":2,"x":[2,4,7,15,23],"xformat":4,"xi_":23,"xlnum":4,"xplicit":7,"xunit":4,"xy":[7,18,23],"xypolygon":[4,7,23],"xyz":[7,23],"y":[2,4,7,23],"yet":6,"yformat":4,"ylabel":4,"yml":[3,6],"you":[2,3,4,6,9],"your":[2,3,4,7,9],"yournam":3,"yunit":4,"z":[2,4,7,18,20,23],"z_b":18,"z_b_t":18,"z_t":18,"zcord":18,"zcorn":18,"zero":23},"titles":["About pycopm","pycopm Python API","Configuration file","Contributing","Examples","Welcome to pycopm\u2019s documentation!","Installation","Introduction","pycopm","Output folder","pycopm package","pycopm.core package","pycopm.core.pycopm module","pycopm.utils package","pycopm.utils.files_writer module","pycopm.utils.generate_files module","pycopm.utils.grid_builder module","pycopm.utils.input_values module","pycopm.utils.mapping_methods module","pycopm.utils.parser_deck module","pycopm.utils.properties_builder module","pycopm.utils.runs_executer module","Related","Theory"],"titleterms":{"":5,"about":0,"abstract":4,"ad":22,"an":9,"api":1,"binari":6,"brew":6,"build":6,"coarsen":[4,23],"concept":7,"configur":[2,4,9],"content":[10,11,13],"contribut":3,"core":[11,12],"deck":[4,9],"document":5,"drogon":4,"dual":4,"exampl":4,"exprecc":22,"file":[2,4,9],"files_writ":14,"flow":[4,6,9],"folder":9,"formula":6,"generate_fil":15,"graphic":4,"grid":23,"grid_build":16,"ground":3,"hello":4,"indic":5,"input":9,"input_valu":17,"instal":6,"introduct":7,"issu":3,"linux":6,"maco":6,"mapping_method":18,"micp":22,"modul":[10,11,12,13,14,15,16,17,18,19,20,21],"norn":4,"opm":[4,6,9],"output":9,"overview":7,"packag":[6,10,11,13],"parser_deck":19,"plopm":22,"pofff":22,"problem":3,"properties_build":20,"pycopm":[0,1,5,8,10,11,12,13,14,15,16,17,18,19,20,21],"pymm":22,"pyopmnearwel":22,"pyopmspe11":22,"python":[1,6],"refin":23,"relat":22,"report":3,"roadmap":7,"rule":3,"runs_execut":21,"seek":3,"smeaheia":4,"softwar":3,"sourc":6,"spe10":4,"submodel":23,"submodul":[11,13],"subpackag":10,"support":3,"tabl":5,"theori":23,"transform":23,"util":[13,14,15,16,17,18,19,20,21],"via":[4,9],"welcom":5,"window":6,"world":4}}) \ No newline at end of file diff --git a/docs/text/contributing.rst b/docs/text/contributing.rst index 86ac49a..1b7f9fd 100644 --- a/docs/text/contributing.rst +++ b/docs/text/contributing.rst @@ -22,7 +22,7 @@ Contribute to the software #. In the main repo execute: #. **pip install -r dev-requirements.txt** (this installs the `dev-requirements.txt `_) - #. **black src/ tests/** (this formats the code) + #. **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) #. **mypy --ignore-missing-imports src/ tests/** (this is a static checker, and might rise issues that need to be fixed before the pull request) #. **pytest --cov=pycopm --cov-report term-missing tests/** (this runs locally the tests, and might rise issues that need to be fixed before the pull request) @@ -30,7 +30,7 @@ Contribute to the software #. **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 `_ folder) .. tip:: - See the `ci_pycopm_ubuntu.yml `_ script and the `Actions `_ for installation of pycopm, OPM Flow (binary packages), and dependencies, as well as the execution of the seven previous steps in Ubuntu 24.04 using Python 3.11. + See the `ci_pycopm_ubuntu.yml `_ script and the `Actions `_ for installation of pycopm, OPM Flow (binary packages), and dependencies, as well as the execution of the seven previous steps in Ubuntu 24.04 using Python 3.12. For macOS users, see the `ci_pycopm_macos.yml `_ script and the `OPM-Flow_macOS Actions `_ for installation of pycopm, OPM Flow (source build), and dependencies, as well as running the tests and the hello world example in macOS 26 using Python3.13. Note that if you do not add the directory containing the OPM Flow executable to your system's PATH environment variable (e.g., export PATH=$PATH:/Users/yourname/pycopm/build/opm-simulators/bin), then you can pass this in the execution of the tests and pycopm using the flags **-f/--flow** (see `this script `_). diff --git a/docs/text/installation.rst b/docs/text/installation.rst index e6b91cc..b383fd0 100644 --- a/docs/text/installation.rst +++ b/docs/text/installation.rst @@ -88,7 +88,7 @@ in the terminal the following lines (which in turn should build flow in the fold 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 -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 $CURRENT_DIRECTORY/opm-$repo if [[ $repo == simulators ]]; then make -j5 flow else @@ -108,7 +108,7 @@ 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 (v2025.10) by simply typing: +Then, you can try to install flow (v2026.02) by simply typing: .. code-block:: console @@ -121,46 +121,4 @@ You can check if the installation of OPM Flow succeded by typing in the terminal Source build in macOS +++++++++++++++++++++ -If you would like to build the latest OPM Flow from the master branch, then you can first install the prerequisites using brew: - -.. code-block:: console - - brew install cjson boost openblas suite-sparse python@3.13 cmake - -In addition, it is recommended to uprade and update your macOS to the latest available versions (the following steps have -worked for macOS Tahoe 26.2.0 with Apple clang version 17.0.0). After the prerequisites are installed, then building OPM Flow -can be achieved with the following bash lines: - -.. code-block:: console - - CURRENT_DIRECTORY="$PWD" - - for module in common geometry grid istl - do git clone https://gitlab.dune-project.org/core/dune-$module.git - cd dune-$module && git checkout v2.10.0 && cd .. - ./dune-common/bin/dunecontrol --only=dune-$module cmake -DCMAKE_DISABLE_FIND_PACKAGE_MPI=1 - ./dune-common/bin/dunecontrol --only=dune-$module make -j5 - done - - 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=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-$repo - if [[ $repo == simulators ]]; then - make -j5 flow - else - make -j5 opm$repo - fi - cd ../.. - done - - echo "export PATH=\$PATH:$CURRENT_DIRECTORY/build/opm-simulators/bin" >> ~/.zprofile - source ~/.zprofile - -This builds OPM Flow, and it exports the path to the flow executable. - -.. tip:: - See `this repository `_ dedicated to build OPM Flow from source in the latest macOS (GitHub actions), and tested with **pycopm**. - If you still face problems, raise an issue in the GitHub repository, or you could also send an email to the maintainers. +See `this repository `_ dedicated to build OPM Flow from source in the latest macOS (GitHub actions), and tested with **pycopm**