Exemple #1
0
SummaryComparator::SummaryComparator(const std::string& basename1,
                                     const std::string& basename2,
                                     double absoluteTol, double relativeTol){
    ecl_sum1 = ecl_sum_fread_alloc_case(basename1.c_str(), ":");
    ecl_sum2 = ecl_sum_fread_alloc_case(basename2.c_str(), ":");
    if (ecl_sum1 == nullptr || ecl_sum2 == nullptr) {
        OPM_THROW(std::runtime_error, "Not able to open files");
    }
    absoluteTolerance = absoluteTol;
    relativeTolerance = relativeTol;
    keys1 = stringlist_alloc_new();
    keys2 = stringlist_alloc_new();
    ecl_sum_select_matching_general_var_list( ecl_sum1 , "*" , this->keys1);
    stringlist_sort(this->keys1 , nullptr );
    ecl_sum_select_matching_general_var_list( ecl_sum2 , "*" , this->keys2);
    stringlist_sort(this->keys2 , nullptr );

    if(stringlist_get_size(keys1) <= stringlist_get_size(keys2)){
        this->keysShort = this->keys1;
        this->keysLong = this->keys2;
    }else{
        this->keysShort = this->keys2;
        this->keysLong = this->keys1;
    }
}
Exemple #2
0
int main(int argc , char ** argv) {
  const char * data_file = argv[1];
  
  ecl_sum_type * ecl_sum = ecl_sum_fread_alloc_case( data_file , ":");
  if (ecl_sum != NULL) {
    stringlist_type * keys = stringlist_alloc_new();

    if (argc == 2)
      ecl_sum_select_matching_general_var_list( ecl_sum , "*" , keys);
    else {
      for (int iarg = 2; iarg < argc; iarg++) {
        printf("Matchging:%s \n",argv[iarg]);
        ecl_sum_select_matching_general_var_list( ecl_sum , argv[iarg] , keys);
      }
    }
    
    stringlist_sort( keys , NULL );
    {
      int i;
      for (i=0; i < stringlist_get_size( keys );  i++)
        printf("%s \n",stringlist_iget( keys , i ));
    }
    
    stringlist_free( keys );
    ecl_sum_free(ecl_sum);
  } else 
    fprintf(stderr,"key_list.x: No summary data found for case:%s\n", data_file );
}
Exemple #3
0
sum_case_type * sum_case_fread_alloc( const char * data_file , const time_t_vector_type * interp_time ) {
  sum_case_type * sum_case = util_malloc( sizeof * sum_case );

  sum_case->ecl_sum     = ecl_sum_fread_alloc_case( data_file , SUMMARY_JOIN );
  sum_case->interp_data = double_vector_alloc(0 , 0);
  sum_case->interp_time = interp_time;
  sum_case->start_time  = ecl_sum_get_start_time( sum_case->ecl_sum );
  sum_case->end_time    = ecl_sum_get_end_time( sum_case->ecl_sum );
  return sum_case;
}
Exemple #4
0
int main( int argc , char ** argv) {
  const char * case1 = argv[1];

  ecl_sum_type * ecl_sum1 = ecl_sum_fread_alloc_case( case1 , ":");
  
  test_assert_true( ecl_sum_is_instance( ecl_sum1 ));
  test_time_range( ecl_sum1 );
  test_days( ecl_sum1 );
  test_is_oil_producer(ecl_sum1);
  ecl_sum_free( ecl_sum1 );
  exit(0);
}
int main( int argc , char ** argv) {
    const char * case1 = argv[1];
    const char * case2 = argv[2];
    const char * compatible_string = argv[3];
    bool compatible;
    ecl_sum_type * ecl_sum1 = ecl_sum_fread_alloc_case( case1 , ":");
    ecl_sum_type * ecl_sum2 = ecl_sum_fread_alloc_case( case2 , ":");

    test_assert_true( ecl_sum_is_instance( ecl_sum1 ));
    test_assert_true( ecl_sum_is_instance( ecl_sum2 ));
    test_assert_true( ecl_sum_report_step_compatible( ecl_sum1 , ecl_sum1) );
    test_assert_true( util_sscanf_bool( compatible_string , &compatible ));

    test_assert_true( ecl_sum_report_step_compatible( ecl_sum1 , ecl_sum1) );
    test_assert_true( ecl_sum_report_step_compatible( ecl_sum2 , ecl_sum2) );
    test_assert_bool_equal( compatible , ecl_sum_report_step_compatible( ecl_sum1 , ecl_sum2 ));

    ecl_sum_free( ecl_sum1 );
    ecl_sum_free( ecl_sum2 );
    exit(0);
}
Exemple #6
0
void ecl_test( const char * ecl_case ) {
  ecl_sum_type * ecl_sum  = ecl_sum_fread_alloc_case( ecl_case , ":");
  time_t start_time = ecl_sum_get_start_time( ecl_sum );
  time_t end_time   = ecl_sum_get_end_time( ecl_sum );
  time_map_type * ecl_map = time_map_alloc( );
  
  test_assert_true( time_map_summary_update( ecl_map , ecl_sum ) );
  test_assert_true( time_map_summary_update( ecl_map , ecl_sum ) );
  
  test_assert_time_t_equal( time_map_get_start_time( ecl_map ) , start_time );
  test_assert_time_t_equal( time_map_get_end_time( ecl_map ) , end_time );
  test_assert_double_equal( time_map_get_end_days( ecl_map ) , ecl_sum_get_sim_length( ecl_sum ));

  time_map_clear( ecl_map );
  time_map_update( ecl_map , 1 , 256 );
  test_assert_false( time_map_summary_update( ecl_map , ecl_sum ));
  
  time_map_free( ecl_map );
  ecl_sum_free( ecl_sum );
}
ECLSummaryReader::ECLSummaryReader(QString file_name)
{
    file_name_ = file_name;
    ecl_sum_ = ecl_sum_fread_alloc_case(file_name_.toLatin1().constData(), "");
    if (ecl_sum_ == NULL) throw SummaryFileNotFoundAtPathException(file_name.toLatin1().constData());
}