示例#1
0
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 );
  }
}
示例#2
0
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 );
  }
}
示例#3
0
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.");
}
示例#5
0
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;
}
示例#6
0
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);
  }
}
示例#7
0
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);
}