libres is part of the ERT
project: Ensemble based Reservoir Tool. It is now available in PyPI:
$ pip install equinor-libres
or, for the latest development version (requires GCC/clang and Python.h
):
$ pip install git+https://github.com/equinor/libres.git@master
libres is meant to be installed using setup.py
, directly or using pip install ./
. The CMakeLists.txt
exists, but is used by setup.py
to generate
the libres
C library and by Github Actions to run C tests.
libres requires a recent version of pip
- hence you are advised to upgrade your pip
installation with
$ pip install --upgrade pip
If your pip
version is too old the installation of libres
will fail, and the error messages will be incomprehensible.
Use the following commands to start developing from a clean virtualenv
$ pip install -r requirements.txt
$ python setup.py develop
Alternatively, pip install -e .
will also setup libres
for development, but
it will be more difficult to recompile the C library.
scikit-build is used
for compiling the C library. It creates a directory named _skbuild
which is
reused upon future invocations of either python setup.py develop
, or python setup.py build_ext
. The latter only rebuilds the C library. In some cases this
directory must be removed in order for compilation to succeed.
The C library files get installed into python/res/.libs
, which is where the
res
module will look for them.
Install the required testing packages and run tests.
$ pip install -r test_requirements.txt
$ pytest
Install ecl using CMake as a C library. Then:
$ mkdir build
$ cd build
$ cmake .. -DBUILD_TESTS=ON
$ cmake --build .
$ ctest --output-on-failure
As part of the installation process libres
will install a file called
site-config
in share/ert/site-config
; when ert starts this file will be
loaded before the users personal config file. For more extensive use of ert
it
might be benefical to customize the site-config
file to your personal site.
To customize, you need to set the environment variable ERT_SITE_CONFIG
to
point to an alternative file that will be used.
libres
contains basic functionality for forward models to run the reservoir
simulators Eclipse/flow and the geomodelling program RMS. Exactly how these
programs depend on the setup on your site and you must make some modifications
to two files installed with libres
:
In the Python distribution installed by libres
there is a file
res/fm/ecl/ecl_config.yml
which is used to configure the eclipse/flow versions
are available at the location. You can provide an alternative configuration file
by setting the environment variable ECL_SITE_CONFIG
.
In the Python distribution installed by libres
there is a file:
res/fm/rms/rms_config.yml
which contains some site specific RMS configuration.
You should provide an alternative file with your local path to the rms
wrapper
script supplied by Roxar by setting the environment variable RMS_SITE_CONFIG
to point to the alternative file.