5#ifndef YAC_COUPLE_CONFIG_COUPLE_H
6#define YAC_COUPLE_CONFIG_COUPLE_H
37 size_t component_idx_a,
size_t component_idx_b);
55 size_t const * old_to_new_idx);
67 size_t num_couples,
size_t comp_idx,
size_t const * old_to_new_idx);
98 size_t component_idx_a,
size_t component_idx_b);
165 size_t src_component_idx,
size_t src_field_idx,
166 size_t tgt_component_idx,
size_t tgt_field_idx);
205 size_t src_comp_idx,
size_t src_field_idx,
int src_lag,
206 size_t tgt_comp_idx,
size_t tgt_field_idx,
int tgt_lag,
207 char const * coupling_period,
int time_reduction,
210 double scale_factor,
double scale_summand,
211 int weight_file_on_existing,
212 size_t num_src_mask_names,
char const *
const * src_mask_names,
213 char const * tgt_mask_name,
char const * yaxt_exchanger_name,
215 int use_raw_exchange);
227 size_t field_couple_idx);
239 size_t field_couple_idx);
251 size_t field_couple_idx);
263 size_t field_couple_idx);
275 size_t field_couple_idx);
287 size_t field_couple_idx);
300 size_t field_couple_idx);
312 size_t field_couple_idx);
324 size_t field_couple_idx);
336 size_t field_couple_idx);
348 size_t field_couple_idx);
360 size_t field_couple_idx,
361 char const *
const ** mask_names,
size_t * num_mask_names);
373 size_t field_couple_idx);
385 size_t field_couple_idx);
398 size_t field_couple_idx);
410 size_t field_couple_idx);
422 size_t field_couple_idx);
434 size_t field_couple_idx);
446 size_t field_couple_idx);
458 size_t field_couple_idx);
479 char const * tgt_comp_name);
unsigned component_idx[3]
size_t yac_couple_config_couple_get_source_component_idx(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
void yac_couple_config_couples_free(struct yac_couple_config_couple **couples, size_t *num_couples)
int yac_couple_config_couple_has_component(struct yac_couple_config_couple const *couple, size_t component_idx)
void yac_couple_config_couple_free(struct yac_couple_config_couple *couple)
void yac_couple_config_couple_append_or_merge_field_couple_from_definition(struct yac_couple_config_couple *couple, size_t src_comp_idx, size_t src_field_idx, int src_lag, size_t tgt_comp_idx, size_t tgt_field_idx, int tgt_lag, char const *coupling_period, int time_reduction, struct yac_interp_stack_config *interp_stack, int mapping_on_source, const char *weight_file_name, double scale_factor, double scale_summand, int weight_file_on_existing, size_t num_src_mask_names, char const *const *src_mask_names, char const *tgt_mask_name, char const *yaxt_exchanger_name, struct yac_collection_selection const *collection_selection, int use_raw_exchange)
char const * yac_couple_config_couple_get_coupling_period(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
struct yac_couple_config_couple * yac_couple_config_couple_find(size_t num_couples, struct yac_couple_config_couple const *couples, struct yac_couple_config_couple const *pattern)
int yac_couple_config_couple_get_mapping_on_source(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
void yac_couple_config_couple_update_field_indices(struct yac_couple_config_couple *couples, size_t num_couples, size_t comp_idx, size_t const *old_to_new_idx)
int yac_couple_config_couple_get_field_role_from_field_idx(struct yac_couple_config_couple const *couple, size_t component_idx, size_t field_idx)
size_t yac_couple_config_couple_get_source_field_idx(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
size_t yac_couple_config_couple_get_target_field_idx(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
size_t yac_couple_config_couple_find_field_couple_with_target(struct yac_couple_config_couple const *couple, struct yac_couple_config const *couple_config, char const *tgt_field_name, char const *tgt_grid_name, char const *tgt_comp_name)
int yac_couple_config_couple_get_enforce_write_weight_file(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
char const * yac_couple_config_couple_get_yaxt_exchanger_name(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
void yac_couple_config_couple_init(struct yac_couple_config_couple *couple, size_t component_idx_a, size_t component_idx_b)
void yac_couple_config_couples_merge(struct yac_couple_config *couple_config, MPI_Comm comm)
double yac_couple_config_couple_get_scale_factor(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
struct yac_collection_selection const * yac_couple_config_couple_get_collection_selection(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
int yac_couple_config_couple_get_source_lag(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
int yac_couple_config_couple_get_target_lag(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
void yac_couple_config_couple_get_src_mask_names(struct yac_couple_config_couple const *couple, size_t field_couple_idx, char const *const **mask_names, size_t *num_mask_names)
char const * yac_couple_config_couple_get_tgt_mask_name(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
struct yac_interp_stack_config * yac_couple_config_couple_get_interp_stack(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
void yac_couple_config_couple_append_or_merge_field_couple(struct yac_couple_config_couple *couple, struct yac_couple_config_field_couple *field_couple)
void yac_couple_config_couple_update_component_indices(struct yac_couple_config_couple *couple, size_t const *old_to_new_idx)
int yac_couple_config_couple_has_field_couple(struct yac_couple_config_couple const *couple, size_t src_component_idx, size_t src_field_idx, size_t tgt_component_idx, size_t tgt_field_idx)
int yac_couple_config_couple_get_use_raw_exchange(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
enum yac_weight_file_on_existing yac_couple_config_couple_get_weight_file_on_existing(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
size_t yac_couple_config_couples_append(struct yac_couple_config *couple_config, size_t component_idx_a, size_t component_idx_b)
double yac_couple_config_couple_get_scale_summand(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
enum yac_reduction_type yac_couple_config_couple_get_coupling_period_operation(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
char const * yac_couple_config_couple_get_weight_file_name(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
size_t yac_couple_config_couple_get_target_component_idx(struct yac_couple_config_couple const *couple, size_t field_couple_idx)
yac_weight_file_on_existing
size_t component_indices[2]
struct yac_couple_config_field_couple * field_couples
char const * weight_file_name
char const tgt_grid_name[]