mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
The EnKF functionality is organized in xxx libraries with different
functionalities. The different libraries depend on eachother, and the
libraries must be built in correct order. The dependencies is as
follows:
libhash :
libutil : libhash
libecl : libhash libutil
librms : libecl libutil libhash
libsched : libecl linutil libhash
libenkf : libecl libsched librm linutil libhash
libhash: This library implements the classes hash_type, set_type and
list_type.
libutil: This library is a collection utility routines. Observe that
this library only implements routines, and not statefull
objects.
libecl: This library implements functions for reading/writing ECLIPSE
restart/summary/init/grid files.
libsched: This library implements a basic SCHEDULE file parser.
librms: This library implements (basic) reader and writer for binary
RMS ROFF files.
libenkf: This library implements various high level objects for EnKF
functionality.
-----------------------------------------------------------------
All the makefiles start with the statement:
include "path_config"
The file path_config is *not* under version control, this is on
purpose because every user can/should have a private confiiguration of
paths. The file path_config should define make-variables for the
location of all the libraries, this is an example of a valid
path-config file:
LIBHASH_HOME = /h/a152128/EnKF/EnKF/libhash
LIBUTIL_HOME = /h/a152128/EnKF/EnKF/libutil
LIBSCHED_HOME = /h/a152128/EnKF/EnKF/libsched
LIBRMS_HOME = /h/a152128/EnKF/EnKF/librms
LIBECL_HOME = /h/a152128/EnKF/EnKF/libecl
LIBENKF_HOME = /h/a152128/EnKF/EnKF/libenkf
In this example all libraries have a common path prefix, that is not
a requirement.