|
YAC 3.14.0
Yet Another Coupler
|


Go to the source code of this file.
Macros | |
| #define | YAC_INTERP_SPMAP_SPREAD_DISTANCE_DEFAULT (0.0) |
| #define | YAC_INTERP_SPMAP_MAX_SEARCH_DISTANCE_DEFAULT (0.0) |
| #define | YAC_INTERP_SPMAP_WEIGHTED_DEFAULT (YAC_INTERP_SPMAP_AVG) |
| #define | YAC_INTERP_SPMAP_SCALE_TYPE_DEFAULT (YAC_INTERP_SPMAP_NONE) |
| #define | YAC_INTERP_SPMAP_SPHERE_RADIUS_DEFAULT (1.0) |
| #define | YAC_INTERP_SPMAP_FILENAME_DEFAULT (NULL) |
| #define | YAC_INTERP_SPMAP_VARNAME_DEFAULT (NULL) |
| #define | YAC_INTERP_SPMAP_MIN_GLOBAL_ID_DEFAULT (0) |
| #define | YAC_INTERP_SPMAP_CELL_AREA_CONFIG_DEFAULT (NULL) |
| #define | YAC_INTERP_SPMAP_SCALE_CONFIG_DEFAULT (NULL) |
| #define | YAC_INTERP_SPMAP_DEFAULT_CONFIG (NULL) |
| #define | YAC_INTERP_SPMAP_OVERWRITE_DEFAULT (NULL) |
Enumerations | |
| enum | yac_interp_spmap_weight_type { YAC_INTERP_SPMAP_AVG = 0 , YAC_INTERP_SPMAP_DIST = 1 } |
| enum | yac_interp_spmap_scale_type { YAC_INTERP_SPMAP_NONE = 0 , YAC_INTERP_SPMAP_SRCAREA = 1 , YAC_INTERP_SPMAP_INVTGTAREA = 2 , YAC_INTERP_SPMAP_FRACAREA = 3 } |
| enum | yac_interp_spmap_cell_area_provider { YAC_INTERP_SPMAP_CELL_AREA_FILE = 0 , YAC_INTERP_SPMAP_CELL_AREA_YAC = 1 } |
| #define YAC_INTERP_SPMAP_CELL_AREA_CONFIG_DEFAULT (NULL) |
Definition at line 49 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_DEFAULT_CONFIG (NULL) |
Definition at line 51 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_FILENAME_DEFAULT (NULL) |
Definition at line 46 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_MAX_SEARCH_DISTANCE_DEFAULT (0.0) |
Definition at line 42 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_MIN_GLOBAL_ID_DEFAULT (0) |
Definition at line 48 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_OVERWRITE_DEFAULT (NULL) |
Definition at line 52 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_SCALE_CONFIG_DEFAULT (NULL) |
Definition at line 50 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_SCALE_TYPE_DEFAULT (YAC_INTERP_SPMAP_NONE) |
Definition at line 44 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_SPHERE_RADIUS_DEFAULT (1.0) |
Definition at line 45 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_SPREAD_DISTANCE_DEFAULT (0.0) |
Definition at line 41 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_VARNAME_DEFAULT (NULL) |
Definition at line 47 of file interp_method_spmap.h.
| #define YAC_INTERP_SPMAP_WEIGHTED_DEFAULT (YAC_INTERP_SPMAP_AVG) |
Definition at line 43 of file interp_method_spmap.h.
| Enumerator | |
|---|---|
| YAC_INTERP_SPMAP_CELL_AREA_FILE | |
| YAC_INTERP_SPMAP_CELL_AREA_YAC | |
Definition at line 31 of file interp_method_spmap.h.
Definition at line 18 of file interp_method_spmap.h.
| Enumerator | |
|---|---|
| YAC_INTERP_SPMAP_AVG | |
| YAC_INTERP_SPMAP_DIST | |
Definition at line 13 of file interp_method_spmap.h.
| struct interp_method * yac_interp_method_spmap_new | ( | struct yac_interp_spmap_config const * | default_config, |
| struct yac_spmap_overwrite_config const *const * | overwrite_configs ) |
Constructor for an interpolation method of type interp_method_spmap
This method searches for each unmasked source point the closest unmasked target point.
If the maximum search distance is > 0.0, only target points that are within this distance from the source points are being considered. If spread_distance is > 0.0, the method uses the previously found target points as a starting point. Around each starting point, a bounding circle is generated. Afterwards for each starting point all target cells whose bounding circles intersect with the generated one are put into a list. Out of this list all target cells connected directly or indirectly through other cells from this list to the target cell of the starting are selected for the interpolation. Then a weighting method is applied to the selected target cells to generate the weights. Afterwards the weights are scaled.
The default configuration can be overwritten for selected source cells. An arbitrary number of alternative configuration along with selection criteria can be provided. These configurations will be processed one-by-one starting with the first entry in the array. Any source cell which has already been processed previously will be ignored by any further configuration. Once all alternative configurations are processed the default configuration is applied to the remaining source points.
| [in] | default_config | default configuration |
| [in] | overwrite_configs | alternative configurations along with source cell selection criteria |
Definition at line 1228 of file interp_method_spmap.c.


