void ensemble_config_set_gen_kw_format( ensemble_config_type * ensemble_config , const char * gen_kw_format_string) { if (!util_string_equal( gen_kw_format_string , ensemble_config->gen_kw_format_string)) { stringlist_type * gen_kw_keys = ensemble_config_alloc_keylist_from_impl_type( ensemble_config , GEN_KW ); int i; ensemble_config->gen_kw_format_string = util_realloc_string_copy( ensemble_config->gen_kw_format_string , gen_kw_format_string ); for (i=0; i < stringlist_get_size( gen_kw_keys ); i++) { enkf_config_node_type * config_node = ensemble_config_get_node( ensemble_config , stringlist_iget( gen_kw_keys , i )); gen_kw_config_update_tag_format( enkf_config_node_get_ref( config_node ) , gen_kw_format_string ); } stringlist_free( gen_kw_keys ); } }
static void enkf_main_gen_data_special( enkf_main_type * enkf_main , enkf_fs_type * fs ) { stringlist_type * gen_data_keys = ensemble_config_alloc_keylist_from_impl_type( enkf_main->ensemble_config , GEN_DATA); for (int i=0; i < stringlist_get_size( gen_data_keys ); i++) { enkf_config_node_type * config_node = ensemble_config_get_node( enkf_main->ensemble_config , stringlist_iget( gen_data_keys , i)); gen_data_config_type * gen_data_config = enkf_config_node_get_ref( config_node ); if (gen_data_config_is_dynamic( gen_data_config )) gen_data_config_set_ens_size( gen_data_config , enkf_main->ens_size ); } stringlist_free( gen_data_keys ); }
void ensemble_config_fprintf_config( ensemble_config_type * ensemble_config , FILE * stream ) { fprintf( stream , CONFIG_COMMENTLINE_FORMAT ); fprintf( stream , CONFIG_COMMENT_FORMAT , "Here comes configuration information about the uncertain parameters and response variables in use."); fprintf( stream , CONFIG_KEY_FORMAT , GEN_KW_TAG_FORMAT_KEY ); fprintf( stream , CONFIG_ENDVALUE_FORMAT , ensemble_config->gen_kw_format_string); /* Writing GEN_KW nodes. */ { stringlist_type * gen_kw_keys = ensemble_config_alloc_keylist_from_impl_type( ensemble_config , GEN_KW ); stringlist_sort( gen_kw_keys , NULL ); for (int i=0; i < stringlist_get_size( gen_kw_keys ); i++) { const enkf_config_node_type * config_node = ensemble_config_get_node( ensemble_config , stringlist_iget( gen_kw_keys , i)); enkf_config_node_fprintf_config( config_node , stream ); } if (stringlist_get_size( gen_kw_keys ) > 0) fprintf(stream , "\n"); stringlist_free( gen_kw_keys ); } /* Writing FIELD nodes. */ { stringlist_type * field_keys = ensemble_config_alloc_keylist_from_impl_type( ensemble_config , FIELD ); stringlist_sort( field_keys , NULL ); for (int i=0; i < stringlist_get_size( field_keys ); i++) { const enkf_config_node_type * config_node = ensemble_config_get_node( ensemble_config , stringlist_iget( field_keys , i)); enkf_config_node_fprintf_config( config_node , stream ); } if (stringlist_get_size( field_keys ) > 0) fprintf(stream , "\n"); stringlist_free( field_keys ); } /* Writing SUMMARY nodes. */ { stringlist_type * summary_keys = ensemble_config_alloc_keylist_from_impl_type( ensemble_config , SUMMARY ); stringlist_sort( summary_keys , NULL ); for (int i=0; i < stringlist_get_size( summary_keys ); i++) { if (i == 0) fprintf(stream , CONFIG_KEY_FORMAT , SUMMARY_KEY); else if ((i % 8) == 0) { fprintf(stream , "\n"); fprintf(stream , CONFIG_KEY_FORMAT , SUMMARY_KEY); } fprintf(stream , CONFIG_SHORT_VALUE_FORMAT , stringlist_iget( summary_keys , i )); } fprintf(stream , "\n"); stringlist_free( summary_keys ); } fprintf(stream , "\n"); /* Writing GEN_DATA nodes. */ { stringlist_type * gen_data_keys = ensemble_config_alloc_keylist_from_impl_type( ensemble_config , GEN_DATA ); stringlist_sort( gen_data_keys , NULL ); for (int i=0; i < stringlist_get_size( gen_data_keys ); i++) { const enkf_config_node_type * config_node = ensemble_config_get_node( ensemble_config , stringlist_iget( gen_data_keys , i)); enkf_config_node_fprintf_config( config_node , stream ); } stringlist_free( gen_data_keys ); } fprintf(stream , "\n\n"); }