Exemplo n.º 1
0
void test_create_from_field(ecl_grid_type * grid) {
  field_config_type * field_config = field_config_alloc_empty( "PRESSURE" , grid , NULL );
  block_obs_type * block_obs = block_obs_alloc( "ObsKey" , field_config , grid );
  
  test_assert_true( block_obs_is_instance( block_obs ));
  test_assert_int_equal(0 , block_obs_get_size( block_obs ));
  block_obs_append_field_obs( block_obs , 10 , 12 , 8  , 100 , 25);
  test_assert_int_equal(1 , block_obs_get_size( block_obs ));
  block_obs_append_field_obs( block_obs , 10 , 12 , 9  , 100 , 25);
  test_assert_int_equal(2 , block_obs_get_size( block_obs ));
  block_obs_free( block_obs );
  field_config_free( field_config );
}
Exemplo n.º 2
0
/**
   The input vectors i,j,k should contain offset zero values.
*/
block_obs_type * block_obs_alloc_complete(const char   * obs_key,
        block_obs_source_type source_type ,
        const stringlist_type * summary_keys ,
        const void * data_config ,
        const ecl_grid_type * grid ,
        int            size,
        const int    * i,
        const int    * j,
        const int    * k,
        const double * obs_value,
        const double * obs_std)
{
    block_obs_validate_ijk( grid , size , i,j,k);
    {
        block_obs_type * block_obs = block_obs_alloc( obs_key , data_config , grid );
        if (block_obs) {
            for (int l=0; l < size; l++) {

                if (source_type == SOURCE_SUMMARY) {
                    const char * sum_key = stringlist_iget( summary_keys , l );
                    block_obs_append_summary_obs( block_obs , i[l] , j[l] , k[l] , sum_key , obs_value[l] , obs_std[l]);
                } else
                    block_obs_append_field_obs( block_obs , i[l] , j[l] , k[l] , obs_value[l] , obs_std[l]);

            }
            return block_obs;
        } else {
            util_abort("%s: internal error - block_obs_alloc() returned NULL \n",__func__);
            return NULL;
        }
    }
}