| int yac_interp_spmap_config_compare | ( | struct yac_interp_spmap_config const * | a, |
| struct yac_interp_spmap_config const * | b ) |
Definition at line 1658 of file interp_method_spmap.c.


| struct yac_interp_spmap_config * yac_interp_spmap_config_copy | ( | struct yac_interp_spmap_config const * | spmap_config | ) |
Definition at line 1184 of file interp_method_spmap.c.


| void yac_interp_spmap_config_delete | ( | struct yac_interp_spmap_config * | spmap_config | ) |
Destructor for a Source to Target mapping configuration object
| [in] | spmap_config | Source to Target mapping configuration object |
Definition at line 1511 of file interp_method_spmap.c.


| double yac_interp_spmap_config_get_max_search_distance | ( | struct yac_interp_spmap_config const * | spmap_config | ) |
Returns maximum search distance distance of Source to Target mapping configuration object
| [in] | spmap_config | Source to Target mapping configuration object |
Definition at line 1528 of file interp_method_spmap.c.

| size_t yac_interp_spmap_config_get_pack_size | ( | struct yac_interp_spmap_config const * | spmap_config, |
| MPI_Comm | comm ) |
Definition at line 1730 of file interp_method_spmap.c.


| struct yac_spmap_scale_config const * yac_interp_spmap_config_get_scale_config | ( | struct yac_interp_spmap_config const * | spmap_config | ) |
Returns scaling configuration of Source to Target mapping configuration object
| [in] | spmap_config | Source to Target mapping configuration object |
Definition at line 1544 of file interp_method_spmap.c.

| double yac_interp_spmap_config_get_spread_distance | ( | struct yac_interp_spmap_config const * | spmap_config | ) |
Returns spread distance of Source to Target mapping configuration object
| [in] | spmap_config | Source to Target mapping configuration object |
Definition at line 1520 of file interp_method_spmap.c.

| enum yac_interp_spmap_weight_type yac_interp_spmap_config_get_weight_type | ( | struct yac_interp_spmap_config const * | spmap_config | ) |
Returns weight type of Source to Target mapping configuration object
| [in] | spmap_config | Source to Target mapping configuration object |
Definition at line 1536 of file interp_method_spmap.c.

| struct yac_interp_spmap_config * yac_interp_spmap_config_new | ( | double | spread_distance, |
| double | max_search_distance, | ||
| enum yac_interp_spmap_weight_type | weight_type, | ||
| struct yac_spmap_scale_config const * | scale_config ) |
Constructs a Source to Target mapping configuration object
| [in] | spread_distance | spread distance |
| [in] | max_search_distance | maximum search distance |
| [in] | weight_type | weightening type |
| [in] | scale_config | scaling configuration |
Definition at line 1463 of file interp_method_spmap.c.


| void yac_interp_spmap_config_pack | ( | struct yac_interp_spmap_config const * | spmap_config, |
| void * | buffer, | ||
| int | buffer_size, | ||
| int * | position, | ||
| MPI_Comm | comm ) |
Definition at line 1830 of file interp_method_spmap.c.


