![]() |
YAC 3.7.0
Yet Another Coupler
|
Go to the source code of this file.
Data Structures | |
struct | yac_interp_weights_data |
Macros | |
#define | YAC_WEIGHT_FILE_ON_EXISTING_DEFAULT_VALUE (YAC_WEIGHT_FILE_OVERWRITE) |
Enumerations | |
enum | yac_interp_weights_reorder_type { YAC_MAPPING_ON_SRC , YAC_MAPPING_ON_TGT } |
enum | yac_weight_file_on_existing { YAC_WEIGHT_FILE_ERROR = 0 , YAC_WEIGHT_FILE_KEEP = 1 , YAC_WEIGHT_FILE_OVERWRITE = 2 , YAC_WEIGHT_FILE_UNDEFINED = 3 } |
Functions | |
struct yac_interp_weights * | yac_interp_weights_new (MPI_Comm comm, enum yac_location tgt_location, enum yac_location *src_locations, size_t num_src_fields) |
void | yac_interp_weights_write_to_file (struct yac_interp_weights *weights, char const *filename, char const *src_grid_name, char const *tgt_grid_name, size_t src_grid_size, size_t tgt_grid_size, enum yac_weight_file_on_existing on_existing) |
struct yac_interpolation * | yac_interp_weights_get_interpolation (struct yac_interp_weights *weights, enum yac_interp_weights_reorder_type reorder, size_t collection_size, double frac_mask_fallback_value, double scaling_factor, double scaling_summand, char const *yaxt_exchanger_name) |
void | yac_interp_weights_get_interpolation_raw (struct yac_interp_weights *weights, size_t collection_size, double frac_mask_fallback_value, double scaling_factor, double scaling_summand, char const *yaxt_exchanger_name, struct yac_interpolation_exchange **interpolation_exchange, struct yac_interp_weights_data *interp_weights_data) |
size_t | yac_interp_weights_get_interp_count (struct yac_interp_weights *weights) |
yac_int * | yac_interp_weights_get_interp_tgt (struct yac_interp_weights *weights) |
void | yac_interp_weights_delete (struct yac_interp_weights *weights) |
void | yac_interp_weights_data_init (struct yac_interp_weights_data *interp_weights_data) |
struct yac_interp_weights_data | yac_interp_weights_data_copy (struct yac_interp_weights_data interp_weights_data) |
void | yac_interp_weights_data_free (struct yac_interp_weights_data interp_weights_data) |
#define YAC_WEIGHT_FILE_ON_EXISTING_DEFAULT_VALUE (YAC_WEIGHT_FILE_OVERWRITE) |
Definition at line 57 of file interp_weights.h.
Enumerator | |
---|---|
YAC_MAPPING_ON_SRC | weights will be applied at source processes |
YAC_MAPPING_ON_TGT | weights will be applied at target processes |
Definition at line 45 of file interp_weights.h.
Definition at line 50 of file interp_weights.h.
struct yac_interp_weights_data yac_interp_weights_data_copy | ( | struct yac_interp_weights_data | interp_weights_data | ) |
Generates a copy of a provided instance of type yac_interp_weights_data
[in] | interp_weights_data | data to be copied |
Definition at line 6193 of file interp_weights.c.
void yac_interp_weights_data_free | ( | struct yac_interp_weights_data | interp_weights_data | ) |
Frees data associated with an instance of type yac_interp_weights_data
[in,out] | interp_weights_data | data to be free |
Definition at line 6239 of file interp_weights.c.
void yac_interp_weights_data_init | ( | struct yac_interp_weights_data * | interp_weights_data | ) |
Initialises an instance of type yac_interp_weights with empty data
[in,out] | interp_weights_data | data to be initialised |
Definition at line 6186 of file interp_weights.c.
void yac_interp_weights_delete | ( | struct yac_interp_weights * | weights | ) |
Destructor for interpolation weights.
[in,out] | weights | interpolation weights |
Definition at line 6177 of file interp_weights.c.
size_t yac_interp_weights_get_interp_count | ( | struct yac_interp_weights * | weights | ) |
returns the count of all target for which the weights contain a stencil
[in] | weights | interpolation weights |
Definition at line 6153 of file interp_weights.c.
yac_int * yac_interp_weights_get_interp_tgt | ( | struct yac_interp_weights * | weights | ) |
returns the global ids of all targets for which the weights contain a stencil
[in] | weights | interpolation weights |
Definition at line 6159 of file interp_weights.c.
struct yac_interpolation * yac_interp_weights_get_interpolation | ( | struct yac_interp_weights * | weights, |
enum yac_interp_weights_reorder_type | reorder, | ||
size_t | collection_size, | ||
double | frac_mask_fallback_value, | ||
double | scaling_factor, | ||
double | scaling_summand, | ||
char const * | yaxt_exchanger_name ) |
generates an interpolation from interpolation weights
[in] | weights | interpolation weights |
[in] | reorder | determines at which processes the weights are to be applied |
[in] | collection_size | collection size |
[in] | frac_mask_fallback_value | fallback value for dynamic fractional masking |
[in] | scaling_factor | scaling factor |
[in] | scaling_summand | scaling summand |
[in] | yaxt_exchanger_name | name of the yaxt exchanger that is to be used in the interpolation |
Definition at line 4572 of file interp_weights.c.
void yac_interp_weights_get_interpolation_raw | ( | struct yac_interp_weights * | weights, |
size_t | collection_size, | ||
double | frac_mask_fallback_value, | ||
double | scaling_factor, | ||
double | scaling_summand, | ||
char const * | yaxt_exchanger_name, | ||
struct yac_interpolation_exchange ** | interpolation_exchange, | ||
struct yac_interp_weights_data * | interp_weights_data ) |
generates a raw interpolation from interpolation weights
In an exchange, the interpolation will receive on all target process the source points required to compute the local target points based on the interpolation data, which is provied by this routine as well.
[in] | weights | interpolation weights |
[in] | collection_size | collection size |
[in] | frac_mask_fallback_value | fallback value for dynamic fractional masking |
[in] | scaling_factor | scaling factor |
[in] | scaling_summand | scaling summand |
[in] | yaxt_exchanger_name | name of the yaxt exchanger that is to be used in the interpolation |
[out] | interpolation_exchange | interpolation exchange structure |
[out] | interp_weights_data | interpolation data required to compute local target points from the received source points |
Definition at line 5046 of file interp_weights.c.
struct yac_interp_weights * yac_interp_weights_new | ( | MPI_Comm | comm, |
enum yac_location | tgt_location, | ||
enum yac_location * | src_locations, | ||
size_t | num_src_fields ) |
Constructor for interpolation weights.
[in] | comm | MPI communicator |
[in] | tgt_location | location of target field |
[in] | src_locations | locations of source fields |
[in] | num_src_fields | number of source fields |
Definition at line 148 of file interp_weights.c.
void yac_interp_weights_write_to_file | ( | struct yac_interp_weights * | weights, |
char const * | filename, | ||
char const * | src_grid_name, | ||
char const * | tgt_grid_name, | ||
size_t | src_grid_size, | ||
size_t | tgt_grid_size, | ||
enum yac_weight_file_on_existing | on_existing ) |
writes interpolation weights to file
[in] | weights | interpolation weights |
[in] | filename | file name |
[in] | src_grid_name | name of the source grid |
[in] | tgt_grid_name | name of the target grid |
[in] | src_grid_size | global size of the source grid |
[in] | tgt_grid_size | global size of the target grid |
[in] | on_existing | specifies how YAC is supposed to handle the case of an already existing file with the same name |
Definition at line 5900 of file interp_weights.c.