Ejemplo n.º 1
0
double ecl_sum_data_get_from_sim_time( const ecl_sum_data_type * data , time_t sim_time , const smspec_node_type * smspec_node) {
  int params_index = smspec_node_get_params_index( smspec_node );
  if (smspec_node_is_rate( smspec_node )) {
    int time_index = ecl_sum_data_get_index_from_sim_time( data , sim_time );
    return ecl_sum_data_iget( data , time_index , params_index);
  } else {
    /* Interpolated lookup based on two (hopefully) consecutive ministeps. */
    double weight1 , weight2;
    int    time_index1 , time_index2;
    

    ecl_sum_data_init_interp_from_sim_time( data , sim_time , &time_index1 , &time_index2 , &weight1 , &weight2);
    return ecl_sum_data_interp_get( data , time_index1 , time_index2 , weight1 , weight2 , params_index);
  }
}
Ejemplo n.º 2
0
Archivo: ecl_sum.c Proyecto: flikka/ert
static int ecl_sum_get_limiting(const ecl_sum_type * ecl_sum , int smspec_index , double limit , bool gt) {
  const int length        = ecl_sum_data_get_length( ecl_sum->data );
  int internal_index      = 0;
  do {
    double value = ecl_sum_data_iget( ecl_sum->data , internal_index , smspec_index );
    if (gt) {
      if (value > limit)
        break;
    } else {
      if (value < limit)
        break;
    }
    internal_index++;
  } while (internal_index < length);

  if (internal_index == length)  /* Did not find it */
    internal_index = -1;

  return internal_index;
}
Ejemplo n.º 3
0
Archivo: ecl_sum.c Proyecto: flikka/ert
double ecl_sum_iget( const ecl_sum_type * ecl_sum , int time_index , int param_index) {
  return ecl_sum_data_iget(ecl_sum->data , time_index , param_index);
}
Ejemplo n.º 4
0
Archivo: ecl_sum.c Proyecto: flikka/ert
double ecl_sum_get_general_var(const ecl_sum_type * ecl_sum , int time_index , const char * lookup_kw) {
  int params_index = ecl_sum_get_general_var_params_index(ecl_sum , lookup_kw);
  return ecl_sum_data_iget( ecl_sum->data , time_index  , params_index);
}
Ejemplo n.º 5
0
Archivo: ecl_sum.c Proyecto: flikka/ert
double ecl_sum_get_well_completion_var(const ecl_sum_type * ecl_sum , int time_index , const char * well , const char *var, int cell_nr)  {
  int index = ecl_sum_get_well_completion_var_index(ecl_sum , well , var , cell_nr);
  return ecl_sum_data_iget( ecl_sum->data , time_index , index);
}
Ejemplo n.º 6
0
Archivo: ecl_sum.c Proyecto: flikka/ert
double  ecl_sum_get_misc_var(const ecl_sum_type * ecl_sum , int time_index , const char *var) {
  int index = ecl_sum_get_misc_var_index( ecl_sum ,  var);
  return ecl_sum_data_iget( ecl_sum->data , time_index , index);
}
Ejemplo n.º 7
0
Archivo: ecl_sum.c Proyecto: flikka/ert
double ecl_sum_get_region_var(const ecl_sum_type * ecl_sum , int time_index , const char *var , int region_nr) {
  int params_index = ecl_smspec_get_region_var_params_index( ecl_sum->smspec ,  var , region_nr);
  return ecl_sum_data_iget( ecl_sum->data , time_index , params_index);
}
Ejemplo n.º 8
0
Archivo: ecl_sum.c Proyecto: flikka/ert
double ecl_sum_get_block_var_ijk(const ecl_sum_type * ecl_sum , int time_index , const char * block_var , int i , int j , int k) {
  int index = ecl_sum_get_block_var_index_ijk( ecl_sum ,  block_var , i , j , k);
  return ecl_sum_data_iget( ecl_sum->data , time_index , index);
}
Ejemplo n.º 9
0
Archivo: ecl_sum.c Proyecto: flikka/ert
double ecl_sum_get_block_var(const ecl_sum_type * ecl_sum , int time_index , const char * block_var , int block_nr) {
  int params_index = ecl_smspec_get_block_var_params_index( ecl_sum->smspec ,  block_var , block_nr);
  return ecl_sum_data_iget( ecl_sum->data , time_index , params_index);
}
Ejemplo n.º 10
0
Archivo: ecl_sum.c Proyecto: flikka/ert
double  ecl_sum_get_group_var(const ecl_sum_type * ecl_sum , int time_index , const char * group , const char *var) {
  int params_index = ecl_smspec_get_group_var_params_index( ecl_sum->smspec , group , var );
  return ecl_sum_data_iget( ecl_sum->data , time_index , params_index);
}