YAC 3.15.0
Yet Another Coupler
Loading...
Searching...
No Matches
config_yaml.c File Reference
#include "config.h"
#include <libfyaml.h>
#include <inttypes.h>
#include <limits.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <errno.h>
#include "yac.h"
#include "utils_mci.h"
#include "config_yaml.h"
#include "mtime_calendar.h"
#include "geometry.h"
#include "io_utils.h"
#include "interpolation/methods/interp_method_avg.h"
#include "interpolation/methods/interp_method_callback.h"
#include "interpolation/methods/interp_method_check.h"
#include "interpolation/methods/interp_method_conserv.h"
#include "interpolation/methods/interp_method_creep.h"
#include "interpolation/methods/interp_method_file.h"
#include "interpolation/methods/interp_method_fixed.h"
#include "interpolation/methods/interp_method_hcsbb.h"
#include "interpolation/methods/interp_method_ncc.h"
#include "interpolation/methods/interp_method_nnn.h"
#include "interpolation/methods/interp_method_spmap.h"
#include "interpolation/interp_stack_config.h"
#include "instance.h"
#include "fields.h"
#include "interpolation/interpolation_internal.h"
#include "collection_selection_internal.h"
Include dependency graph for config_yaml.c:

Go to the source code of this file.

Data Structures

struct  field_couple_buffer
 
struct  field_couple_buffer::field_couple_field_names
 
struct  debug_config_file_buffer
 
struct  debug_config_file_buffer::debug_config_file
 
struct  interp_method_parameter_value
 
struct  interp_method_parameter
 

Macros

#define CAST_NAME_TYPE_PAIRS(...)   (struct yac_name_type_pair[]) {__VA_ARGS__}
 
#define COUNT_NAME_TYPE_PAIRS(...)    sizeof(CAST_NAME_TYPE_PAIRS(__VA_ARGS__)) / sizeof(struct yac_name_type_pair)
 
#define DEF_NAME_TYPE_PAIR(NAME, TYPE)   {.name = #NAME, .type = (int)(TYPE)}
 
#define DEF_NAME_TYPE_PAIRS(NAME, ...)
 
#define DEF_INTERP_METHOD_ADD_FUNC(NAME, FUNC)
 
#define DEF_INTERP_METHOD_GET_FUNC(NAME, FUNC)
 
#define DEF_ENUM_PARAM(NAME, DEFAULT, ...)
 
#define DEF_INT_PARAM(NAME, DEFAULT, VALID_MIN, VALID_MAX)
 
#define DEF_DBLE_PARAM(NAME, DEFAULT, VALID_MIN, VALID_MAX, ALLOW_NAN)
 
#define DEF_DEG_PARAM(NAME, DEFAULT, VALID_MIN, VALID_MAX)
 
#define DEF_BOOL_PARAM(NAME, DEFAULT)
 
#define DEF_STR_PARAM(NAME, DEFAULT, MAX_STR_LEN)
 
#define DEF_MAP_PARAM(NAME, SUBPARAMS)
 
#define DEF_MAP_SUBPARAMS(NAME, ...)
 
#define DEF_SEQ_PARAM(NAME, SUBPARAM)
 
#define YAML_ASSERT(CHECK, MSG)
 
#define YAML_ASSERT_F(CHECK, MSG, ...)
 
#define YAML_UNREACHABLE_DEFAULT(MSG)
 
#define YAML_UNREACHABLE_DEFAULT_F(MSG, ...)
 
#define DEF_INTERP_STACK_ADD(NAME, ...)
 
#define DEF_INTERP_STACK_ADD_NO_PARAM(NAME)
 
#define DEF_INTERP_STACK_GET(NAME, ...)
 
#define DEF_INTERP_STACK_GET_NO_PARAM(NAME)    {}
 
#define DEF_INTERP_METHOD(YAML_NAME, FUNC_ADD, FUNC_GET, ...)
 
#define DEF_INTERP_METHOD_NO_PARAM(YAML_NAME, UI_NAME)
 
#define ADD_INTERPOLATION(NAME, TYPE)
 
#define ADD_INTERPOLATION_NO_PARAM(NAME, TYPE)
 

Typedefs

typedef struct fy_document * fy_document_t
 
typedef struct fy_node * fy_node_t
 
typedef struct fy_node_pair * fy_node_pair_t
 
typedef struct interp_method_parameter_value interp_method_parameter_value
 

Enumerations

enum  {
  EMITTER_DEFAULT = FYECF_DEFAULT , EMITTER_JSON = FYECF_MODE_JSON , PARSER_DEFAULT = 0 , PARSER_JSON_AUTO = FYPCF_JSON_AUTO ,
  PARSER_JSON_FORCE = FYPCF_JSON_FORCE
}
 
enum  yaml_base_key_types {
  START_DATE , END_DATE , CALENDAR , TIMESTEP_UNIT ,
  COUPLING , DEBUG
}
 
enum  yaml_couple_key_types {
  SOURCE_NAMES , SOURCE_COMPONENT , SOURCE_GRID , TARGET_NAMES ,
  TARGET_COMPONENT , TARGET_GRID , FIELD , COUPLING_PERIOD ,
  TIME_REDUCTION , SOURCE_LAG , TARGET_LAG , WEIGHT_FILE_DATA ,
  WEIGHT_FILE_NAME , WEIGHT_FILE_ON_EXISTING , MAPPING_SIDE , SCALE_FACTOR ,
  SCALE_SUMMAND , INTERPOLATION , SOURCE_MASK_NAME , SOURCE_MASK_NAMES ,
  TARGET_MASK_NAME , YAXT_EXCHANGER_NAME , COLLECTION_SELECTION , USE_RAW_EXCHANGE
}
 
enum  yaml_debug_key_types { GLOBAL_CONFIG , GLOBAL_DEFS , OUTPUT_GRIDS , MISSING_DEF }
 
enum  yaml_debug_sync_loc_key_types { SYNC_LOC_DEF_COMP , SYNC_LOC_SYNC_DEF , SYNC_LOC_ENDDEF , SYNC_LOC_COUNT }
 
enum  yaml_comp_grid_names_key_types { COMP_NAME , GRID_NAMES }
 
enum  yaml_weight_file_data_key_types { WEIGHT_FILE_DATA_NAME , WEIGHT_FILE_DATA_ON_EXISTING }
 
enum  yaml_debug_output_grid_key_types { OUTPUT_GRID_GRID_NAME , OUTPUT_GRID_FILE_NAME }
 
enum  { NUM_INTERPOLATION_METHODS }
 

Functions

