Awesome
ResData
Python package for reading and writing the result files from reservoir simulators. The file types covered are the RESTART, INIT, RFT, Summary and GRID files in unified and non-unified, and formatted and unformatted.
ResData officially only supports Linux and macOS. It was initially developed as part of the ert project.
Using
ResData is available on PyPI and can be installed into a Python virtual environment with pip
:
pip install resdata
Building
ResData is a Python project with a C++ extension layer. Most of the functionality is implemented in C++ and uses cwrap for binding it to Python.
A C++17-compatible compiler, like GCC 8+ or Clang 11+ is required. Other C++ dependencies are brought in automatically by Conan during CMake compilation.
In a Python virtual environment, run:
# Fetch directly from GitHub
pip install git+https://github.com/equinor/resdata
# If git-cloned, install local directory in editable mode
pip install --editable .
Running tests
As this codebase contains both Python and C++ code, there are tests for both Python and C++.
Python tests
These tests use pytest and require that ResData is installed into a Python virtualenv in --editable
mode, as described in the Building section.
Ensure that pytest is installed and do the following to
# Install pytest
pip install pytest
# Run all tests in the python/tests directory
pytest python/tests
C++ tests
ResData uses a homegrown testing suite as well as Catch2, 2.x which is compiled via CMake and ran using ctest
.
Ensure that cmake
and conan
version 1 is installed.
# Generate CMake build files into `build/`
cmake -B build .
# Build project
cmake --build build
# Run all tests
ctest --test-dir build