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; } }
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 ); }
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; }
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); }
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()); }