|
YAC 3.21.0
Yet Another Coupler
|


Go to the source code of this file.
Macros | |
| #define | YAC_INSTANCE_CONFIG_OUTPUT_REF_COMP "comp" |
| #define | YAC_INSTANCE_CONFIG_OUTPUT_REF_SYNC "sync" |
| #define | YAC_INSTANCE_CONFIG_OUTPUT_REF_ENDDEF "enddef" |
Functions | |
| struct yac_instance * | yac_instance_new (MPI_Comm comm) |
| void | yac_instance_dummy_new (MPI_Comm comm) |
| void | yac_instance_delete (struct yac_instance *instance) |
| MPI_Comm | yac_instance_get_comm (struct yac_instance *instance) |
| void | yac_instance_def_calendar (int calendar_type, char const *source) |
| void | yac_instance_def_datetime (struct yac_instance *instance, const char *start_datetime, const char *end_datetime) |
| char * | yac_instance_get_start_datetime (struct yac_instance *instance) |
| char * | yac_instance_get_end_datetime (struct yac_instance *instance) |
| struct yac_couple_config * | yac_instance_get_couple_config (struct yac_instance *instance) |
| void | yac_instance_set_couple_config (struct yac_instance *instance, struct yac_couple_config *couple_config) |
| void | yac_instance_def_components (struct yac_instance *instance, char const **comp_names, size_t num_comps) |
| int | yac_instance_components_are_defined (struct yac_instance *instance) |
| struct coupling_field * | yac_instance_add_field (struct yac_instance *instance, char const *field_name, char const *comp_name, struct yac_basic_grid *grid, struct yac_interp_field *interp_fields, size_t num_interp_fields, int collection_size, char const *timestep) |
| void | yac_instance_def_couple (struct yac_instance *instance, char const *src_comp_name, char const *src_grid_name, char const *src_field_name, char const *tgt_comp_name, char const *tgt_grid_name, char const *tgt_field_name, char const *coupling_period, int time_reduction, struct yac_interp_stack_config *interp_stack_config, int src_lag, int tgt_lag, const char *weight_file_name, int weight_file_on_existing, int mapping_on_source, double scale_factor, double scale_summand, size_t num_src_mask_names, char const *const *src_mask_names, char const *tgt_mask_name, char const *yaxt_exchanger_name, struct yac_collection_selection const *collection_selection, int use_raw_exchange) |
| void | yac_instance_sync_def (struct yac_instance *instance) |
| void | yac_instance_sync_def_comps (struct yac_instance *instance, char const **comp_names, size_t num_comp_names) |
| void | yac_instance_setup (struct yac_instance *instance, struct yac_basic_grid **grids, size_t num_grids) |
| char * | yac_instance_setup_and_emit_config (struct yac_instance *instance, struct yac_basic_grid **grids, size_t num_grids, int emit_flags) |
| MPI_Comm | yac_instance_get_comps_comm (struct yac_instance *instance, char const **comp_names, size_t num_comp_names) |
| int | yac_instance_get_nbr_comps (struct yac_instance *instance) |
| int | yac_instance_get_comp_size (struct yac_instance *instance, const char *comp_name) |
| int | yac_instance_get_comp_rank (struct yac_instance *instance, const char *comp_name) |
| struct coupling_field * | yac_instance_get_field (struct yac_instance *instance, const char *comp_name, const char *grid_name, const char *field_name) |
| #define YAC_INSTANCE_CONFIG_OUTPUT_REF_COMP "comp" |
Definition at line 13 of file instance.h.
| #define YAC_INSTANCE_CONFIG_OUTPUT_REF_ENDDEF "enddef" |
Definition at line 15 of file instance.h.
| #define YAC_INSTANCE_CONFIG_OUTPUT_REF_SYNC "sync" |
Definition at line 14 of file instance.h.
| struct coupling_field * yac_instance_add_field | ( | struct yac_instance * | instance, |
| char const * | field_name, | ||
| char const * | comp_name, | ||
| struct yac_basic_grid * | grid, | ||
| struct yac_interp_field * | interp_fields, | ||
| size_t | num_interp_fields, | ||
| int | collection_size, | ||
| char const * | timestep ) |
Adds a coupling field to a YAC instance
| [in] | instance | YAC instance |
| [in] | field_name | name of the coupling field |
| [in] | comp_name | component name |
| [in] | grid | grid |
| [in] | interp_fields | interpolation fields |
| [in] | num_interp_fields | number of entries in interp_fields |
| [in] | collection_size | collection size of field |
| [in] | timestep | timestep at which put/get is called for this field in ISO 8601 format |
Definition at line 1666 of file instance.c.


