ResInsight/ThirdParty/Ert/libenkf/include/ert/enkf
2017-02-07 13:44:59 +01:00
..
active_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
active_list.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
active_node.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
analysis_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
analysis_iter_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
block_fs_driver.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
block_obs.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
cases_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
config_keys.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
config_parser.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
container_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
container.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
custom_kw_config_set.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
custom_kw_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
custom_kw.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
data_ranking.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ecl_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ecl_refcase_list.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_analysis.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_config_node.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
enkf_config_private.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_defaults.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
enkf_fs_type.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_fs.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_macros.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_main_jobs.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_main_update.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_main.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
enkf_node.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_obs.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_plot_data.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_plot_gen_kw_vector.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_plot_gen_kw.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_plot_gendata.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_plot_genvector.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_plot_tvector.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_serialize.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_state.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
enkf_types.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf_util.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
enkf.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ensemble_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ert_init_context.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ert_log.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ert_run_context.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ert_template.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ert_test_context.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ert_workflow_list.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
field_common.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
field_config.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
field_trans.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
field.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
forward_load_context.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
fs_driver.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
fs_types.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
gen_common.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
gen_data_common.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
gen_data_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
gen_data.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
gen_kw_common.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
gen_kw_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
gen_kw.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
gen_obs.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
hook_manager.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
hook_workflow.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
local_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
local_context.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
local_dataset.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
local_ministep.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
local_obsdata_node.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
local_obsdata.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
local_updatestep.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
meas_data.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
member_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
misfit_ensemble_typedef.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
misfit_ensemble.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
misfit_member.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
misfit_ranking.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
misfit_ts.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
model_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
obs_data.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
obs_vector.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
pca_plot_data.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
pca_plot_vector.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
plain_driver_obs.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
plain_driver.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
plot_settings.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
ranking_common.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
ranking_table.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
README.new_type_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
README.new_type.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
rng_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
run_arg_type.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
run_arg.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
runpath_list.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
scalar_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
site_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
state_map.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
summary_config.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
summary_key_matcher.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
summary_key_set.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
summary_obs.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
summary.h Updated Ert to e2a5a9cc20705537d07822958d925e092a323367 to include new accesss to well rates 2017-02-07 13:44:59 +01:00
surface_config.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
surface.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
time_map.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00
trans_func.h #804 Updated ERT based on 6287acdb0d039ce13eb9956b67035280a3de9539 2016-10-13 13:40:43 +02:00

/*
   Copyright (C) 2011  Statoil ASA, Norway. 
    
   The file 'README.new_type.h' is part of ERT - Ensemble based Reservoir Tool. 
    
   ERT is free software: you can redistribute it and/or modify 
   it under the terms of the GNU General Public License as published by 
   the Free Software Foundation, either version 3 of the License, or 
   (at your option) any later version. 
    
   ERT is distributed in the hope that it will be useful, but WITHOUT ANY 
   WARRANTY; without even the implied warranty of MERCHANTABILITY or 
   FITNESS FOR A PARTICULAR PURPOSE.   
    
   See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html> 
   for more details. 
*/

/**
The two files README.new_type.c and README.new_type_config.c (along
with the corresponding header files) are meant to serve as a
documentation and reference on how to add new object types to the enkf
system.


new_type.h
==========
When implementing a new type, the header file should contain a typedef like this:

  typedef struct new_type_struct new_type;

This typedef means two things:

  1. The entity "new_type" is to be interpreted as a "struc
     new_type_struct".  

  2. We are informing the compiler that a declaration of the struct
     new_type_struct will come at a later stage. However for the rest
     of the header file we can refer only to "new_type"

The advantages of this way to do it is that only the existence of
"struct new_type_struct" is exported, the actual implementation is
hidden for other files; it is a bit like making all the data private
in a C++ class.

  _____________________ E X A M P L E _____________________________
 /
 | new.h
 | -----
 | typedef struct new_struct new_type;
 | 
 | new_type * new_type_alloc(int , const char *);
 | double   * new_get_data_ref(const new_type *);
 | void       new_type_free(new_type *);
 | 
 | 
 | new.c
 | -----
 | #include <util.h>
 | #include <new.h>
 | 
 | struct new_struct {
 |    double *data;
 | }
 | 
 | new_type * new_type_alloc(int size) {
 |    new_type * new = util_malloc(sizeof * new_type , __func__);
      new->date = util_malloc(size * sizeof new->data);
 |    return new;
 | }
 |
 | double * new_get_data_ref(const new_type * new) {
 |    return new->data;
 | }
 | 
 | 
 | void new_type_free(new_type * new) {
 |    free(new->data);
 |    free(new);
 | }
 | 
 | 
 | other.c
 | -------
 | #include <new.h>
 | 
 | void some_func() {
 |    new_type * new = new_type_alloc(100 , "Programmer ...");
 |    ....
 |    ....
 |    new_type_free(new);
 | }
 \_________________________________________________________________

What happen in this little example is the following things:

 1. In the header file "new.h" we say that an implementation of a
    struct new_type_struct will be forthcoming. This struct can
    (without the implementation) be referred to as new_type.

    In the header file we also claim that the three functions:

      i   new_type * new_type_alloc(int , const chat*);
      ii  double *   new_get_data_ref(const new_type *);
      iii void       new_type_free(new_type *);

    will be coming.

 2. In the source file new.c we have the implementation of the struct
    new_struct, along with the three functions listed above.

 3. In the third file, other.c which includes "new.h", we can refer to
    the type new_type, and the three functions listed in the
    header. However we can *NOT* get to the fields in the struct of
    type new_type_struct, i.e. code like:
  
        ....
        new->data[17] = 178.9;
        ....
  
    in "other.c" will *NOT* compile. It will fail with the message
    "dereferencing pointer to imcomplete type."

*/