Coder Social home page Coder Social logo

jafranc / pyopmspe11 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opm/pyopmspe11

0.0 0.0 0.0 104.58 MB

A Python framework using OPM Flow for the SPE11 benchmark project

Home Page: http://OPM.github.io/pyopmspe11/

License: MIT License

Shell 0.98% Python 54.69% Mako 11.77% GLSL 32.10% Dockerfile 0.47%

pyopmspe11's Introduction

Build Status Code style License: MIT

pyopmspe11: A Python framework using OPM Flow for the SPE11 benchmark project

This repository contains scripts to set up a workflow in python for the three cases in the SPE11 project. Here we use the OPM-Flow simulator.

Installation

You will first need to install

You can 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
# Create virtual environment
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 (in editable mode for contributions/modifications; otherwise, pip install .)
pip install -e .
# For contributions/testing/linting, install the dev-requirements
pip install -r dev-requirements.txt

See the CI.yml script for installation of OPM Flow (binary packages) and the pyopmspe11 package. If you are a Linux user (including the windows subsystem for Linux), then you could try to build Flow from the master branches with mpi support, by running the script ./build_opm-flow_mpi.bash, which in turn should build flow in the folder ./build/opm-simulators/bin/flow.

For macOS users with the latest chips (M1/M2, guessing also M3?), the resdata Python package might not available via pip install, depending on the Python version (e.g., it is not found using Python 3.9, but it is installed using Python 3.10). If you face this issue, then before installation, remove resdata from the requirements.txt, then proceed with the Python requirements installation, install the OPM Flow dependencies (using macports or brew), and once inside the vpyopmspe11 Python environment, run the ./build_opm-flow_macOS.bash, and deactivate and activate the virtual environment (this script builds OPM Flow as well as the opm Python package, and it exports the required PYTHONPATH).

Running pyopmspe11

You can run pyopmspe11 as a single command line:

pyopmspe11 -i some_input.txt -o some_output_folder

Run pyopmspe11 --help to see all possible command line argument options. Inside the some_input.txt file you provide the path to the flow executable and simulation parameters. See the .txt files in the tests and examples folders.

Getting started

See the documentation.

About pyopmspe11

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.

pyopmspe11's People

Contributors

daavid00 avatar jafranc avatar moyner avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.