char const * yac_time_to_ISO (char const *time, enum yac_time_unit_type time_unit)
 
 DEF_NAME_TYPE_PAIRS (yaml_base_keys, DEF_NAME_TYPE_PAIR(start_date, START_DATE), DEF_NAME_TYPE_PAIR(start_datetime, START_DATE), DEF_NAME_TYPE_PAIR(end_date, END_DATE), DEF_NAME_TYPE_PAIR(end_datetime, END_DATE), DEF_NAME_TYPE_PAIR(calendar, CALENDAR), DEF_NAME_TYPE_PAIR(timestep_unit, TIMESTEP_UNIT), DEF_NAME_TYPE_PAIR(coupling, COUPLING), DEF_NAME_TYPE_PAIR(debug, DEBUG))
 
 DEF_INTERP_METHOD (average, DEF_INTERP_STACK_ADD(average,(enum yac_interp_avg_weight_type) parameter_value.data.map_values[0].data.enum_value, parameter_value.data.map_values[1].data.bool_value), enum yac_interp_avg_weight_type reduction_type;DEF_INTERP_STACK_GET(average, &reduction_type, &parameter_value->data.map_values[1].data.bool_value) parameter_value->data.map_values[0].data.enum_value=(int) reduction_type;, DEF_ENUM_PARAM(weighted, YAC_INTERP_AVG_WEIGHT_TYPE_DEFAULT, DEF_NAME_TYPE_PAIR(distance_weighted, YAC_INTERP_AVG_DIST), DEF_NAME_TYPE_PAIR(arithmetic_average, YAC_INTERP_AVG_ARITHMETIC), DEF_NAME_TYPE_PAIR(barycentric_coordinate, YAC_INTERP_AVG_BARY)), DEF_BOOL_PARAM(partial_coverage, YAC_INTERP_AVG_PARTIAL_COVERAGE_DEFAULT)) DEF_INTERP_METHOD(ncc
 
 DEF_INTERP_STACK_ADD (ncc,(enum yac_interp_ncc_weight_type) parameter_value.data.map_values[0].data.enum_value, parameter_value.data.map_values[1].data.bool_value)
 
 DEF_INTERP_STACK_GET (ncc, &weight_type, &parameter_value->data.map_values[1].data.bool_value) parameter_value -> data.map_values[0].data.enum_value=(int) weight_type
 
 DEF_ENUM_PARAM (weighted, YAC_INTERP_NCC_WEIGHT_TYPE_DEFAULT, DEF_NAME_TYPE_PAIR(arithmetic_average, YAC_INTERP_NCC_AVG), DEF_NAME_TYPE_PAIR(distance_weighted, YAC_INTERP_NCC_DIST))
 
 DEF_BOOL_PARAM (partial_coverage, YAC_INTERP_NCC_PARTIAL_COVERAGE_DEFAULT)
 
else if (cell_area_value.is_set)
 
 switch (weight_type)
 
 DEF_INTERP_STACK_ADD (dnn, weight_type, search_distance_type, search_distance, scale)
 
 DEF_INTERP_STACK_GET (dnn, &weight_type_get, &search_distance_type_get, &search_distance_get, &scale_get) parameter_value -> data.map_values[0].data.enum_value=(int) weight_type_get
 
 switch (weight_type_get)
 
 if (parameter_value->data.map_values[3].data.map_values==NULL)
 
 switch (search_distance_type_get)
 
 DEF_ENUM_PARAM (weighted, YAC_INTERP_DNN_WEIGHT_DEFAULT, DEF_NAME_TYPE_PAIR(distance_weighted, YAC_INTERP_DNN_WEIGHT_DIST), DEF_NAME_TYPE_PAIR(gauss_weighted, YAC_INTERP_DNN_WEIGHT_GAUSS), DEF_NAME_TYPE_PAIR(arithmetic_average, YAC_INTERP_DNN_WEIGHT_AVG), DEF_NAME_TYPE_PAIR(rbf_weighted, YAC_INTERP_DNN_WEIGHT_RBF))
 
 DEF_DBLE_PARAM (gauss_scale, YAC_INTERP_DNN_GAUSS_SCALE_DEFAULT, -DBL_MAX, DBL_MAX, false)
 
 DEF_DBLE_PARAM (rbf_scale, YAC_INTERP_DNN_RBF_SCALE_DEFAULT, -DBL_MAX, DBL_MAX, false)
 
 DEF_MAP_PARAM (search_distance, dnn_search_distance)
 
static void get_cell_area_config_parameters (struct yac_spmap_cell_area_config const *cell_area_config, double *sphere_radius, char const **filename, char const **varname, int *min_global_id, char const *desc)
 
static void parse_point_coordinates (interp_method_parameter_value const *parameters, double *lon, double *lat)
 
static struct yac_point_selectionparse_point_selection_parameter_bnd_circle (interp_method_parameter_value const parameter)
 
 DEF_MAP_SUBPARAMS (bounding_circle_center, DEF_DEG_PARAM(lon, DBL_MAX, -720.0, 720.0), DEF_DEG_PARAM(lat, DBL_MAX, -90.0, 90.0))
 
static struct yac_spmap_overwrite_configparse_overwrite_config_parameter (interp_method_parameter_value const *parameter_value, struct yac_spmap_scale_config *scale_config)
 
static void get_point_selection_parameters (struct yac_point_selection const *point_selection, interp_method_parameter_value *parameter_value)
 
static interp_method_parameter_value yaml_interp_method_parameter_get_default (struct interp_method_parameter parameter)
 allocates parameter values and assigns default values based on provided interpolation parameter definition
 
 DEF_MAP_SUBPARAMS (source_to_target_map_overwrite, DEF_MAP_PARAM(condition, source_to_target_map_overwrite_condition), DEF_DEG_PARAM(spread_distance, YAC_INTERP_SPMAP_SPREAD_DISTANCE_DEFAULT, 0.0, 89.9999), DEF_DEG_PARAM(max_search_distance, YAC_INTERP_SPMAP_MAX_SEARCH_DISTANCE_DEFAULT, 0.0, 179.9999), DEF_ENUM_PARAM(weighted, YAC_INTERP_SPMAP_WEIGHTED_DEFAULT, DEF_NAME_TYPE_PAIR(distance_weighted, YAC_INTERP_SPMAP_DIST), DEF_NAME_TYPE_PAIR(arithmetic_average, YAC_INTERP_SPMAP_AVG)))
 
 DEF_MAP_SUBPARAMS (source_to_target_map_cell_area_provider_yac, DEF_DBLE_PARAM(sphere_radius, YAC_INTERP_SPMAP_SPHERE_RADIUS_DEFAULT, 1e-9, DBL_MAX, false))
 
static char const * yaml_parse_string_value (fy_node_t value_node, char const *name, char const *yaml_filename)
 
static calendarType yaml_parse_calendar_value (fy_node_t value_node, char const *key_name, char const *yaml_filename)
 
static char const * yaml_parse_timestep_value (fy_node_t value_node, char const *key_name, char const *yaml_filename, enum yac_time_unit_type time_unit)
 
static enum yac_time_unit_type yaml_parse_timestep_unit_value (fy_node_t value_node, char const *key_name, char const *yaml_filename)
 
static enum yac_reduction_type yaml_parse_time_reduction_value (fy_node_t value_node, char const *key_name, char const *yaml_filename)
 
static int yaml_parse_integer_value (fy_node_t value_node, char const *key_name, char const *yaml_filename)
 
static size_t yaml_parse_size_t_value (fy_node_t value_node, char const *key_name, char const *yaml_filename)
 
static double yaml_parse_double_value (fy_node_t value_node, char const *key_name, char const *yaml_filename)
 
static int yaml_parse_enum_value (struct yac_name_type_pair const *valid_values, size_t num_valid_values, fy_node_t value_node, char const *key_name, char const *yaml_filename)
 
static void yaml_parse_base_interp_method_node (char const **interpolation_type_str, fy_node_t *parameter_node, fy_node_t interp_method_node, char const *yaml_filename)
 reads interpolation name and user-provided parameters from YAML node
 
static void yaml_interp_method_parameter_free (interp_method_parameter_value parameter_value, struct interp_method_parameter parameter)
 free memory associated with provided interpolation parameter value
 
static void yaml_parse_interp_method_parameter_value (struct interp_method_parameter parameter, interp_method_parameter_value *parameter_value, fy_node_t value_node, char const *interpolation_name, char const *yaml_filename)
 
static void yaml_parse_interp_method_map_parameter (struct interp_method_parameter map_parameter, interp_method_parameter_value *map_parameter_values, fy_node_t value_node, char const *interpolation_name, char const *yaml_filename)
 
static void yaml_parse_interp_method_seq_parameter (struct interp_method_parameter seq_parameter, interp_method_parameter_value **seq_parameter_values, size_t *seq_parameter_count, fy_node_t value_node, char const *interpolation_name, char const *yaml_filename)
 
static void yaml_parse_interp_method (struct yac_interp_stack_config *interp_stack, fy_node_t interp_method_node, char const *yaml_filename)
 
static void yaml_parse_interp_stack_value (struct yac_interp_stack_config *interp_stack, fy_node_t interp_stack_node, char const *yaml_filename)
 
static struct field_couple_field_names yaml_parse_field_name (fy_node_t field_node, const char *yaml_filename)
 
static void yaml_parse_size_t_sequence (size_t **values, size_t *num_values, fy_node_t values_node, char const *sequence_name, const char *yaml_filename)
 
static void yaml_parse_collection_selection_sequence (struct yac_collection_selection **collection_selection, fy_node_t values_node, char const *sequence_name, const char *yaml_filename)
 
static void yaml_parse_string_sequence (char const ***values, size_t *num_values, fy_node_t values_node, char const *sequence_name, const char *yaml_filename)
 
static void yaml_parse_field_names (struct field_couple_field_names **field_names, size_t *num_field_names, fy_node_t fields_node, const char *yaml_filename)
 
static void yaml_parse_comp_grid_names (char const **comp_name, char const ***grid_names, size_t *num_grid_names, fy_node_t values_node, char const *type_name, const char *yaml_filename)
 
static void yaml_parse_weight_file_data (char const **weight_file_name, enum yac_weight_file_on_existing *on_existing, fy_node_t values_node, char const *type_name, const char *yaml_filename)
 
static void yaml_parse_couple_map_pair (struct field_couple_buffer *field_buffer, fy_node_pair_t couple_pair, const char *yaml_filename, enum yac_time_unit_type time_unit)
 
static void yaml_parse_couple (struct yac_couple_config *couple_config, fy_node_t couple_node, char const *yaml_filename, enum yac_time_unit_type time_unit)
 
static void yaml_parse_coupling (struct yac_couple_config *couple_config, fy_node_t coupling_node, char const *yaml_filename, enum yac_time_unit_type time_unit)
 
static struct debug_config_file yaml_parse_config_file_value (fy_node_t config_file_node, char const *file_type_name, const char *yaml_filename)
 
static void yaml_parse_debug_config_file_map_pair (struct debug_config_file_buffer *config_file_buffer, fy_node_pair_t config_file_pair, char const *config_file_type_name, const char *yaml_filename)
 
static struct debug_config_file_buffer yaml_parse_debug_config_file_buffer (fy_node_t config_file_node, char const *config_file_type_name, char const *yaml_filename)
 
static void yaml_parse_debug_global_config (struct yac_couple_config *couple_config, fy_node_t global_config_node, char const *yaml_filename)
 
static void yaml_parse_output_grid_pair (char const **grid_name, char const **file_name, fy_node_pair_t output_grid_pair, char const *yaml_filename)
 
static void yaml_parse_output_grid (struct yac_couple_config *couple_config, fy_node_t output_grid_node, char const *yaml_filename)
 
static void yaml_parse_debug_output_grids (struct yac_couple_config *couple_config, fy_node_t output_grids_node, char const *yaml_filename)
 
static void yaml_parse_debug_map_pair (struct yac_couple_config *couple_config, fy_node_pair_t debug_pair, const char *yaml_filename)
 
static void yaml_parse_debug (struct yac_couple_config *couple_config, fy_node_t debug_node, char const *yaml_filename)
 
static void yaml_parse_base_map_pair (struct yac_couple_config *couple_config, fy_node_pair_t base_pair, const char *yaml_filename, enum yac_time_unit_type *time_unit, char const **start_datetime, char const **end_datetime)
 
static void yaml_parse_document (struct yac_couple_config *couple_config, fy_document_t document, const char *yaml_filename)
 
void yac_yaml_read_coupling (struct yac_couple_config *couple_config, const char *yaml_filename, int parse_flags)
 
struct yac_interp_stack_configyac_yaml_parse_interp_stack_config_string (char const *str_interp_stack_config, int parse_flags)
 
static fy_node_t yac_yaml_create_scalar (fy_document_t document, char const *value)
 
static fy_node_t yac_yaml_create_scalar_int (fy_document_t document, int value)
 
static fy_node_t yac_yaml_create_scalar_size_t (fy_document_t document, size_t value)
 
static fy_node_t yac_yaml_create_scalar_dble (fy_document_t document, double value)
 
static fy_node_t yac_yaml_create_sequence_scalar (fy_document_t document, char const *const *values, size_t num_values)
 
static fy_node_t yac_yaml_create_sequence_scalar_size_t (fy_document_t document, size_t const *values, size_t num_values)
 
static void yac_yaml_map_append (fy_node_t map, char const *key, fy_node_t value)
 
static void yac_yaml_map_append_scalar (fy_node_t map, char const *key, char const *value)
 
static void yac_yaml_map_append_scalar_int (fy_node_t map, char const *key, int value)
 
static void yac_yaml_map_append_scalar_size_t (fy_node_t map, char const *key, size_t value)
 
static void yac_yaml_map_append_scalar_dble (fy_node_t map, char const *key, double value)
 
static fy_node_t yac_yaml_create_field_name_node (fy_document_t document, struct yac_couple_config *couple_config, size_t couple_idx, size_t field_couple_idx)
 
static fy_node_t yac_yaml_create_scalar_parameter_node (fy_document_t document, struct interp_method_parameter parameter, interp_method_parameter_value parameter_value)
 
static void yac_yaml_map_append_parameter (fy_document_t document, fy_node_t map, struct interp_method_parameter parameter, interp_method_parameter_value parameter_value)
 
static int compare_parameter_values (interp_method_parameter_value const *a, interp_method_parameter_value const *b, struct interp_method_parameter parameter)
 
static fy_node_t yac_yaml_create_non_default_map_parameter_node (fy_document_t document, interp_method_parameter_value const *map_parameter_values, struct interp_method_parameter parameter)
 
static fy_node_t yac_yaml_create_seq_parameter_node (fy_document_t document, interp_method_parameter_value const *seq_parameter_values, size_t seq_parameter_values_count, struct interp_method_parameter parameter)
 
static fy_node_t yac_yaml_create_interpolation_node (fy_document_t document, union yac_interp_stack_config_entry const *interp_stack_entry)
 
static fy_node_t yac_yaml_create_interpolation_stack_node (fy_document_t document, struct yac_couple_config *couple_config, size_t couple_idx, size_t field_couple_idx)
 
static void yac_yaml_append_couple_field_nodes (fy_node_t coupling_node, struct yac_couple_config *couple_config, size_t couple_idx, size_t field_couple_idx)
 
static void yac_yaml_append_couple_nodes (fy_node_t coupling_node, struct yac_couple_config *couple_config, size_t couple_idx)
 
static fy_node_t yac_yaml_create_output_grid_node (fy_document_t document, char const *grid_name, char const *file_name)
 
static fy_node_t yac_yaml_create_output_grids_node (fy_document_t document, struct yac_couple_config *couple_config)
 
static fy_node_t yac_yaml_create_debug_node (fy_document_t document, struct yac_couple_config *couple_config)
 
static fy_node_t yac_yaml_create_coupling_node (fy_document_t document, struct yac_couple_config *couple_config)
 
static fy_node_t yac_yaml_create_field_node (fy_document_t document, struct yac_couple_config *couple_config, size_t component_idx, size_t field_idx)
 
static fy_node_t yac_yaml_create_fields_node (fy_document_t document, struct yac_couple_config *couple_config, size_t component_idx)
 
static fy_node_t yac_yaml_create_component_node (fy_document_t document, struct yac_couple_config *couple_config, size_t component_idx)
 
static fy_node_t yac_yaml_create_components_node (fy_document_t document, struct yac_couple_config *couple_config)
 
static fy_node_t yac_yaml_create_grid_node (fy_document_t document, struct yac_couple_config *couple_config, size_t grid_idx)
 
static fy_node_t yac_yaml_create_grids_node (fy_document_t document, struct yac_couple_config *couple_config)
 
static fy_node_t yac_yaml_create_definitions_node (fy_document_t document, struct yac_couple_config *couple_config)
 
static fy_node_t yac_yaml_create_couple_config_nodes (fy_document_t document, struct yac_couple_config *couple_config, int include_definitions)
 
char * yac_yaml_emit_coupling (struct yac_couple_config *couple_config, int emit_flags, int include_definitions)
 

Variables

int const YAC_YAML_EMITTER_DEFAULT = EMITTER_DEFAULT
 emit to YAML format
 
int const YAC_YAML_EMITTER_JSON = EMITTER_JSON
 emit to JSON format
 
int const YAC_YAML_PARSER_DEFAULT = PARSER_DEFAULT
 default parse flags (YAML format)
 
int const YAC_YAML_PARSER_JSON_AUTO = PARSER_JSON_AUTO
 
int const YAC_YAML_PARSER_JSON_FORCE = PARSER_JSON_FORCE
 assume JSON format
 
enum yac_interp_ncc_weight_type weight_type
 
 else
 
 search_distance = YAC_INTERP_DNN_SEARCH_DISTANCE_DEFAULT
 
double scale
 
enum yac_interp_dnn_weight_type weight_type_get
 
enum yac_interp_dnn_search_distance_type search_distance_type_get
 
double search_distance_get
 
double scale_get
 
const interpolation_methods []
 

Macro Definition Documentation

◆ ADD_INTERPOLATION

#define ADD_INTERPOLATION ( NAME,
TYPE )
Value:
{.name = #NAME , \
.type = TYPE , \
.add_interpolation = add_interp_method_ ## NAME , \
.get_interpolation = get_interp_method_ ## NAME , \
.parameter = DEF_MAP_PARAM(NAME, NAME)}
#define DEF_MAP_PARAM(NAME, SUBPARAMS)

