Example #1
0
void ensemble_config_clear_obs_keys(ensemble_config_type * ensemble_config) {
  hash_iter_type * iter = hash_iter_alloc( ensemble_config->config_nodes );
  while (!hash_iter_is_complete( iter )) {
    enkf_config_node_type * config_node = hash_iter_get_next_value( iter );
    enkf_config_node_clear_obs_keys( config_node );
  }
  hash_iter_free( iter );
}
Example #2
0
void perturb_wconinje( void * void_kw , int restart_nr , void * arg) {
  sched_kw_wconinje_type * kw = sched_kw_wconinje_safe_cast( void_kw );
  {
    hash_type * group_hash = hash_safe_cast( arg );
    hash_iter_type * group_iter = hash_iter_alloc( group_hash );
    while (!hash_iter_is_complete( group_iter )) {
      group_rate_type * group_rate = hash_iter_get_next_value( group_iter );
      if (!group_rate_is_producer( group_rate ))
        group_rate_update_wconinje( group_rate , kw , restart_nr );
    }
  }
}
Example #3
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;
}
Example #4
0
bool local_ministep_has_data_key(const local_ministep_type * ministep , const char * key) {
  bool has_key = false;
  {
    hash_iter_type * dataset_iter = hash_iter_alloc( ministep->datasets );

    while (true) {
      const local_dataset_type * dataset = hash_iter_get_next_value( dataset_iter );
      if (dataset) {
        if (local_dataset_has_key( dataset , key)) {
          has_key = true;
          break;
        }
      } else
        break;
    }

    hash_iter_free( dataset_iter );
  }
  return has_key;
}
Example #5
0
void local_ministep_summary_fprintf( const local_ministep_type * ministep , FILE * stream) {

  fprintf(stream , "MINISTEP:%s,", ministep->name);

  {
    /* Dumping all the DATASET instances. */
    {
     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 );
       local_dataset_summary_fprintf(dataset, stream);
     }
     hash_iter_free( dataset_iter );
    }

    /* Only one OBSDATA */
   local_obsdata_type * obsdata = local_ministep_get_obsdata(ministep);
   local_obsdata_summary_fprintf( obsdata , stream);
   fprintf(stream, "\n");
  }
}