Skip to content
forked from equinor/resdata

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

matteodg/libecl

This branch is 268 commits behind equinor/resdata:main.

Folders and files

NameName
Last commit message
Last commit date
May 29, 2020
Aug 20, 2016
Jan 23, 2020
Nov 28, 2018
Sep 15, 2020
Jul 5, 2019
Jun 18, 2019
Jun 25, 2018
Feb 26, 2019
Sep 17, 2020
Aug 6, 2020
Jun 18, 2019
Feb 26, 2019
Feb 26, 2019
Oct 18, 2012
Feb 20, 2020
Feb 20, 2020
Aug 6, 2020
Nov 9, 2016
Feb 6, 2020
Aug 29, 2018
Mar 30, 2020
Nov 22, 2018
Dec 5, 2018
Feb 20, 2020
Feb 20, 2020
Sep 29, 2017
Feb 20, 2020
Feb 20, 2020
Feb 20, 2020

Repository files navigation

libecl Build Status

libecl is a package for reading and writing the result files from the Eclipse reservoir simulator. The file types covered are the restart, init, rft, summary and grid files. Both unified and non-unified and formatted and unformatted files are supported.

libecl is mainly developed on Linux and macOS, in addition there is a portability layer which ensures that most of the functionality is available on Windows. The main functionality is written in C/C++, and should typically be linked in in other compiled programs. libecl was initially developed as part of the Ensemble Reservoir Tool, other applications using libecl are the reservoir simulator flow and Resinsight from the OPM project.

Alternative 1: Python only

For small interactive scripts, such as forward models, the recommended way to use libecl is by installing it from PyPI. This method doesn't require setting PYTHONPATH or LD_LIBRARY_PATH environment variables:

$ pip install libecl

Alternative 2: C library only

This is for when you need to link directly with the libecl C library, but don't need the Python bindings. libecl requires a conforming C++11 or later compiler such as GNU GCC, the CMake build system and, optionally, zlib.

$ git clone https://github.com/Equinor/libecl
$ mkdir libecl/build
$ cd libecl/build
$ cmake ..
$ make
$ make install

To install libecl in a non-standard location, add -DCMAKE_INSTALL_PREFIX=/path/to/install to the first cmake command. Remember to set LD_LIBRARY_PATH=/path/to/install/lib64:$LD_LIBRARY_PATH if you do use a non-standard location for your program to find libecl.so.

If you intend to develop and change libecl you should build the tests by passing -DBUILD_TESTS=ON and run the tests with ctest.

Alternative 3: C library with Python bindings

It is also possible to install both the C library and Python bindings using CMake. Note that this alternative is incompatible with libecl installed from PyPI (Alternative 1). As before, we require a conforming C++11 or later compiler, CMake and, optionally, zlib.

$ git clone https://github.com/Equinor/libecl
$ mkdir libecl/build
$ cd libecl/build
$ pip install -r ../requirements.txt
$ cmake .. -DENABLE_PYTHON=ON
$ make
$ make install

You will most likely want to install libecl into a Python virtual environment. First activate the virtualenv, then add the argument -DCMAKE_INSTALL_PREFIX=$(python -c "import sys; print(sys.prefix)") to the cmake command when building.

Then, you must tell Python where to find the package[1]:

$ export PYTHONPATH=/path/to/install/lib/python2.7/site-packages:$PYTHONPATH
$ export LD_LIBRARY_PATH=/path/to/install/lib64:$LD_LIBRARY_PATH

Then you can fire up your Python interpreter and try it out:

>>> from ecl.summary import EclSum
>>> import sys

>>> summary = EclSum(sys.argv[1])
>>> fopt = summary.numpy_vector("FOPT")

The installation with Python enabled is described in a YouTube video by Carl Fredrik Berg.

[1]: The exact paths here will depend on your system and Python version. The example given is for a RedHat system with Python version 2.7.

About

No description, website, or topics provided.

Resources

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 59.1%
  • Python 27.0%
  • C 8.7%
  • TeX 3.1%
  • CMake 1.9%
  • Roff 0.1%
  • Shell 0.1%