12#include "yac_config.h"
106#define YAC_MAX_CHARLEN (132)
145 char const** group_names,
146 MPI_Comm * group_comms );
223 int * yac_instance_id );
253 const char * yaml_file);
268 const char * json_file);
293 const char * filename,
296 int include_definitions);
314 int include_definitions);
326 const char * gridname,
327 const char * filename);
336 const char * filename);
350 const char * filename);
370 int yac_instance_id,
int apply_check);
385 int yac_instance_id,
int is_fatal);
452 const char * end_datetime );
469 const char * start_datetime,
470 const char * end_datetime );
507 char const * comp_name,
538 const char * comp_name,
571 const char ** comp_names,
587 MPI_Comm *comp_comm );
607 MPI_Comm * comps_comm);
624 const char ** comp_names,
626 MPI_Comm * comps_comm );
649 int const *nbr_points,
651 double const *x_points,
652 double const *y_points,
676 int const *nbr_points,
678 double const *x_points,
679 double const *y_points,
703 int const *nbr_points,
705 double const *x_points,
706 double const *y_points,
730 int const *nbr_points,
732 double const *x_points,
733 double const *y_points,
753 int const nbr_points,
755 double const *x_points,
756 double const *y_points,
776 int const nbr_points,
778 double const *x_points,
779 double const *y_points,
805 int const *nbr_points,
807 double const *x_points,
808 double const *y_points,
836 int const *nbr_points,
838 double const *x_points,
839 double const *y_points,
984 int *num_vertices_per_cell,
1014 int *num_vertices_per_cell,
1044 int *num_edges_per_cell,
1048 int *edge_to_vertex,
1077 int *num_edges_per_cell,
1081 int *edge_to_vertex,
1160 int nbr_vertices[2],
1164 double x_north_pole,
1165 double y_north_pole,
1244 int const nbr_points,
1246 int const * is_valid,
1262 int const nbr_points,
1264 int const * is_valid,
1289 int const component_id,
1290 int const * point_ids,
1291 int const num_pointsets,
1293 const char* timestep,
1319 int const component_id,
1320 int const * point_ids,
1321 int const * mask_ids,
1322 int const num_pointsets,
1324 const char* timestep,
1343 const char* grid_name,
1344 const char* field_name,
1345 double frac_mask_fallback_value);
1361 int yac_instance_id,
1362 const char* comp_name,
1363 const char* grid_name,
1364 const char* field_name,
1365 double frac_mask_fallback_value);
1374 const char* metadata);
1382 const char* comp_name,
1383 const char* metadata);
1390 const char* metadata);
1398 const char* grid_name,
1399 const char* metadata);
1408 const char* grid_name,
1409 const char* field_name,
1410 const char* metadata);
1420 const char* comp_name,
1421 const char* grid_name,
1422 const char* field_name,
1423 const char* metadata);
1490 char const * weight_file);
1498 char const ** weight_file);
1511 int ext_couple_config_id,
int weight_file_on_existing);
1518 int ext_couple_config_id,
int * weight_file_on_existing);
1533 int * mapping_side);
1540 double scale_factor);
1547 double * scale_factor);
1554 double scale_summand);
1561 double * scale_summand);
1569 int ext_couple_config_id,
1570 size_t num_src_mask_names,
1571 char const *
const * src_mask_names);
1579 int ext_couple_config_id,
1580 size_t * num_src_mask_names,
1581 char const *
const ** src_mask_names);
1588 char const * tgt_mask_name);
1595 char const ** tgt_mask_name);
1602 int ext_couple_config_id,
char const * yaxt_exchanger_name);
1609 int ext_couple_config_id,
char const ** yaxt_exchanger_name);
1617 int ext_couple_config_id,
int use_raw_exchange);
1624 int ext_couple_config_id,
int * use_raw_exchange);
1635 int ext_couple_config_id,
1637 int const * collection_indices);
1652 int ext_couple_config_id,
1654 int ** collection_indices);
1679 char const * src_comp_name,
1681 char const * src_field_name,
1682 char const * tgt_comp_name,
1684 char const * tgt_field_name,
1685 char const * coupling_timestep,
1688 int interp_stack_config_id,
1691 int ext_couple_config_id);
1715 char const * src_field_name,
1716 char const * tgt_comp_name,
1718 char const * tgt_field_name,
1719 char const * coupling_timestep,
1722 int interp_stack_config_id,
1725 int ext_couple_config_id);
1749 char const * src_comp_name,
1751 char const * src_field_name,
1752 char const * tgt_comp_name,
1754 char const * tgt_field_name,
1755 char const * coupling_timestep,
1758 int interp_stack_config_id,
1782 char const * src_field_name,
1783 char const * tgt_comp_name,
1785 char const * tgt_field_name,
1786 char const * coupling_timestep,
1789 int interp_stack_config_id,
1808 int const * pointset_sizes );
1822 int src_field_buffer_size );
1835 int * src_field_buffer_sizes );
1872 double * frac_mask_fallback_value,
1873 double * scaling_factor,
1874 double * scaling_summand,
1875 size_t * num_fixed_values,
1876 double ** fixed_values,
1877 size_t ** num_tgt_per_fixed_value,
1878 size_t ** tgt_idx_fixed,
1879 size_t * num_wgt_tgt,
1880 size_t ** wgt_tgt_idx,
1881 size_t ** num_src_per_tgt,
1883 size_t ** src_pointset_idx,
1885 size_t * num_src_pointsets,
1886 size_t ** src_field_buffer_sizes );
1919 double * frac_mask_fallback_value,
1920 double * scaling_factor,
1921 double * scaling_summand,
1922 size_t * num_fixed_values,
1923 double ** fixed_values,
1924 size_t ** num_tgt_per_fixed_value,
1925 size_t ** tgt_idx_fixed,
1926 size_t ** src_indptr,
1928 size_t ** src_pointset_idx,
1930 size_t * num_src_pointsets,
1931 size_t ** src_field_buffer_sizes );
1962 double **recv_field,
2001 double **recv_field,
2024 double *src_field_buffer,
2045 double ***src_field_buffer,
2072 double *src_field_buffer,
2097 double ***src_field_buffer,
2130 double *src_field_buffer,
2131 double *src_frac_mask_buffer,
2160 double ***src_field_buffer,
2161 double ***src_frac_mask_buffer,
2198 double *src_field_buffer,
2199 double *src_frac_mask_buffer,
2232 double ***src_field_buffer,
2233 double ***src_frac_mask_buffer,
2276 double ***
const send_field,
2306 double *send_frac_mask,
2331 double ***
const send_field,
2332 double ***
const send_frac_mask,
2353 double ** send_field,
2378 double ** send_field,
2379 double ** send_frac_mask,
2404 int const recv_field_id,
2406 double *send_field ,
2430 int const recv_field_id,
2432 double ***
const send_field,
2433 double ** recv_field,
2461 int const recv_field_id,
2463 double ***
const send_field,
2464 double ***src_field_buffer,
2492 int const recv_field_id,
2495 double *src_field_buffer,
2536 int const recv_field_id,
2538 double ***
const send_field,
2539 double ***
const send_frac_mask,
2540 double ***src_field_buffer,
2541 double ***src_frac_mask_buffer,
2586 int const recv_field_id,
2589 double *send_frac_mask,
2590 double *src_field_buffer,
2591 double *src_frac_mask_buffer,
2622 int const recv_field_id,
2625 double *send_frac_mask,
2653 int const recv_field_id,
2655 double ***
const send_field,
2656 double ***
const send_frac_mask,
2657 double ** recv_field,
2682 int const recv_field_id,
2684 double ** send_field,
2685 double ** recv_field,
2712 int const recv_field_id,
2714 double ** send_field,
2715 double ** src_field_buffer,
2744 int const recv_field_id,
2746 double ** send_field,
2747 double ** send_frac_mask,
2748 double ** recv_field,
2786 int const recv_field_id,
2788 double ** send_field,
2789 double ** send_frac_mask,
2790 double ** src_field_buffer,
2791 double ** src_frac_mask_buffer,
2843 char const ** comp_names,
int num_comp_names );
2858 int yac_instance_id,
char const ** comp_names,
int num_comp_names );
3016 const char* comp_name );
3027 const char* grid_name );
3039 const char* comp_name,
3040 const char* grid_name);
3051 const char ** comp_names );
3062 const char ** comp_names );
3111 const char* comp_name,
3125 const char* grid_name,
3139 const char * comp_name,
3140 const char* grid_name,
3236 const char* comp_name);
3265 const char* point_name);
3281 const char* mask_name);
3294 const char* grid_name,
3295 const char* field_name);
3309 const char* comp_name,
3310 const char* grid_name,
3311 const char* field_name);
3322 const char* grid_name,
3323 const char* field_name);
3335 const char* comp_name,
3336 const char* grid_name,
3337 const char* field_name);
3355 const char* comp_name);
3371 const char* grid_name);
3381 const char* grid_name,
3382 const char* field_name);
3393 const char* comp_name,
3394 const char* grid_name,
3395 const char* field_name);
3410 const char* grid_name,
3411 const char* field_name );
3425 const char* comp_name,
3426 const char* grid_name,
3427 const char* field_name );
3441 const char* grid_name,
3442 const char* field_name);
3455 const char* grid_name,
3456 const char* field_name);
3471 int yac_instance_id,
3472 const char* comp_name,
3473 const char* grid_name,
3474 const char* field_name );
3488 int yac_instance_id,
3489 const char* comp_name,
3490 const char* grid_name,
3491 const char* field_name);
3509 const char* grid_name,
3510 const char* field_name );
3529 const char* comp_name,
3530 const char* grid_name,
3531 const char* field_name );
3546 const char* tgt_field_name,
3547 const char** src_comp_name,
3549 const char** src_field_name);
3564 const char* tgt_comp_name,
3566 const char* tgt_field_name,
3567 const char** src_comp_name,
3569 const char** src_field_name);
3576# define __attribute__(x)
3581# define __attribute__(x)
3588 const char *source,
int line)
3593# undef __attribute__
3668 double * cell_areas );
3703 int ext_spmap_config_id,
double spread_distance);
3712 int ext_spmap_config_id,
double max_search_distance);
3730 int ext_spmap_config_id,
int scale_type);
3739 int ext_spmap_config_id,
double sphere_radius);
3748 int ext_spmap_config_id,
double sphere_radius);
3759 int ext_spmap_config_id,
char const * filename,
3760 char const * varname,
int min_global_id);
3771 int ext_spmap_config_id,
char const * filename,
3772 char const * varname,
int min_global_id);
3802 int spmap_overwrite_config_id,
double center_lon,
double center_lat,
3812 int spmap_overwrite_config_id,
double spread_distance);
3821 int spmap_overwrite_config_id,
double max_search_distance);
3851 int partial_coverage);
3861 int partial_coverage);
3877 double max_search_distance,
3897 int search_distance_type,
3898 double search_distance,
3911 double max_search_distance,
3922 int interp_stack_config_id,
3924 int enforced_conserv,
3925 int partial_coverage,
3955 int interp_stack_config_id,
3956 double spread_distance,
3957 double max_search_distance,
3960 double src_sphere_radius,
3961 char const * src_filename,
3962 char const * src_varname,
3963 int src_min_global_id,
3964 double tgt_sphere_radius,
3965 char const * tgt_filename,
3966 char const * tgt_varname,
3967 int tgt_min_global_id);
3978 int interp_stack_config_id,
3979 int ext_spmap_config_id,
3980 int * spmap_overwrite_config_ids,
3981 int spmap_overwrite_config_count);
3997 int interp_stack_config_id,
char const * filename);
4012 int interp_stack_config_id,
char const * filename,
4013 int on_missing_file,
int on_success);
4032 char const * constructor_key,
4033 char const * do_search_key);
4040 int creep_distance);
4049 int interp_stack_config_id,
4050 char const * func_compute_weights_key);
4121#ifndef TYPEDEF_YAC_FUNC_COMPUTE_WEIGHTS
4122#define TYPEDEF_YAC_FUNC_COMPUTE_WEIGHTS
4126 double const tgt_coords[3],
int src_cell_id,
size_t src_cell_idx,
4127 int const ** global_results_points,
double ** result_weights,
4128 size_t * result_count,
void *
user_data);
4154 char const * interp_stack_config,
int * interp_stack_config_id);
4163 char const * interp_stack_config,
int * interp_stack_config_id);
char const * grid_names[]
char const * field_names[8]
static struct yac_interp_method_config * config
char const src_grid_name[]
char const tgt_grid_name[]
static void compute_weights_callback(double const tgt_coords[3], int src_cell_id, size_t src_cell_idx, int const **global_results_points, double **result_weights, size_t *result_count, void *user_data)
int const YAC_YEAR_OF_365_DAYS
void yac_cget_raw_(int const field_id, int const collection_size, double *src_field_buffer, int *info, int *ierror)
int yac_cget_points_id(int grid_id, int location, const char *point_name)
void yac_cset_ext_spmap_config_src_cell_area_config_yac(int ext_spmap_config_id, double sphere_radius)
void yac_cdef_comps(const char **comp_names, int num_comps, int *comp_ids)
void yac_cexchange_raw_frac(int const send_field_id, int const recv_field_id, int const collection_size, double ***const send_field, double ***const send_frac_mask, double ***src_field_buffer, double ***src_frac_mask_buffer, int *send_info, int *recv_info, int *ierror)
void yac_cset_grids_output_file(const char *filename)
int const YAC_REDUCTION_TIME_AVERAGE
void yac_cenddef_and_emit_config(int emit_flags, char **config)
void yac_cdef_points_curve2d(int const grid_id, int const *nbr_points, int const location, double const *x_points, double const *y_points, int *point_id)
void yac_cread_config_yaml_instance(int yac_instance_id, const char *yaml_file)
void yac_ccompute_grid_cell_areas(int grid_id, double *cell_areas)
void yac_cinit_comm_dummy(MPI_Comm comm)
void yac_cget_grid_names(int nbr_grids, const char **grid_names)
void yac_cadd_interp_stack_config_ncc(int interp_stack_config_id, int weight_type, int partial_coverage)
void yac_cread_config_json_instance(int yac_instance_id, const char *json_file)
void yac_cget_ext_couple_config_scale_factor(int ext_couple_config_id, double *scale_factor)
const char * yac_cget_field_metadata_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
void yac_cexchange_raw_(int const send_field_id, int const recv_field_id, int const collection_size, double *send_field, double *src_field_buffer, int *send_info, int *recv_info, int *ierror)
void yac_cexchange_frac(int const send_field_id, int const recv_field_id, int const collection_size, double ***const send_field, double ***const send_frac_mask, double **recv_field, int *send_info, int *recv_info, int *ierror)
void yac_cget_async(int const field_id, int const collection_size, double **recv_field, int *info, int *ierror)
void yac_cput_frac_ptr_(int const field_id, int const collection_size, double **send_field, double **send_frac_mask, int *info, int *ierror)
void yac_cadd_interp_stack_config_spmap_ext(int interp_stack_config_id, int ext_spmap_config_id, int *spmap_overwrite_config_ids, int spmap_overwrite_config_count)
void yac_cset_global_index_yac_int(yac_int const *global_index, int location, int grid_id)
yac_abort_func yac_get_abort_handler(void)
void yac_ccheck_field_dimensions(int field_id, int collection_size, int num_pointsets, int const *pointset_sizes)
void yac_cenable_field_frac_mask(const char *comp_name, const char *grid_name, const char *field_name, double frac_mask_fallback_value)
void yac_cget_raw_async(int const field_id, int const collection_size, double ***src_field_buffer, int *info, int *ierror)
int const YAC_ACTION_OUT_OF_BOUND
put/get is outside of the valid range
int const YAC_DNN_SEARCH_DISTANCE_CELL_AREA
void yac_cget_ext_couple_config_mapping_side(int ext_couple_config_id, int *mapping_side)
void yac_cput_(int const field_id, int const collection_size, double *send_field, int *info, int *ierror)
int const YAC_SPMAP_SRCAREA
int const YAC_CONFIG_OUTPUT_SYNC_LOC_ENDDEF
after end of definitions
char * yac_cget_start_datetime_instance(int yac_instance_id)
void yac_cset_global_index(int const *global_index, int location, int grid_id)
void yac_cset_grid_output_file_instance(int yac_instance_id, const char *gridname, const char *filename)
void yac_cset_coordinates_check(int apply_check)
void yac_cdef_datetime_instance(int yac_instance_id, const char *start_datetime, const char *end_datetime)
Definition of job start and end datetime.
int yac_cget_role_from_field_id(int field_id)
int yac_cget_nbr_grids_instance(int yac_instance_id)
void yac_cfree_ext_couple_config(int ext_couple_config_id)
const char * yac_cget_grid_metadata_instance(int yac_instance_id, const char *grid_name)
int const YAC_FILE_SUCCESS_CONT
char * yac_cget_end_datetime_instance(int yac_instance_id)
void yac_cdef_datetime(const char *start_datetime, const char *end_datetime)
Definition of job start and end datetime for the default YAC instance.
int const YAC_SPMAP_INVTGTAREA
int const YAC_LOCATION_CELL
void yac_cfree_spmap_overwrite_config(int spmap_overwrite_config_id)
int const YAC_REDUCTION_TIME_MINIMUM
void yac_cset_ext_couple_config_tgt_mask_name(int ext_couple_config_id, char const *tgt_mask_name)
void yac_cget_ext_couple_config_weight_file_on_existing(int ext_couple_config_id, int *weight_file_on_existing)
void yac_cget_async_(int const field_id, int const collection_size, double *recv_field, int *info, int *ierror)
void yac_cdef_field(char const *field_name, int const component_id, int const *point_ids, int const num_pointsets, int collection_size, const char *timestep, int time_unit, int *field_id)
void yac_cdef_grid_metadata(const char *grid_name, const char *metadata)
int const YAC_FILE_MISSING_CONT
continue on missing file
int const YAC_TIME_UNIT_MINUTE
void yac_cdef_grid_curve2d(const char *grid_name, int nbr_vertices[2], int cyclic[2], double *x_vertices, double *y_vertices, int *grid_id)
void yac_cget_grid_names_instance(int yac_instance_id, int nbr_grids, const char **grid_names)
void yac_cset_ext_couple_config_scale_factor(int ext_couple_config_id, double scale_factor)
void yac_cexchange_raw_frac_ptr_(int const send_field_id, int const recv_field_id, int const collection_size, double **send_field, double **send_frac_mask, double **src_field_buffer, double **src_frac_mask_buffer, int *send_info, int *recv_info, int *ierror)
int const YAC_FILE_MISSING_ERROR
abort on missing file
void yac_cset_ext_couple_config_weight_file_on_existing(int ext_couple_config_id, int weight_file_on_existing)
void yac_cadd_interp_stack_config_creep(int interp_stack_config_id, int creep_distance)
void yac_cdef_mask(int const grid_id, int const nbr_points, int const location, int const *is_valid, int *mask_id)
void yac_cdef_component_metadata(const char *comp_name, const char *metadata)
int const YAC_TIME_UNIT_YEAR
void yac_csync_def_comps(char const **comp_names, int num_comp_names)
void yac_cexchange(int const send_field_id, int const recv_field_id, int const collection_size, double ***const send_field, double **recv_field, int *send_info, int *recv_info, int *ierror)
int yac_cget_field_role(const char *comp_name, const char *grid_name, const char *field_name)
void yac_ccleanup()
Clean-up default YAC instance (see Restarting YAC)
int const YAC_AVG_ARITHMETIC
void yac_cset_grids_output_file_instance(int yac_instance_id, const char *filename)
void yac_set_default_comm(MPI_Comm comm)
void yac_cset_spmap_overwrite_config_max_search_distance(int spmap_overwrite_config_id, double max_search_distance)
void yac_cput_frac_(int const field_id, int const collection_size, double *send_field, double *send_frac_mask, int *info, int *ierror)
void yac_cadd_compute_weights_callback(yac_func_compute_weights compute_weights_callback, void *user_data, char const *key)
void yac_cmpi_handshake(MPI_Comm comm, size_t n, char const **group_names, MPI_Comm *group_comms)
void yac_cput(int const field_id, int const collection_size, double ***const send_field, int *info, int *ierror)
int const YAC_REDUCTION_TIME_MAXIMUM
int const YAC_WGT_ON_EXISTING_ERROR
int const YAC_TIME_UNIT_MILLISECOND
int yac_cget_field_id_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
int yac_cget_comp_nbr_grids_instance(int yac_instance_id, const char *comp_name)
int yac_cget_field_is_defined(const char *comp_name, const char *grid_name, const char *field_name)
void yac_cdef_grid_unstruct_ll(const char *grid_name, int nbr_vertices, int nbr_cells, int *num_vertices_per_cell, double *x_vertices, double *y_vertices, int *cell_to_vertex, int *grid_id)
const char * yac_cget_timestep_from_field_id(int field_id)
int yac_cget_comp_id(const char *comp_name)
int const YAC_FILE_SUCCESS_STOP
void yac_cget_raw_async_(int const field_id, int const collection_size, double *src_field_buffer, int *info, int *ierror)
int yac_cget_nbr_fields(const char *comp_name, const char *grid_name)
int const YAC_DNN_SEARCH_DISTANCE_FIXED
void yac_cdef_points_curve2d_named(int const grid_id, int const *nbr_points, int const location, double const *x_points, double const *y_points, char const *name, int *point_id)
void yac_cset_ext_spmap_config_scale_type(int ext_spmap_config_id, int scale_type)
int const YAC_YAML_EMITTER_DEFAULT
emit to YAML format
void yac_cdef_points_unstruct_named(int const grid_id, int const nbr_points, int const location, double const *x_points, double const *y_points, char const *name, int *point_id)
void yac_csync_def_instance(int yac_instance_id)
void yac_cget_raw_frac_(int const field_id, int const collection_size, double *src_field_buffer, double *src_frac_mask_buffer, int *info, int *ierror)
void yac_cget_field_source(const char *tgt_comp_name, const char *tgt_grid_name, const char *tgt_field_name, const char **src_comp_name, const char **src_grid_name, const char **src_field_name)
void yac_cget_interp_stack_config_from_string_json(char const *interp_stack_config, int *interp_stack_config_id)
void yac_cexchange_raw_ptr_(int const send_field_id, int const recv_field_id, int const collection_size, double **send_field, double **src_field_buffer, int *send_info, int *recv_info, int *ierror)
void yac_cget_raw(int const field_id, int const collection_size, double ***src_field_buffer, int *info, int *ierror)
int yac_cget_field_is_defined_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
void yac_cdef_grid_reg2d_rot(const char *grid_name, int nbr_vertices[2], int cyclic[2], double *x_vertices, double *y_vertices, double x_north_pole, double y_north_pole, int *grid_id)
void(* yac_abort_func)(MPI_Comm comm, const char *msg, const char *source, int line) __attribute__((noreturn))
int const YAC_TIME_UNIT_HOUR
void yac_cexchange_raw_frac_(int const send_field_id, int const recv_field_id, int const collection_size, double *send_field, double *send_frac_mask, double *src_field_buffer, double *src_frac_mask_buffer, int *send_info, int *recv_info, int *ierror)
int const YAC_YEAR_OF_360_DAYS
void yac_cfinalize_instance(int yac_instance_id)
Finalises YAC.
void yac_cfinalize()
Finalises YAC.
const char * yac_cget_field_name_from_field_id(int field_id)
void yac_cget_ext_couple_config_collection_selection(int ext_couple_config_id, int *collection_size, int **collection_indices)
void yac_cadd_interp_stack_config_check(int interp_stack_config_id, char const *constructor_key, char const *do_search_key)
void yac_cenddef_instance(int yac_instance_id)
void yac_cget_ext_couple_config_yaxt_exchanger_name(int ext_couple_config_id, char const **yaxt_exchanger_name)
void yac_cset_ext_couple_config_src_mask_names(int ext_couple_config_id, size_t num_src_mask_names, char const *const *src_mask_names)
int const YAC_YAML_EMITTER_JSON
emit to JSON format
int yac_cget_nbr_comps_instance(int yac_instance_id)
int yac_cget_nbr_fields_instance(int yac_instance_id, const char *comp_name, const char *grid_name)
void yac_cdef_comp(const char *comp_name, int *comp_id)
void yac_cset_coordinates_mismatch_is_fatal_instance(int yac_instance_id, int is_fatal)
void yac_cget_ext_couple_config(int *ext_couple_config_id)
const char * yac_cget_mpi_handshake_group_name(void)
Retrieve the MPI handshake group name used by YAC.
void yac_cdef_grid_unstruct_edge(const char *grid_name, int nbr_vertices, int nbr_cells, int nbr_edges, int *num_edges_per_cell, double *x_vertices, double *y_vertices, int *cell_to_edge, int *edge_to_vertex, int *grid_id)
void yac_cdef_grid_metadata_instance(int yac_instance_id, const char *grid_name, const char *metadata)
void yac_cset_ext_couple_config_weight_file(int ext_couple_config_id, char const *weight_file)
const char * yac_cget_component_metadata_instance(int yac_instance_id, const char *comp_name)
void yac_cset_ext_spmap_config_spread_distance(int ext_spmap_config_id, double spread_distance)
void yac_cset_ext_couple_config_yaxt_exchanger_name(int ext_couple_config_id, char const *yaxt_exchanger_name)
int const YAC_LOCATION_CORNER
void yac_cdef_couple_custom(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_timestep, int time_unit, int time_reduction, int interp_stack_config_id, int src_lag, int tgt_lag, int ext_couple_config_id)
const char * yac_cget_field_timestep_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
void yac_cset_ext_couple_config_scale_summand(int ext_couple_config_id, double scale_summand)
void yac_cget_comp_comm(int comp_id, MPI_Comm *comp_comm)
void yac_cget_raw_frac_async_(int const field_id, int const collection_size, double *src_field_buffer, double *src_frac_mask_buffer, int *info, int *ierror)
void yac_cset_coordinates_mismatch_is_fatal(int is_fatal)
void yac_cset_spmap_overwrite_config_weight_type(int spmap_overwrite_config_id, int weight_type)
const char * yac_cget_field_datetime(int field_id)
int const YAC_CONSERV_DESTAREA
int const YAC_EXCHANGE_TYPE_SOURCE
void yac_cupdate(int field_id)
void yac_cget_action(int field_id, int *action)
size_t yac_cget_grid_size(int location, int grid_id)
int const YAC_REDUCTION_TIME_ACCUMULATE
void yac_cset_ext_spmap_config_weight_type(int ext_spmap_config_id, int weight_type)
void yac_cset_spmap_overwrite_config_src_point_selection_bnd_circle(int spmap_overwrite_config_id, double center_lon, double center_lat, double inc_angle)
void yac_abort(MPI_Comm comm, const char *msg, const char *source, int line) __attribute__((noreturn))
void yac_cget_raw_frac(int const field_id, int const collection_size, double ***src_field_buffer, double ***src_frac_mask_buffer, int *info, int *ierror)
int yac_cget_field_id(const char *comp_name, const char *grid_name, const char *field_name)
void yac_cget_ext_couple_config_tgt_mask_name(int ext_couple_config_id, char const **tgt_mask_name)
void yac_cget_ext_couple_config_src_mask_names(int ext_couple_config_id, size_t *num_src_mask_names, char const *const **src_mask_names)
void yac_cdef_points_reg2d_rot_named(int const grid_id, int const *nbr_points, int const location, double const *x_points, double const *y_points, double x_north_pole, double y_north_pole, char const *name, int *point_id)
const char * yac_cget_grid_name_from_field_id(int field_id)
int yac_cget_collection_size_from_field_id(int field_id)
void yac_cdef_comps_instance(int yac_instance_id, const char **comp_names, int num_comps, int *comp_ids)
void yac_cdef_grid_reg2d(const char *grid_name, int nbr_vertices[2], int cyclic[2], double *x_vertices, double *y_vertices, int *grid_id)
void yac_cget_ext_couple_config_use_raw_exchange(int ext_couple_config_id, int *use_raw_exchange)
int yac_cget_comp_id_instance(int yac_instance_id, const char *comp_name)
int yac_cdefault_instance_defined(void)
void yac_cget_raw_interp_weights_data(int const field_id, double *frac_mask_fallback_value, double *scaling_factor, double *scaling_summand, size_t *num_fixed_values, double **fixed_values, size_t **num_tgt_per_fixed_value, size_t **tgt_idx_fixed, size_t *num_wgt_tgt, size_t **wgt_tgt_idx, size_t **num_src_per_tgt, double **weights, size_t **src_pointset_idx, size_t **src_idx, size_t *num_src_pointsets, size_t **src_field_buffer_sizes)
int const YAC_EXCHANGE_TYPE_NONE
void yac_cdef_couple_custom_instance(int yac_instance_id, 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_timestep, int time_unit, int time_reduction, int interp_stack_config_id, int src_lag, int tgt_lag, int ext_couple_config_id)
void yac_cset_ext_couple_config_use_raw_exchange(int ext_couple_config_id, int use_raw_exchange)
int yac_cget_grid_id(const char *grid_name)
void yac_cdef_points_reg2d_rot(int const grid_id, int const *nbr_points, int const location, double const *x_points, double const *y_points, double x_north_pole, double y_north_pole, int *point_id)
void yac_cset_config_output_file_instance(int yac_instance_id, const char *filename, int fileformat, int sync_location, int include_definitions)
void yac_cget_comps_comm(const char **comp_names, int num_comps, MPI_Comm *comps_comm)
void yac_cinit_comm_instance(MPI_Comm comm, int *yac_instance_id)
void yac_cfree_ext_spmap_config(int ext_spmap_config_id)
int const YAC_EXCHANGE_TYPE_TARGET
void yac_cput_frac(int const field_id, int const collection_size, double ***const send_field, double ***const send_frac_mask, int *info, int *ierror)
const char * yac_cget_grid_metadata(const char *grid_name)
void yac_cenable_field_frac_mask_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name, double frac_mask_fallback_value)
char * yac_cget_start_datetime(void)
void yac_cget_interp_stack_config_from_string_yaml(char const *interp_stack_config, int *interp_stack_config_id)
int const YAC_TIME_UNIT_MONTH
void yac_cset_ext_spmap_config_max_search_distance(int ext_spmap_config_id, double max_search_distance)
int const YAC_CONFIG_OUTPUT_FORMAT_YAML
int const YAC_TIME_UNIT_SECOND
void yac_cget(int const field_id, int const collection_size, double **recv_field, int *info, int *ierror)
void yac_cadd_interp_stack_config_conservative(int interp_stack_config_id, int order, int enforced_conserv, int partial_coverage, int normalisation)
void yac_cdef_grid_cloud(const char *grid_name, int nbr_points, double *x_points, double *y_points, int *grid_id)
void yac_cget_comps_comm_instance(int yac_instance_id, const char **comp_names, int num_comps, MPI_Comm *comps_comm)
void yac_cdef_grid_unstruct(const char *grid_name, int nbr_vertices, int nbr_cells, int *num_vertices_per_cell, double *x_vertices, double *y_vertices, int *cell_to_vertex, int *grid_id)
char * yac_cget_version(void)
int const YAC_LOCATION_EDGE
void yac_ccheck_src_field_buffer_sizes(int field_id, int num_src_fields, int collection_size, int *src_field_buffer_sizes)
void yac_cset_ext_spmap_config_tgt_cell_area_config_file(int ext_spmap_config_id, char const *filename, char const *varname, int min_global_id)
void yac_cput_ptr_(int const field_id, int const collection_size, double **send_field, int *info, int *ierror)
void yac_cexchange_ptr_(int const send_field_id, int const recv_field_id, int const collection_size, double **send_field, double **recv_field, int *send_info, int *recv_info, int *ierror)
void yac_cexchange_frac_(int const send_field_id, int const recv_field_id, int const collection_size, double *send_field, double *send_frac_mask, double *recv_field, int *send_info, int *recv_info, int *ierror)
int yac_cget_default_instance_id()
void yac_cadd_interp_stack_config_user_file(int interp_stack_config_id, char const *filename)
void yac_cexchange_frac_ptr_(int const send_field_id, int const recv_field_id, int const collection_size, double **send_field, double **send_frac_mask, double **recv_field, int *send_info, int *recv_info, int *ierror)
void(* yac_func_compute_weights)(double const tgt_coords[3], int src_cell_id, size_t src_cell_idx, int const **global_results_points, double **result_weights, size_t *result_count, void *user_data)
const char * yac_cget_component_name_from_field_id(int field_id)
int yac_cget_field_collection_size(const char *comp_name, const char *grid_name, const char *field_name)
int const YAC_CONFIG_OUTPUT_SYNC_LOC_DEF_COMP
after component definition
void yac_restore_default_abort_handler(void)
int const YAC_SPMAP_FRACAREA
void yac_cdef_component_metadata_instance(int yac_instance_id, const char *comp_name, const char *metadata)
void yac_cenddef_and_emit_config_instance(int yac_instance_id, int emit_flags, char **config)
void yac_abort_message(char const *msg, const char *source, int line)
yac_abort_func yac_get_default_abort_handler(void)
char * yac_cget_end_datetime(void)
int const YAC_WGT_ON_EXISTING_OVERWRITE
overwrite existing weight file
void yac_cread_config_yaml(const char *yaml_file)
int const YAC_ACTION_NONE
no data exchanges
int const YAC_WGT_ON_EXISTING_KEEP
keep existing weight file
void yac_cdef_calendar(int calendar)
void yac_cset_core_mask(int const *is_core, int location, int grid_id)
void yac_cexchange_raw(int const send_field_id, int const recv_field_id, int const collection_size, double ***const send_field, double ***src_field_buffer, int *send_info, int *recv_info, int *ierror)
void yac_cset_coordinates_check_instance(int yac_instance_id, int apply_check)
void yac_cwait(int field_id)
void yac_cadd_interp_stack_config_rbf(int interp_stack_config_id, size_t n, double max_search_distance, double scale)
int yac_cget_mask_id(int grid_id, int location, const char *mask_name)
int const YAC_CONFIG_OUTPUT_SYNC_LOC_SYNC_DEF
after synchronization of definition
void yac_cget_comp_names(int nbr_comps, const char **comp_names)
const char * yac_cget_field_metadata(const char *comp_name, const char *grid_name, const char *field_name)
int const YAC_ACTION_REDUCTION
data reduction, but data exchange
void yac_cdef_field_mask(char const *field_name, int const component_id, int const *point_ids, int const *mask_ids, int const num_pointsets, int collection_size, const char *timestep, int time_unit, int *field_id)
int const YAC_ACTION_GET_FOR_RESTART
last valid get
void yac_cset_ext_spmap_config_tgt_cell_area_config_yac(int ext_spmap_config_id, double sphere_radius)
void yac_ccheck_src_field_buffer_size(int field_id, int collection_size, int src_field_buffer_size)
int const YAC_PROLEPTIC_GREGORIAN
void yac_cdef_points_unstruct(int const grid_id, int const nbr_points, int const location, double const *x_points, double const *y_points, int *point_id)
void yac_cget_comp_grid_names_instance(int yac_instance_id, const char *comp_name, int nbr_grids, const char **grid_names)
double yac_cget_field_frac_mask_fallback_value(const char *comp_name, const char *grid_name, const char *field_name)
void yac_cset_mask(int const *is_valid, int points_id)
void yac_cadd_interp_stack_config_hcsbb(int interp_stack_config_id)
void yac_cdef_comp_instance(int yac_instance_id, const char *comp_name, int *comp_id)
void yac_cadd_interp_stack_config_fixed(int interp_stack_config_id, double value)
int const YAC_TIME_UNIT_DAY
int yac_cget_comp_nbr_grids(const char *comp_name)
int const YAC_ACTION_COUPLING
data exchange
double yac_cget_field_frac_mask_fallback_value_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
void yac_cget_raw_interp_weights_data_csr(int const field_id, double *frac_mask_fallback_value, double *scaling_factor, double *scaling_summand, size_t *num_fixed_values, double **fixed_values, size_t **num_tgt_per_fixed_value, size_t **tgt_idx_fixed, size_t **src_indptr, double **weights, size_t **src_pointset_idx, size_t **src_idx, size_t *num_src_pointsets, size_t **src_field_buffer_sizes)
void yac_cset_ext_spmap_config_src_cell_area_config_file(int ext_spmap_config_id, char const *filename, char const *varname, int min_global_id)
int const YAC_TIME_UNIT_ISO_FORMAT
void yac_cget_field_source_instance(int yac_instance_id, const char *tgt_comp_name, const char *tgt_grid_name, const char *tgt_field_name, const char **src_comp_name, const char **src_grid_name, const char **src_field_name)
void yac_cpredef_comp_instance(int yac_instance_id, char const *comp_name, int *comp_id)
int yac_cget_field_role_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
void yac_cget_raw_frac_async(int const field_id, int const collection_size, double ***src_field_buffer, double ***src_frac_mask_buffer, int *info, int *ierror)
int const YAC_CONSERV_FRACAREA
void yac_cadd_interp_stack_config_spmap(int interp_stack_config_id, double spread_distance, double max_search_distance, int weight_type, int scale_type, double src_sphere_radius, char const *src_filename, char const *src_varname, int src_min_global_id, double tgt_sphere_radius, char const *tgt_filename, char const *tgt_varname, int tgt_min_global_id)
void yac_cadd_interp_stack_config_user_callback(int interp_stack_config_id, char const *func_compute_weights_key)
void yac_cdef_grid_unstruct_edge_ll(const char *grid_name, int nbr_vertices, int nbr_cells, int nbr_edges, int *num_edges_per_cell, double *x_vertices, double *y_vertices, int *cell_to_edge, int *edge_to_vertex, int *grid_id)
void yac_cset_ext_couple_config_mapping_side(int ext_couple_config_id, int mapping_side)
void yac_ccleanup_instance(int yac_instance_id)
Clean-up a YAC instance (see Restarting YAC)
int yac_cget_field_collection_size_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
void yac_cfree_interp_stack_config(int interp_stack_config_id)
void yac_cdef_points_reg2d_named(int const grid_id, int const *nbr_points, int const location, double const *x_points, double const *y_points, char const *name, int *point_id)
int const YAC_CALENDAR_NOT_SET
void yac_cset_grid_output_file(const char *gridname, const char *filename)
void yac_cadd_interp_stack_config_user_file_2(int interp_stack_config_id, char const *filename, int on_missing_file, int on_success)
void yac_cdef_points_reg2d(int const grid_id, int const *nbr_points, int const location, double const *x_points, double const *y_points, int *point_id)
void yac_cadd_interp_stack_config_nnn(int interp_stack_config_id, int type, size_t n, double max_search_distance, double scale)
void yac_cget_ext_couple_config_scale_summand(int ext_couple_config_id, double *scale_summand)
int const YAC_CONFIG_OUTPUT_FORMAT_JSON
void yac_cinit_instance(int *yac_instance_id)
void yac_ctest(int field_id, int *flag)
void yac_cset_config_output_file(const char *filename, int fileformat, int sync_location, int include_definitions)
void yac_cget_interp_stack_config(int *interp_stack_config_id)
void yac_cset_ext_couple_config_collection_selection(int ext_couple_config_id, int collection_size, int const *collection_indices)
void yac_cinit_dummy(void)
void yac_cadd_interp_stack_config_average(int interp_stack_config_id, int reduction_type, int partial_coverage)
int const YAC_ACTION_PUT_FOR_RESTART
last valid put
void yac_cread_config_json(const char *json_file)
void yac_cpredef_comp(char const *comp_name, int *comp_id)
int const YAC_EXCHANGE_TYPE_INVALID
size_t yac_cget_points_size(int points_id)
void yac_cset_spmap_overwrite_config_spread_distance(int spmap_overwrite_config_id, double spread_distance)
void yac_csync_def_comps_instance(int yac_instance_id, char const **comp_names, int num_comp_names)
void yac_cdef_couple_instance(int yac_instance_id, 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_timestep, int time_unit, int time_reduction, int interp_stack_config_id, int src_lag, int tgt_lag)
void yac_cget_spmap_overwrite_config(int *spmap_overwrite_config_id)
void yac_cdef_couple(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_timestep, int time_unit, int time_reduction, int interp_stack_config_id, int src_lag, int tgt_lag)
double const YAC_FRAC_MASK_NO_VALUE
int yac_cget_nbr_comps(void)
void yac_cdef_field_metadata_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name, const char *metadata)
void yac_set_abort_handler(yac_abort_func custom_abort)
void yac_cget_(int const field_id, int const collection_size, double *recv_field, int *info, int *ierror)
void yac_cdef_mask_named(int const grid_id, int const nbr_points, int const location, int const *is_valid, char const *name, int *mask_id)
void yac_cadd_interp_stack_config_dnn(int interp_stack_config_id, int weight_type, int search_distance_type, double search_distance, double scale)
void yac_cget_comp_grid_names(const char *comp_name, int nbr_grids, const char **grid_names)
void yac_cget_field_names_instance(int yac_instance_id, const char *comp_name, const char *grid_name, int nbr_fields, const char **field_names)
void yac_cexchange_(int const send_field_id, int const recv_field_id, int const collection_size, double *send_field, double *recv_field, int *send_info, int *recv_info, int *ierror)
int const YAC_REDUCTION_TIME_NONE
void yac_cget_comp_names_instance(int yac_instance_id, int nbr_comps, const char **comp_names)
void yac_cdef_field_metadata(const char *comp_name, const char *grid_name, const char *field_name, const char *metadata)
void yac_cget_ext_spmap_config(int *ext_spmap_config_id)
const char * yac_cget_component_metadata(const char *comp_name)
const char * yac_cget_field_timestep(const char *comp_name, const char *grid_name, const char *field_name)
void yac_cget_field_names(const char *comp_name, const char *grid_name, int nbr_fields, const char **field_names)
void yac_cget_ext_couple_config_weight_file(int ext_couple_config_id, char const **weight_file)
void yac_cinit_comm(MPI_Comm comm)