◆ ADD_INTERPOLATION_NO_PARAM

#define ADD_INTERPOLATION_NO_PARAM ( NAME,
TYPE )
Value:
{.name = #NAME , \
.type = TYPE , \
.add_interpolation = add_interp_method_ ## NAME , \
.get_interpolation = get_interp_method_ ## NAME , \
.parameter = \
{.name = #NAME, \
.type = MAP_PARAM, \
.data.map_param.sub_params = NULL, \
.data.map_param.num_sub_params = 0, \
.default_value.data.map_values = NULL}}

◆ CAST_NAME_TYPE_PAIRS

#define CAST_NAME_TYPE_PAIRS ( ...)    (struct yac_name_type_pair[]) {__VA_ARGS__}

Definition at line 186 of file config_yaml.c.

◆ COUNT_NAME_TYPE_PAIRS

#define COUNT_NAME_TYPE_PAIRS ( ...)     sizeof(CAST_NAME_TYPE_PAIRS(__VA_ARGS__)) / sizeof(struct yac_name_type_pair)

Definition at line 187 of file config_yaml.c.

◆ DEF_BOOL_PARAM

#define DEF_BOOL_PARAM ( NAME,
DEFAULT )
Value:
{.name = #NAME, \
.type = BOOL_PARAM, \
.default_value.data.bool_value = (int)(DEFAULT)}

