YetAnotherCoupler 3.5.2
|
#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) |
Enumerations | |
enum | { YAC_CONFIG_OUTPUT_SYNC_LOC_DEF_COMP_ = 0 , YAC_CONFIG_OUTPUT_SYNC_LOC_SYNC_DEF_ = 1 , YAC_CONFIG_OUTPUT_SYNC_LOC_ENDDEF_ = 2 } |
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) |
void | yac_cset_config_output_file_instance (int yac_instance_id, const char *filename, int fileformat, int sync_location, int include_definitions) |
void | yac_cset_config_output_file (const char *filename, int filetype, int sync_location, int include_definitions) |
void | yac_cset_grid_output_file_instance (int yac_instance_id, const char *gridname, const char *filename) |
void | yac_cset_grid_output_file (const char *gridname, const char *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) |
int | yac_cget_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) |
static void | check_cell_to_vertex (int *cell_to_vertex, int *num_vertices_per_cell, int nbr_cells, int nbr_vertices, char const *routine_name) |
static void | check_cell_to_edge (int *cell_to_edge, int *num_edges_per_cell, int nbr_cells, int nbr_edges, 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_tgt_mask_name (int ext_couple_config_id, char const **tgt_mask_name) |
void | yac_cset_ext_couple_config_yaxt_exchanger_name_ (struct yac_ext_couple_config *ext_couple_config, char const *yaxt_exchanger_name) |
void | yac_cset_ext_couple_config_yaxt_exchanger_name (int ext_couple_config_id, char const *yaxt_exchanger_name) |
void | yac_cget_ext_couple_config_yaxt_exchanger_name (int ext_couple_config_id, char const **yaxt_exchanger_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_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_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_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_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_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_cdef_grid_cloud (const char *grid_name, int nbr_points, double *x_points, double *y_points, 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) |
void | yac_ccompute_grid_cell_areas (int grid_id, double *cell_areas) |
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 max_search_distance, 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, 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_spmap_f2c (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_hcsbb (int interp_stack_config_id) |
void | yac_cadd_interp_stack_config_user_file (int interp_stack_config_id, char const *filename) |
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) |
static int | yac_cget_interp_stack_config_from_string (char const *interp_stack_config, int parse_flags) |
void | yac_cget_interp_stack_config_from_string_yaml (char const *interp_stack_config, int *interp_stack_config_id) |
void | yac_cget_interp_stack_config_from_string_json (char const *interp_stack_config, int *interp_stack_config_id) |
#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 ) |
anonymous enum |
|
static |
|
static |
|
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 3897 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 3701 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 3862 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 3759 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 ) |
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 3720 of file yac.c.
void yac_cadd_interp_stack_config_nnn | ( | int | interp_stack_config_id, |
int | type, | ||
size_t | n, | ||
double | max_search_distance, | ||
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] | max_search_distance | maximum search distance for each point |
[in] | scale | scale parameter required by some reduction types |
Definition at line 3738 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, | ||
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 ) |
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] | src_filename | netCDF file contain the source cell areas |
[in] | src_varname | variable name of source cell areas |
[in] | src_min_global_id | minimum global id used to map global cell ids to values in the netCDF file |
[in] | tgt_sphere_radius | sphere radius used for target cell area computation |
[in] | tgt_filename | netCDF file contain the target cell areas |
[in] | tgt_varname | variable name of target cell areas |
[in] | tgt_min_global_id | minimum global id used to map global cell ids to values in the netCDF file |
Definition at line 3778 of file yac.c.
void yac_cadd_interp_stack_config_spmap_f2c | ( | 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 ) |
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 3884 of file yac.c.
void yac_cadd_interp_stack_config_user_file | ( | int | interp_stack_config_id, |
char const * | filename ) |
adds user weight file interpolation to the bottom of a interpolation stack
[in] | interp_stack_config_id | interpolation stack |
[in] | filename | weight file name |
Definition at line 3841 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 1706 of file yac.c.
void yac_ccleanup | ( | ) |
Clean-up YAC (same as yac_cfinalize but without MPI_Finalize; see Restarting YAC)
Definition at line 590 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 582 of file yac.c.
|
static |
void yac_ccompute_grid_cell_areas | ( | int | grid_id, |
double * | cell_areas ) |
computes the areas of all cells in a grid (an earth radius of 1.0 is assumed)
[in] | grid_id | |
[out] | cell_areas |
Definition at line 3646 of file yac.c.
void yac_cdef_calendar | ( | int | calendar | ) |
Defines the calendar of the default instance
[in] | calendar | The calendar |
Definition at line 648 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 886 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 880 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 1276 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 1268 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 872 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 847 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 1632 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 1600 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 1585 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 1615 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 640 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 631 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 1216 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 1143 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 1304 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 1295 of file yac.c.
void yac_cdef_grid_cloud | ( | const char * | grid_name, |
int | nbr_points, | ||
double * | x_points, | ||
double * | y_points, | ||
int * | grid_id ) |
Definition of grid consisting of a cloud of points
[in] | grid_name | name of the grid |
[in] | nbr_points | number of points |
[in] | x_points | array of point longitudes, in radians |
[in] | y_points | array of point latitudes, in radians |
[out] | grid_id | id of generated grid |
Definition at line 3538 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 3434 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 1290 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 1281 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 3416 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 3452 of file yac.c.
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 ) |
Definition of an unstructured grid with explicit edge definition
[in] | grid_name | name of the grid |
[in] | nbr_vertices | number of vertices |
[in] | nbr_cells | number of cells |
[in] | nbr_edges | number of edges |
[in] | num_edges_per_cell | array containing the number of edges for each cell |
[in] | x_vertices | array of vertex longitudes, in radians |
[in] | y_vertices | array of vertex latitudes, in radians |
[in] | cell_to_edge | connectivity of edges belonging to cells (the edge indices per cell have to be in clockwise or counterclockwise ordering) |
[in] | edge_to_vertex | connectivity of vertices belonging to edges |
[out] | grid_id | id of generated grid |
Definition at line 3494 of file yac.c.
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 ) |
Definition of an unstructured grid with lon-lat edges with explicit edge definition
[in] | grid_name | name of the grid |
[in] | nbr_vertices | number of vertices |
[in] | nbr_cells | number of cells |
[in] | nbr_edges | number of edges |
[in] | num_edges_per_cell | array containing the number of edges for each cell |
[in] | x_vertices | array of vertex longitudes, in radians |
[in] | y_vertices | array of vertex latitudes, in radians |
[in] | cell_to_edge | connectivity of edges belonging to cells (the edge indices per cell have to be in clockwise or counterclockwise ordering) |
[in] | edge_to_vertex | connectivity of vertices belonging to edges |
[out] | grid_id | id of generated grid |
Definition at line 3516 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 3473 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 1115 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 1096 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 1012 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 976 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 1050 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 1259 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 1247 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 3000 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 3015 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 3006 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 2993 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 2963 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 2686 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 2827 of file yac.c.
void yac_cexchange_frac_ | ( | int const | send_field_id, |
int const | recv_field_id, | ||
int const | collect |