smspec_node.h
Go to the documentation of this file.
1/*
2 Warning: The libecl code has changed to be compiled as a C++ project. This
3 header file is retained for a period for compatibility, but you are encouraged
4 to switch to include the new hpp header directly in your code.
5*/
6
7#include <stdbool.h>
8#include <stdio.h>
9
10#ifndef ERT_SMSPEC_NODE_H
11#define ERT_SMSPEC_NODE_H
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#define DUMMY_WELL ":+:+:+:+"
18#define IS_DUMMY_WELL(well) (strcmp((well) , DUMMY_WELL) == 0)
19#define SMSPEC_PARAMS_INDEX_INVALID -77
20
21
22#define SMSPEC_TIME_KEYWORD "TIME"
23#define SMSPEC_TIME_NUMS_VALUE -32676
24
25#define SMSPEC_YEARS_KEYWORD "YEARS"
26#define SMSPEC_YEARS_NUMS_VALUE -32676
27
28typedef enum {ECL_SMSPEC_INVALID_VAR = 0 ,
32 ECL_SMSPEC_WELL_VAR = 4 , /* X */
43
44#define SMSPEC_NUMS_INVALID -991199
45#define SMSPEC_NUMS_WELL 1
46#define SMSPEC_NUMS_GROUP 2
47#define SMSPEC_NUMS_FIELD 0
48
49#define SMSPEC_TYPE_ID 61550451
50
51 char * smspec_alloc_block_ijk_key( const char * join_string , const char * keyword , int i , int j , int k);
52 char * smspec_alloc_completion_ijk_key( const char * join_string , const char * keyword, const char * wgname , int i , int j , int k);
53 char * smspec_alloc_completion_num_key( const char * join_string , const char * keyword, const char * wgname , int num);
54 char * smspec_alloc_group_key( const char * join_string , const char * keyword , const char * wgname);
55 char * smspec_alloc_well_key( const char * join_string , const char * keyword , const char * wgname);
56 char * smspec_alloc_region_key( const char * join_string , const char * keyword , int num);
57 char * smspec_alloc_region_2_region_r1r2_key( const char * join_string , const char * keyword , int r1, int r2);
58 char * smspec_alloc_region_2_region_num_key( const char * join_string , const char * keyword , int num);
59 char * smspec_alloc_segment_key( const char * join_string , const char * keyword , const char * wgname , int num);
60 char * smspec_alloc_block_num_key( const char * join_string , const char * keyword , int num);
61 char * smspec_alloc_local_well_key( const char * join_string , const char * keyword , const char * lgr_name , const char * wgname);
62 char * smspec_alloc_local_block_key( const char * join_string , const char * keyword , const char * lgr_name , int i , int j , int k);
63 char * smspec_alloc_local_completion_key( const char * join_string, const char * keyword , const char * lgr_name , const char * wgname , int i , int j , int k);
64
67
68 bool smspec_node_equal( const void * node1, const void * node2);
69
70 void smspec_node_init( void * smspec_node,
71 ecl_smspec_var_type var_type ,
72 const char * wgname ,
73 const char * keyword ,
74 const char * unit ,
75 const char * key_join_string ,
76 const int grid_dims[3] ,
77 int num);
78
79 void * smspec_node_alloc( int param_index,
80 const char * keyword ,
81 const char * wgname,
82 int num,
83 const char * unit ,
84 const int grid_dims[3] ,
85 float default_value,
86 const char * key_join_string);
87
89 const char * wgname ,
90 const char * keyword ,
91 const char * unit ,
92 const char * lgr ,
93 const char * key_join_string ,
94 int lgr_i, int lgr_j , int lgr_k,
95 int param_index,
96 float default_value);
97
98 void * smspec_node_alloc_copy( const void* );
99
100 void smspec_node_free( void * index );
101 void smspec_node_free__(void * arg);
102 void smspec_node_set_params_index( void * smspec_node , int params_index);
103 int smspec_node_get_params_index( const void * smspec_node );
104 const char * smspec_node_get_gen_key1( const void * smspec_node);
105 const char * smspec_node_get_gen_key2( const void * smspec_node);
107 int smspec_node_get_num( const void * smspec_node);
108 const char * smspec_node_get_wgname( const void * smspec_node);
109 const char * smspec_node_get_keyword( const void * smspec_node);
110 const char * smspec_node_get_unit( const void * smspec_node);
111 bool smspec_node_is_rate( const void * smspec_node );
112 bool smspec_node_is_total( const void * smspec_node );
113 bool smspec_node_is_historical( const void * smspec_node );
114 bool smspec_node_need_nums( const void * smspec_node );
115 void smspec_node_fprintf( const void * smspec_node , FILE * stream);
116
117 float smspec_node_get_default( const void * smspec_node);
118
119 const int* smspec_node_get_ijk( const void * smpsec_node );
120 const char* smspec_node_get_lgr_name( const void * smpsec_node );
121 const int* smspec_node_get_lgr_ijk( const void * smpsec_node );
122
123 int smspec_node_get_R1( const void * smpsec_node );
124 int smspec_node_get_R2( const void * smpsec_node );
125
126 bool smspec_node_lt( const void * node1, const void * node2);
127 bool smspec_node_gt( const void * node1, const void * node2);
128 int smspec_node_cmp( const void * node1, const void * node2);
129 int smspec_node_cmp__( const void * node1, const void * node2);
130
131#ifdef __cplusplus
132}
133#endif
134#endif
135
136
int index
Definition: cJSON.h:168
UDAKeyword keyword(UDAControl control)
char * smspec_alloc_group_key(const char *join_string, const char *keyword, const char *wgname)
char * smspec_alloc_block_num_key(const char *join_string, const char *keyword, int num)
int smspec_node_get_R1(const void *smpsec_node)
int smspec_node_cmp__(const void *node1, const void *node2)
bool smspec_node_lt(const void *node1, const void *node2)
char * smspec_alloc_well_key(const char *join_string, const char *keyword, const char *wgname)
char * smspec_alloc_completion_num_key(const char *join_string, const char *keyword, const char *wgname, int num)
bool smspec_node_gt(const void *node1, const void *node2)
const char * smspec_node_get_unit(const void *smspec_node)
const char * smspec_node_get_lgr_name(const void *smpsec_node)
char * smspec_alloc_local_block_key(const char *join_string, const char *keyword, const char *lgr_name, int i, int j, int k)
bool smspec_node_is_historical(const void *smspec_node)
void smspec_node_set_params_index(void *smspec_node, int params_index)
bool smspec_node_is_total(const void *smspec_node)
const int * smspec_node_get_lgr_ijk(const void *smpsec_node)
char * smspec_alloc_local_well_key(const char *join_string, const char *keyword, const char *lgr_name, const char *wgname)
bool smspec_node_is_rate(const void *smspec_node)
bool smspec_node_need_nums(const void *smspec_node)
const char * smspec_node_get_gen_key2(const void *smspec_node)
float smspec_node_get_default(const void *smspec_node)
bool smspec_node_identify_total(const char *keyword, ecl_smspec_var_type var_type)
const char * smspec_node_get_keyword(const void *smspec_node)
bool smspec_node_identify_rate(const char *keyword)
char * smspec_alloc_region_2_region_r1r2_key(const char *join_string, const char *keyword, int r1, int r2)
ecl_smspec_var_type
Definition: smspec_node.h:28
@ ECL_SMSPEC_INVALID_VAR
Definition: smspec_node.h:28
@ ECL_SMSPEC_NETWORK_VAR
Definition: smspec_node.h:37
@ ECL_SMSPEC_MISC_VAR
Definition: smspec_node.h:42
@ ECL_SMSPEC_REGION_VAR
Definition: smspec_node.h:30
@ ECL_SMSPEC_FIELD_VAR
Definition: smspec_node.h:29
@ ECL_SMSPEC_COMPLETION_VAR
Definition: smspec_node.h:36
@ ECL_SMSPEC_AQUIFER_VAR
Definition: smspec_node.h:35
@ ECL_SMSPEC_REGION_2_REGION_VAR
Definition: smspec_node.h:38
@ ECL_SMSPEC_LOCAL_WELL_VAR
Definition: smspec_node.h:41
@ ECL_SMSPEC_BLOCK_VAR
Definition: smspec_node.h:34
@ ECL_SMSPEC_LOCAL_BLOCK_VAR
Definition: smspec_node.h:39
@ ECL_SMSPEC_LOCAL_COMPLETION_VAR
Definition: smspec_node.h:40
@ ECL_SMSPEC_GROUP_VAR
Definition: smspec_node.h:31
@ ECL_SMSPEC_SEGMENT_VAR
Definition: smspec_node.h:33
@ ECL_SMSPEC_WELL_VAR
Definition: smspec_node.h:32
int smspec_node_get_num(const void *smspec_node)
void smspec_node_init(void *smspec_node, ecl_smspec_var_type var_type, const char *wgname, const char *keyword, const char *unit, const char *key_join_string, const int grid_dims[3], int num)
void * smspec_node_alloc_copy(const void *)
int smspec_node_get_params_index(const void *smspec_node)
void smspec_node_free(void *index)
const char * smspec_node_get_wgname(const void *smspec_node)
void * smspec_node_alloc(int param_index, const char *keyword, const char *wgname, int num, const char *unit, const int grid_dims[3], float default_value, const char *key_join_string)
char * smspec_alloc_segment_key(const char *join_string, const char *keyword, const char *wgname, int num)
char * smspec_alloc_region_2_region_num_key(const char *join_string, const char *keyword, int num)
bool smspec_node_equal(const void *node1, const void *node2)
char * smspec_alloc_block_ijk_key(const char *join_string, const char *keyword, int i, int j, int k)
char * smspec_alloc_local_completion_key(const char *join_string, const char *keyword, const char *lgr_name, const char *wgname, int i, int j, int k)
ecl_smspec_var_type smspec_node_get_var_type(const void *smspec_node)
int smspec_node_cmp(const void *node1, const void *node2)
const char * smspec_node_get_gen_key1(const void *smspec_node)
void * smspec_node_alloc_lgr(ecl_smspec_var_type var_type, const char *wgname, const char *keyword, const char *unit, const char *lgr, const char *key_join_string, int lgr_i, int lgr_j, int lgr_k, int param_index, float default_value)
const int * smspec_node_get_ijk(const void *smpsec_node)
char * smspec_alloc_completion_ijk_key(const char *join_string, const char *keyword, const char *wgname, int i, int j, int k)
int smspec_node_get_R2(const void *smpsec_node)
char * smspec_alloc_region_key(const char *join_string, const char *keyword, int num)
void smspec_node_fprintf(const void *smspec_node, FILE *stream)
void smspec_node_free__(void *arg)