24static void utest_shared_comp_couple();
32 MPI_Comm_size(MPI_COMM_WORLD, &size);
36 PUT_ERR(
"ERROR: wrong number of processes\n");
42 utest_shared_comp_couple();
54static void utest_shared_comp_couple() {
59 instance,
"2008-03-09T16:05:07",
"2008-03-10T16:05:07");
61 char const * comp_names[] = {
"comp_0",
"comp_1",
"comp_2"};
64 size_t num_vertices[2] = {2, 2};
68 yac_int global_cell_ids[1] = {0};
69 yac_int global_corner_ids[4] = {0, 1, 2, 3};
71 int corner_core_mask[4] = {1, 1, 1, 1};
95 char const * field_name =
"field_a";
98 interp_field.coordinates_idx =
102 interp_field.masks_idx = SIZE_MAX;
104 instance, field_name, comp_names[0], src_grid,
105 &interp_field, 1, 1, timestep);
106 interp_field.coordinates_idx =
111 instance, field_name, comp_names[1], tgt_grid,
112 &interp_field, 1, 1, timestep);
114 instance, field_name, comp_names[2], tgt_grid,
115 &interp_field, 1, 1, timestep);
119 char const * coupling_period = timestep;
struct yac_basic_grid * yac_basic_grid_new(char const *name, struct yac_basic_grid_data grid_data)
size_t yac_basic_grid_add_coordinates(struct yac_basic_grid *grid, enum yac_location location, yac_coordinate_pointer coordinates, size_t count)
void yac_basic_grid_delete(struct yac_basic_grid *grid)
struct yac_basic_grid_data yac_generate_basic_grid_data_reg_2d_deg(size_t nbr_vertices[2], int cyclic[2], double *lon_vertices, double *lat_vertices)
char const * yac_time_to_ISO(char const *time, enum yac_time_unit_type time_unit)
void yac_instance_delete(struct yac_instance *instance)
void yac_instance_def_datetime(struct yac_instance *instance, const char *start_datetime, const char *end_datetime)
void yac_instance_setup(struct yac_instance *instance, struct yac_basic_grid **grids, size_t num_grids)
struct yac_instance * yac_instance_new(MPI_Comm comm)
struct coupling_field * yac_instance_add_field(struct yac_instance *instance, char const *field_name, char const *comp_name, struct yac_basic_grid *grid, struct yac_interp_field *interp_fields, size_t num_interp_fields, int collection_size, char const *timestep)
void yac_instance_def_components(struct yac_instance *instance, char const **comp_names, size_t num_comps)
void yac_instance_def_couple(struct yac_instance *instance, char const *src_comp_name, char const *src_grid_name, char const *src_field_name, char const *tgt_comp_name, char const *tgt_grid_name, char const *tgt_field_name, char const *coupling_period, int time_reduction, struct yac_interp_stack_config *interp_stack_config, int src_lag, int tgt_lag, const char *weight_file_name, int weight_file_on_existing, int mapping_on_source, double scale_factor, double scale_summand, 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)
void yac_interp_stack_config_add_fixed(struct yac_interp_stack_config *interp_stack_config, double value)
void yac_interp_stack_config_delete(struct yac_interp_stack_config *interp_stack_config)
Free an interpolation stack configuration object.
struct yac_interp_stack_config * yac_interp_stack_config_new()
Allocate a new empty interpolation stack configuration object.
#define YAC_WEIGHT_FILE_ON_EXISTING_DEFAULT_VALUE
yac_coordinate_pointer vertex_coordinates
enum yac_location location
char const src_grid_name[]
char const tgt_grid_name[]
void yac_cdef_calendar(int calendar)
int const YAC_PROLEPTIC_GREGORIAN
int const YAC_REDUCTION_TIME_NONE
void yac_yaxt_init(MPI_Comm comm)