| int yac_instance_components_are_defined | ( | struct yac_instance * | instance | ) |
Returns true if the components for this instance have already been defined
| [in] | instance | YAC instance |
Definition at line 1653 of file instance.c.

| void yac_instance_def_calendar | ( | int | calendar_type, |
| char const * | source ) |
Definition of calendar type
The definition is global for all instances. This function will set the calendar type, if it was unset before, or check that the provided calendar type is the same as the already set calendar type, if it was set before.
| [in] | calendar_type | calendar type to be set or checked |
| [in] | source | source of the calendar definition |
Definition at line 1557 of file instance.c.


| void yac_instance_def_components | ( | struct yac_instance * | instance, |
| char const ** | comp_names, | ||
| size_t | num_comps ) |
Defines the components for a YAC instance
| [in] | instance | YAC instance |
| [in] | comp_names | names of components |
| [in] | num_comps | number of entries in comp_names |
Definition at line 1603 of file instance.c.


| void yac_instance_def_couple | ( | struct yac_instance * | instance, |
| char const * | src_comp_name, | ||
| char const * | src_grid_name, | ||
| char const * | src_field_name, | ||
| char const * | tgt_comp_name, | ||
| char const * | tgt_grid_name, | ||
| char const * | tgt_field_name, | ||
| char const * | coupling_period, | ||
| int | time_reduction, | ||
| struct yac_interp_stack_config * | interp_stack_config, | ||
| int | src_lag, | ||
| int | tgt_lag, | ||
| const char * | weight_file_name, | ||
| int | weight_file_on_existing, | ||
| int | mapping_on_source, | ||
| double | scale_factor, | ||
| double | scale_summand, | ||
| size_t | num_src_mask_names, | ||
| char const *const * | src_mask_names, | ||
| char const * | tgt_mask_name, | ||
| char const * | yaxt_exchanger_name, | ||
| struct yac_collection_selection const * | collection_selection, | ||
| int | use_raw_exchange ) |
Defines a couple for a YAC instance
| [in] | instance | 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_period | time step for the coupling |
| [in] | time_reduction | type for reducing multiple timesteps ( |
| [in] | interp_stack_config | 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] | weight_file_name | file name for the weights file. NULL to disable this feature |
| [in] | weight_file_on_existing | specifies how YAC is supposed to handle the case of an already existing file with the same name |
| [in] | mapping_on_source | side where the mapping is computed. Currently only source = 1 and target = 0 are allowed |
| [in] | scale_factor | scale factor |
| [in] | scale_summand | scale summand |
| [in] | num_src_mask_names | number of source field mask names ("0" if no source field mask names are provided) |
| [in] | src_mask_names | array of source field mask names ("NULL" if num_src_mask_names == 0) |
| [in] | tgt_mask_name | target field mask name ("NULL" if no target field mask name is provided) |
| [in] | yaxt_exchanger_name | yaxt exchanger method to be used for the interpoolation |
| [in] | collection_selection | collection selection for this couple |
| [in] | use_raw_exchange | enables the use of raw exchange (YAC only transfers data required for interpolation to target process, afterwards user has to apply the interpolation himself) |
Definition at line 1729 of file instance.c.


| void yac_instance_def_datetime | ( | struct yac_instance * | instance, |
| const char * | start_datetime, | ||
| const char * | end_datetime ) |
Definition of job start and end datetime
| [in] | instance | YAC instance |
| [in] | start_datetime | calendar job start datetime |
| [in] | end_datetime | calendar job end datetime |
Definition at line 1585 of file instance.c.


| void yac_instance_delete | ( | struct yac_instance * | instance | ) |
Destructor for a YAC instance
| [in] | instance | YAC instance to be deleted |
Definition at line 1509 of file instance.c.