Definition at line 463 of file config_yaml.c.

◆ DEF_DBLE_PARAM

#define DEF_DBLE_PARAM ( NAME,
DEFAULT,
VALID_MIN,
VALID_MAX,
ALLOW_NAN )
Value:
{.name = #NAME, \
.type = DBLE_PARAM, \
.data.dble_param = \
{.valid_min = (double)(VALID_MIN), \
.valid_max = (double)(VALID_MAX), \
.allow_nan = (int)(ALLOW_NAN) \
}, \
.default_value.data.dble_value = (double)(DEFAULT)}

Definition at line 446 of file config_yaml.c.

◆ DEF_DEG_PARAM

#define DEF_DEG_PARAM ( NAME,
DEFAULT,
VALID_MIN,
VALID_MAX )
Value:
{.name = #NAME, \
.type = DEG_PARAM, \
.data.dble_param = \
{.valid_min = (double)(VALID_MIN), \
.valid_max = (double)(VALID_MAX), \
.allow_nan = (int)false}, \
.default_value.data.dble_value = (double)(DEFAULT)}

Definition at line 455 of file config_yaml.c.

◆ DEF_ENUM_PARAM

#define DEF_ENUM_PARAM ( NAME,
DEFAULT,
... )
Value:
{.name = #NAME, \
.type = ENUM_PARAM, \
.data.enum_param = \
{.valid_values = CAST_NAME_TYPE_PAIRS(__VA_ARGS__), \
.num_valid_values = COUNT_NAME_TYPE_PAIRS(__VA_ARGS__)}, \
.default_value.data.enum_value = (int)(DEFAULT)}
#define CAST_NAME_TYPE_PAIRS(...)
#define COUNT_NAME_TYPE_PAIRS(...)

Definition at line 432 of file config_yaml.c.

◆ DEF_INT_PARAM

#define DEF_INT_PARAM ( NAME,
DEFAULT,
VALID_MIN,
VALID_MAX )
Value:
{.name = #NAME, \
.type = INT_PARAM, \
.data.int_param = \
{.valid_min = (int)(VALID_MIN), \
.valid_max = (int)(VALID_MAX)}, \
.default_value.data.int_value = (int)(DEFAULT)}

Definition at line 439 of file config_yaml.c.

◆ DEF_INTERP_METHOD

#define DEF_INTERP_METHOD ( YAML_NAME,
FUNC_ADD,
FUNC_GET,
... )
Value:
DEF_INTERP_METHOD_ADD_FUNC(YAML_NAME, FUNC_ADD) \
DEF_INTERP_METHOD_GET_FUNC(YAML_NAME, FUNC_GET) \
DEF_MAP_SUBPARAMS(YAML_NAME, __VA_ARGS__)
#define DEF_INTERP_METHOD_ADD_FUNC(NAME, FUNC)

Definition at line 524 of file config_yaml.c.

◆ DEF_INTERP_METHOD_ADD_FUNC

#define DEF_INTERP_METHOD_ADD_FUNC ( NAME,
FUNC )
Value:
static void add_interp_method_ ## NAME ( \
struct yac_interp_stack_config * interp_stack, \
interp_method_parameter_value parameter_value, \
char const * yaml_filename) { \
char const * routine_name = "add_interp_method_" #NAME; \
(void)parameter_value; \
(void)yaml_filename; \
(void)routine_name; \
{FUNC} }
char * yaml_filename

generates routine, which adds an interpolation based on a list of interpolation parameters to an interpolation stack

Definition at line 409 of file config_yaml.c.

◆ DEF_INTERP_METHOD_GET_FUNC

#define DEF_INTERP_METHOD_GET_FUNC ( NAME,
FUNC )
Value:
static void get_interp_method_ ## NAME ( \
union yac_interp_stack_config_entry const * interp_stack_entry, \
interp_method_parameter_value * parameter_value) { \
char const * routine_name = "get_interp_method_" #NAME; \
(void)interp_stack_entry; \
(void)parameter_value; \
(void)routine_name; \
{FUNC} }

generates a routine, which gets interpolation parameters from a interpolation stack entry

Definition at line 421 of file config_yaml.c.

◆ DEF_INTERP_METHOD_NO_PARAM

#define DEF_INTERP_METHOD_NO_PARAM ( YAML_NAME,
UI_NAME )
Value:
YAML_NAME, DEF_INTERP_STACK_ADD_NO_PARAM(UI_NAME)) \
DEF_INTERP_METHOD_GET_FUNC( \
YAML_NAME, DEF_INTERP_STACK_GET_NO_PARAM(UI_NAME))
#define DEF_INTERP_STACK_GET_NO_PARAM(NAME)
#define DEF_INTERP_STACK_ADD_NO_PARAM(NAME)

Definition at line 529 of file config_yaml.c.

◆ DEF_INTERP_STACK_ADD

#define DEF_INTERP_STACK_ADD ( NAME,
... )
Value:
yac_interp_stack_config_add_ ## NAME ( \
interp_stack, __VA_ARGS__);

Definition at line 509 of file config_yaml.c.

◆ DEF_INTERP_STACK_ADD_NO_PARAM

#define DEF_INTERP_STACK_ADD_NO_PARAM ( NAME)
Value:
yac_interp_stack_config_add_ ## NAME ( \
interp_stack);

Definition at line 513 of file config_yaml.c.

◆ DEF_INTERP_STACK_GET

#define DEF_INTERP_STACK_GET ( NAME,
... )
Value:
yac_interp_stack_config_entry_get_ ## NAME ( \
interp_stack_entry, __VA_ARGS__);

Definition at line 517 of file config_yaml.c.

◆ DEF_INTERP_STACK_GET_NO_PARAM

#define DEF_INTERP_STACK_GET_NO_PARAM ( NAME)     {}

Definition at line 521 of file config_yaml.c.

◆ DEF_MAP_PARAM

#define DEF_MAP_PARAM ( NAME,
SUBPARAMS )
Value:
{.name = #NAME, \
.type = MAP_PARAM, \
.data.map_param.sub_params = (SUBPARAMS ## _subparams), \
.data.map_param.num_sub_params = (SUBPARAMS ## _subparams_count), \
.default_value.data.map_values = NULL}
double * data

Definition at line 472 of file config_yaml.c.

◆ DEF_MAP_SUBPARAMS

#define DEF_MAP_SUBPARAMS ( NAME,
... )
Value:
static struct interp_method_parameter \
NAME ## _subparams [] = {__VA_ARGS__}; \
enum { \
NAME ## _subparams_count = \
sizeof(NAME ## _subparams) / sizeof(NAME ## _subparams[0])};

Definition at line 478 of file config_yaml.c.

◆ DEF_NAME_TYPE_PAIR

#define DEF_NAME_TYPE_PAIR ( NAME,
TYPE )   {.name = #NAME, .type = (int)(TYPE)}

Definition at line 189 of file config_yaml.c.

◆ DEF_NAME_TYPE_PAIRS

#define DEF_NAME_TYPE_PAIRS ( NAME,
... )
Value:
static const struct yac_name_type_pair NAME [] = {__VA_ARGS__}; \
static const size_t num_ ## NAME = COUNT_NAME_TYPE_PAIRS(__VA_ARGS__);

Definition at line 190 of file config_yaml.c.

◆ DEF_SEQ_PARAM

#define DEF_SEQ_PARAM ( NAME,
SUBPARAM )
Value:
{.name = #NAME, \
.type = SEQ_PARAM, \
.data.seq_param.sub_param = (SUBPARAM), \
.default_value.data.seq.values = NULL, \
.default_value.data.seq.count = 0}

Definition at line 484 of file config_yaml.c.

◆ DEF_STR_PARAM

#define DEF_STR_PARAM ( NAME,
DEFAULT,
MAX_STR_LEN )
Value:
{.name = #NAME, \
.type = STR_PARAM, \
.data.str_param.max_str_len = (MAX_STR_LEN), \
.default_value.data.str_value = (DEFAULT)}

