Giter VIP home page Giter VIP logo

libecl's Introduction

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 OS X, 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, 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.

In addition to the C code there are Python wrappers which make most of the libecl functionality available from Python. For small interactive scripts, forward models e.t.c. this is recommended way to use libecl functionality.

Compiling the C code

libecl uses CMake as build system:

git clone https://github.com/Statoil/*libecl*.git
cd *libecl*
mkdir build
cd build
cmake ..
make

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

Compiling the Python code

Python is not a compiled language, but there is a basic "build system" which does a basic Python syntax check and configures some files to correctly set up the interaction between the Python classes and the shared libraries built from the C code.

You need to install some Python requirements before the Python code will work:

sudo pip install -r requirements.txt

The Python + cmake interaction is handled in a separate project called pycmake; you can either install that manually or use the git submodule functionality to fetch the correct version of pycmake into your libecl code:

git submodule update --init pycmake

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.