bool ecl_config_include_static_kw(const ecl_config_type * ecl_config, const char * kw) { if (ecl_config->include_all_static_kw) return true; else { if (set_has_key(ecl_config->static_kw_set , kw)) return true; else return stringlist_contains( ecl_config->user_static_kw , kw ); } }
void ecl_config_add_static_kw(ecl_config_type * ecl_config , const char * _kw) { if (strcmp(_kw , DEFAULT_ALL_STATIC_KW) == 0) ecl_config->include_all_static_kw = true; else { char * kw = util_alloc_string_copy(_kw); ecl_util_escape_kw(kw); if (!stringlist_contains( ecl_config->user_static_kw , kw )) stringlist_append_owned_ref( ecl_config->user_static_kw , kw ); } }
void SummaryComparator::printKeywords(){ int ivar = 0; std::vector<std::string> noMatchString; std::cout << "Keywords that are common for the files:" << std::endl; while(ivar < stringlist_get_size(keysLong)){ const char* keyword = stringlist_iget(keysLong, ivar); if (stringlist_contains(keysLong, keyword) && stringlist_contains(keysShort, keyword)){ std::cout << keyword << std::endl; ivar++; } else{ noMatchString.push_back(keyword); ivar++; } } if(noMatchString.size() == 0){ std::cout << "No keywords were different" << std::endl; return; } std::cout << "Keywords that are different: " << std::endl; for (const auto& it : noMatchString) std::cout << it << std::endl; std::cout << "\nOf the " << stringlist_get_size(keysLong) << " keywords " << stringlist_get_size(keysLong)-noMatchString.size() << " were equal and " << noMatchString.size() << " were different" << std::endl; }
void IntegrationTest::getIntegrationTest(const char* keyword){ if(stringlist_contains(keysShort,keyword) && stringlist_contains(keysLong, keyword)){ std::vector<double> timeVec1, timeVec2; setTimeVecs(timeVec1, timeVec2); // Sets the time vectors, they are equal for all keywords (WPOR:PROD01 etc) setDataSets(timeVec1, timeVec2); if(printSpecificKeyword){ printDataOfSpecificKeyword(timeVec1, timeVec2, keyword); } if(findVolumeError){ WellProductionVolume volume = getSpecificWellVolume(timeVec1, timeVec2, keyword); if(volume.error == 0){ std::cout << "For keyword " << keyword << " the total production volume is 0" << std::endl; } else{ std::cout << "For keyword " << keyword << " the total production volume is "<< volume.total; std::cout << ", the error volume is " << volume.error << " the error ratio is " << volume.error/volume.total << std::endl; } } checkForKeyword(timeVec1, timeVec2, keyword); return; } OPM_THROW(std::invalid_argument, "The keyword used is not common for the two files."); }
stringlist_type * local_ministep_alloc_data_keys( const local_ministep_type * ministep ) { stringlist_type * keys = stringlist_alloc_new(); { hash_iter_type * dataset_iter = hash_iter_alloc( ministep->datasets ); while (!hash_iter_is_complete( dataset_iter )) { const local_dataset_type * dataset = hash_iter_get_next_value( dataset_iter ); stringlist_type * node_keys = local_dataset_alloc_keys( dataset ); for (int i=0; i < stringlist_get_size( node_keys ); i++) { const char * data_key = stringlist_iget( node_keys , i ); if (!stringlist_contains(keys , data_key )) stringlist_append_copy( keys , data_key ); } stringlist_free( node_keys ); } hash_iter_free( dataset_iter ); } return keys; }
void get_driver_option_lists() { //Torque driver option list { queue_driver_type * driver_torque = queue_driver_alloc(TORQUE_DRIVER); stringlist_type * option_list = stringlist_alloc_new(); queue_driver_init_option_list(driver_torque, option_list); test_assert_true(stringlist_contains(option_list, MAX_RUNNING)); test_assert_true(stringlist_contains(option_list, TORQUE_QSUB_CMD)); test_assert_true(stringlist_contains(option_list, TORQUE_QSTAT_CMD)); test_assert_true(stringlist_contains(option_list, TORQUE_QDEL_CMD)); test_assert_true(stringlist_contains(option_list, TORQUE_QUEUE)); test_assert_true(stringlist_contains(option_list, TORQUE_NUM_CPUS_PER_NODE)); test_assert_true(stringlist_contains(option_list, TORQUE_NUM_NODES)); test_assert_true(stringlist_contains(option_list, TORQUE_KEEP_QSUB_OUTPUT)); test_assert_true(stringlist_contains(option_list, TORQUE_CLUSTER_LABEL)); stringlist_free(option_list); queue_driver_free(driver_torque); } //Local driver option list (only general queue_driver options) { queue_driver_type * driver_local = queue_driver_alloc(LOCAL_DRIVER); stringlist_type * option_list = stringlist_alloc_new(); queue_driver_init_option_list(driver_local, option_list); test_assert_true(stringlist_contains(option_list, MAX_RUNNING)); stringlist_free(option_list); queue_driver_free(driver_local); } //Lsf driver option list { queue_driver_type * driver_lsf = queue_driver_alloc(LSF_DRIVER); stringlist_type * option_list = stringlist_alloc_new(); queue_driver_init_option_list(driver_lsf, option_list); test_assert_true(stringlist_contains(option_list, MAX_RUNNING)); test_assert_true(stringlist_contains(option_list, LSF_QUEUE)); test_assert_true(stringlist_contains(option_list, LSF_RESOURCE)); test_assert_true(stringlist_contains(option_list, LSF_SERVER)); test_assert_true(stringlist_contains(option_list, LSF_RSH_CMD)); test_assert_true(stringlist_contains(option_list, LSF_LOGIN_SHELL)); test_assert_true(stringlist_contains(option_list, LSF_BSUB_CMD)); test_assert_true(stringlist_contains(option_list, LSF_BJOBS_CMD)); test_assert_true(stringlist_contains(option_list, LSF_BKILL_CMD)); stringlist_free(option_list); queue_driver_free(driver_lsf); } //Rsh driver option list { queue_driver_type * driver_rsh = queue_driver_alloc(RSH_DRIVER); stringlist_type * option_list = stringlist_alloc_new(); queue_driver_init_option_list(driver_rsh, option_list); test_assert_true(stringlist_contains(option_list, MAX_RUNNING)); test_assert_true(stringlist_contains(option_list, RSH_HOST)); test_assert_true(stringlist_contains(option_list, RSH_HOSTLIST)); test_assert_true(stringlist_contains(option_list, RSH_CMD)); test_assert_true(stringlist_contains(option_list, RSH_CLEAR_HOSTLIST)); stringlist_free(option_list); queue_driver_free(driver_rsh); } }
void enkf_config_node_add_obs_key(enkf_config_node_type * config_node , const char * obs_key) { if (!stringlist_contains(config_node->obs_keys , obs_key)) stringlist_append_copy(config_node->obs_keys , obs_key); }