Definition at line 467 of file config_yaml.c.

◆ YAML_ASSERT

#define YAML_ASSERT ( CHECK,
MSG )
Value:
YAC_ASSERT_F((CHECK), \
"ERROR(%s): " MSG " in YAML configuration file \"%s\"", \
routine_name, yaml_filename)
#define YAC_ASSERT_F(exp, format,...)
Definition yac_assert.h:30

Definition at line 492 of file config_yaml.c.

◆ YAML_ASSERT_F

#define YAML_ASSERT_F ( CHECK,
MSG,
... )
Value:
YAC_ASSERT_F((CHECK), \
"ERROR(%s): " MSG " in YAML configuration file \"%s\"", \
routine_name, __VA_ARGS__, yaml_filename)

Definition at line 496 of file config_yaml.c.

◆ YAML_UNREACHABLE_DEFAULT

#define YAML_UNREACHABLE_DEFAULT ( MSG)
Value:
"ERROR(%s): " MSG " in YAML configuration file \"%s\"", \
routine_name, yaml_filename)
#define YAC_UNREACHABLE_DEFAULT_F(format,...)
Definition yac_assert.h:50

Definition at line 500 of file config_yaml.c.

◆ YAML_UNREACHABLE_DEFAULT_F

#define YAML_UNREACHABLE_DEFAULT_F ( MSG,
... )
Value:
"ERROR(%s): " MSG " in YAML configuration file \"%s\"", \
routine_name, __VA_ARGS__, yaml_filename)

Definition at line 504 of file config_yaml.c.

Typedef Documentation

◆ fy_document_t

typedef struct fy_document* fy_document_t

Definition at line 56 of file config_yaml.c.

◆ fy_node_pair_t

typedef struct fy_node_pair* fy_node_pair_t

Definition at line 58 of file config_yaml.c.

◆ fy_node_t

typedef struct fy_node* fy_node_t

Definition at line 57 of file config_yaml.c.

◆ interp_method_parameter_value

typedef struct interp_method_parameter_value interp_method_parameter_value

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EMITTER_DEFAULT 
EMITTER_JSON 
PARSER_DEFAULT 
PARSER_JSON_AUTO 
PARSER_JSON_FORCE 

Definition at line 60 of file config_yaml.c.

◆ anonymous enum

anonymous enum
Enumerator
NUM_INTERPOLATION_METHODS 

Definition at line 1413 of file config_yaml.c.

◆ yaml_base_key_types

Enumerator
START_DATE 
END_DATE 
CALENDAR 
TIMESTEP_UNIT 
COUPLING 
DEBUG 

Definition at line 112 of file config_yaml.c.

◆ yaml_comp_grid_names_key_types

Enumerator
COMP_NAME 
GRID_NAMES 

Definition at line 162 of file config_yaml.c.

◆ yaml_couple_key_types

Enumerator
SOURCE_NAMES 
SOURCE_COMPONENT 
SOURCE_GRID 
TARGET_NAMES 
TARGET_COMPONENT 
TARGET_GRID 
FIELD 
COUPLING_PERIOD 
TIME_REDUCTION 
SOURCE_LAG 
TARGET_LAG 
WEIGHT_FILE_DATA 
WEIGHT_FILE_NAME 
WEIGHT_FILE_ON_EXISTING 
MAPPING_SIDE 
SCALE_FACTOR 
SCALE_SUMMAND 
INTERPOLATION 
SOURCE_MASK_NAME 
SOURCE_MASK_NAMES 
TARGET_MASK_NAME 
YAXT_EXCHANGER_NAME 
COLLECTION_SELECTION 
USE_RAW_EXCHANGE 

Definition at line 121 of file config_yaml.c.

◆ yaml_debug_key_types

Enumerator
GLOBAL_CONFIG 
GLOBAL_DEFS 
OUTPUT_GRIDS 
MISSING_DEF 

Definition at line 148 of file config_yaml.c.

◆ yaml_debug_output_grid_key_types

Enumerator
OUTPUT_GRID_GRID_NAME 
OUTPUT_GRID_FILE_NAME 

Definition at line 181 of file config_yaml.c.

◆ yaml_debug_sync_loc_key_types

Enumerator
SYNC_LOC_DEF_COMP 
SYNC_LOC_SYNC_DEF 
SYNC_LOC_ENDDEF 
SYNC_LOC_COUNT 

Definition at line 155 of file config_yaml.c.

◆ yaml_weight_file_data_key_types

Enumerator
WEIGHT_FILE_DATA_NAME 
WEIGHT_FILE_DATA_ON_EXISTING 

Definition at line 167 of file config_yaml.c.

Function Documentation

◆ compare_parameter_values()

static int compare_parameter_values ( interp_method_parameter_value const * a,
interp_method_parameter_value const * b,
struct interp_method_parameter parameter )
static

Definition at line 3384 of file config_yaml.c.

Here is the caller graph for this function:

◆ DEF_BOOL_PARAM()

DEF_BOOL_PARAM ( partial_coverage ,
YAC_INTERP_NCC_PARTIAL_COVERAGE_DEFAULT  )

Definition at line 577 of file config_yaml.c.

◆ DEF_DBLE_PARAM() [1/2]

DEF_DBLE_PARAM ( gauss_scale ,
YAC_INTERP_DNN_GAUSS_SCALE_DEFAULT ,
- DBL_MAX,
DBL_MAX ,
false  )

◆ DEF_DBLE_PARAM() [2/2]

DEF_DBLE_PARAM ( rbf_scale ,
YAC_INTERP_DNN_RBF_SCALE_DEFAULT ,
- DBL_MAX,
DBL_MAX ,
false  )

◆ DEF_ENUM_PARAM() [1/2]

◆ DEF_ENUM_PARAM() [2/2]

DEF_ENUM_PARAM ( weighted ,
YAC_INTERP_NCC_WEIGHT_TYPE_DEFAULT ,
DEF_NAME_TYPE_PAIR(arithmetic_average, YAC_INTERP_NCC_AVG) ,
DEF_NAME_TYPE_PAIR(distance_weighted, YAC_INTERP_NCC_DIST)  )

◆ DEF_INTERP_METHOD()

DEF_INTERP_METHOD ( average ,
DEF_INTERP_STACK_ADD(average,(enum yac_interp_avg_weight_type) parameter_value.data.map_values[0].data.enum_value, parameter_value.data.map_values[1].data.bool_value) ,
enum yac_interp_avg_weight_type reduction_type;DEF_INTERP_STACK_GET(average, &reduction_type, &parameter_value->data.map_values[1].data.bool_value) parameter_value->data.map_values.data. enum_value[0] = (int)reduction_type;,
DEF_ENUM_PARAM( weighted, YAC_INTERP_AVG_WEIGHT_TYPE_DEFAULT, DEF_NAME_TYPE_PAIR(distance_weighted, YAC_INTERP_AVG_DIST), DEF_NAME_TYPE_PAIR(arithmetic_average, YAC_INTERP_AVG_ARITHMETIC), DEF_NAME_TYPE_PAIR(barycentric_coordinate, YAC_INTERP_AVG_BARY)) ,
DEF_BOOL_PARAM( partial_coverage, YAC_INTERP_AVG_PARTIAL_COVERAGE_DEFAULT)  )

◆ DEF_INTERP_STACK_ADD() [1/2]

DEF_INTERP_STACK_ADD ( dnn ,
weight_type ,
search_distance_type ,
search_distance ,
scale  )

◆ DEF_INTERP_STACK_ADD() [2/2]

DEF_INTERP_STACK_ADD ( ncc ,
(enum yac_interp_ncc_weight_type) parameter_value.data.map_values.data. enum_value[0],
parameter_value.data.map_values.data. bool_value[1] )

◆ DEF_INTERP_STACK_GET() [1/2]

DEF_INTERP_STACK_GET ( dnn ,
& weight_type_get,
& search_distance_type_get,
& search_distance_get,
& scale_get ) -> data.map_values[0].data.enum_value=(int) weight_type_get

◆ DEF_INTERP_STACK_GET() [2/2]

DEF_INTERP_STACK_GET ( ncc ,
& weight_type,
&parameter_value->data.map_values.data. bool_value[1] ) -> data.map_values[0].data.enum_value=(int) weight_type

◆ DEF_MAP_PARAM()

DEF_MAP_PARAM ( search_distance ,
dnn_search_distance  )

Definition at line 775 of file config_yaml.c.

Here is the call graph for this function:

◆ DEF_MAP_SUBPARAMS() [1/3]

