YetAnotherCoupler 3.2.0_a
|
#include "config.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "yac_mpi_common.h"
#include "ensure_array_size.h"
#include "event.h"
#include "yac.h"
#include "mpi_handshake.h"
#include "utils_mci.h"
#include "version.h"
#include "instance.h"
#include "fields.h"
#include "couple_config.h"
#include "config_yaml.h"
#include "geometry.h"
#include "yac_mpi.h"
#include "utils_common.h"
Go to the source code of this file.
Data Structures | |
struct | user_input_data_component |
struct | user_input_data_points |
struct | user_input_data_masks |
struct | yac_ext_couple_config |
Macros | |
#define | NO_CHECK (1) |
#define | PUT_CHECK (put_mask[i][j]) |
#define | SUM += |
#define | ASSIGN = |
#define | AGGREGATE_FRAC(CHECK, EXTRA_CHECK, ACCU_OP) |
#define | AGGREATE_NOFRAC(CHECK, EXTRA_CHECK, ACCU_OP) |
#define | AGGREGATE(EXTRA_CHECK, ACCU_OP) |
#define | NO_CHECK (1) |
#define | PUT_CHECK (put_mask[i][j]) |
#define | WEIGHT_ACC_(ACC, CHECK, EXTRA_CHECK) |
#define | WEIGHT_ACC(ACC, EXTRA_CHECK) |
Functions | |
static int | yac_pointer_to_unique_id (void *pointer) |
static void * | yac_unique_id_to_pointer (int id, char const *id_name) |
static int | yac_lookup_pointer (void const *pointer) |
static void | yac_free_pointer_unique_lookup () |
static int | yac_add_grid (const char *grid_name, struct yac_basic_grid_data grid_data) |
static void | yac_free_grids () |
static void | yac_free_points () |
static void | yac_free_masks () |
static void | yac_free_components () |
static void | yac_free_interp_stack_configs () |
static void | check_default_instance_id (char const *routine_name) |
static void | yac_check_version (MPI_Comm comm) |
void | check_mpi_initialised (char const *routine_name) |
void | yac_cmpi_handshake (MPI_Comm comm, size_t n, char const **group_names, MPI_Comm *group_comms) |
void | yac_cmpi_handshake_f2c (MPI_Fint comm, int n, char const **group_names, MPI_Fint *group_comms) |
static int | yac_init (MPI_Comm comm) |
int | yac_cget_default_instance_id () |
void | yac_cinit_comm_instance (MPI_Comm comm, int *yac_instance_id) |
void | yac_cinit_comm_instance_f2c (MPI_Fint comm, int *yac_instance_id) |
void | yac_cinit_comm (MPI_Comm comm) |
void | yac_cinit_comm_f2c (MPI_Fint comm_f) |
void | yac_cinit_instance (int *yac_instance_id) |
void | yac_cinit (void) |
void | yac_cinit_comm_dummy (MPI_Comm comm) |
void | yac_cinit_comm_dummy_f2c (MPI_Fint comm_f) |
void | yac_cinit_dummy (void) |
int | yac_cyaml_get_emitter_flag_default_c2f () |
int | yac_cyaml_get_emitter_flag_json_c2f () |
void | yac_cread_config_yaml_instance (int yac_instance_id, const char *yaml_filename) |
void | yac_cread_config_yaml (const char *yaml_filename) |
void | yac_cread_config_json_instance (int yac_instance_id, const char *yaml_filename) |
void | yac_cread_config_json (const char *yaml_filename) |
static void | yac_ccleanup_instance_ (int yac_instance_id) |
void | yac_ccleanup_instance (int yac_instance_id) |
void | yac_ccleanup () |
static void | cleanup () |
void | yac_cfinalize_instance (int yac_instance_id) |
void | yac_cfinalize () |
void | yac_cdef_datetime_instance (int yac_instance_id, const char *start_datetime, const char *end_datetime) |
void | yac_cdef_datetime (const char *start_datetime, const char *end_datetime) |
void | yac_cdef_calendar (int calendar) |
char * | yac_cget_start_datetime_instance (int yac_instance_id) |
char * | yac_cget_start_datetime (void) |
char * | yac_cget_end_datetime_instance (int yac_instance_id) |
char * | yac_cget_end_datetime (void) |
char * | yac_cget_version (void) |
static struct user_input_data_component * | get_user_input_data_component (int comp_id, char const *routine) |
void | yac_cget_comp_comm (int comp_id, MPI_Comm *comp_comm) |
void | yac_get_comp_comm_f2c (int comp_id, MPI_Fint *comp_comm_f) |
void | yac_cget_comp_size_c2py (int comp_id, int *size) |
void | yac_cget_comp_rank_c2py (int comp_id, int *rank) |
void | yac_cget_comps_comm_instance (int yac_instance_id, char const **comp_names, int num_comps, MPI_Comm *comps_comm) |
void | yac_cget_comps_comm (const char **comp_names, int num_comps, MPI_Comm *comps_comm) |
void | yac_cget_comps_comm_instance_f2c (int yac_instance_id, char const **comp_names, int num_comps, MPI_Fint *comps_comm_f) |
void | yac_cget_comps_comm_f2c (char const **comp_names, int num_comps, MPI_Fint *comps_comm_f) |
void | yac_cpredef_comp_instance (int yac_instance_id, char const *name, int *comp_id) |
void | yac_cpredef_comp (char const *name, int *comp_id) |
void | yac_cdef_comps_instance (int yac_instance_id, char const **comp_names, int num_comps, int *comp_ids) |
void | yac_cdef_comps (char const **comp_names, int num_comps, int *comp_ids) |
void | yac_cdef_comp_instance (int yac_instance_id, char const *comp_name, int *comp_id) |
void | yac_cdef_comp (char const *comp_name, int *comp_id) |
static int | user_input_data_add_points (struct yac_basic_grid *grid, enum yac_location location, yac_coordinate_pointer coordinates) |
static void | check_x_vertices (double const *x_vertices, size_t count, char const *routine_name) |
static void | check_y_vertices (double const *y_vertices, size_t count, char const *routine_name) |
void | yac_cdef_points_reg2d (int const grid_id, int const *nbr_points, int const located, double const *x_points, double const *y_points, int *point_id) |
void | yac_cdef_points_curve2d (int const grid_id, int const *nbr_points, int const located, double const *x_points, double const *y_points, int *point_id) |
void | yac_cdef_points_unstruct (int const grid_id, int const nbr_points, int const located, double const *x_points, double const *y_points, int *point_id) |
static int | user_input_data_add_mask (struct yac_basic_grid *grid, enum yac_location location, int const *is_valid, size_t nbr_points, char const *name) |
void | yac_cdef_mask_named (int const grid_id, int const nbr_points, int const located, int const *is_valid, char const *name, int *mask_id) |
void | yac_cdef_mask (int const grid_id, int const nbr_points, int const located, int const *is_valid, int *mask_id) |
void | yac_cset_mask (int const *is_valid, int points_id) |
void | yac_cdef_field_mask (char const *name, int const comp_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) |
void | yac_cdef_field (char const *name, int const comp_id, int const *point_ids, int const num_pointsets, int collection_size, const char *timestep, int time_unit, int *field_id) |
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) |
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_cdef_component_metadata_instance (int yac_instance_id, const char *comp_name, const char *metadata) |
void | yac_cdef_component_metadata (const char *comp_name, const char *metadata) |
void | yac_cdef_grid_metadata_instance (int yac_instance_id, const char *grid_name, const char *metadata) |
void | yac_cdef_grid_metadata (const char *grid_name, const char *metadata) |
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_cdef_field_metadata (const char *comp_name, const char *grid_name, const char *field_name, const char *metadata) |
const char * | yac_cget_component_metadata_instance (int yac_instance_id, const char *comp_name) |
const char * | yac_cget_component_metadata (const char *comp_name) |
const char * | yac_cget_grid_metadata_instance (int yac_instance_id, const char *grid_name) |
const char * | yac_cget_grid_metadata (const char *grid_name) |
const char * | yac_cget_field_metadata_instance (int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name) |
const char * | yac_cget_field_metadata (const char *comp_name, const char *grid_name, const char *field_name) |
static void | init_ext_couple_config (struct yac_ext_couple_config *ext_couple_config) |
void | yac_cget_ext_couple_config (int *ext_couple_config_id) |
void | yac_cfree_ext_couple_config (int ext_couple_config_id) |
void | yac_cset_ext_couple_config_weight_file_ (struct yac_ext_couple_config *ext_couple_config, char const *weight_file) |
void | yac_cset_ext_couple_config_weight_file (int ext_couple_config_id, char const *weight_file) |
void | yac_cget_ext_couple_config_weight_file (int ext_couple_config_id, char const **weight_file) |
void | yac_cset_ext_couple_config_mapping_side_ (struct yac_ext_couple_config *ext_couple_config, int mapping_side) |
void | yac_cset_ext_couple_config_mapping_side (int ext_couple_config_id, int mapping_side) |
void | yac_cget_ext_couple_config_mapping_side (int ext_couple_config_id, int *mapping_side) |
void | yac_cset_ext_couple_config_scale_factor_ (struct yac_ext_couple_config *ext_couple_config, double scale_factor) |
void | yac_cset_ext_couple_config_scale_factor (int ext_couple_config_id, double scale_factor) |
void | yac_cget_ext_couple_config_scale_factor (int ext_couple_config_id, double *scale_factor) |
void | yac_cset_ext_couple_config_scale_summand_ (struct yac_ext_couple_config *ext_couple_config, double scale_summand) |
void | yac_cset_ext_couple_config_scale_summand (int ext_couple_config_id, double scale_summand) |
void | yac_cget_ext_couple_config_scale_summand (int ext_couple_config_id, double *scale_summand) |
void | yac_cset_ext_couple_config_src_mask_names_ (struct yac_ext_couple_config *ext_couple_config, size_t num_src_mask_names, char const *const *src_mask_names) |
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) |
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_cset_ext_couple_config_tgt_mask_name_ (struct yac_ext_couple_config *ext_couple_config, char const *tgt_mask_name) |
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_mask_name (int ext_couple_config_id, char const **tgt_mask_name) |
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, struct yac_ext_couple_config *ext_couple_config) |
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_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) |
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_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) |
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, char const *weight_file, int mapping_side, double scale_factor, double scale_summand, int num_src_mask_names, char const *const *src_mask_names, char const *tgt_mask_name) |
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, char const *weight_file, int mapping_side, double scale_factor, double scale_summand, int num_src_mask_names, char const *const *src_mask_names, char const *tgt_mask_name) |
void | yac_ccheck_field_dimensions (int field_id, int collection_size, int num_interp_fields, int const *interp_field_sizes) |
void | yac_cget_action (int field_id, int *action) |
const char * | yac_cget_field_datetime (int field_id) |
static void | yac_cupdate_ (struct coupling_field *cpl_field, struct event *event, int is_source) |
void | yac_cupdate (int field_id) |
static double ** | get_recv_field_pointers (int const field_id, int const collection_size, double *recv_field) |
static struct yac_interpolation * | yac_cget_pre_processing (int const field_id, int collection_size, int *info, int *ierr) |
static void | yac_get (int const field_id, int collection_size, double **recv_field, int is_async, int *info, int *ierr) |
void | yac_get_ (int const field_id, int const collection_size, double *recv_field, int is_async, int *info, int *ierr) |
void | yac_cget_ (int const field_id, int const collection_size, double *recv_field, int *info, int *ierr) |
void | yac_cget_async_ (int const field_id, int const collection_size, double *recv_field, int *info, int *ierr) |
void | yac_cget (int const field_id, int collection_size, double **recv_field, int *info, int *ierr) |
void | yac_cget_async (int const field_id, int collection_size, double **recv_field, int *info, int *ierr) |
static void | get_send_field_pointers (int const field_id, int const collection_size, double *send_field, double *send_frac_mask, double ****send_field_, double ****send_frac_mask_) |
void | yac_cput_ (int const field_id, int const collection_size, double *send_field, int *info, int *ierr) |
void | yac_cput_frac_ (int const field_id, int const collection_size, double *send_field, double *send_frac_mask, int *info, int *ierr) |
static void | get_send_field_pointers_ptr_ (int const field_id, int const collection_size, double **send_field, double **send_frac_mask, double ****send_field_, double ****send_frac_mask_) |
void | yac_cput_ptr_ (int const field_id, int const collection_size, double **send_field, int *info, int *ierr) |
void | yac_cput_frac_ptr_ (int const field_id, int const collection_size, double **send_field, double **send_frac_mask, int *info, int *ierr) |
void | yac_ctest (int field_id, int *flag) |
void | yac_cwait (int field_id) |
void * | yac_get_field_put_mask_c2f (int field_id) |
void * | yac_get_field_get_mask_c2f (int field_id) |
static struct yac_interpolation * | yac_cput_pre_processing (struct coupling_field *cpl_field, unsigned put_idx, int const collection_size, double ***send_field, double ****send_field_acc_, double ***send_frac_mask, double ****send_frac_mask_acc_, int *info, int *ierr) |
void | yac_cput_frac (int const field_id, int const collection_size, double ***const send_field, double ***const send_frac_mask, int *info, int *ierr) |
void | yac_cput (int const field_id, int const collection_size, double ***const send_field, int *info, int *ierr) |
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 *ierr) |
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 *ierr) |
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 *ierr) |
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 *ierr) |
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 *ierr) |
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 *ierr) |
void | yac_csync_def_instance (int yac_instance_id) |
void | yac_csync_def (void) |
void | yac_cenddef_instance (int yac_instance_id) |
void | yac_cenddef (void) |
void | yac_cenddef_and_emit_config_instance (int yac_instance_id, int emit_flags, char **config) |
void | yac_cenddef_and_emit_config (int emit_flags, char **config) |
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_field_id (const char *comp_name, const char *grid_name, const char *field_name) |
int | yac_cget_nbr_comps_instance (int yac_instance_id) |
int | yac_cget_nbr_comps (void) |
int | yac_cget_nbr_grids_instance (int yac_instance_id) |
int | yac_cget_nbr_grids () |
int | yac_cget_comp_nbr_grids_instance (int yac_instance_id, const char *comp_name) |
int | yac_cget_comp_nbr_grids (const char *comp_name) |
int | yac_cget_nbr_fields_instance (int yac_instance_id, const char *comp_name, const char *grid_name) |
int | yac_cget_nbr_fields (const char *comp_name, const char *grid_name) |
void | yac_cget_comp_names_instance (int yac_instance_id, int nbr_comps, const char **comp_names) |
void | yac_cget_comp_names (int nbr_comps, const char **comp_names) |
void | yac_cget_grid_names_instance (int yac_instance_id, int nbr_grids, const char **grid_names) |
void | yac_cget_grid_names (int nbr_grids, const char **grid_names) |
void | yac_cget_comp_grid_names_instance (int yac_instance_id, const char *comp_name, int nbr_grids, const char **grid_names) |
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_cget_field_names (const char *comp_name, const char *grid_name, int nbr_fields, const char **field_names) |
const char * | yac_cget_component_name_from_field_id (int field_id) |
const char * | yac_cget_grid_name_from_field_id (int field_id) |
const char * | yac_cget_field_name_from_field_id (int field_id) |
const char * | yac_cget_timestep_from_field_id (int field_id) |
int | yac_cget_collection_size_from_field_id (int field_id) |
int | yac_cget_role_from_field_id (int field_id) |
const char * | yac_cget_field_timestep_instance (int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name) |
const char * | yac_cget_field_timestep (const char *comp_name, const char *grid_name, const char *field_name) |
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) |
int | yac_cget_field_collection_size_instance (int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name) |
double | yac_cget_field_frac_mask_fallback_value (const char *comp_name, const char *grid_name, const char *field_name) |
int | yac_cget_field_collection_size (const char *comp_name, const char *grid_name, const char *field_name) |
int | yac_cget_field_role_instance (int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name) |
int | yac_cget_field_role (const char *comp_name, const char *grid_name, const char *field_name) |
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_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_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) |
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) |
void | yac_cset_global_index (int const *global_index, int location, int grid_id) |
void | yac_cset_core_mask (int const *is_core, int location, int grid_id) |
size_t | yac_cget_grid_size (int located, int grid_id) |
size_t | yac_cget_points_size (int points_id) |
void | yac_cget_interp_stack_config (int *interp_stack_config_id) |
void | yac_cfree_interp_stack_config (int interp_stack_config_id) |
void | yac_cadd_interp_stack_config_average (int interp_stack_config_id, int reduction_type, int partial_coverage) |
void | yac_cadd_interp_stack_config_ncc (int interp_stack_config_id, int weight_type, int partial_coverage) |
void | yac_cadd_interp_stack_config_nnn (int interp_stack_config_id, int type, size_t n, double scale) |
void | yac_cadd_interp_stack_config_conservative (int interp_stack_config_id, int order, int enforced_conserv, int partial_coverage, int normalisation) |
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, double tgt_sphere_radius) |
void | yac_cadd_interp_stack_config_hcsbb (int interp_stack_config_id) |
void | yac_cadd_interp_stack_config_user_file (int interp_stack_config_id, char const *filename, char const *src_grid_name, char const *tgt_grid_name) |
void | yac_cadd_interp_stack_config_fixed (int interp_stack_config_id, double value) |
void | yac_cadd_interp_stack_config_check (int interp_stack_config_id, char const *constructor_key, char const *do_search_key) |
void | yac_cadd_interp_stack_config_creep (int interp_stack_config_id, int creep_distance) |
void | yac_cadd_interp_stack_config_user_callback (int interp_stack_config_id, char const *func_compute_weights_key) |
void | yac_cadd_compute_weights_callback (yac_func_compute_weights compute_weights_callback, void *user_data, char const *key) |
#define AGGREATE_NOFRAC | ( | CHECK, | |
EXTRA_CHECK, | |||
ACCU_OP | |||
) |
#define AGGREGATE | ( | EXTRA_CHECK, | |
ACCU_OP | |||
) |
#define AGGREGATE_FRAC | ( | CHECK, | |
EXTRA_CHECK, | |||
ACCU_OP | |||
) |
#define ASSIGN = |
#define NO_CHECK (1) |
#define NO_CHECK (1) |
#define PUT_CHECK (put_mask[i][j]) |
#define PUT_CHECK (put_mask[i][j]) |
#define SUM += |
#define WEIGHT_ACC | ( | ACC, | |
EXTRA_CHECK | |||
) |
#define WEIGHT_ACC_ | ( | ACC, | |
CHECK, | |||
EXTRA_CHECK | |||
) |
|
static |
void check_mpi_initialised | ( | char const * | routine_name | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
void yac_cadd_compute_weights_callback | ( | yac_func_compute_weights | compute_weights_callback, |
void * | user_data, | ||
char const * | key | ||
) |
registers a callback routine for the computation of weights by the interpolation method user_callback
[in] | compute_weights_callback | pointer to a weight computation routine |
[in] | user_data | data pointer that will be passed to compute_weights_callback |
[in] | key | key for identifying the callback routine |
Definition at line 3555 of file yac.c.
void yac_cadd_interp_stack_config_average | ( | int | interp_stack_config_id, |
int | reduction_type, | ||
int | partial_coverage | ||
) |
adds average interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | reduction_type | reduction type |
[in] | partial_coverage | allow partial coverage |
Definition at line 3382 of file yac.c.
void yac_cadd_interp_stack_config_check | ( | int | interp_stack_config_id, |
char const * | constructor_key, | ||
char const * | do_search_key | ||
) |
adds fixed interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | constructor_key | key provided to yac_interp_method_check_add_constructor_callback for a constructor callback routine |
[in] | do_search_key | key provided to yac_interp_method_check_add_do_search_callback for a do_search callback routine |
Definition at line 3520 of file yac.c.
void yac_cadd_interp_stack_config_conservative | ( | int | interp_stack_config_id, |
int | order, | ||
int | enforced_conserv, | ||
int | partial_coverage, | ||
int | normalisation | ||
) |
adds conservative interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | order | first or second order |
[in] | enforced_conserv | enforce local conservation |
[in] | partial_coverage | allow partial coverage |
[in] | normalisation | normalisation type |
Definition at line 3439 of file yac.c.
void yac_cadd_interp_stack_config_creep | ( | int | interp_stack_config_id, |
int | creep_distance | ||
) |
void yac_cadd_interp_stack_config_fixed | ( | int | interp_stack_config_id, |
double | value | ||
) |
adds fixed interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | value | fixed value |
Definition at line 3510 of file yac.c.
void yac_cadd_interp_stack_config_hcsbb | ( | int | interp_stack_config_id | ) |
void yac_cadd_interp_stack_config_ncc | ( | int | interp_stack_config_id, |
int | weight_type, | ||
int | partial_coverage | ||
) |
adds nearest corner cells interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | weight_type | reduction type |
[in] | partial_coverage | allow partial coverage |
Definition at line 3401 of file yac.c.
void yac_cadd_interp_stack_config_nnn | ( | int | interp_stack_config_id, |
int | type, | ||
size_t | n, | ||
double | scale | ||
) |
adds n-nearest-neighbour interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | type | reduction type |
[in] | n | number of nearest neighbour points |
[in] | scale | scale parameter required by some reduction types |
Definition at line 3419 of file yac.c.
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, | ||
double | tgt_sphere_radius | ||
) |
adds source point mapping interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | spread_distance | spread distance (in rad) |
[in] | max_search_distance | maximum search distance (in rad) |
[in] | weight_type | reduction type |
[in] | scale_type | scaling type |
[in] | src_sphere_radius | sphere radius used for source cell area computation |
[in] | tgt_sphere_radius | sphere radius used for target cell area computation |
Definition at line 3458 of file yac.c.
void yac_cadd_interp_stack_config_user_callback | ( | int | interp_stack_config_id, |
char const * | func_compute_weights_key | ||
) |
adds user callback interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | func_compute_weights_key | key provided to yac_cadd_compute_weights_callback for a compute_weights callback routine |
Definition at line 3542 of file yac.c.
void yac_cadd_interp_stack_config_user_file | ( | int | interp_stack_config_id, |
char const * | filename, | ||
char const * | src_grid_name, | ||
char const * | tgt_grid_name | ||
) |
adds user weight file interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | filename | weight file name |
[in] | src_grid_name | name of source grid |
[in] | tgt_grid_name | name of target grid |
Definition at line 3497 of file yac.c.
void yac_ccheck_field_dimensions | ( | int | field_id, |
int | collection_size, | ||
int | num_pointsets, | ||
int const * | pointset_sizes | ||
) |
Checks whether the field dimensions match with field definition and aborts if there is a mismatch
[in] | field_id | |
[in] | collection_size | collection size |
[in] | num_pointsets | number of pointsets |
[in] | pointset_sizes | size of each pointset |
Definition at line 1550 of file yac.c.
void yac_ccleanup | ( | ) |
Clean-up YAC (same as yac_cfinalize but without MPI_Finalize; see Restarting YAC)
Definition at line 505 of file yac.c.
void yac_ccleanup_instance | ( | int | yac_instance_id | ) |
Clean-up YAC (same as yac_cfinalize_instance but without MPI_Finalize; see Restarting YAC)
[in] | yac_instance_id | id of the YAC instance to be cleaned up |
Definition at line 497 of file yac.c.
|
static |
void yac_cdef_calendar | ( | int | calendar | ) |
Defines the calendar of the default instance
[in] | calendar | The calendar |
Definition at line 562 of file yac.c.
void yac_cdef_comp | ( | const char * | comp_name, |
int * | comp_id | ||
) |
Elementary definition of the component for the default YAC instance
[in] | comp_name | name of the component |
[out] | comp_id | component Id |
yac_cpredef_comp
. Definition at line 795 of file yac.c.
void yac_cdef_comp_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
int * | comp_id | ||
) |
Elementary definition of the component.
[in] | yac_instance_id | id of the YAC instance |
[in] | comp_name | name of the component |
[out] | comp_id | component Id |
yac_cpredef_comp_instance
. Definition at line 789 of file yac.c.
void yac_cdef_component_metadata | ( | const char * | comp_name, |
const char * | metadata | ||
) |
Define metadata for a component
[in] | comp_name | |
[in] | metadata |
Definition at line 1145 of file yac.c.
void yac_cdef_component_metadata_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
const char * | metadata | ||
) |
Define metadata for a component
[in] | yac_instance_id | |
[in] | comp_name | |
[in] | metadata |
Definition at line 1137 of file yac.c.
void yac_cdef_comps | ( | const char ** | comp_names, |
int | num_comps, | ||
int * | comp_ids | ||
) |
Elementary definition of the components for the default YAC instance
[in] | comp_names | names of the components |
[in] | num_comps | number of components |
[out] | comp_ids | component Id's |
Definition at line 781 of file yac.c.
void yac_cdef_comps_instance | ( | int | yac_instance_id, |
const char ** | comp_names, | ||
int | num_comps, | ||
int * | comp_ids | ||
) |
Elementary definition of the components.
[in] | yac_instance_id | id of the YAC instance |
[in] | comp_names | names of the components |
[in] | num_comps | number of components |
[out] | comp_ids | component Id's |
Definition at line 756 of file yac.c.
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 | ||
) |
Define couple in the default yac instance
[in] | src_comp_name | component name of the source component |
[in] | src_grid_name | grid name of the source grid |
[in] | src_field_name | field name of the source field |
[in] | tgt_comp_name | component name of the target component |
[in] | tgt_grid_name | grid name of the target grid |
[in] | tgt_field_name | field name of the target field |
[in] | coupling_timestep | time step for the coupling given in the defined timestep unit |
[in] | time_unit | unit of coupling_timestep argument |
[in] | time_reduction | type for reducing multiple timesteps |
[in] | interp_stack_config_id | id of the interpolation stack config to be used |
[in] | src_lag | lag for this couple on the source component |
[in] | tgt_lag | lag for this couple on the target component |
Definition at line 1476 of file yac.c.
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, | ||
char const * | weight_file, | ||
int | mapping_side, | ||
double | scale_factor, | ||
double | scale_summand, | ||
int | num_src_mask_names, | ||
char const *const * | src_mask_names, | ||
char const * | tgt_mask_name | ||
) |
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 | ||
) |
Define couple in the default yac instance using an extended coupling configuration
[in] | src_comp_name | component name of the source component |
[in] | src_grid_name | grid name of the source grid |
[in] | src_field_name | field name of the source field |
[in] | tgt_comp_name | component name of the target component |
[in] | tgt_grid_name | grid name of the target grid |
[in] | tgt_field_name | field name of the target field |
[in] | coupling_timestep | time step for the coupling given in the defined timestep unit |
[in] | time_unit | unit of coupling_timestep argument |
[in] | time_reduction | type for reducing multiple timesteps |
[in] | interp_stack_config_id | id of the interpolation stack config to be used |
[in] | src_lag | lag for this couple on the source component |
[in] | tgt_lag | lag for this couple on the target component |
[in] | ext_couple_config_id | extended coupling configuration |
Definition at line 1444 of file yac.c.
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 | ||
) |
Define couple using an extended coupling configuration
[in] | yac_instance_id | id of the YAC instance for that the couple should be defined |
[in] | src_comp_name | component name of the source component |
[in] | src_grid_name | grid name of the source grid |
[in] | src_field_name | field name of the source field |
[in] | tgt_comp_name | component name of the target component |
[in] | tgt_grid_name | grid name of the target grid |
[in] | tgt_field_name | field name of the target field |
[in] | coupling_timestep | time step for the coupling |
[in] | time_unit | unit of coupling_timestep argument |
[in] | time_reduction | type for reducing multiple timesteps |
[in] | interp_stack_config_id | id of the interpolation stack config to be used |
[in] | src_lag | lag for this couple on the source component |
[in] | tgt_lag | lag for this couple on the target component |
[in] | ext_couple_config_id | extended coupling configuration |
Definition at line 1429 of file yac.c.
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, | ||
struct yac_ext_couple_config * | ext_couple_config | ||
) |
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 | ||
) |
Define couple
[in] | yac_instance_id | id of the YAC instance for that the couple should be defined |
[in] | src_comp_name | component name of the source component |
[in] | src_grid_name | grid name of the source grid |
[in] | src_field_name | field name of the source field |
[in] | tgt_comp_name | component name of the target component |
[in] | tgt_grid_name | grid name of the target grid |
[in] | tgt_field_name | field name of the target field |
[in] | coupling_timestep | time step for the coupling |
[in] | time_unit | unit of coupling_timestep argument |
[in] | time_reduction | type for reducing multiple timesteps |
[in] | interp_stack_config_id | id of the interpolation stack config to be used |
[in] | src_lag | lag for this couple on the source component |
[in] | tgt_lag | lag for this couple on the target component |
Definition at line 1459 of file yac.c.
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, | ||
char const * | weight_file, | ||
int | mapping_side, | ||
double | scale_factor, | ||
double | scale_summand, | ||
int | num_src_mask_names, | ||
char const *const * | src_mask_names, | ||
char const * | tgt_mask_name | ||
) |
void yac_cdef_datetime | ( | const char * | start_datetime, |
const char * | end_datetime | ||
) |
Definition of job start and end datetime for the default YAC instance
[in] | start_datetime | calendar job start datetime |
[in] | end_datetime | calendar job end datetime |
Definition at line 554 of file yac.c.
void yac_cdef_datetime_instance | ( | int | yac_instance_id, |
const char * | start_datetime, | ||
const char * | end_datetime | ||
) |
Definition of job start and end datetime
[in] | yac_instance_id | id of the YAC instance |
[in] | start_datetime | calendar job start datetime |
[in] | end_datetime | calendar job end datetime |
Definition at line 545 of file yac.c.
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 | ||
) |
Definition of the coupling field (using default mask, if defined)
[in] | field_name | character string providing the name of the coupling field |
[in] | component_id | component ID |
[in] | point_ids | point IDs |
[in] | num_pointsets | number of pointsets per grid |
[in] | collection_size | collection size |
[in] | timestep | timestep |
[in] | time_unit | time unit |
[out] | field_id | returned field_id which has to be used to identify coupling fields in yac_cput and yac_cget. |
Definition at line 1085 of file yac.c.
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 | ||
) |
Definition of the coupling field
[in] | field_name | character string providing the name of the coupling field |
[in] | component_id | component ID |
[in] | point_ids | point IDs |
[in] | mask_ids | mask IDs |
[in] | num_pointsets | number of pointsets per grid |
[in] | collection_size | collection size |
[in] | timestep | timestep |
[in] | time_unit | |
[out] | field_id | returned field_id which has to be used to identify coupling fields in yac_cput and yac_cget. |
Definition at line 1012 of file yac.c.
void yac_cdef_field_metadata | ( | const char * | comp_name, |
const char * | grid_name, | ||
const char * | field_name, | ||
const char * | metadata | ||
) |
Define metadata for a field
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name | |
[in] | metadata |
Definition at line 1173 of file yac.c.
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 | ||
) |
Define metadata for a field
[in] | yac_instance_id | |
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name | |
[in] | metadata |
Definition at line 1164 of file yac.c.
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 | ||
) |
Definition of a 2d curvilinear grid
[in] | grid_name | name of the grid |
[in] | nbr_vertices | 2d array containing the number of vertices in each dimension |
[in] | cyclic | 2d array containing information about cyclic behaviour in each dimension |
[in] | x_vertices | array of vertex longitudes, in radians |
[in] | y_vertices | array of vertex latitudes, in radians |
[out] | grid_id | id of generated grid |
Definition at line 3190 of file yac.c.
void yac_cdef_grid_metadata | ( | const char * | grid_name, |
const char * | metadata | ||
) |
Define metadata for a grid for the default YAC instance
[in] | grid_name | |
[in] | metadata |
Definition at line 1159 of file yac.c.
void yac_cdef_grid_metadata_instance | ( | int | yac_instance_id, |
const char * | grid_name, | ||
const char * | metadata | ||
) |
Define metadata for a grid
[in] | yac_instance_id | |
[in] | grid_name | |
[in] | metadata |
Definition at line 1150 of file yac.c.
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 | ||
) |
Definition of a 2d regular grid
[in] | grid_name | name of the grid |
[in] | nbr_vertices | 2d array containing the number of vertices in each dimension |
[in] | cyclic | 2d array containing information about cyclic behaviour in each dimension |
[in] | x_vertices | array of vertex longitudes, in radians |
[in] | y_vertices | array of vertex latitudes, in radians |
[out] | grid_id | id of generated grid |
Definition at line 3172 of file yac.c.
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 | ||
) |
Definition of an unstructured grid
[in] | grid_name | name of the grid |
[in] | nbr_vertices | number of vertices |
[in] | nbr_cells | number of cells |
[in] | num_vertices_per_cell | array containing the number of vertices for each cell |
[in] | x_vertices | array of vertex longitudes, in radians |
[in] | y_vertices | array of vertex latitudes, in radians |
[in] | cell_to_vertex | connectivity of vertices belonging to cells (the vertex indices per cell have to be in clockwise or counterclockwise ordering) |
[out] | grid_id | id of generated grid |
Definition at line 3208 of file yac.c.
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 | ||
) |
Definition of an unstructured grid with lon-lat edges
[in] | grid_name | name of the grid |
[in] | nbr_vertices | number of vertices |
[in] | nbr_cells | number of cells |
[in] | num_vertices_per_cell | array containing the number of vertices for each cell |
[in] | x_vertices | array of vertex longitudes, in radians |
[in] | y_vertices | array of vertex latitudes, in radians |
[in] | cell_to_vertex | connectivity of vertices belonging to cells (the vertex indices per cell have to be in clockwise or counterclockwise ordering) |
[out] | grid_id | id of generated grid |
Definition at line 3226 of file yac.c.
void yac_cdef_mask | ( | int const | grid_id, |
int const | nbr_points, | ||
int const | location, | ||
int const * | is_valid, | ||
int * | mask_id | ||
) |
define a mask for a grid
[in] | grid_id | grid ID |
[in] | nbr_points | number of points |
[in] | location | cell/vertex/edge |
[in] | is_valid | 0 for points that are masked out, 1 for valid points |
[out] | mask_id | returned handle to the mask struct |
Definition at line 984 of file yac.c.
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 | ||
) |
define a named mask for a grid
[in] | grid_id | grid ID |
[in] | nbr_points | number of points |
[in] | location | cell/vertex/edge |
[in] | is_valid | 0 for points that are masked out, 1 for valid points |
[in] | name | name of the mask |
[out] | mask_id | returned handle to the mask struct |
Definition at line 965 of file yac.c.
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 | ||
) |
Definition of a set of points for 2D curvilinear grids.
[in] | grid_id | handle to the grid struct |
[in] | nbr_points | number of points |
[in] | location | location of points |
[in] | x_points | array of point longitudes, in radians |
[in] | y_points | array of point latitudes, in radians |
[out] | point_id | returned handle to the points struct |
Definition at line 881 of file yac.c.
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 | ||
) |
Definition of a set of points for 2D regular grids.
[in] | grid_id | handle to the grid struct |
[in] | nbr_points | number of points |
[in] | location | location of points |
[in] | x_points | array of point longitudes, in radians |
[in] | y_points | array of point latitudes, in radians |
[out] | point_id | returned handle to the points struct |
Definition at line 845 of file yac.c.
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 | ||
) |
Definition of a set of points for 2D unstructured grids.
[in] | grid_id | handle to the grid struct |
[in] | nbr_points | number of points |
[in] | location | location of points |
[in] | x_points | array of point longitudes, in radians |
[in] | y_points | array of point latitudes, in radians |
[out] | point_id | returned handle to the points struct |
Definition at line 919 of file yac.c.
void yac_cenable_field_frac_mask | ( | const char * | comp_name, |
const char * | grid_name, | ||
const char * | field_name, | ||
double | frac_mask_fallback_value | ||
) |
Enables fractional masking for a coupling field and sets the fallback value
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name | |
[in] | frac_mask_fallback_value | fractional mask fallback value |
Definition at line 1128 of file yac.c.
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 | ||
) |
Enables fractional masking for a coupling field and sets the fallback value
[in] | yac_instance_id | |
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name | |
[in] | frac_mask_fallback_value | fractional mask fallback value |
Definition at line 1116 of file yac.c.
void yac_cenddef | ( | void | ) |
End of the definition phase for the default YAC instance and setup of internal data structures for coupling (communication matrices and interpolation weights)
Definition at line 2840 of file yac.c.
void yac_cenddef_and_emit_config | ( | int | emit_flags, |
char ** | config | ||
) |
End of the definition phase for the default YAC instance, invocation of the search and setup of internal data structures for coupling (communication matrices and interpolation weights). In addition, the collected coupling configuration from all processes is emitted.
[in] | emit_flags | flags for configuring the generated coupling configuration output (YAC_YAML_EMITTER_DEFAULT or YAC_YAML_EMITTER_JSON) |
[out] | config | coupling configuration |
Definition at line 2855 of file yac.c.
void yac_cenddef_and_emit_config_instance | ( | int | yac_instance_id, |
int | emit_flags, | ||
char ** | config | ||
) |
End of the definition phase, invocation of the search and setup of internal data structures for coupling (communication matrices and interpolation weights). In addition, the collected coupling configuration from all processes is emitted.
[in] | yac_instance_id | id of the YAC instance |
[in] | emit_flags | flags for configuring the generated coupling configuration output (YAC_YAML_EMITTER_DEFAULT or YAC_YAML_EMITTER_JSON) |
[out] | config | coupling configuration |
Definition at line 2846 of file yac.c.
void yac_cenddef_instance | ( | int | yac_instance_id | ) |
End of the definition phase, invocation of the search and setup of internal data structures for coupling (communication matrices and interpolation weights)
[in] | yac_instance_id | id of the YAC instance |
Definition at line 2834 of file yac.c.
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 | ||
) |
Exchange of the coupling fields
[in] | send_field_id | - |
[in] | recv_field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer dimensions send_field[collection_size] [nbr_fields] [nbr_points] |
[in] | recv_field | - receive buffer dimensions: recv_field[collection_size][nbr_points] |
[out] | send_info | - returned send info |
[out] | recv_info | - returned recv info |
[out] | ierror | - returned error |
Definition at line 2804 of file yac.c.
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 | ||
) |
Exchange of the coupling fields
[in] | send_field_id | - |
[in] | recv_field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer (all data is stored in one contiguous part of the memory) dimensions send_field[collection_size] [nbr_fields] [nbr_points] |
[in] | recv_field | - receive buffer (all data is stored in one contiguous part of the memory) dimensions: recv_field[collection_size][nbr_points] |
[out] | send_info | - returned send info |
[out] | recv_info | - returned recv info |
[out] | ierror | - returned error |
Definition at line 2528 of file yac.c.
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 | ||
) |
Exchange of the coupling fields
[in] | send_field_id | - |
[in] | recv_field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer dimensions send_field[collection_size] [nbr_fields] [nbr_points] |
[in] | send_frac_mask | - send fractional mask dimensions send_frac_mask[collection_size] [nbr_fields] [nbr_points] |
[in] | recv_field | - receive buffer dimensions: recv_field[collection_size][nbr_points] |
[out] | send_info | - returned send info |
[out] | recv_info | - returned recv info |
[out] | ierror | - returned error |
Definition at line 2669 of file yac.c.
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 | ||
) |
Exchange of the coupling fields
[in] | send_field_id | - |
[in] | recv_field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer (all data is stored in one contiguous part of the memory) dimensions send_field[collection_size] [nbr_fields] [nbr_points] |
[in] | send_frac_mask | - send fractional mask (all data is stored in one contiguous part of the memory) dimensions send_frac_mask[collection_size] [nbr_fields] [nbr_points] |
[in] | recv_field | - receive buffer (all data is stored in one contiguous part of the memory) dimensions: recv_field[collection_size][nbr_points] |
[out] | send_info | - returned send info |
[out] | recv_info | - returned recv info |
[out] | ierror | - returned error |
Definition at line 2561 of file yac.c.
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 | ||
) |
Sending of the coupling fields
[in] | send_field_id | - |
[in] | recv_field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer dimensions send_field[collection_size * nbr_fields] [nbr_points] |
[in] | send_frac_mask | - send buffer dimensions send_frac_mask[collection_size * nbr_fields] [nbr_points] |
[in] | recv_field | - receive buffer dimensions: recv_field[collection_size][nbr_points] |
[out] | send_info | - returned send info |
[out] | recv_info | - returned recv info |
[out] | ierror | - returned error |
Definition at line 2633 of file yac.c.
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 | ||
) |
Sending of the coupling fields
[in] | send_field_id | - |
[in] | recv_field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer dimensions send_field[collection_size * nbr_fields] [nbr_points] |
[in] | recv_field | - receive buffer dimensions: recv_field[collection_size][nbr_points] |
[out] | send_info | - returned send info |
[out] | recv_info | - returned recv info |
[out] | ierror | - returned error |
Definition at line 2603 of file yac.c.
void yac_cfinalize | ( | ) |
Cleans up default YAC instance (if available) and finales MPI, if it was initialised by YAC
Definition at line 533 of file yac.c.
void yac_cfinalize_instance | ( | int | yac_instance_id | ) |
Cleans up provided YAC instance and finales MPI, if it was initialised by YAC
[in] | yac_instance_id | id of the YAC instance to be finalised |
Definition at line 524 of file yac.c.
void yac_cfree_ext_couple_config | ( | int | ext_couple_config_id | ) |
Frees an extended coupling configuration
[in] | ext_couple_config_id |
Definition at line 1241 of file yac.c.
void yac_cfree_interp_stack_config | ( | int | interp_stack_config_id | ) |
frees a stack trace
[in] | interp_stack_config_id | interpolation stack |
Definition at line 3362 of file yac.c.
void yac_cget | ( | int const | field_id, |
int const | collection_size, | ||
double ** | recv_field, | ||
int * | info, | ||
int * | ierror | ||
) |
Receiving of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | recv_field | - receive buffer dimensions: recv_field[collection_size][nbr_points] |
[out] | info | - returned info argument indicating the action performed |
[out] | ierror | - returned error |
Definition at line 1850 of file yac.c.
void yac_cget_ | ( | int const | field_id, |
int const | collection_size, | ||
double * | recv_field, | ||
int * | info, | ||
int * | ierror | ||
) |
Receiving of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | recv_field | - receive buffer (all data is stored in one contiguous part of the memory) dimensions: recv_field[collection_size][nbr_points] |
[in] | info | - returned info argument indicating the action performed |
[out] | ierror | - returned error |
Definition at line 1832 of file yac.c.
void yac_cget_action | ( | int | field_id, |
int * | action | ||
) |
Returns the action a put/get would return for the current timestep
[in] | field_id | field id returned by yac_cdef_field |
[out] | action | action for the current timestep (YAC_ACTION_NONE, YAC_ACTION_REDUCTION, YAC_ACTION_COUPLING, YAC_ACTION_GET_FOR_RESTART, YAC_ACTION_PUT_FOR_RESTART, or YAC_ACTION_OUT_OF_BOUND) |
Definition at line 1611 of file yac.c.
void yac_cget_async | ( | int const | field_id, |
int const | collection_size, | ||
double ** | recv_field, | ||
int * | info, | ||
int * | ierror | ||
) |
Receiving of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | recv_field | - receive buffer dimensions: recv_field[collection_size][nbr_points] |
[out] | info | - returned info argument indicating the action performed |
[out] | ierror | - returned error |
Definition at line 1859 of file yac.c.
void yac_cget_async_ | ( | int const | field_id, |
int const | collection_size, | ||
double * | recv_field, | ||
int * | info, | ||
int * | ierror | ||
) |
Receiving of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | recv_field | - receive buffer (all data is stored in one contiguous part of the memory) dimensions: recv_field[collection_size][nbr_points] |
[in] | info | - returned info argument indicating the action performed |
[out] | ierror | - returned error |
Definition at line 1841 of file yac.c.
int yac_cget_collection_size_from_field_id | ( | int | field_id | ) |
void yac_cget_comp_comm | ( | int | comp_id, |
MPI_Comm * | comp_comm | ||
) |
Providing the component MPI communicator
[in] | comp_id | local component ID (from yac_cdef_comp), handle to the component struct |
[out] | comp_comm | component communicator |
Definition at line 638 of file yac.c.
void yac_cget_comp_grid_names | ( | const char * | comp_name, |
int | nbr_grids, | ||
const char ** | grid_names | ||
) |
query routine to get the list of grid names of a given component that are referenced by at least one defined field or have metadata assigned to it
[in] | comp_name | name of the component |
[in] | nbr_grids | number of grids |
[out] | grid_names | list of grid names |
Definition at line 3013 of file yac.c.
void yac_cget_comp_grid_names_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
int | nbr_grids, | ||
const char ** | grid_names | ||
) |
query routine to get the list of grid names of a given component that are referenced by at least one defined field or have metadata assigned to it
[in] | yac_instance_id | id of the YAC instance |
[in] | comp_name | name of the component |
[in] | nbr_grids | number of grids |
[out] | grid_names | list of grid names |
Definition at line 2994 of file yac.c.
void yac_cget_comp_names | ( | int | nbr_comps, |
const char ** | comp_names | ||
) |
query routine to get the list of component names for defined the default YAC instance.
[in] | nbr_comps | number of components |
[out] | comp_names | list of component names |
Definition at line 2972 of file yac.c.
void yac_cget_comp_names_instance | ( | int | yac_instance_id, |
int | nbr_comps, | ||
const char ** | comp_names | ||
) |
query routine to get the list of component names for defined
[in] | yac_instance_id | id of the YAC instance |
[in] | nbr_comps | number of components |
[out] | comp_names | list of component names |
Definition at line 2961 of file yac.c.
int yac_cget_comp_nbr_grids | ( | const char * | comp_name | ) |
query routine for number of grids defined in the default YAC instance for a given components that is referenced by at least one defined field.
[in] | comp_name |
Definition at line 2931 of file yac.c.
int yac_cget_comp_nbr_grids_instance | ( | int | yac_instance_id, |
const char * | comp_name | ||
) |
query routine for number of grids defined for a given components that is referenced by at least one defined field.
[in] | yac_instance_id | id of the YAC instance |
[in] | comp_name |
Definition at line 2913 of file yac.c.
void yac_cget_comp_rank_c2py | ( | int | comp_id, |
int * | rank | ||
) |
void yac_cget_comp_size_c2py | ( | int | comp_id, |
int * | size | ||
) |
const char * yac_cget_component_metadata | ( | const char * | comp_name | ) |
Get metadata for a component
[in] | comp_name |
Definition at line 1188 of file yac.c.
const char * yac_cget_component_metadata_instance | ( | int | yac_instance_id, |
const char * | comp_name | ||
) |
Get metadata for a component
[in] | yac_instance_id | |
[in] | comp_name |
Definition at line 1180 of file yac.c.
const char * yac_cget_component_name_from_field_id | ( | int | field_id | ) |
query routine to get the component name for a given ID
[in] | field_id | ID as provided by yac_cdef_field |
Definition at line 3052 of file yac.c.
void yac_cget_comps_comm | ( | const char ** | comp_names, |
int | num_comps, | ||
MPI_Comm * | comps_comm | ||
) |
Generates an MPI communicator that contains all processes of the provided components
[in] | comp_names | name of components |
[in] | num_comps | number of components |
[out] | comps_comm | generated communicator |
Definition at line 688 of file yac.c.
void yac_cget_comps_comm_f2c | ( | char const ** | comp_names, |
int | num_comps, | ||
MPI_Fint * | comps_comm_f | ||
) |
void yac_cget_comps_comm_instance | ( | int | yac_instance_id, |
const char ** | comp_names, | ||
int | num_comps, | ||
MPI_Comm * | comps_comm | ||
) |
Generates an MPI communicator that contains all processes of the provided components
[in] | yac_instance_id | id of the YAC instance |
[in] | comp_names | name of components |
[in] | num_comps | number of components |
[out] | comps_comm | generated communicator |
Definition at line 678 of file yac.c.
void yac_cget_comps_comm_instance_f2c | ( | int | yac_instance_id, |
char const ** | comp_names, | ||
int | num_comps, | ||
MPI_Fint * | comps_comm_f | ||
) |
int yac_cget_default_instance_id | ( | ) |
Getter function for the default instance
Returns the instance id of the default instance.
Definition at line 359 of file yac.c.
char * yac_cget_end_datetime | ( | void | ) |
query routine for the end datetime of the job of the default YAC instance
Definition at line 603 of file yac.c.
char * yac_cget_end_datetime_instance | ( | int | yac_instance_id | ) |
query routine for the end datetime of the job
[in] | yac_instance_id | id of the YAC instance |
Definition at line 596 of file yac.c.
void yac_cget_ext_couple_config | ( | int * | ext_couple_config_id | ) |
Get an extended coupling configuration (all parameters are set to the default values)
[out] | ext_couple_config_id | extended coupling configuration |
Definition at line 1233 of file yac.c.
void yac_cget_ext_couple_config_mapping_side | ( | int | ext_couple_config_id, |
int * | mapping_side | ||
) |
void yac_cget_ext_couple_config_mask_name | ( | int | ext_couple_config_id, |
char const ** | tgt_mask_name | ||
) |
Gets target mask name
[in] | ext_couple_config_id | extended coupling configuration |
[out] | tgt_mask_name | target mask name |
Definition at line 1394 of file yac.c.
void yac_cget_ext_couple_config_scale_factor | ( | int | ext_couple_config_id, |
double * | scale_factor | ||
) |
void yac_cget_ext_couple_config_scale_summand | ( | int | ext_couple_config_id, |
double * | scale_summand | ||
) |
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 | ||
) |
Gets source mask names
[in] | ext_couple_config_id | extended coupling configuration |
[out] | num_src_mask_names | number of source mask names |
[out] | src_mask_names | source mask names |
Definition at line 1370 of file yac.c.
void yac_cget_ext_couple_config_weight_file | ( | int | ext_couple_config_id, |
char const ** | weight_file | ||
) |
int yac_cget_field_collection_size | ( | const char * | comp_name, |
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the collection_size of a field
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 3145 of file yac.c.
int yac_cget_field_collection_size_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the collection_size of a field
[in] | yac_instance_id | |
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 3127 of file yac.c.
const char * yac_cget_field_datetime | ( | int | field_id | ) |
double yac_cget_field_frac_mask_fallback_value | ( | const char * | comp_name, |
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the fractional mask fallback value of a field
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 3137 of file yac.c.
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 | ||
) |
query routine to get the fractional mask fallback value of a field
[in] | yac_instance_id | |
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 3116 of file yac.c.
int yac_cget_field_id | ( | const char * | comp_name, |
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the field_id from component, grid and field name (if defined on this process)
[in] | comp_name | component name |
[in] | grid_name | grid name |
[in] | field_name | field name |
Definition at line 2879 of file yac.c.
int yac_cget_field_id_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the field_id from component, grid and field name (if defined on this process)
[in] | yac_instance_id | |
[in] | comp_name | component name |
[in] | grid_name | grid name |
[in] | field_name | field name |
Definition at line 2866 of file yac.c.
const char * yac_cget_field_metadata | ( | const char * | comp_name, |
const char * | grid_name, | ||
const char * | field_name | ||
) |
Get metadata for a field
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 1215 of file yac.c.
const char * yac_cget_field_metadata_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
const char * | grid_name, | ||
const char * | field_name | ||
) |
Get metadata for a field
[in] | yac_instance_id | |
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 1206 of file yac.c.
const char * yac_cget_field_name_from_field_id | ( | int | field_id | ) |
query routine to get the field name for a given ID
[in] | field_id | ID as provided by yac_cdef_field |
Definition at line 3067 of file yac.c.
void yac_cget_field_names | ( | const char * | comp_name, |
const char * | grid_name, | ||
int | nbr_fields, | ||
const char ** | field_names | ||
) |
query routine to get the list of field names defined on the given component and grid for the default YAC instance.
[in] | comp_name | component name |
[in] | grid_name | grid name |
[in] | nbr_fields | number of fields |
[out] | field_names | list of field names |
Definition at line 3045 of file yac.c.
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 | ||
) |
query routine to get the list of field names on the given component and grid
[in] | yac_instance_id | id of the YAC instance |
[in] | comp_name | component name |
[in] | grid_name | grid name |
[in] | nbr_fields | number of fields |
[out] | field_names | list of grid names |
Definition at line 3019 of file yac.c.
int yac_cget_field_role | ( | const char * | comp_name, |
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the role of a field for a given ID
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 3163 of file yac.c.
int yac_cget_field_role_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the role of a field for a given ID
[in] | yac_instance_id | |
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 3152 of file yac.c.
const char * yac_cget_field_timestep | ( | const char * | comp_name, |
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the timestep of a field
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 3109 of file yac.c.
const char * yac_cget_field_timestep_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
const char * | grid_name, | ||
const char * | field_name | ||
) |
query routine to get the timestep of a field
[in] | yac_instance_id | |
[in] | comp_name | |
[in] | grid_name | |
[in] | field_name |
Definition at line 3097 of file yac.c.
const char * yac_cget_grid_metadata | ( | const char * | grid_name | ) |
Get metadata for a grid
[in] | grid_name |
Definition at line 1201 of file yac.c.
const char * yac_cget_grid_metadata_instance | ( | int | yac_instance_id, |
const char * | grid_name | ||
) |
Get metadata for a grid
[in] | yac_instance_id | |
[in] | grid_name |
Definition at line 1193 of file yac.c.
const char * yac_cget_grid_name_from_field_id | ( | int | field_id | ) |
query routine to get the grid name for a given ID
[in] | field_id | ID as provided by yac_cdef_field |
Definition at line 3059 of file yac.c.
void yac_cget_grid_names | ( | int | nbr_grids, |
const char ** | grid_names | ||
) |
query routine to get the list of grid names of the default YAC instance that are referenced by at least one defined field or have metadata assigned to it
[in] | nbr_grids | number of grids |
[out] | grid_names | list of grid names |
Definition at line 2989 of file yac.c.
void yac_cget_grid_names_instance | ( | int | yac_instance_id, |
int | nbr_grids, | ||
const char ** | grid_names | ||
) |
query routine to get the list of grid names that are referenced by at least one defined field or have metadata assigned to it
[in] | yac_instance_id | id of the YAC instance |
[in] | nbr_grids | number of grids |
[out] | grid_names | list of grid names |
Definition at line 2978 of file yac.c.
size_t yac_cget_grid_size | ( | int | location, |
int | grid_id | ||
) |
query routine to get the number of points in a grid
[in] | location | |
[in] | grid_id |
Definition at line 3325 of file yac.c.
void yac_cget_interp_stack_config | ( | int * | interp_stack_config_id | ) |
gets an empty stack trace
[out] | interp_stack_config_id | interpolation stack |
Definition at line 3348 of file yac.c.
int yac_cget_nbr_comps | ( | void | ) |
query routine for number of components defined in the default YAC instance
Definition at line 2895 of file yac.c.
int yac_cget_nbr_comps_instance | ( | int | yac_instance_id | ) |
query routine for number of components
[in] | yac_instance_id | id of the YAC instance |
Definition at line 2887 of file yac.c.
int yac_cget_nbr_fields | ( | const char * | comp_name, |
const char * | grid_name | ||
) |
query routine for number of coupling fields defined in the given component and grids of the default YAC instance
[in] | comp_name | name of the component |
[in] | grid_name | name of the grid |
Definition at line 2956 of file yac.c.
int yac_cget_nbr_fields_instance | ( | int | yac_instance_id, |
const char * | comp_name, | ||
const char * | grid_name | ||
) |
query routine for number of coupling fields defined in the given component and grids
[in] | yac_instance_id | id of the YAC instance |
[in] | comp_name | name of the component |
[in] | grid_name | name of the grid |
Definition at line 2936 of file yac.c.
int yac_cget_nbr_grids | ( | ) |
query routine for number of grids defined in the default YAC instance that are referenced by at least one defined field or have metadata assigned to it
Definition at line 2908 of file yac.c.
int yac_cget_nbr_grids_instance | ( | int | yac_instance_id | ) |
query routine for number of grids that are referenced by at least one defined field or have metadata assigned to it
[in] | yac_instance_id | id of the YAC instance |
Definition at line 2900 of file yac.c.
size_t yac_cget_points_size | ( | int | points_id | ) |
query routine to get the number of points in a pointset
[in] | points_id |
Definition at line 3336 of file yac.c.
|
static |
int yac_cget_role_from_field_id | ( | int | field_id | ) |
query routine to get the role of a field for a given ID
[in] | field_id | ID as provided by yac_cdef_field |
Definition at line 3088 of file yac.c.
char * yac_cget_start_datetime | ( | void | ) |
query routine for the start datetime of the job of the default YAC instance
Definition at line 588 of file yac.c.
char * yac_cget_start_datetime_instance | ( | int | yac_instance_id | ) |
query routine for the start datetime of the job
[in] | yac_instance_id | id of the YAC instance |
Definition at line 581 of file yac.c.
const char * yac_cget_timestep_from_field_id | ( | int | field_id | ) |
query routine to get the timestep of a field for a given ID
[in] | field_id | ID as provided by yac_cdef_field |
Definition at line 3074 of file yac.c.
char * yac_cget_version | ( | void | ) |
|
static |
void yac_cinit | ( | void | ) |
Elementary initialisation of the whole system
Definition at line 402 of file yac.c.
void yac_cinit_comm | ( | MPI_Comm | comm | ) |
Elementary initialisation of the whole system using a user-provided MPI communicator
[in] | comm | MPI communicator |
Definition at line 376 of file yac.c.
void yac_cinit_comm_dummy | ( | MPI_Comm | comm | ) |
Dummy initialisation of the whole system using a user-provided MPI world communicator
[in] | comm | MPI communicator |
Definition at line 412 of file yac.c.
void yac_cinit_comm_dummy_f2c | ( | MPI_Fint | comm_f | ) |
void yac_cinit_comm_f2c | ( | MPI_Fint | comm_f | ) |
void yac_cinit_comm_instance | ( | MPI_Comm | comm, |
int * | yac_instance_id | ||
) |
Elementary initialisation of the whole system using a user-provided MPI communicator
[in] | comm | MPI communicator |
[out] | yac_instance_id | id of the YAC instance initialised by this call |
Definition at line 364 of file yac.c.
void yac_cinit_comm_instance_f2c | ( | MPI_Fint | comm, |
int * | yac_instance_id | ||
) |
void yac_cinit_dummy | ( | void | ) |
Dummy for initialisation of the whole system
Definition at line 428 of file yac.c.
void yac_cinit_instance | ( | int * | yac_instance_id | ) |
Elementary initialisation of the whole system
[out] | yac_instance_id | id of the YAC instance initialised by this call |
Definition at line 390 of file yac.c.
void yac_cmpi_handshake | ( | MPI_Comm | comm, |
size_t | n, | ||
char const ** | group_names, | ||
MPI_Comm * | group_comms | ||
) |
MPI Handshake (MPI handshake algorithm)
Splits the provided communicator into group communicators. Each group communicator contains all processes of the provided communicator that provided the same group name. The order of the group names can be arbitrary on each process. A process can be part of multiple groups.
[in] | comm | MPI communicator |
[in] | n | number of group communicators to be generated |
[in] | group_names | group names |
[out] | group_comms | group communicators |
Definition at line 327 of file yac.c.
void yac_cmpi_handshake_f2c | ( | MPI_Fint | comm, |
int | n, | ||
char const ** | group_names, | ||
MPI_Fint * | group_comms | ||
) |
void yac_cpredef_comp | ( | char const * | comp_name, |
int * | comp_id | ||
) |
Non-blocking pre-definition of a component for the default YAC instance.
[in] | comp_name | name of the component |
[out] | comp_id | component Id |
Definition at line 751 of file yac.c.
void yac_cpredef_comp_instance | ( | int | yac_instance_id, |
char const * | comp_name, | ||
int * | comp_id | ||
) |
Non-blocking pre-definition of a component.
[in] | yac_instance_id | id of the YAC instance |
[in] | comp_name | name of the component |
[out] | comp_id | component Id |
Definition at line 718 of file yac.c.
void yac_cput | ( | int const | field_id, |
int const | collection_size, | ||
double ***const | send_field, | ||
int * | info, | ||
int * | ierror | ||
) |
Sending of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer dimensions send_field[collection_size] [nbr_fields] [nbr_points] |
[out] | info | - returned info |
[out] | ierror | - returned error |
Definition at line 2514 of file yac.c.
void yac_cput_ | ( | int const | field_id, |
int const | collection_size, | ||
double * | send_field, | ||
int * | info, | ||
int * | ierror | ||
) |
Sending of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer (all data is stored in one contiguous part of the memory) dimensions send_field[collection_size] [nbr_fields] [nbr_points] |
[out] | info | - returned info |
[out] | ierror | - returned error |
Definition at line 1917 of file yac.c.
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 | ||
) |
Sending of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer dimensions send_field[collection_size] [nbr_fields] [nbr_points] |
[in] | send_frac_mask | - send fractional mask dimensions send_frac_mask[collection_size] [nbr_fields] [nbr_points] |
[out] | info | - returned info |
[out] | ierror | - returned error |
Definition at line 2425 of file yac.c.
void yac_cput_frac_ | ( | int const | field_id, |
int const | collection_size, | ||
double * | send_field, | ||
double * | send_frac_mask, | ||
int * | info, | ||
int * | ierror | ||
) |
Sending of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer (all data is stored in one contiguous part of the memory) dimensions send_field[collection_size] [nbr_fields] [nbr_points] |
[in] | send_frac_mask | - send fractional mask (all data is stored in one contiguous part of the memory) dimensions send_frac_mask[collection_size] [nbr_fields] [nbr_points] |
[out] | info | - returned info |
[out] | ierror | - returned error |
Definition at line 1938 of file yac.c.
void yac_cput_frac_ptr_ | ( | int const | field_id, |
int const | collection_size, | ||
double ** | send_field, | ||
double ** | send_frac_mask, | ||
int * | info, | ||
int * | ierror | ||
) |
Sending of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer dimensions send_field[collection_size * nbr_fields] [nbr_points] |
[in] | send_frac_mask | - send fractional mask dimensions send_frac_mask[collection_size * nbr_fields] [nbr_points] |
[out] | info | - returned info |
[out] | ierror | - returned error |
Definition at line 2035 of file yac.c.
|
static |
void yac_cput_ptr_ | ( | int const | field_id, |
int const | collection_size, | ||
double ** | send_field, | ||
int * | info, | ||
int * | ierror | ||
) |
Sending of the coupling fields
[in] | field_id | - |
[in] | collection_size | - |
[in] | send_field | - send buffer dimensions send_field[collection_size * nbr_fields] [nbr_points] |
[out] | info | - returned info |
[out] | ierror | - returned error |
Definition at line 2015 of file yac.c.
void yac_cread_config_json | ( | const char * | json_file | ) |
Function for reading configuration from JSON configuration file
[in] | json_file | JSON configuration file |
Definition at line 471 of file yac.c.
void yac_cread_config_json_instance | ( | int | yac_instance_id, |
const char * | json_file | ||
) |
Function for reading configuration from JSON configuration file for a specific YAC instance
[in] | yac_instance_id | YAC instance id |
[in] | json_file | JSON configuration file |
Definition at line 462 of file yac.c.
void yac_cread_config_yaml | ( | const char * | yaml_file | ) |
Function for reading configuration from YAML configuration file
[in] | yaml_file | YAML configuration file |
Definition at line 457 of file yac.c.
void yac_cread_config_yaml_instance | ( | int | yac_instance_id, |
const char * | yaml_file | ||
) |
void yac_cset_core_mask | ( | int const * | is_core, |
int | location, | ||
int | grid_id | ||
) |
Set core mask for a grid
[in] | is_core | 0 for cells/vertices/edges that are halos, 1 for cells/vertices/edges that are core |
[in] | location | cell/vertex/edge |
[in] | grid_id | grid id |
Definition at line 3285 of file yac.c.
void yac_cset_ext_couple_config_mapping_side | ( | int | ext_couple_config_id, |
int | mapping_side | ||
) |
void yac_cset_ext_couple_config_mapping_side_ | ( | struct yac_ext_couple_config * | ext_couple_config, |
int | mapping_side | ||
) |
void yac_cset_ext_couple_config_scale_factor | ( | int | ext_couple_config_id, |
double | scale_factor | ||
) |
Sets the scale factor
[in] | ext_couple_config_id | extended coupling configuration |
[in] | scale_factor | scale factor |
Definition at line 1309 of file yac.c.
void yac_cset_ext_couple_config_scale_factor_ | ( | struct yac_ext_couple_config * | ext_couple_config, |
double | scale_factor | ||
) |
void yac_cset_ext_couple_config_scale_summand | ( | int | ext_couple_config_id, |
double | scale_summand | ||
) |
Sets the scale summand
[in] | ext_couple_config_id | extended coupling configuration |
[in] | scale_summand | scale summand |
Definition at line 1332 of file yac.c.
void yac_cset_ext_couple_config_scale_summand_ | ( | struct yac_ext_couple_config * | ext_couple_config, |
double | scale_summand | ||
) |
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 | ||
) |
Sets source mask names
[in] | ext_couple_config_id | extended coupling configuration |
[in] | num_src_mask_names | number of source mask names |
[in] | src_mask_names | source mask names |
Definition at line 1362 of file yac.c.
void yac_cset_ext_couple_config_src_mask_names_ | ( | struct yac_ext_couple_config * | ext_couple_config, |
size_t | num_src_mask_names, | ||
char const *const * | src_mask_names | ||
) |
void yac_cset_ext_couple_config_tgt_mask_name | ( | int | ext_couple_config_id, |
char const * | tgt_mask_name | ||
) |
Sets target mask name
[in] | ext_couple_config_id | extended coupling configuration |
[in] | tgt_mask_name | target mask name |
Definition at line 1387 of file yac.c.
void yac_cset_ext_couple_config_tgt_mask_name_ | ( | struct yac_ext_couple_config * | ext_couple_config, |
char const * | tgt_mask_name | ||
) |
void yac_cset_ext_couple_config_weight_file | ( | int | ext_couple_config_id, |
char const * | weight_file | ||
) |
Sets the weight file name
[in] | ext_couple_config_id | extended coupling configuration |
[in] | weight_file | name of a weight file |
Definition at line 1260 of file yac.c.
void yac_cset_ext_couple_config_weight_file_ | ( | struct yac_ext_couple_config * | ext_couple_config, |
char const * | weight_file | ||
) |
void yac_cset_global_index | ( | int const * | global_index, |
int | location, | ||
int | grid_id | ||
) |
Set global ids for a grid
[in] | global_index | array of global indices |
[in] | location | cell/vertex/edge |
[in] | grid_id | grid id |
Definition at line 3244 of file yac.c.
void yac_cset_mask | ( | int const * | is_valid, |
int | points_id | ||
) |
Set the default mask for points
[in] | is_valid | 0 for points that are masked out, 1 for valid points |
[in] | points_id | id of points/cells |
Definition at line 993 of file yac.c.
void yac_csync_def | ( | void | ) |
synchronize grids and fields of the default instance
Definition at line 2826 of file yac.c.
void yac_csync_def_instance | ( | int | yac_instance_id | ) |
synchronize grids and fields
[in] | yac_instance_id | id of the YAC instance |
Definition at line 2821 of file yac.c.
void yac_ctest | ( | int | field_id, |
int * | flag | ||
) |
Determines whether there is an asynchronous communication associated with a field, which is not yet completed (for example by a previous put)
[in] | field_id | |
[out] | flag | "0" if there is an uncompleted asynchronous communication associated with the field, "1" otherwise |
Definition at line 2066 of file yac.c.
void yac_cupdate | ( | int | field_id | ) |
If the action for the current timestep is YAC_ACTION_NONE, this routine will advance the internal clock to next timestep.
[in] | field_id | field id returned by yac_cdef_field |
Definition at line 1674 of file yac.c.
|
inlinestatic |
void yac_cwait | ( | int | field_id | ) |
Waits until all previous asynchronous communication associated with a field is completed (for example by a previous put)
[in] | field_id |
Definition at line 2090 of file yac.c.
|
static |
|
static |
|
static |
|
static |
|
static |
frees all memory used for the pointer/unique_id conversion
Definition at line 196 of file yac.c.
|
static |
|
static |
void yac_get_ | ( | int const | field_id, |
int const | collection_size, | ||
double * | recv_field, | ||
int | is_async, | ||
int * | info, | ||
int * | ierr | ||
) |
void yac_get_comp_comm_f2c | ( | int | comp_id, |
MPI_Fint * | comp_comm_f | ||
) |
void * yac_get_field_get_mask_c2f | ( | int | field_id | ) |
void * yac_get_field_put_mask_c2f | ( | int | field_id | ) |
|
static |
|
static |
gives the unique index associated with pointer
[in] | pointer |
Definition at line 181 of file yac.c.
|
static |
|
static |
gives the pointer that is associated to the given id
[in] | id | unique index previously returned by pointer_to_unique_id |
[in] | id_name | name of the id |
Definition at line 164 of file yac.c.
|
static |
|
static |
struct yac_basic_grid** grids = NULL |
|
static |
|
static |
|
static |
|
static |
int const YAC_ACTION_COUPLING = COUPLING |
int const YAC_ACTION_GET_FOR_CHECKPOINT = GET_FOR_CHECKPOINT |
int const YAC_ACTION_GET_FOR_RESTART = GET_FOR_RESTART |
int const YAC_ACTION_NONE = NONE |
int const YAC_ACTION_OUT_OF_BOUND = OUT_OF_BOUND |
int const YAC_ACTION_PUT_FOR_CHECKPOINT = PUT_FOR_CHECKPOINT |
int const YAC_ACTION_PUT_FOR_RESTART = PUT_FOR_RESTART |
int const YAC_ACTION_REDUCTION = REDUCTION |
int const YAC_AVG_ARITHMETIC = YAC_INTERP_AVG_ARITHMETIC |
int const YAC_AVG_BARY = YAC_INTERP_AVG_BARY |
int const YAC_AVG_DIST = YAC_INTERP_AVG_DIST |
int const YAC_CONSERV_DESTAREA = YAC_INTERP_CONSERV_DESTAREA |
int const YAC_CONSERV_FRACAREA = YAC_INTERP_CONSERV_FRACAREA |
int const YAC_EXCHANGE_TYPE_NONE = NOTHING |
int const YAC_EXCHANGE_TYPE_SOURCE = SOURCE |
int const YAC_EXCHANGE_TYPE_TARGET = TARGET |
int const YAC_LOCATION_CELL = YAC_LOC_CELL |
int const YAC_LOCATION_CORNER = YAC_LOC_CORNER |
int const YAC_LOCATION_EDGE = YAC_LOC_EDGE |
int const YAC_NCC_AVG = YAC_INTERP_NCC_AVG |
int const YAC_NCC_DIST = YAC_INTERP_NCC_DIST |
int const YAC_NNN_AVG = YAC_INTERP_NNN_AVG |
int const YAC_NNN_DIST = YAC_INTERP_NNN_DIST |
int const YAC_NNN_GAUSS = YAC_INTERP_NNN_GAUSS |
int const YAC_NNN_RBF = YAC_INTERP_NNN_RBF |
int const YAC_NNN_ZERO = YAC_INTERP_NNN_ZERO |
int const YAC_PROLEPTIC_GREGORIAN = PROLEPTIC_GREGORIAN |
int const YAC_REDUCTION_TIME_ACCUMULATE = TIME_ACCUMULATE |
int const YAC_REDUCTION_TIME_AVERAGE = TIME_AVERAGE |
int const YAC_REDUCTION_TIME_MAXIMUM = TIME_MAXIMUM |
int const YAC_REDUCTION_TIME_MINIMUM = TIME_MINIMUM |
int const YAC_REDUCTION_TIME_NONE = TIME_NONE |
int const YAC_SPMAP_AVG = YAC_INTERP_SPMAP_AVG |
int const YAC_SPMAP_DIST = YAC_INTERP_SPMAP_DIST |
int const YAC_SPMAP_FRACAREA = YAC_INTERP_SPMAP_FRACAREA |
int const YAC_SPMAP_INVTGTAREA = YAC_INTERP_SPMAP_INVTGTAREA |
int const YAC_SPMAP_NONE = YAC_INTERP_SPMAP_NONE |
int const YAC_SPMAP_SRCAREA = YAC_INTERP_SPMAP_SRCAREA |
int const YAC_TIME_UNIT_ISO_FORMAT = C_ISO_FORMAT |
int const YAC_TIME_UNIT_MILLISECOND = C_MILLISECOND |
int const YAC_TIME_UNIT_SECOND = C_SECOND |