| void yac_interp_spmap_config_unpack | ( | void * | buffer, |
| int | buffer_size, | ||
| int * | position, | ||
| struct yac_interp_spmap_config ** | spmap_config, | ||
| MPI_Comm | comm ) |
Definition at line 1941 of file interp_method_spmap.c.


| void yac_spmap_cell_area_config_delete | ( | struct yac_spmap_cell_area_config * | cell_area_config | ) |
Destructor for a Source to Target mapping cell area configuration object
| [in] | cell_area_config | Source to Target mapping cell area configuration object |
Definition at line 1295 of file interp_method_spmap.c.

| struct yac_spmap_cell_area_config * yac_spmap_cell_area_config_file_new | ( | char const * | filename, |
| char const * | varname, | ||
| yac_int | min_global_id ) |
Constructs a Source to Target mapping cell area configuration object
This type enable reading of cell areas from a netCDF file.
| [in] | filename | name of the file containing the cell areas |
| [in] | varname | name of the variable containing the cell areas |
| [in] | min_global_id | minimum global cell id (usually "0" or "1") |
Definition at line 1259 of file interp_method_spmap.c.

| char const * yac_spmap_cell_area_config_get_filename | ( | struct yac_spmap_cell_area_config const * | cell_area_config | ) |
Gets the file name of a cell area configuration object
| [in] | cell_area_config | cell area configuration object |
Definition at line 1340 of file interp_method_spmap.c.

| yac_int yac_spmap_cell_area_config_get_min_global_id | ( | struct yac_spmap_cell_area_config const * | cell_area_config | ) |
Gets the minimum global id of a cell area configuration object
| [in] | cell_area_config | cell area configuration object |
Definition at line 1368 of file interp_method_spmap.c.

| double yac_spmap_cell_area_config_get_sphere_radius | ( | struct yac_spmap_cell_area_config const * | cell_area_config | ) |
Gets the sphere radius of a cell area configuration object
| [in] | cell_area_config | cell area configuration object |
Definition at line 1326 of file interp_method_spmap.c.

| enum yac_interp_spmap_cell_area_provider yac_spmap_cell_area_config_get_type | ( | struct yac_spmap_cell_area_config const * | cell_area_config | ) |
Gets the type of a cell area configuration object
| [in] | cell_area_config | cell area configuration object |
Definition at line 1318 of file interp_method_spmap.c.

| char const * yac_spmap_cell_area_config_get_varname | ( | struct yac_spmap_cell_area_config const * | cell_area_config | ) |
Gets the variable name of a cell area configuration object
| [in] | cell_area_config | cell area configuration object |
Definition at line 1354 of file interp_method_spmap.c.

| struct yac_spmap_cell_area_config * yac_spmap_cell_area_config_yac_new | ( | double | sphere_radius | ) |
Constructs a Source to Target mapping cell area configuration object
This type enable internal computation of cell areas.
| [in] | sphere_radius | sets sphere radius to be used for area computation |
Definition at line 1242 of file interp_method_spmap.c.

| int yac_spmap_overwrite_config_compare | ( | struct yac_spmap_overwrite_config const * | a, |
| struct yac_spmap_overwrite_config const * | b ) |
Definition at line 1673 of file interp_method_spmap.c.


| void yac_spmap_overwrite_config_delete | ( | struct yac_spmap_overwrite_config * | overwrite_config | ) |
Destructor for an alternative Source to Target mapping configuration
| [in] | overwrite_config | Alternative Source to Target mapping configuration |
Definition at line 1566 of file interp_method_spmap.c.