DEF_MAP_SUBPARAMS ( bounding_circle_center ,
DEF_DEG_PARAM(lon, DBL_MAX, -720.0, 720.0) ,
DEF_DEG_PARAM(lat, DBL_MAX, -90.0, 90.0)  )

Definition at line 913 of file config_yaml.c.

Here is the call graph for this function:

◆ DEF_MAP_SUBPARAMS() [2/3]

DEF_MAP_SUBPARAMS ( source_to_target_map_cell_area_provider_yac ,
DEF_DBLE_PARAM( sphere_radius, YAC_INTERP_SPMAP_SPHERE_RADIUS_DEFAULT, 1e-9, DBL_MAX, false)  )

Definition at line 1091 of file config_yaml.c.

◆ DEF_MAP_SUBPARAMS() [3/3]

DEF_MAP_SUBPARAMS ( source_to_target_map_overwrite ,
DEF_MAP_PARAM(condition, source_to_target_map_overwrite_condition) ,
DEF_DEG_PARAM( spread_distance, YAC_INTERP_SPMAP_SPREAD_DISTANCE_DEFAULT, 0.0, 89.9999) ,
DEF_DEG_PARAM( max_search_distance, YAC_INTERP_SPMAP_MAX_SEARCH_DISTANCE_DEFAULT, 0.0, 179.9999) ,
DEF_ENUM_PARAM( weighted, YAC_INTERP_SPMAP_WEIGHTED_DEFAULT, DEF_NAME_TYPE_PAIR(distance_weighted, YAC_INTERP_SPMAP_DIST), DEF_NAME_TYPE_PAIR(arithmetic_average, YAC_INTERP_SPMAP_AVG))  )

parameter_value[0] condition parameter_value[1] spread_distance parameter_value[2] max_search_distance parameter_value[3] weighted

Definition at line 1045 of file config_yaml.c.

◆ DEF_NAME_TYPE_PAIRS()

DEF_NAME_TYPE_PAIRS ( yaml_base_keys ,
DEF_NAME_TYPE_PAIR(start_date, START_DATE) ,
DEF_NAME_TYPE_PAIR(start_datetime, START_DATE) ,
DEF_NAME_TYPE_PAIR(end_date, END_DATE) ,
DEF_NAME_TYPE_PAIR(end_datetime, END_DATE) ,
DEF_NAME_TYPE_PAIR(calendar, CALENDAR) ,
DEF_NAME_TYPE_PAIR(timestep_unit, TIMESTEP_UNIT) ,
DEF_NAME_TYPE_PAIR(coupling, COUPLING) ,
DEF_NAME_TYPE_PAIR(debug, DEBUG)  )

Definition at line 194 of file config_yaml.c.

◆ get_cell_area_config_parameters()

static void get_cell_area_config_parameters ( struct yac_spmap_cell_area_config const * cell_area_config,
double * sphere_radius,
char const ** filename,
char const ** varname,
int * min_global_id,
char const * desc )
static

Definition at line 846 of file config_yaml.c.

Here is the call graph for this function:

◆ get_point_selection_parameters()

static void get_point_selection_parameters ( struct yac_point_selection const * point_selection,
interp_method_parameter_value * parameter_value )
static

parameter_value[0] condition parameter_value[0][0] bnd_circle parameter_value[0][0][0] center parameter_value[0][0][0][0] lon parameter_value[0][0][0][1] lat parameter_value[0][0][1] radius

Definition at line 998 of file config_yaml.c.

Here is the call graph for this function:

◆ if() [1/2]

else if ( cell_area_value. is_set)

Definition at line 664 of file config_yaml.c.

Here is the caller graph for this function:

◆ if() [2/2]

if ( parameter_value->data.map_values.data. map_values[3] = = NULL)

Definition at line 731 of file config_yaml.c.

◆ parse_overwrite_config_parameter()

static struct yac_spmap_overwrite_config * parse_overwrite_config_parameter ( interp_method_parameter_value const * parameter_value,
struct yac_spmap_scale_config * scale_config )
static

parameter_value[0] condition parameter_value[0][0] bnd_circle parameter_value[0][0][0] center parameter_value[0][0][0][0] lon parameter_value[0][0][0][1] lat parameter_value[0][0][1] radius

Definition at line 960 of file config_yaml.c.

Here is the call graph for this function:

◆ parse_point_coordinates()

static void parse_point_coordinates ( interp_method_parameter_value const * parameters,
double * lon,
double * lat )
static

Definition at line 877 of file config_yaml.c.

Here is the caller graph for this function:

◆ parse_point_selection_parameter_bnd_circle()

static struct yac_point_selection * parse_point_selection_parameter_bnd_circle ( interp_method_parameter_value const parameter)
static

Definition at line 892 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ switch() [1/3]

Definition at line 737 of file config_yaml.c.

◆ switch() [2/3]

switch ( weight_type )
Examples
dummy_atmosphere_c.c, dummy_io_c.c, and dummy_ocean_c.c.

Definition at line 674 of file config_yaml.c.

◆ switch() [3/3]

switch ( weight_type_get )

Definition at line 705 of file config_yaml.c.

◆ yac_time_to_ISO()

char const * yac_time_to_ISO ( char const * time,
enum yac_time_unit_type time_unit )

Definition at line 336 of file event.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_append_couple_field_nodes()

static void yac_yaml_append_couple_field_nodes ( fy_node_t coupling_node,
struct yac_couple_config * couple_config,
size_t couple_idx,
size_t field_couple_idx )
static

Definition at line 3700 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_append_couple_nodes()

static void yac_yaml_append_couple_nodes ( fy_node_t coupling_node,
struct yac_couple_config * couple_config,
size_t couple_idx )
static

Definition at line 3945 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_component_node()

static fy_node_t yac_yaml_create_component_node ( fy_document_t document,
struct yac_couple_config * couple_config,
size_t component_idx )
static

Definition at line 4175 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_components_node()

static fy_node_t yac_yaml_create_components_node ( fy_document_t document,
struct yac_couple_config * couple_config )
static

Definition at line 4206 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_couple_config_nodes()

static fy_node_t yac_yaml_create_couple_config_nodes ( fy_document_t document,
struct yac_couple_config * couple_config,
int include_definitions )
static

Definition at line 4310 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_coupling_node()

static fy_node_t yac_yaml_create_coupling_node ( fy_document_t document,
struct yac_couple_config * couple_config )
static

Definition at line 4056 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_debug_node()

static fy_node_t yac_yaml_create_debug_node ( fy_document_t document,
struct yac_couple_config * couple_config )
static

Definition at line 4028 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_definitions_node()

static fy_node_t yac_yaml_create_definitions_node ( fy_document_t document,
struct yac_couple_config * couple_config )
static

Definition at line 4288 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_field_name_node()

static fy_node_t yac_yaml_create_field_name_node ( fy_document_t document,
struct yac_couple_config * couple_config,
size_t couple_idx,
size_t field_couple_idx )
static

Definition at line 3295 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_field_node()

static fy_node_t yac_yaml_create_field_node ( fy_document_t document,
struct yac_couple_config * couple_config,
size_t component_idx,
size_t field_idx )
static

Definition at line 4078 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_fields_node()

static fy_node_t yac_yaml_create_fields_node ( fy_document_t document,
struct yac_couple_config * couple_config,
size_t component_idx )
static

Definition at line 4146 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_grid_node()

static fy_node_t yac_yaml_create_grid_node ( fy_document_t document,
struct yac_couple_config * couple_config,
size_t grid_idx )
static

Definition at line 4235 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_grids_node()

static fy_node_t yac_yaml_create_grids_node ( fy_document_t document,
struct yac_couple_config * couple_config )
static

Definition at line 4260 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_interpolation_node()

static fy_node_t yac_yaml_create_interpolation_node ( fy_document_t document,
union yac_interp_stack_config_entry const * interp_stack_entry )
static

Definition at line 3604 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_interpolation_stack_node()

static fy_node_t yac_yaml_create_interpolation_stack_node ( fy_document_t document,
struct yac_couple_config * couple_config,
size_t couple_idx,
size_t field_couple_idx )
static

Definition at line 3658 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_non_default_map_parameter_node()

static fy_node_t yac_yaml_create_non_default_map_parameter_node ( fy_document_t document,
interp_method_parameter_value const * map_parameter_values,
struct interp_method_parameter parameter )
static

Definition at line 3510 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_output_grid_node()

static fy_node_t yac_yaml_create_output_grid_node ( fy_document_t document,
char const * grid_name,
char const * file_name )
static

Definition at line 3958 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_output_grids_node()