| void yac_instance_dummy_new | ( | MPI_Comm | comm | ) |
Dummy constructor, which can be called instead of yac_instance_new.
| [in] | comm |
Definition at line 1503 of file instance.c.

| MPI_Comm yac_instance_get_comm | ( | struct yac_instance * | instance | ) |
Query routine for the MPI communicator associated with the instance.
| [in] | instance | YAC instance |
Definition at line 1535 of file instance.c.

| int yac_instance_get_comp_rank | ( | struct yac_instance * | instance, |
| const char * | comp_name ) |
Definition at line 1456 of file instance.c.


| int yac_instance_get_comp_size | ( | struct yac_instance * | instance, |
| const char * | comp_name ) |
Definition at line 1447 of file instance.c.


| MPI_Comm yac_instance_get_comps_comm | ( | struct yac_instance * | instance, |
| char const ** | comp_names, | ||
| size_t | num_comp_names ) |
returns a communicator containing all processes of the provided components
| [in] | instance | YAC instance |
| [in] | comp_names | component names |
| [in] | num_comp_names |
Definition at line 1431 of file instance.c.


| struct yac_couple_config * yac_instance_get_couple_config | ( | struct yac_instance * | instance | ) |
Get the coupling configuration data from a YAC instance
| [in] | instance | YAC instance |
Definition at line 1542 of file instance.c.

| char * yac_instance_get_end_datetime | ( | struct yac_instance * | instance | ) |
query routine for the end datetime of the job
| [in] | instance | YAC instance |
Definition at line 1598 of file instance.c.


| struct coupling_field * yac_instance_get_field | ( | struct yac_instance * | instance, |
| const char * | comp_name, | ||
| const char * | grid_name, | ||
| const char * | field_name ) |
Definition at line 1755 of file instance.c.


| int yac_instance_get_nbr_comps | ( | struct yac_instance * | instance | ) |
Definition at line 1440 of file instance.c.


| char * yac_instance_get_start_datetime | ( | struct yac_instance * | instance | ) |
query routine for the start datetime of the job
| [in] | instance | YAC instance |
Definition at line 1593 of file instance.c.


| struct yac_instance * yac_instance_new | ( | MPI_Comm | comm | ) |
Constructor for a YAC instance.
| [in] | comm | MPI communicator that contains the processes of all components that will be registered with this YAC instance |
Definition at line 1465 of file instance.c.


| void yac_instance_set_couple_config | ( | struct yac_instance * | instance, |
| struct yac_couple_config * | couple_config ) |
Sets the coupling configuration data for a YAC instance
| [in] | instance | YAC instance |
| [in] | couple_config | coupling configuration data |
Definition at line 1548 of file instance.c.

| void yac_instance_setup | ( | struct yac_instance * | instance, |
| struct yac_basic_grid ** | grids, | ||
| size_t | num_grids ) |
initiates the generation of all data structures required for interpolation
| [in] | instance | YAC instance |
| [in] | grids | all locally available basic grids |
| [in] | num_grids | number of locally available basic grids |
Definition at line 1369 of file instance.c.


| char * yac_instance_setup_and_emit_config | ( | struct yac_instance * | instance, |
| struct yac_basic_grid ** | grids, | ||
| size_t | num_grids, | ||
| int | emit_flags ) |
initiates the generation of all data structures required for interpolation
| [in] | instance | YAC instance |
| [in] | grids | all locally available basic grids |
| [in] | num_grids | number of locally available basic grids |
| [in] | emit_flags | flags for configuring the generated coupling configuration output (YAC_YAML_EMITTER_DEFAULT or YAC_YAML_EMITTER_JSON) |
Definition at line 1419 of file instance.c.


| void yac_instance_sync_def | ( | struct yac_instance * | instance | ) |
synchronizes the grid and field definitions
| [in] | instance | YAC instance |
Definition at line 1336 of file instance.c.


| void yac_instance_sync_def_comps | ( | struct yac_instance * | instance, |
| char const ** | comp_names, | ||
| size_t | num_comp_names ) |
synchronizes the grid and field definitions for provided components
| [in] | instance | YAC instance |
| [in] | comp_names | component names |
| [in] | num_comp_names | number of entries in comp_names |
comp_names. comp_names. Definition at line 1348 of file instance.c.