| struct yac_interp_spmap_config const * yac_spmap_overwrite_config_get_spmap_config | ( | struct yac_spmap_overwrite_config const * | overwrite_config | ) |
Gets the configuration of an alternative Source to Target mapping configuration
| [in] | overwrite_config | Alternative Source to Target mapping configurations |
Definition at line 1596 of file interp_method_spmap.c.
| struct yac_point_selection const * yac_spmap_overwrite_config_get_src_point_selection | ( | struct yac_spmap_overwrite_config const * | overwrite_config | ) |
Gets the source point selection method of an alternative Source to Target mapping configuration
| [in] | overwrite_config | Alternative Source to Target mapping configurations |
Definition at line 1587 of file interp_method_spmap.c.
| struct yac_spmap_overwrite_config * yac_spmap_overwrite_config_new | ( | struct yac_point_selection const * | src_point_selection, |
| struct yac_interp_spmap_config const * | config ) |
Constructs an alternative Source to Target mapping configuration
| [in] | src_point_selection | Specifies source points the alternative configuration is to be appied to |
| [in] | config | Alternative configuration to be used |
Definition at line 1552 of file interp_method_spmap.c.


| struct yac_spmap_overwrite_config ** yac_spmap_overwrite_configs_copy | ( | struct yac_spmap_overwrite_config const *const * | overwrite_configs | ) |
Definition at line 1209 of file interp_method_spmap.c.


| void yac_spmap_overwrite_configs_delete | ( | struct yac_spmap_overwrite_config ** | overwrite_configs | ) |
Destructor for an array of alternative Source to Target mapping configurations
| [in] | overwrite_configs | Array of alternative Source to Target mapping configurations |
Definition at line 1577 of file interp_method_spmap.c.


| size_t yac_spmap_overwrite_configs_get_pack_size | ( | struct yac_spmap_overwrite_config const *const * | overwrite_configs, |
| MPI_Comm | comm ) |
Definition at line 1753 of file interp_method_spmap.c.


| void yac_spmap_overwrite_configs_pack | ( | struct yac_spmap_overwrite_config const *const * | overwrite_configs, |
| void * | buffer, | ||
| int | buffer_size, | ||
| int * | position, | ||
| MPI_Comm | comm ) |
Definition at line 1863 of file interp_method_spmap.c.


| void yac_spmap_overwrite_configs_unpack | ( | void * | buffer, |
| int | buffer_size, | ||
| int * | position, | ||
| struct yac_spmap_overwrite_config *** | overwrite_configs, | ||
| MPI_Comm | comm ) |
Definition at line 1979 of file interp_method_spmap.c.


| void yac_spmap_scale_config_delete | ( | struct yac_spmap_scale_config * | scale_config | ) |
Destructor for a Source to Target mapping scaling configuration object
| [in] | scale_config | scaling configuration |
Definition at line 1426 of file interp_method_spmap.c.


| struct yac_spmap_cell_area_config const * yac_spmap_scale_config_get_src_cell_area_config | ( | struct yac_spmap_scale_config const * | scale_config | ) |
Gets source cell area configuration of a Source to Target mapping scaling configuration object
| [in] | scale_config | scaling configuration |
Definition at line 1446 of file interp_method_spmap.c.

| struct yac_spmap_cell_area_config const * yac_spmap_scale_config_get_tgt_cell_area_config | ( | struct yac_spmap_scale_config const * | scale_config | ) |
Gets target cell area configuration of a Source to Target mapping scaling configuration object
| [in] | scale_config | scaling configuration |
Definition at line 1455 of file interp_method_spmap.c.

| enum yac_interp_spmap_scale_type yac_spmap_scale_config_get_type | ( | struct yac_spmap_scale_config const * | scale_config | ) |
Gets type of a Source to Target mapping scaling configuration object
| [in] | scale_config | scaling configuration |
Definition at line 1437 of file interp_method_spmap.c.

| struct yac_spmap_scale_config * yac_spmap_scale_config_new | ( | enum yac_interp_spmap_scale_type | scale_type, |
| struct yac_spmap_cell_area_config const * | source_cell_area_config, | ||
| struct yac_spmap_cell_area_config const * | target_cell_area_config ) |
Constructs a Source to Target mapping scaling configuration object
| [in] | scale_type | scaling type |
| [in] | source_cell_area_config | source cell area configuration |
| [in] | target_cell_area_config | target cell area configuration |
Definition at line 1382 of file interp_method_spmap.c.