static fy_node_t yac_yaml_create_output_grids_node ( fy_document_t document,
struct yac_couple_config * couple_config )
static

Definition at line 3982 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_scalar()

static fy_node_t yac_yaml_create_scalar ( fy_document_t document,
char const * value )
static

Definition at line 3096 of file config_yaml.c.

Here is the caller graph for this function:

◆ yac_yaml_create_scalar_dble()

static fy_node_t yac_yaml_create_scalar_dble ( fy_document_t document,
double value )
static

Definition at line 3139 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_scalar_int()

static fy_node_t yac_yaml_create_scalar_int ( fy_document_t document,
int value )
static

Definition at line 3111 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_scalar_parameter_node()

static fy_node_t yac_yaml_create_scalar_parameter_node ( fy_document_t document,
struct interp_method_parameter parameter,
interp_method_parameter_value parameter_value )
static

Definition at line 3324 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_scalar_size_t()

static fy_node_t yac_yaml_create_scalar_size_t ( fy_document_t document,
size_t value )
static

Definition at line 3125 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_seq_parameter_node()

static fy_node_t yac_yaml_create_seq_parameter_node ( fy_document_t document,
interp_method_parameter_value const * seq_parameter_values,
size_t seq_parameter_values_count,
struct interp_method_parameter parameter )
static

Definition at line 3430 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_sequence_scalar()

static fy_node_t yac_yaml_create_sequence_scalar ( fy_document_t document,
char const *const * values,
size_t num_values )
static

Definition at line 3153 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_create_sequence_scalar_size_t()

static fy_node_t yac_yaml_create_sequence_scalar_size_t ( fy_document_t document,
size_t const * values,
size_t num_values )
static

Definition at line 3184 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_emit_coupling()

char * yac_yaml_emit_coupling ( struct yac_couple_config * couple_config,
int emit_flags,
int include_definitions )

Emit coupling configuration to string

Parameters
[in]couple_configcoupling configuration
[in]emit_flagsflags to be used for emitting the coupling configuration
[in]include_definitionsinclude debug definitions (components, grids, and fields) in the output file
Returns
string containing coupling configuration

Definition at line 4376 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_map_append()

static void yac_yaml_map_append ( fy_node_t map,
char const * key,
fy_node_t value )
static

Definition at line 3225 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_map_append_parameter()

static void yac_yaml_map_append_parameter ( fy_document_t document,
fy_node_t map,
struct interp_method_parameter parameter,
interp_method_parameter_value parameter_value )
static

Definition at line 3373 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_map_append_scalar()

static void yac_yaml_map_append_scalar ( fy_node_t map,
char const * key,
char const * value )
static

Definition at line 3248 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_map_append_scalar_dble()

static void yac_yaml_map_append_scalar_dble ( fy_node_t map,
char const * key,
double value )
static

Definition at line 3283 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_map_append_scalar_int()

static void yac_yaml_map_append_scalar_int ( fy_node_t map,
char const * key,
int value )
static

Definition at line 3259 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_map_append_scalar_size_t()

static void yac_yaml_map_append_scalar_size_t ( fy_node_t map,
char const * key,
size_t value )
static

Definition at line 3271 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_parse_interp_stack_config_string()

struct yac_interp_stack_config * yac_yaml_parse_interp_stack_config_string ( char const * interp_stack_config,
int parse_flags )

Parse a "0"-terminated string that contains an interpolation stack configuration

Parameters
[in]interp_stack_configstring containing interpolation stack configuration
[in]parse_flagsflags to be used for parsing the string

Definition at line 3052 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_yaml_read_coupling()

void yac_yaml_read_coupling ( struct yac_couple_config * couple_config,
const char * yaml_filename,
int parse_flags )

Reader for yaml while, which parses the given yaml file and adds the coupling from the file to the coupling configuration data

Parameters
[in,out]couple_configcoupling configuration data
[in]yaml_filenamename of yaml configuration file
[in]parse_flagsflags to be used for parsing the configuration file

Definition at line 3003 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_interp_method_parameter_free()

static void yaml_interp_method_parameter_free ( interp_method_parameter_value parameter_value,
struct interp_method_parameter parameter )
static

free memory associated with provided interpolation parameter value

Parameters
parameter_valueparameter values to be freed
parameterparameter definition associated with the values

Definition at line 1700 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_interp_method_parameter_get_default()

static interp_method_parameter_value yaml_interp_method_parameter_get_default ( struct interp_method_parameter parameter)
static

allocates parameter values and assigns default values based on provided interpolation parameter definition

Parameters
[in]parameterparameter definition
Returns
parameter value with default values

Definition at line 1647 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_base_interp_method_node()

static void yaml_parse_base_interp_method_node ( char const ** interpolation_type_str,
fy_node_t * parameter_node,
fy_node_t interp_method_node,
char const * yaml_filename )
static

reads interpolation name and user-provided parameters from YAML node

Parameters
[out]interpolation_type_strname of the interpolation
[out]parameter_nodeYAML node containing user-provided interpolation method configuration
[in]interp_method_nodeYAML node containing interpolation
[in]yaml_filenamename of the YAML file (used for error messages)
Remarks
interp_method_node can be either a scalar not (only interpolation name and no parameters) or a map (interpolation name and parameters)

Definition at line 1589 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_base_map_pair()

static void yaml_parse_base_map_pair ( struct yac_couple_config * couple_config,
fy_node_pair_t base_pair,
const char * yaml_filename,
enum yac_time_unit_type * time_unit,
char const ** start_datetime,
char const ** end_datetime )
static

Definition at line 2902 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_calendar_value()

static calendarType yaml_parse_calendar_value ( fy_node_t value_node,
char const * key_name,
char const * yaml_filename )
static

Definition at line 1430 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_collection_selection_sequence()

static void yaml_parse_collection_selection_sequence ( struct yac_collection_selection ** collection_selection,
fy_node_t values_node,
char const * sequence_name,
const char * yaml_filename )
static

Definition at line 2121 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_comp_grid_names()

static void yaml_parse_comp_grid_names ( char const ** comp_name,
char const *** grid_names,
size_t * num_grid_names,
fy_node_t values_node,
char const * type_name,
const char * yaml_filename )
static

Definition at line 2200 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_config_file_value()

static struct debug_config_file yaml_parse_config_file_value ( fy_node_t config_file_node,
char const * file_type_name,
const char * yaml_filename )
static

Definition at line 2596 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_couple()

static void yaml_parse_couple ( struct yac_couple_config * couple_config,
fy_node_t couple_node,
char const * yaml_filename,
enum yac_time_unit_type time_unit )
static

Definition at line 2451 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_couple_map_pair()

static void yaml_parse_couple_map_pair ( struct field_couple_buffer * field_buffer,
fy_node_pair_t couple_pair,
const char * yaml_filename,
enum yac_time_unit_type time_unit )
static

Definition at line 2303 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_coupling()

static void yaml_parse_coupling ( struct yac_couple_config * couple_config,
fy_node_t coupling_node,
char const * yaml_filename,
enum yac_time_unit_type time_unit )
static

Definition at line 2575 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_debug()

static void yaml_parse_debug ( struct yac_couple_config * couple_config,
fy_node_t debug_node,
char const * yaml_filename )
static

Definition at line 2882 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_debug_config_file_buffer()

static struct debug_config_file_buffer yaml_parse_debug_config_file_buffer ( fy_node_t config_file_node,
char const * config_file_type_name,
char const * yaml_filename )
static

Definition at line 2705 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_debug_config_file_map_pair()

static void yaml_parse_debug_config_file_map_pair ( struct debug_config_file_buffer * config_file_buffer,
fy_node_pair_t config_file_pair,
char const * config_file_type_name,
const char * yaml_filename )
static

Definition at line 2673 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_debug_global_config()

static void yaml_parse_debug_global_config ( struct yac_couple_config * couple_config,
fy_node_t global_config_node,
char const * yaml_filename )
static

Definition at line 2743 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_debug_map_pair()

static void yaml_parse_debug_map_pair ( struct yac_couple_config * couple_config,
fy_node_pair_t debug_pair,
const char * yaml_filename )
static

Definition at line 2848 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_debug_output_grids()

static void yaml_parse_debug_output_grids ( struct yac_couple_config * couple_config,
fy_node_t output_grids_node,
char const * yaml_filename )
static

Definition at line 2829 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_document()

static void yaml_parse_document ( struct yac_couple_config * couple_config,
fy_document_t document,
const char * yaml_filename )
static

Definition at line 2964 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_double_value()

static double yaml_parse_double_value ( fy_node_t value_node,
char const * key_name,
char const * yaml_filename )
static

Definition at line 1544 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_enum_value()

static int yaml_parse_enum_value ( struct yac_name_type_pair const * valid_values,
size_t num_valid_values,
fy_node_t value_node,
char const * key_name,
char const * yaml_filename )
static

Definition at line 1561 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_field_name()

static struct field_couple_field_names yaml_parse_field_name ( fy_node_t field_node,
const char * yaml_filename )
static

Definition at line 2043 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_field_names()

static void yaml_parse_field_names ( struct field_couple_field_names ** field_names,
size_t * num_field_names,
fy_node_t fields_node,
const char * yaml_filename )
static

Definition at line 2175 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_integer_value()

static int yaml_parse_integer_value ( fy_node_t value_node,
char const * key_name,
char const * yaml_filename )
static

Definition at line 1507 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_interp_method()

static void yaml_parse_interp_method ( struct yac_interp_stack_config * interp_stack,
fy_node_t interp_method_node,
char const * yaml_filename )
static

Definition at line 1984 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_interp_method_map_parameter()

static void yaml_parse_interp_method_map_parameter ( struct interp_method_parameter map_parameter,
interp_method_parameter_value * map_parameter_values,
fy_node_t value_node,
char const * interpolation_name,
char const * yaml_filename )
static

Parses a YAML map parameter node

Parameters
[out]map_parameterparameter map configuration
[in,out]map_parameter_valuesvalues of map parameters
[in]value_nodeYAML containing the map data
[in]interpolation_namename of the interpolation (used for error messages)
[in]yaml_filenamename of the YAML file (used for error messages)

Definition at line 1764 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_interp_method_parameter_value()

static void yaml_parse_interp_method_parameter_value ( struct interp_method_parameter parameter,
interp_method_parameter_value * parameter_value,
fy_node_t value_node,
char const * interpolation_name,
char const * yaml_filename )
static

reads a user-provided parameter value. Afterwards this value is converted to the associated data-type and it is check for validity.

Parameters
[in]parameterconfiguration of the parameter
[out]parameter_valueparsed user-provided parameter value
[in]value_nodeYAML node containing the user-provoided paramter value
[in]interpolation_namename of the interpolation (used for error messages)
[in]yaml_filenamename of the user-provided yaml file (used for error messages)

Definition at line 1867 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_interp_method_seq_parameter()

static void yaml_parse_interp_method_seq_parameter ( struct interp_method_parameter seq_parameter,
interp_method_parameter_value ** seq_parameter_values,
size_t * seq_parameter_count,
fy_node_t value_node,
char const * interpolation_name,
char const * yaml_filename )
static

Parses a YAML sequence parameter node

Parameters
[in]seq_parametersequence parameter configuration
[out]seq_parameter_valuesvalue of the sequence
[out]seq_parameter_countnumber of entries in the sequence
[in]value_nodeYAML node containing the sequence
[in]interpolation_namename of the interpolation (used for error messages)
[in]yaml_filenamename of the YAML file (used for error messages)

Definition at line 1820 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_interp_stack_value()

static void yaml_parse_interp_stack_value ( struct yac_interp_stack_config * interp_stack,
fy_node_t interp_stack_node,
char const * yaml_filename )
static

Definition at line 2024 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_output_grid()

static void yaml_parse_output_grid ( struct yac_couple_config * couple_config,
fy_node_t output_grid_node,
char const * yaml_filename )
static

Definition at line 2802 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_output_grid_pair()

static void yaml_parse_output_grid_pair ( char const ** grid_name,
char const ** file_name,
fy_node_pair_t output_grid_pair,
char const * yaml_filename )
static

Definition at line 2769 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_size_t_sequence()

static void yaml_parse_size_t_sequence ( size_t ** values,
size_t * num_values,
fy_node_t values_node,
char const * sequence_name,
const char * yaml_filename )
static

Definition at line 2089 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_size_t_value()

static size_t yaml_parse_size_t_value ( fy_node_t value_node,
char const * key_name,
char const * yaml_filename )
static

Definition at line 1525 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_string_sequence()

static void yaml_parse_string_sequence ( char const *** values,
size_t * num_values,
fy_node_t values_node,
char const * sequence_name,
const char * yaml_filename )
static

Definition at line 2145 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_string_value()

static char const * yaml_parse_string_value ( fy_node_t value_node,
char const * name,
char const * yaml_filename )
static

Definition at line 1418 of file config_yaml.c.

Here is the caller graph for this function:

◆ yaml_parse_time_reduction_value()

static enum yac_reduction_type yaml_parse_time_reduction_value ( fy_node_t value_node,
char const * key_name,
char const * yaml_filename )
static

Definition at line 1489 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_timestep_unit_value()

static enum yac_time_unit_type yaml_parse_timestep_unit_value ( fy_node_t value_node,
char const * key_name,
char const * yaml_filename )
static

Definition at line 1471 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_timestep_value()

static char const * yaml_parse_timestep_value ( fy_node_t value_node,
char const * key_name,
char const * yaml_filename,
enum yac_time_unit_type time_unit )
static

Definition at line 1448 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yaml_parse_weight_file_data()

static void yaml_parse_weight_file_data ( char const ** weight_file_name,
enum yac_weight_file_on_existing * on_existing,
fy_node_t values_node,
char const * type_name,
const char * yaml_filename )
static

Definition at line 2249 of file config_yaml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ else

else
Initial value:
{
#define YAC_INTERP_DNN_SEARCH_DISTANCE_TYPE_DEFAULT

Definition at line 667 of file config_yaml.c.

◆ interpolation_methods

const interpolation_methods[]
Initial value:
=
#define ADD_INTERPOLATION(NAME, TYPE)
#define ADD_INTERPOLATION_NO_PARAM(NAME, TYPE)
@ YAC_N_NEAREST_NEIGHBOR
N-nearest-neighbor interpolation.
@ YAC_CREEP
Creep-fill interpolation.
@ YAC_USER_FILE
User-supplied weights from file.
@ YAC_USER_CALLBACK
@ YAC_SOURCE_TO_TARGET_MAP
Source-to-target mapping (inverse N-nearest-neighbor)
@ YAC_CONSERVATIVE
Conservative remapping (area/flux conserving)
@ YAC_FIXED_VALUE
Assigns a fixed value to all targets.
@ YAC_CHECK
Diagnostic check method (for testing)
@ YAC_BERNSTEIN_BEZIER
Bernstein-Bezier interpolation.
@ YAC_DISTANCE_NEAREST_NEIGHBOR
Distance-nearest-neighbor interpolation.
@ YAC_NEAREST_CORNER_CELLS
Nearest-corner-cell interpolation.
@ YAC_RADIAL_BASIS_FUNCTION
Radial basis function interpolation.
@ YAC_AVERAGE
Simple averaging (or linear) interpolation.

Definition at line 1399 of file config_yaml.c.

◆ scale

double scale

Definition at line 673 of file config_yaml.c.

◆ scale_get

double scale_get

Definition at line 697 of file config_yaml.c.

◆ search_distance

Definition at line 669 of file config_yaml.c.

◆ search_distance_get

double search_distance_get

Definition at line 696 of file config_yaml.c.

◆ search_distance_type_get

enum yac_interp_dnn_search_distance_type search_distance_type_get

Definition at line 695 of file config_yaml.c.

◆ weight_type

Definition at line 564 of file config_yaml.c.

◆ weight_type_get

enum yac_interp_dnn_weight_type weight_type_get

Definition at line 694 of file config_yaml.c.

◆ YAC_YAML_EMITTER_DEFAULT

int const YAC_YAML_EMITTER_DEFAULT = EMITTER_DEFAULT

emit to YAML format

Definition at line 68 of file config_yaml.c.

◆ YAC_YAML_EMITTER_JSON

int const YAC_YAML_EMITTER_JSON = EMITTER_JSON

emit to JSON format

Definition at line 69 of file config_yaml.c.

◆ YAC_YAML_PARSER_DEFAULT

int const YAC_YAML_PARSER_DEFAULT = PARSER_DEFAULT

default parse flags (YAML format)

Definition at line 70 of file config_yaml.c.

◆ YAC_YAML_PARSER_JSON_AUTO

int const YAC_YAML_PARSER_JSON_AUTO = PARSER_JSON_AUTO

switch to JSON format, if indicated by file extension

Definition at line 71 of file config_yaml.c.

◆ YAC_YAML_PARSER_JSON_FORCE

int const YAC_YAML_PARSER_JSON_FORCE = PARSER_JSON_FORCE

assume JSON format

Definition at line 72 of file config_yaml.c.