YAC 3.13.0
Yet Another Coupler
Loading...
Searching...
No Matches
yac.h
Go to the documentation of this file.
1// Copyright (c) 2024 The YAC Authors
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#ifndef YAC_H
6#define YAC_H
7
8#include <stddef.h>
9#include <mpi.h>
10
11#include "yac_version_check.h"
12#include "yac_config.h"
13
14extern int const YAC_LOCATION_CELL;
15extern int const YAC_LOCATION_CORNER;
16extern int const YAC_LOCATION_EDGE;
17
18extern int const YAC_EXCHANGE_TYPE_NONE;
19extern int const YAC_EXCHANGE_TYPE_SOURCE;
20extern int const YAC_EXCHANGE_TYPE_TARGET;
21
22extern int const YAC_ACTION_NONE;
23extern int const YAC_ACTION_REDUCTION;
24extern int const YAC_ACTION_COUPLING;
25extern int const YAC_ACTION_GET_FOR_RESTART;
26extern int const YAC_ACTION_PUT_FOR_RESTART;
27extern int const YAC_ACTION_OUT_OF_BOUND;
28
29extern int const YAC_REDUCTION_TIME_NONE;
30extern int const YAC_REDUCTION_TIME_ACCUMULATE;
31extern int const YAC_REDUCTION_TIME_AVERAGE;
32extern int const YAC_REDUCTION_TIME_MINIMUM;
33extern int const YAC_REDUCTION_TIME_MAXIMUM;
34
35extern int const YAC_TIME_UNIT_MILLISECOND;
36extern int const YAC_TIME_UNIT_SECOND;
37extern int const YAC_TIME_UNIT_MINUTE;
38extern int const YAC_TIME_UNIT_HOUR;
39extern int const YAC_TIME_UNIT_DAY;
40extern int const YAC_TIME_UNIT_MONTH;
41extern int const YAC_TIME_UNIT_YEAR;
42extern int const YAC_TIME_UNIT_ISO_FORMAT;
43
44extern int const YAC_CALENDAR_NOT_SET;
45extern int const YAC_PROLEPTIC_GREGORIAN;
46extern int const YAC_YEAR_OF_365_DAYS;
47extern int const YAC_YEAR_OF_360_DAYS;
48
49extern int const YAC_AVG_ARITHMETIC;
50extern int const YAC_AVG_DIST;
51extern int const YAC_AVG_BARY;
52
53extern int const YAC_NCC_AVG;
54extern int const YAC_NCC_DIST;
55
56extern int const YAC_NNN_AVG;
57extern int const YAC_NNN_DIST;
58extern int const YAC_NNN_GAUSS;
59extern int const YAC_NNN_RBF;
60extern int const YAC_NNN_ZERO;
61
62extern int const YAC_CONSERV_DESTAREA;
63extern int const YAC_CONSERV_FRACAREA;
64
65extern int const YAC_SPMAP_AVG;
66extern int const YAC_SPMAP_DIST;
67
68extern int const YAC_SPMAP_NONE;
69extern int const YAC_SPMAP_SRCAREA;
70extern int const YAC_SPMAP_INVTGTAREA;
71extern int const YAC_SPMAP_FRACAREA;
72
73extern int const YAC_FILE_MISSING_ERROR;
74extern int const YAC_FILE_MISSING_CONT;
75
76extern int const YAC_FILE_SUCCESS_STOP;
77extern int const YAC_FILE_SUCCESS_CONT;
78
79extern int const YAC_YAML_EMITTER_DEFAULT;
80extern int const YAC_YAML_EMITTER_JSON;
81
82extern int const YAC_CONFIG_OUTPUT_FORMAT_YAML;
83extern int const YAC_CONFIG_OUTPUT_FORMAT_JSON;
84
87extern int const YAC_CONFIG_OUTPUT_SYNC_LOC_ENDDEF;
88
89extern double const YAC_FRAC_MASK_NO_VALUE;
90
91extern int const YAC_WGT_ON_EXISTING_ERROR;
94extern int const YAC_WGT_ON_EXISTING_KEEP;
95extern int const YAC_WGT_ON_EXISTING_OVERWRITE;
96
97#define YAC_MAX_CHARLEN (132)
98
99// Global index type for YAC
100typedef YAC_INT yac_int;
101
102/* -----------------------------------------------------------------------------
103
104 C and Fortran description of the user API
105
106 ----------------------------------------------------------------------------- */
107
132 void yac_cmpi_handshake( MPI_Comm comm,
133 size_t n,
134 char const** group_names,
135 MPI_Comm * group_comms );
136
147
159 void yac_cinit (void);
160
175 void yac_cinit_instance ( int * yac_instance_id );
176
188 void yac_cinit_comm ( MPI_Comm comm );
189
203 void yac_cinit_comm_instance ( MPI_Comm comm,
204 int * yac_instance_id );
205
206/* -------------------------------------------------------------------------------- */
207
213 void yac_cinit_dummy(void);
214
223 void yac_cinit_comm_dummy ( MPI_Comm comm );
224
225/* -------------------------------------------------------------------------------- */
226
233 void yac_cread_config_yaml_instance( int yac_instance_id,
234 const char * yaml_file);
235
240 void yac_cread_config_yaml(const char * yaml_file);
241
248 void yac_cread_config_json_instance( int yac_instance_id,
249 const char * json_file);
250
255 void yac_cread_config_json( const char * json_file );
256
257/* -------------------------------------------------------------------------------- */
258
273 void yac_cset_config_output_file_instance( int yac_instance_id,
274 const char * filename,
275 int fileformat,
276 int sync_location,
277 int include_definitions);
278
292 void yac_cset_config_output_file( const char * filename,
293 int fileformat,
294 int sync_location,
295 int include_definitions);
296
297/* -------------------------------------------------------------------------------- */
298
306 void yac_cset_grid_output_file_instance( int yac_instance_id,
307 const char * gridname,
308 const char * filename);
309
316 void yac_cset_grid_output_file( const char * gridname,
317 const char * filename);
318
319/* -------------------------------------------------------------------------------- */
320
327 void yac_ccleanup ();
328
336 void yac_ccleanup_instance ( int yac_instance_id );
337
338/* -------------------------------------------------------------------------------- */
339
348 void yac_cfinalize ();
349
359 void yac_cfinalize_instance (int yac_instance_id);
360
361/* -------------------------------------------------------------------------------- */
362
369 void yac_cdef_datetime ( const char * start_datetime,
370 const char * end_datetime );
371
379 void yac_cdef_datetime_instance ( int yac_instance_id,
380 const char * start_datetime,
381 const char * end_datetime );
382
388 void yac_cdef_calendar ( int calendar );
389
393 int yac_cget_calendar ( );
394
395/* -------------------------------------------------------------------------------- */
396
404 void yac_cget_groupcomm( MPI_Comm * group_comm );
405
414 void yac_cget_groupcomm_instance( int yac_instance_id,
415 MPI_Comm * group_comm );
416
417/* -------------------------------------------------------------------------------- */
418
427 void yac_cpredef_comp( char const * comp_name,
428 int * comp_id );
429
439 void yac_cpredef_comp_instance( int yac_instance_id,
440 char const * comp_name,
441 int * comp_id );
442
443/* -------------------------------------------------------------------------------- */
444
455 void yac_cdef_comp ( const char * comp_name,
456 int * comp_id );
457
470 void yac_cdef_comp_instance ( int yac_instance_id,
471 const char * comp_name,
472 int * comp_id );
473
474/* -------------------------------------------------------------------------------- */
475
487 void yac_cdef_comps ( const char ** comp_names,
488 int num_comps,
489 int * comp_ids );
490
503 void yac_cdef_comps_instance ( int yac_instance_id,
504 const char ** comp_names,
505 int num_comps,
506 int * comp_ids );
507
508/* -------------------------------------------------------------------------------- */
509
517 void yac_cget_comp_comm ( int comp_id,
518 MPI_Comm *comp_comm );
519
520/* -------------------------------------------------------------------------------- */
521
534 void yac_cget_comps_comm ( const char ** comp_names,
535 int num_comps,
536 MPI_Comm * comps_comm);
537
550 void yac_cget_comps_comm_instance ( int yac_instance_id,
551 const char ** comp_names,
552 int num_comps,
553 MPI_Comm * comps_comm );
554
555/* -------------------------------------------------------------------------------- */
556
574 void yac_cdef_points_reg2d ( int const grid_id,
575 int const *nbr_points,
576 int const location,
577 double const *x_points,
578 double const *y_points,
579 int *point_id );
580
581/* -------------------------------------------------------------------------------- */
582
600 void yac_cdef_points_curve2d ( int const grid_id,
601 int const *nbr_points,
602 int const location,
603 double const *x_points,
604 double const *y_points,
605 int *point_id );
606
607/* -------------------------------------------------------------------------------- */
608
622 void yac_cdef_points_unstruct ( int const grid_id,
623 int const nbr_points,
624 int const location,
625 double const *x_points,
626 double const *y_points,
627 int *point_id );
628
629/* -------------------------------------------------------------------------------- */
630
650 void yac_cdef_points_reg2d_rot ( int const grid_id,
651 int const *nbr_points,
652 int const location,
653 double const *x_points,
654 double const *y_points,
655 double x_north_pole,
656 double y_north_pole,
657 int *point_id );
658
659/* -------------------------------------------------------------------------------- */
660
710 void yac_cdef_grid_reg2d ( const char * grid_name,
711 int nbr_vertices[2],
712 int cyclic[2],
713 double *x_vertices,
714 double *y_vertices,
715 int *grid_id);
716
717/* -------------------------------------------------------------------------------- */
718
768 void yac_cdef_grid_curve2d ( const char * grid_name,
769 int nbr_vertices[2],
770 int cyclic[2],
771 double *x_vertices,
772 double *y_vertices,
773 int *grid_id);
774
775/* -------------------------------------------------------------------------------- */
776
792 void yac_cdef_grid_unstruct ( const char * grid_name,
793 int nbr_vertices,
794 int nbr_cells,
795 int *num_vertices_per_cell,
796 double *x_vertices,
797 double *y_vertices,
798 int *cell_to_vertex,
799 int *grid_id);
800
801/* -------------------------------------------------------------------------------- */
802
819 void yac_cdef_grid_unstruct_ll ( const char * grid_name,
820 int nbr_vertices,
821 int nbr_cells,
822 int *num_vertices_per_cell,
823 double *x_vertices,
824 double *y_vertices,
825 int *cell_to_vertex,
826 int *grid_id);
827
828/* -------------------------------------------------------------------------------- */
829
846 void yac_cdef_grid_unstruct_edge ( const char * grid_name,
847 int nbr_vertices,
848 int nbr_cells,
849 int nbr_edges,
850 int *num_edges_per_cell,
851 double *x_vertices,
852 double *y_vertices,
853 int *cell_to_edge,
854 int *edge_to_vertex,
855 int *grid_id);
856
857/* -------------------------------------------------------------------------------- */
858
876 void yac_cdef_grid_unstruct_edge_ll ( const char * grid_name,
877 int nbr_vertices,
878 int nbr_cells,
879 int nbr_edges,
880 int *num_edges_per_cell,
881 double *x_vertices,
882 double *y_vertices,
883 int *cell_to_edge,
884 int *edge_to_vertex,
885 int *grid_id);
886
887/* -------------------------------------------------------------------------------- */
888
897 void yac_cdef_grid_cloud ( const char * grid_name,
898 int nbr_points,
899 double *x_points,
900 double *y_points,
901 int *grid_id);
902
957 void yac_cdef_grid_reg2d_rot ( const char * grid_name,
958 int nbr_vertices[2],
959 int cyclic[2],
960 double *x_vertices,
961 double *y_vertices,
962 double x_north_pole,
963 double y_north_pole,
964 int *grid_id);
965
966/* -------------------------------------------------------------------------------- */
967
983 int location,
984 int grid_id);
985
986/* -------------------------------------------------------------------------------- */
987
997 void yac_cset_global_index ( int const * global_index,
998 int location,
999 int grid_id);
1000
1001/* -------------------------------------------------------------------------------- */
1002
1015 void yac_cset_core_mask ( int const * is_core,
1016 int location,
1017 int grid_id);
1018
1019/* -------------------------------------------------------------------------------- */
1020
1027 void yac_cset_mask ( int const * is_valid,
1028 int points_id );
1029
1030/* -------------------------------------------------------------------------------- */
1031
1041 void yac_cdef_mask ( int const grid_id,
1042 int const nbr_points,
1043 int const location,
1044 int const * is_valid,
1045 int *mask_id );
1046
1047/* -------------------------------------------------------------------------------- */
1048
1059 void yac_cdef_mask_named ( int const grid_id,
1060 int const nbr_points,
1061 int const location,
1062 int const * is_valid,
1063 char const * name,
1064 int *mask_id );
1065
1066/* -------------------------------------------------------------------------------- */
1067
1086 void yac_cdef_field ( char const * field_name,
1087 int const component_id,
1088 int const * point_ids,
1089 int const num_pointsets,
1090 int collection_size,
1091 const char* timestep,
1092 int time_unit,
1093 int * field_id );
1094
1095/* -------------------------------------------------------------------------------- */
1096
1116 void yac_cdef_field_mask ( char const * field_name,
1117 int const component_id,
1118 int const * point_ids,
1119 int const * mask_ids,
1120 int const num_pointsets,
1121 int collection_size,
1122 const char* timestep,
1123 int time_unit,
1124 int * field_id );
1125
1126/* -------------------------------------------------------------------------- */
1127
1140 void yac_cenable_field_frac_mask( const char* comp_name,
1141 const char* grid_name,
1142 const char* field_name,
1143 double frac_mask_fallback_value);
1144
1159 int yac_instance_id,
1160 const char* comp_name,
1161 const char* grid_name,
1162 const char* field_name,
1163 double frac_mask_fallback_value);
1164
1165/* -------------------------------------------------------------------------- */
1166
1171 void yac_cdef_component_metadata( const char* comp_name,
1172 const char* metadata);
1173
1179 void yac_cdef_component_metadata_instance( int yac_instance_id,
1180 const char* comp_name,
1181 const char* metadata);
1182
1187 void yac_cdef_grid_metadata( const char* grid_name,
1188 const char* metadata);
1189
1195 void yac_cdef_grid_metadata_instance( int yac_instance_id,
1196 const char* grid_name,
1197 const char* metadata);
1198
1205 void yac_cdef_field_metadata( const char* comp_name,
1206 const char* grid_name,
1207 const char* field_name,
1208 const char* metadata);
1209
1217 void yac_cdef_field_metadata_instance( int yac_instance_id,
1218 const char* comp_name,
1219 const char* grid_name,
1220 const char* field_name,
1221 const char* metadata);
1222
1223/* -------------------------------------------------------------------------- */
1224
1241 void yac_cget_action( int field_id,
1242 int * action);
1243
1249 const char * yac_cget_field_datetime(int field_id);
1250
1251/* -------------------------------------------------------------------------- */
1252
1264 void yac_cupdate(int field_id);
1265
1266/* -------------------------------------------------------------------------- */
1267
1272 void yac_cget_ext_couple_config(int * ext_couple_config_id);
1273
1277 void yac_cfree_ext_couple_config(int ext_couple_config_id);
1278
1287 void yac_cset_ext_couple_config_weight_file( int ext_couple_config_id,
1288 char const * weight_file);
1289
1295 void yac_cget_ext_couple_config_weight_file( int ext_couple_config_id,
1296 char const ** weight_file);
1297
1309 int ext_couple_config_id, int weight_file_on_existing);
1310
1316 int ext_couple_config_id, int * weight_file_on_existing);
1317
1323 void yac_cset_ext_couple_config_mapping_side( int ext_couple_config_id,
1324 int mapping_side);
1325
1330 void yac_cget_ext_couple_config_mapping_side( int ext_couple_config_id,
1331 int * mapping_side);
1332
1337 void yac_cset_ext_couple_config_scale_factor( int ext_couple_config_id,
1338 double scale_factor);
1339
1344 void yac_cget_ext_couple_config_scale_factor( int ext_couple_config_id,
1345 double * scale_factor);
1346
1351 void yac_cset_ext_couple_config_scale_summand( int ext_couple_config_id,
1352 double scale_summand);
1353
1358 void yac_cget_ext_couple_config_scale_summand( int ext_couple_config_id,
1359 double * scale_summand);
1360
1367 int ext_couple_config_id,
1368 size_t num_src_mask_names,
1369 char const * const * src_mask_names);
1370
1377 int ext_couple_config_id,
1378 size_t * num_src_mask_names,
1379 char const * const ** src_mask_names);
1380
1385 void yac_cset_ext_couple_config_tgt_mask_name( int ext_couple_config_id,
1386 char const * tgt_mask_name);
1387
1392 void yac_cget_ext_couple_config_tgt_mask_name( int ext_couple_config_id,
1393 char const ** tgt_mask_name);
1394
1400 int ext_couple_config_id, char const * yaxt_exchanger_name);
1401
1407 int ext_couple_config_id, char const ** yaxt_exchanger_name);
1408
1409
1415 int ext_couple_config_id, int use_raw_exchange);
1416
1422 int ext_couple_config_id, int * use_raw_exchange);
1423
1433 int ext_couple_config_id,
1434 int collection_size,
1435 int const * collection_indices);
1436
1450 int ext_couple_config_id,
1451 int * collection_size,
1452 int ** collection_indices);
1453
1454/* -------------------------------------------------------------------------- */
1455
1476 void yac_cdef_couple_custom_instance( int yac_instance_id,
1477 char const * src_comp_name,
1478 char const * src_grid_name,
1479 char const * src_field_name,
1480 char const * tgt_comp_name,
1481 char const * tgt_grid_name,
1482 char const * tgt_field_name,
1483 char const * coupling_timestep,
1484 int time_unit,
1485 int time_reduction,
1486 int interp_stack_config_id,
1487 int src_lag,
1488 int tgt_lag,
1489 int ext_couple_config_id);
1490
1511 void yac_cdef_couple_custom( char const * src_comp_name,
1512 char const * src_grid_name,
1513 char const * src_field_name,
1514 char const * tgt_comp_name,
1515 char const * tgt_grid_name,
1516 char const * tgt_field_name,
1517 char const * coupling_timestep,
1518 int time_unit,
1519 int time_reduction,
1520 int interp_stack_config_id,
1521 int src_lag,
1522 int tgt_lag,
1523 int ext_couple_config_id);
1524
1525/* -------------------------------------------------------------------------- */
1526
1546 void yac_cdef_couple_instance( int yac_instance_id,
1547 char const * src_comp_name,
1548 char const * src_grid_name,
1549 char const * src_field_name,
1550 char const * tgt_comp_name,
1551 char const * tgt_grid_name,
1552 char const * tgt_field_name,
1553 char const * coupling_timestep,
1554 int time_unit,
1555 int time_reduction,
1556 int interp_stack_config_id,
1557 int src_lag,
1558 int tgt_lag);
1559
1578 void yac_cdef_couple( char const * src_comp_name,
1579 char const * src_grid_name,
1580 char const * src_field_name,
1581 char const * tgt_comp_name,
1582 char const * tgt_grid_name,
1583 char const * tgt_field_name,
1584 char const * coupling_timestep,
1585 int time_unit,
1586 int time_reduction,
1587 int interp_stack_config_id,
1588 int src_lag,
1589 int tgt_lag);
1590
1591/* -------------------------------------------------------------------------------- */
1592
1604 int collection_size,
1605 int num_pointsets,
1606 int const * pointset_sizes );
1607
1608/* -------------------------------------------------------------------------------- */
1609
1619 int collection_size,
1620 int src_field_buffer_size );
1621
1631 int num_src_fields,
1632 int collection_size,
1633 int * src_field_buffer_sizes );
1634
1635/* -------------------------------------------------------------------------------- */
1636
1669 double * frac_mask_fallback_value,
1670 double * scaling_factor,
1671 double * scaling_summand,
1672 size_t * num_fixed_values,
1673 double ** fixed_values,
1674 size_t ** num_tgt_per_fixed_value,
1675 size_t ** tgt_idx_fixed,
1676 size_t * num_wgt_tgt,
1677 size_t ** wgt_tgt_idx,
1678 size_t ** num_src_per_tgt,
1679 double ** weights,
1680 size_t ** src_field_idx,
1681 size_t ** src_idx,
1682 size_t * num_src_fields,
1683 size_t ** src_field_buffer_sizes );
1684
1715 double * frac_mask_fallback_value,
1716 double * scaling_factor,
1717 double * scaling_summand,
1718 size_t * num_fixed_values,
1719 double ** fixed_values,
1720 size_t ** num_tgt_per_fixed_value,
1721 size_t ** tgt_idx_fixed,
1722 size_t ** src_indptr,
1723 double ** weights,
1724 size_t ** src_field_idx,
1725 size_t ** src_idx,
1726 size_t * num_src_fields,
1727 size_t ** src_field_buffer_sizes );
1728
1729/* -------------------------------------------------------------------------------- */
1730
1741 void yac_cget_ ( int const field_id,
1742 int const collection_size,
1743 double *recv_field,
1744 int *info,
1745 int *ierror );
1746
1756 void yac_cget ( int const field_id,
1757 int const collection_size,
1758 double **recv_field,
1759 int *info,
1760 int *ierror );
1761
1776 void yac_cget_async_ ( int const field_id,
1777 int const collection_size,
1778 double *recv_field,
1779 int *info,
1780 int *ierror );
1781
1795 void yac_cget_async ( int const field_id,
1796 int const collection_size,
1797 double **recv_field,
1798 int *info,
1799 int *ierror );
1800
1818 void yac_cget_raw_ ( int const field_id,
1819 int const collection_size,
1820 double *src_field_buffer,
1821 int *info,
1822 int *ierror );
1823
1839 void yac_cget_raw ( int const field_id,
1840 int const collection_size,
1841 double ***src_field_buffer,
1842 int *info,
1843 int *ierror );
1844
1865 void yac_cget_raw_async_ ( int const field_id,
1866 int const collection_size,
1867 double *src_field_buffer,
1868 int *info,
1869 int *ierror );
1870
1890 void yac_cget_raw_async ( int const field_id,
1891 int const collection_size,
1892 double ***src_field_buffer,
1893 int *info,
1894 int *ierror );
1895
1923 void yac_cget_raw_frac_ ( int const field_id,
1924 int const collection_size,
1925 double *src_field_buffer,
1926 double *src_frac_mask_buffer,
1927 int *info,
1928 int *ierror );
1929
1953 void yac_cget_raw_frac ( int const field_id,
1954 int const collection_size,
1955 double ***src_field_buffer,
1956 double ***src_frac_mask_buffer,
1957 int *info,
1958 int *ierror );
1959
1991 void yac_cget_raw_frac_async_ ( int const field_id,
1992 int const collection_size,
1993 double *src_field_buffer,
1994 double *src_frac_mask_buffer,
1995 int *info,
1996 int *ierror );
1997
2025 void yac_cget_raw_frac_async ( int const field_id,
2026 int const collection_size,
2027 double ***src_field_buffer,
2028 double ***src_frac_mask_buffer,
2029 int *info,
2030 int *ierror );
2031
2032/* -------------------------------------------------------------------------------- */
2033
2047 void yac_cput_ ( int const field_id,
2048 int const collection_size,
2049 double *send_field,
2050 int *info,
2051 int *ierror );
2052
2065 void yac_cput ( int const field_id,
2066 int const collection_size,
2067 double *** const send_field,
2068 int *info,
2069 int *ierror );
2070
2071/* -------------------------------------------------------------------------------- */
2072
2091 void yac_cput_frac_ ( int const field_id,
2092 int const collection_size,
2093 double *send_field,
2094 double *send_frac_mask,
2095 int *info,
2096 int *ierror );
2097
2114 void yac_cput_frac ( int const field_id,
2115 int const collection_size,
2116 double *** const send_field,
2117 double *** const send_frac_mask,
2118 int *info,
2119 int *ierror );
2120
2121/* -------------------------------------------------------------------------------- */
2122
2134 void yac_cput_ptr_ ( int const field_id,
2135 int const collection_size,
2136 double ** send_field,
2137 int *info,
2138 int *ierror );
2139
2140/* -------------------------------------------------------------------------------- */
2141
2156 void yac_cput_frac_ptr_ ( int const field_id,
2157 int const collection_size,
2158 double ** send_field,
2159 double ** send_frac_mask,
2160 int *info,
2161 int *ierror );
2162
2163/* -------------------------------------------------------------------------------- */
2164
2183 void yac_cexchange_ ( int const send_field_id,
2184 int const recv_field_id,
2185 int const collection_size,
2186 double *send_field ,
2187 double *recv_field,
2188 int *send_info,
2189 int *recv_info,
2190 int *ierror );
2191
2192
2209 void yac_cexchange ( int const send_field_id,
2210 int const recv_field_id,
2211 int const collection_size,
2212 double *** const send_field,
2213 double ** recv_field,
2214 int *send_info,
2215 int *recv_info,
2216 int *ierror );
2217
2240 void yac_cexchange_raw ( int const send_field_id,
2241 int const recv_field_id,
2242 int const collection_size,
2243 double *** const send_field,
2244 double ***src_field_buffer,
2245 int *send_info,
2246 int *recv_info,
2247 int *ierror );
2248
2271 void yac_cexchange_raw_ ( int const send_field_id,
2272 int const recv_field_id,
2273 int const collection_size,
2274 double *send_field,
2275 double *src_field_buffer,
2276 int *send_info,
2277 int *recv_info,
2278 int *ierror );
2279
2280/* -------------------------------------------------------------------------------- */
2281
2315 void yac_cexchange_raw_frac ( int const send_field_id,
2316 int const recv_field_id,
2317 int const collection_size,
2318 double *** const send_field,
2319 double *** const send_frac_mask,
2320 double ***src_field_buffer,
2321 double ***src_frac_mask_buffer,
2322 int *send_info,
2323 int *recv_info,
2324 int *ierror );
2325
2365 void yac_cexchange_raw_frac_ ( int const send_field_id,
2366 int const recv_field_id,
2367 int const collection_size,
2368 double *send_field,
2369 double *send_frac_mask,
2370 double *src_field_buffer,
2371 double *src_frac_mask_buffer,
2372 int *send_info,
2373 int *recv_info,
2374 int *ierror );
2375
2376/* -------------------------------------------------------------------------------- */
2377
2401 void yac_cexchange_frac_ ( int const send_field_id,
2402 int const recv_field_id,
2403 int const collection_size,
2404 double *send_field,
2405 double *send_frac_mask,
2406 double *recv_field,
2407 int *send_info,
2408 int *recv_info,
2409 int *ierror );
2410
2411
2432 void yac_cexchange_frac ( int const send_field_id,
2433 int const recv_field_id,
2434 int const collection_size,
2435 double *** const send_field,
2436 double *** const send_frac_mask,
2437 double ** recv_field,
2438 int *send_info,
2439 int *recv_info,
2440 int *ierror );
2441
2442/* -------------------------------------------------------------------------------- */
2443
2459 void yac_cexchange_ptr_ ( int const send_field_id,
2460 int const recv_field_id,
2461 int const collection_size,
2462 double ** send_field,
2463 double ** recv_field,
2464 int *send_info,
2465 int *recv_info,
2466 int *ierror );
2467
2488 void yac_cexchange_raw_ptr_ ( int const send_field_id,
2489 int const recv_field_id,
2490 int const collection_size,
2491 double ** send_field,
2492 double ** src_field_buffer,
2493 int *send_info,
2494 int *recv_info,
2495 int *ierror );
2496
2497/* -------------------------------------------------------------------------------- */
2498
2517 void yac_cexchange_frac_ptr_ ( int const send_field_id,
2518 int const recv_field_id,
2519 int const collection_size,
2520 double ** send_field,
2521 double ** send_frac_mask,
2522 double ** recv_field,
2523 int *send_info,
2524 int *recv_info,
2525 int *ierror );
2526
2557 void yac_cexchange_raw_frac_ptr_ ( int const send_field_id,
2558 int const recv_field_id,
2559 int const collection_size,
2560 double ** send_field,
2561 double ** send_frac_mask,
2562 double ** src_field_buffer,
2563 double ** src_frac_mask_buffer,
2564 int *send_info,
2565 int *recv_info,
2566 int *ierror );
2567
2568/* -------------------------------------------------------------------------------- */
2569
2579 void yac_ctest ( int field_id, int * flag );
2580
2581/* -------------------------------------------------------------------------------- */
2582
2589 void yac_cwait ( int field_id );
2590
2591/* -------------------------------------------------------------------------------- */
2592
2595 void yac_csync_def ( void );
2596
2601 void yac_csync_def_instance ( int yac_instance_id );
2602
2607 void yac_cenddef ( void );
2608
2615 void yac_cenddef_instance ( int yac_instance_id );
2616
2632 void yac_cenddef_and_emit_config ( int emit_flags,
2633 char ** config );
2634
2649 void yac_cenddef_and_emit_config_instance ( int yac_instance_id,
2650 int emit_flags,
2651 char ** config);
2652
2653/* --------------------------------------------------------------------------------
2654 query routines
2655 -------------------------------------------------------------------------------- */
2656
2660 char * yac_cget_start_datetime ( void );
2661
2667 char * yac_cget_start_datetime_instance ( int yac_instance_id );
2668
2672 char * yac_cget_end_datetime ( void );
2673
2679 char * yac_cget_end_datetime_instance ( int yac_instance_id );
2680
2684 char * yac_cget_version ( void );
2685
2696 const char * yac_cget_mpi_handshake_group_name( void );
2697
2698/* -------------------------------------------------------------------------------- */
2699
2706 int yac_cget_nbr_comps ( void );
2707
2713 int yac_cget_nbr_comps_instance ( int yac_instance_id );
2714
2722 int yac_cget_nbr_grids ( );
2723
2730 int yac_cget_nbr_grids_instance ( int yac_instance_id );
2731
2739 int yac_cget_comp_nbr_grids ( const char* comp_name );
2740
2748 int yac_cget_comp_nbr_grids_instance ( int yac_instance_id,
2749 const char* comp_name );
2750
2759 int yac_cget_nbr_fields ( const char* comp_name,
2760 const char* grid_name );
2761
2771 int yac_cget_nbr_fields_instance ( int yac_instance_id,
2772 const char* comp_name,
2773 const char* grid_name);
2774
2775/* -------------------------------------------------------------------------------- */
2776
2783 void yac_cget_comp_names ( int nbr_comps,
2784 const char ** comp_names );
2785
2793 void yac_cget_comp_names_instance ( int yac_instance_id,
2794 int nbr_comps,
2795 const char ** comp_names );
2796
2805 void yac_cget_grid_names ( int nbr_grids,
2806 const char ** grid_names );
2807
2816 void yac_cget_grid_names_instance ( int yac_instance_id,
2817 int nbr_grids,
2818 const char ** grid_names );
2819
2829 void yac_cget_comp_grid_names ( const char* comp_name,
2830 int nbr_grids,
2831 const char ** grid_names );
2832
2843 void yac_cget_comp_grid_names_instance ( int yac_instance_id,
2844 const char* comp_name,
2845 int nbr_grids,
2846 const char ** grid_names );
2847
2857 void yac_cget_field_names ( const char* comp_name,
2858 const char* grid_name,
2859 int nbr_fields,
2860 const char ** field_names );
2861
2871 void yac_cget_field_names_instance ( int yac_instance_id,
2872 const char * comp_name,
2873 const char* grid_name,
2874 int nbr_fields,
2875 const char ** field_names );
2876
2877/* ---------------------------------------------------------------------- */
2878
2888
2897 const char* yac_cget_grid_name_from_field_id ( int field_id );
2898
2907 const char* yac_cget_field_name_from_field_id ( int field_id );
2908
2918 const char* yac_cget_timestep_from_field_id ( int field_id );
2919
2928
2942
2953 int yac_cget_field_is_defined( const char* comp_name,
2954 const char* grid_name,
2955 const char* field_name);
2956
2968 int yac_cget_field_is_defined_instance( int yac_instance_id,
2969 const char* comp_name,
2970 const char* grid_name,
2971 const char* field_name);
2972
2981 int yac_cget_field_id( const char* comp_name,
2982 const char* grid_name,
2983 const char* field_name);
2984
2994 int yac_cget_field_id_instance( int yac_instance_id,
2995 const char* comp_name,
2996 const char* grid_name,
2997 const char* field_name);
2998
2999/* ---------------------------------------------------------------------- */
3000
3005 const char* yac_cget_component_metadata(const char* comp_name);
3006
3012 const char* yac_cget_component_metadata_instance( int yac_instance_id,
3013 const char* comp_name);
3014
3019 const char* yac_cget_grid_metadata(const char* grid_name);
3020
3026 const char* yac_cget_grid_metadata_instance( int yac_instance_id,
3027 const char* grid_name);
3028
3035 const char* yac_cget_field_metadata( const char* comp_name,
3036 const char* grid_name,
3037 const char* field_name);
3038
3046 const char* yac_cget_field_metadata_instance( int yac_instance_id,
3047 const char* comp_name,
3048 const char* grid_name,
3049 const char* field_name);
3050
3051/* ---------------------------------------------------------------------- */
3052
3063 const char* yac_cget_field_timestep ( const char* comp_name,
3064 const char* grid_name,
3065 const char* field_name );
3066
3078 const char* yac_cget_field_timestep_instance ( int yac_instance_id,
3079 const char* comp_name,
3080 const char* grid_name,
3081 const char* field_name );
3082
3094 double yac_cget_field_frac_mask_fallback_value( const char* comp_name,
3095 const char* grid_name,
3096 const char* field_name);
3097
3107 int yac_cget_field_collection_size( const char* comp_name,
3108 const char* grid_name,
3109 const char* field_name);
3110
3124 int yac_instance_id,
3125 const char* comp_name,
3126 const char* grid_name,
3127 const char* field_name );
3128
3140 int yac_instance_id,
3141 const char* comp_name,
3142 const char* grid_name,
3143 const char* field_name);
3144
3159 int yac_cget_field_role ( const char* comp_name,
3160 const char* grid_name,
3161 const char* field_name );
3162
3178 int yac_cget_field_role_instance ( int yac_instance_id,
3179 const char* comp_name,
3180 const char* grid_name,
3181 const char* field_name );
3182
3194 void yac_cget_field_source ( const char* tgt_comp_name,
3195 const char* tgt_grid_name,
3196 const char* tgt_field_name,
3197 const char** src_comp_name,
3198 const char** src_grid_name,
3199 const char** src_field_name);
3200
3213 void yac_cget_field_source_instance ( int yac_instance_id,
3214 const char* tgt_comp_name,
3215 const char* tgt_grid_name,
3216 const char* tgt_field_name,
3217 const char** src_comp_name,
3218 const char** src_grid_name,
3219 const char** src_field_name);
3220
3221/* --------------------------------------------------------------------------------
3222 auxiliary routines
3223 -------------------------------------------------------------------------------- */
3224
3225#ifndef __GNUC__
3226# define __attribute__(x) /*NOTHING*/
3227#endif
3228
3229// prevent warning if compile with cython
3230#ifdef YAC_CYTHON
3231# define __attribute__(x) /*NOTHING*/
3232#endif
3233
3237typedef void (*yac_abort_func)(MPI_Comm comm, const char *msg,
3238 const char *source, int line)
3239 __attribute__((noreturn));
3240
3241
3242#ifdef YAC_CYTHON
3243# undef __attribute__
3244#endif
3245
3253 void yac_abort( MPI_Comm comm,
3254 const char *msg,
3255 const char *source,
3256 int line)
3257 __attribute__((noreturn));
3258
3265 void yac_abort_message( char const *msg,
3266 const char *source,
3267 int line);
3268
3272
3280
3285
3290
3294 void yac_set_default_comm(MPI_Comm comm);
3295
3296/* -------------------------------------------------------------------------------- */
3297
3305 size_t yac_cget_grid_size ( int location,
3306 int grid_id );
3307
3308/* -------------------------------------------------------------------------------- */
3309
3318 double * cell_areas );
3319
3320
3321/* -------------------------------------------------------------------------------- */
3322
3329 size_t yac_cget_points_size ( int points_id );
3330
3331/* -------------------------------------------------------------------------------- */
3332
3338 void yac_cget_ext_spmap_config(int * ext_spmap_config_id);
3339
3344 void yac_cfree_ext_spmap_config(int ext_spmap_config_id);
3345
3353 int ext_spmap_config_id, double spread_distance);
3354
3362 int ext_spmap_config_id, double max_search_distance);
3363
3371 int ext_spmap_config_id, int weight_type);
3372
3380 int ext_spmap_config_id, int scale_type);
3381
3389 int ext_spmap_config_id, double sphere_radius);
3390
3398 int ext_spmap_config_id, double sphere_radius);
3399
3409 int ext_spmap_config_id, char const * filename,
3410 char const * varname, int min_global_id);
3411
3421 int ext_spmap_config_id, char const * filename,
3422 char const * varname, int min_global_id);
3423
3424
3430 void yac_cget_spmap_overwrite_config(int * spmap_overwrite_config_id);
3431
3437 void yac_cfree_spmap_overwrite_config(int spmap_overwrite_config_id);
3438
3452 int spmap_overwrite_config_id, double center_lon, double center_lat,
3453 double inc_angle);
3454
3462 int spmap_overwrite_config_id, double spread_distance);
3463
3471 int spmap_overwrite_config_id, double max_search_distance);
3472
3480 int spmap_overwrite_config_id, int weight_type);
3481
3482/* -------------------------------------------------------------------------------- */
3483
3487 void yac_cget_interp_stack_config(int * interp_stack_config_id);
3488
3492 void yac_cfree_interp_stack_config(int interp_stack_config_id);
3493
3499 void yac_cadd_interp_stack_config_average( int interp_stack_config_id,
3500 int reduction_type,
3501 int partial_coverage);
3502
3509 void yac_cadd_interp_stack_config_ncc( int interp_stack_config_id,
3510 int weight_type,
3511 int partial_coverage);
3512
3524 void yac_cadd_interp_stack_config_nnn( int interp_stack_config_id,
3525 int type,
3526 size_t n,
3527 double max_search_distance,
3528 double scale);
3529
3538 void yac_cadd_interp_stack_config_rbf( int interp_stack_config_id,
3539 size_t n,
3540 double max_search_distance,
3541 double scale);
3542
3551 int interp_stack_config_id,
3552 int order,
3553 int enforced_conserv,
3554 int partial_coverage,
3555 int normalisation);
3556
3584 int interp_stack_config_id,
3585 double spread_distance,
3586 double max_search_distance,
3587 int weight_type,
3588 int scale_type,
3589 double src_sphere_radius,
3590 char const * src_filename,
3591 char const * src_varname,
3592 int src_min_global_id,
3593 double tgt_sphere_radius,
3594 char const * tgt_filename,
3595 char const * tgt_varname,
3596 int tgt_min_global_id);
3597
3607 int interp_stack_config_id,
3608 int ext_spmap_config_id,
3609 int * spmap_overwrite_config_ids,
3610 int spmap_overwrite_config_count);
3611
3615 void yac_cadd_interp_stack_config_hcsbb(int interp_stack_config_id);
3616
3626 int interp_stack_config_id, char const * filename);
3627
3641 int interp_stack_config_id, char const * filename,
3642 int on_missing_file, int on_success);
3643
3648 void yac_cadd_interp_stack_config_fixed( int interp_stack_config_id,
3649 double value);
3650
3660 void yac_cadd_interp_stack_config_check( int interp_stack_config_id,
3661 char const * constructor_key,
3662 char const * do_search_key);
3663
3668 void yac_cadd_interp_stack_config_creep( int interp_stack_config_id,
3669 int creep_distance);
3670
3678 int interp_stack_config_id,
3679 char const * func_compute_weights_key);
3680
3750#ifndef TYPEDEF_YAC_FUNC_COMPUTE_WEIGHTS
3751#define TYPEDEF_YAC_FUNC_COMPUTE_WEIGHTS
3752
3753// Remark: make sure that this typedef is consistent with the one in interp_method_callback.h
3755 double const tgt_coords[3], int src_cell_id, size_t src_cell_idx,
3756 int const ** global_results_points, double ** result_weights,
3757 size_t * result_count, void * user_data);
3758#endif
3759
3773 void * user_data,
3774 char const * key);
3775
3783 char const * interp_stack_config, int * interp_stack_config_id);
3784
3792 char const * interp_stack_config, int * interp_stack_config_id);
3793
3794#endif // YAC_H
char const * grid_names[]
char const * field_names[8]
void * user_data
char * key
enum callback_type type
struct @34::@35 value
int * cell_to_vertex
int collection_size
char const src_grid_name[]
char const tgt_grid_name[]
unsigned cyclic[2]
int comp_ids[1]
int grid_id
int nbr_fields
int ierror
int * global_index
int * field_id
int comp_id
static void compute_weights_callback(double const tgt_coords[3], int src_cell_id, size_t src_cell_idx, int const **global_results_points, double **result_weights, size_t *result_count, void *user_data)
int const * location
char const * name
Definition toy_scrip.c:114
int const YAC_YEAR_OF_365_DAYS
Definition yac.c:69
void yac_cget_raw_(int const field_id, int const collection_size, double *src_field_buffer, int *info, int *ierror)
Definition yac.c:2850
void yac_cset_ext_spmap_config_src_cell_area_config_yac(int ext_spmap_config_id, double sphere_radius)
Definition yac.c:5360
void yac_cdef_comps(const char **comp_names, int num_comps, int *comp_ids)
Definition yac.c:999
void yac_cexchange_raw_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 ***src_field_buffer, double ***src_frac_mask_buffer, int *send_info, int *recv_info, int *ierror)
Definition yac.c:4149
int const YAC_REDUCTION_TIME_AVERAGE
Definition yac.c:54
void yac_cenddef_and_emit_config(int emit_flags, char **config)
Definition yac.c:4415
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 yac.c:1142
void yac_cread_config_yaml_instance(int yac_instance_id, const char *yaml_file)
Definition yac.c:586
void yac_ccompute_grid_cell_areas(int grid_id, double *cell_areas)
Definition yac.c:5116
void yac_cinit_comm_dummy(MPI_Comm comm)
Definition yac.c:520
void yac_cget_grid_names(int nbr_grids, const char **grid_names)
Definition yac.c:4587
void yac_cadd_interp_stack_config_ncc(int interp_stack_config_id, int weight_type, int partial_coverage)
Definition yac.c:5190
void yac_cread_config_json_instance(int yac_instance_id, const char *json_file)
Definition yac.c:600
void yac_cget_ext_couple_config_scale_factor(int ext_couple_config_id, double *scale_factor)
Definition yac.c:1672
const char * yac_cget_field_metadata_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:1517
void yac_cexchange_raw_(int const send_field_id, int const recv_field_id, int const collection_size, double *send_field, double *src_field_buffer, int *send_info, int *recv_info, int *ierror)
Definition yac.c:3825
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)
Definition yac.c:4033
int const YAC_NCC_AVG
Definition yac.c:76
void yac_cget_async(int const field_id, int const collection_size, double **recv_field, int *info, int *ierror)
Definition yac.c:2768
void yac_cput_frac_ptr_(int const field_id, int const collection_size, double **send_field, double **send_frac_mask, int *info, int *ierror)
Definition yac.c:3178
void yac_cadd_interp_stack_config_spmap_ext(int interp_stack_config_id, int ext_spmap_config_id, int *spmap_overwrite_config_ids, int spmap_overwrite_config_count)
Definition yac.c:5649
void yac_cset_global_index_yac_int(yac_int const *global_index, int location, int grid_id)
Definition yac.c:5036
void yac_cenddef(void)
Definition yac.c:4400
yac_abort_func yac_get_abort_handler(void)
void yac_ccheck_field_dimensions(int field_id, int collection_size, int num_pointsets, int const *pointset_sizes)
Definition yac.c:2045
void yac_cget_groupcomm_instance(int yac_instance_id, MPI_Comm *group_comm)
void yac_cenable_field_frac_mask(const char *comp_name, const char *grid_name, const char *field_name, double frac_mask_fallback_value)
Definition yac.c:1439
void yac_cget_raw_async(int const field_id, int const collection_size, double ***src_field_buffer, int *info, int *ierror)
Definition yac.c:2976
int const YAC_ACTION_OUT_OF_BOUND
put/get is outside of the valid range
Definition yac.c:50
void yac_cget_ext_couple_config_mapping_side(int ext_couple_config_id, int *mapping_side)
Definition yac.c:1649
void yac_cput_(int const field_id, int const collection_size, double *send_field, int *info, int *ierror)
Definition yac.c:3063
int const YAC_SPMAP_SRCAREA
Definition yac.c:92
int const YAC_CONFIG_OUTPUT_SYNC_LOC_ENDDEF
after end of definitions
Definition yac.c:121
char * yac_cget_start_datetime_instance(int yac_instance_id)
Definition yac.c:793
void yac_cset_global_index(int const *global_index, int location, int grid_id)
Definition yac.c:5049
void yac_cset_grid_output_file_instance(int yac_instance_id, const char *gridname, const char *filename)
Definition yac.c:659
int const YAC_NNN_RBF
Definition yac.c:82
void yac_cdef_datetime_instance(int yac_instance_id, const char *start_datetime, const char *end_datetime)
Definition yac.c:752
int yac_cget_role_from_field_id(int field_id)
Definition yac.c:4722
int yac_cget_nbr_grids_instance(int yac_instance_id)
Definition yac.c:4475
void yac_cfree_ext_couple_config(int ext_couple_config_id)
Definition yac.c:1570
const char * yac_cget_grid_metadata_instance(int yac_instance_id, const char *grid_name)
Definition yac.c:1504
int const YAC_FILE_SUCCESS_CONT
Definition yac.c:101
char * yac_cget_end_datetime_instance(int yac_instance_id)
Definition yac.c:808
void yac_cdef_datetime(const char *start_datetime, const char *end_datetime)
Definition yac.c:761
int const YAC_SPMAP_INVTGTAREA
Definition yac.c:93
int const YAC_LOCATION_CELL
Definition yac.c:34
void yac_cfree_spmap_overwrite_config(int spmap_overwrite_config_id)
Definition yac.c:5482
int const YAC_REDUCTION_TIME_MINIMUM
Definition yac.c:55
void yac_cset_ext_couple_config_tgt_mask_name(int ext_couple_config_id, char const *tgt_mask_name)
Definition yac.c:1743
void yac_cget_ext_couple_config_weight_file_on_existing(int ext_couple_config_id, int *weight_file_on_existing)
Definition yac.c:1623
void yac_cget_async_(int const field_id, int const collection_size, double *recv_field, int *info, int *ierror)
Definition yac.c:2750
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 yac.c:1396
void yac_cdef_grid_metadata(const char *grid_name, const char *metadata)
Definition yac.c:1470
int const YAC_FILE_MISSING_CONT
continue on missing file
Definition yac.c:97
int const YAC_TIME_UNIT_MINUTE
Definition yac.c:60
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 yac.c:4849
void yac_cget_grid_names_instance(int yac_instance_id, int nbr_grids, const char **grid_names)
Definition yac.c:4567
void yac_cset_ext_couple_config_scale_factor(int ext_couple_config_id, double scale_factor)
Definition yac.c:1665
int const YAC_NCC_DIST
Definition yac.c:77
void yac_cexchange_raw_frac_ptr_(int const send_field_id, int const recv_field_id, int const collection_size, double **send_field, double **send_frac_mask, double **src_field_buffer, double **src_frac_mask_buffer, int *send_info, int *recv_info, int *ierror)
Definition yac.c:3983
int const YAC_FILE_MISSING_ERROR
abort on missing file
Definition yac.c:96
void yac_cset_ext_couple_config_weight_file_on_existing(int ext_couple_config_id, int weight_file_on_existing)
Definition yac.c:1616
void yac_cadd_interp_stack_config_creep(int interp_stack_config_id, int creep_distance)
Definition yac.c:5844
void yac_cdef_mask(int const grid_id, int const nbr_points, int const location, int const *is_valid, int *mask_id)
Definition yac.c:1295
void yac_cdef_component_metadata(const char *comp_name, const char *metadata)
Definition yac.c:1456
int const YAC_TIME_UNIT_YEAR
Definition yac.c:64
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)
Definition yac.c:4345
int yac_cget_field_role(const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4797
void yac_ccleanup()
Clean-up default YAC instance (see Restarting YAC)
Definition yac.c:711
int const YAC_AVG_ARITHMETIC
Definition yac.c:72
void yac_set_default_comm(MPI_Comm comm)
void yac_cset_spmap_overwrite_config_max_search_distance(int spmap_overwrite_config_id, double max_search_distance)
Definition yac.c:5519
void yac_cput_frac_(int const field_id, int const collection_size, double *send_field, double *send_frac_mask, int *info, int *ierror)
Definition yac.c:3083
void yac_cadd_compute_weights_callback(yac_func_compute_weights compute_weights_callback, void *user_data, char const *key)
Definition yac.c:5867
void yac_cmpi_handshake(MPI_Comm comm, size_t n, char const **group_names, MPI_Comm *group_comms)
Definition yac.c:434
void yac_cget_raw_interp_weights_data_csr(int const field_id, double *frac_mask_fallback_value, double *scaling_factor, double *scaling_summand, size_t *num_fixed_values, double **fixed_values, size_t **num_tgt_per_fixed_value, size_t **tgt_idx_fixed, size_t **src_indptr, double **weights, size_t **src_field_idx, size_t **src_idx, size_t *num_src_fields, size_t **src_field_buffer_sizes)
Definition yac.c:2233
void yac_cput(int const field_id, int const collection_size, double ***const send_field, int *info, int *ierror)
Definition yac.c:3721
int const YAC_REDUCTION_TIME_MAXIMUM
Definition yac.c:56
int const YAC_WGT_ON_EXISTING_ERROR
Definition yac.c:107
int const YAC_TIME_UNIT_MILLISECOND
Definition yac.c:58
int yac_cget_field_id_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4443
int yac_cget_comp_nbr_grids_instance(int yac_instance_id, const char *comp_name)
Definition yac.c:4488
void yac_cget_raw_interp_weights_data(int const field_id, double *frac_mask_fallback_value, double *scaling_factor, double *scaling_summand, size_t *num_fixed_values, double **fixed_values, size_t **num_tgt_per_fixed_value, size_t **tgt_idx_fixed, size_t *num_wgt_tgt, size_t **wgt_tgt_idx, size_t **num_src_per_tgt, double **weights, size_t **src_field_idx, size_t **src_idx, size_t *num_src_fields, size_t **src_field_buffer_sizes)
Definition yac.c:2193
int yac_cget_field_is_defined(const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4435
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 yac.c:4888
const char * yac_cget_timestep_from_field_id(int field_id)
Definition yac.c:4708
int const YAC_FILE_SUCCESS_STOP
Definition yac.c:99
void yac_cget_raw_async_(int const field_id, int const collection_size, double *src_field_buffer, int *info, int *ierror)
Definition yac.c:2907
int yac_cget_nbr_fields(const char *comp_name, const char *grid_name)
Definition yac.c:4536
int const YAC_NNN_GAUSS
Definition yac.c:81
void yac_cset_ext_spmap_config_scale_type(int ext_spmap_config_id, int scale_type)
Definition yac.c:5342
int const YAC_YAML_EMITTER_DEFAULT
emit to YAML format
Definition config_yaml.c:66
void yac_csync_def_instance(int yac_instance_id)
Definition yac.c:4380
void yac_cget_raw_frac_(int const field_id, int const collection_size, double *src_field_buffer, double *src_frac_mask_buffer, int *info, int *ierror)
Definition yac.c:2862
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)
Definition yac.c:4818
void yac_cget_interp_stack_config_from_string_json(char const *interp_stack_config, int *interp_stack_config_id)
Definition yac.c:5905
void yac_csync_def(void)
Definition yac.c:4385
void yac_cexchange_raw_ptr_(int const send_field_id, int const recv_field_id, int const collection_size, double **send_field, double **src_field_buffer, int *send_info, int *recv_info, int *ierror)
Definition yac.c:3913
void yac_cget_raw(int const field_id, int const collection_size, double ***src_field_buffer, int *info, int *ierror)
Definition yac.c:2963
int yac_cget_field_is_defined_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4426
void yac_cdef_grid_reg2d_rot(const char *grid_name, int nbr_vertices[2], int cyclic[2], double *x_vertices, double *y_vertices, double x_north_pole, double y_north_pole, int *grid_id)
Definition yac.c:4969
void(* yac_abort_func)(MPI_Comm comm, const char *msg, const char *source, int line) __attribute__((noreturn))
Definition yac.h:3237
int const YAC_TIME_UNIT_HOUR
Definition yac.c:61
void yac_cinit(void)
Definition yac.c:510
void yac_cexchange_raw_frac_(int const send_field_id, int const recv_field_id, int const collection_size, double *send_field, double *send_frac_mask, double *src_field_buffer, double *src_frac_mask_buffer, int *send_info, int *recv_info, int *ierror)
Definition yac.c:3767
int const YAC_YEAR_OF_360_DAYS
Definition yac.c:70
void yac_cfinalize_instance(int yac_instance_id)
Finalises YAC.
Definition yac.c:731
YAC_INT yac_int
Definition yac.h:100
void yac_cfinalize()
Finalises YAC.
Definition yac.c:740
const char * yac_cget_field_name_from_field_id(int field_id)
Definition yac.c:4701
void yac_cget_ext_couple_config_collection_selection(int ext_couple_config_id, int *collection_size, int **collection_indices)
Definition yac.c:1839
void yac_cadd_interp_stack_config_check(int interp_stack_config_id, char const *constructor_key, char const *do_search_key)
Definition yac.c:5832
void yac_cenddef_instance(int yac_instance_id)
Definition yac.c:4393
void yac_cget_ext_couple_config_yaxt_exchanger_name(int ext_couple_config_id, char const **yaxt_exchanger_name)
Definition yac.c:1772
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)
Definition yac.c:1718
int const YAC_YAML_EMITTER_JSON
emit to JSON format
Definition config_yaml.c:67
int yac_cget_nbr_comps_instance(int yac_instance_id)
Definition yac.c:4464
int yac_cget_nbr_fields_instance(int yac_instance_id, const char *comp_name, const char *grid_name)
Definition yac.c:4516
void yac_cdef_comp(const char *comp_name, int *comp_id)
Definition yac.c:1013
void yac_cget_ext_couple_config(int *ext_couple_config_id)
Definition yac.c:1549
const char * yac_cget_mpi_handshake_group_name(void)
Retrieve the MPI handshake group name used by YAC.
Definition yac.c:832
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 yac.c:4909
void yac_cdef_grid_metadata_instance(int yac_instance_id, const char *grid_name, const char *metadata)
Definition yac.c:1461
void yac_cset_ext_couple_config_weight_file(int ext_couple_config_id, char const *weight_file)
Definition yac.c:1585
const char * yac_cget_component_metadata_instance(int yac_instance_id, const char *comp_name)
Definition yac.c:1491
void yac_cset_ext_spmap_config_spread_distance(int ext_spmap_config_id, double spread_distance)
Definition yac.c:5306
void yac_cset_ext_couple_config_yaxt_exchanger_name(int ext_couple_config_id, char const *yaxt_exchanger_name)
Definition yac.c:1765
int const YAC_LOCATION_CORNER
Definition yac.c:35
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)
Definition yac.c:1919
const char * yac_cget_field_timestep_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4731
void yac_cset_ext_couple_config_scale_summand(int ext_couple_config_id, double scale_summand)
Definition yac.c:1688
void yac_cget_comp_comm(int comp_id, MPI_Comm *comp_comm)
Definition yac.c:856
void yac_cget_raw_frac_async_(int const field_id, int const collection_size, double *src_field_buffer, double *src_frac_mask_buffer, int *info, int *ierror)
Definition yac.c:2919
void yac_cset_spmap_overwrite_config_weight_type(int spmap_overwrite_config_id, int weight_type)
Definition yac.c:5529
const char * yac_cget_field_datetime(int field_id)
Definition yac.c:2423
int const YAC_SPMAP_AVG
Definition yac.c:88
int const YAC_CONSERV_DESTAREA
Definition yac.c:85
int const YAC_EXCHANGE_TYPE_SOURCE
Definition yac.c:39
void yac_cupdate(int field_id)
Definition yac.c:2446
void yac_cget_action(int field_id, int *action)
Definition yac.c:2380
size_t yac_cget_grid_size(int location, int grid_id)
Definition yac.c:5105
int const YAC_REDUCTION_TIME_ACCUMULATE
Definition yac.c:53
void yac_cset_ext_spmap_config_weight_type(int ext_spmap_config_id, int weight_type)
Definition yac.c:5326
void yac_cset_spmap_overwrite_config_src_point_selection_bnd_circle(int spmap_overwrite_config_id, double center_lon, double center_lat, double inc_angle)
Definition yac.c:5491
void yac_abort(MPI_Comm comm, const char *msg, const char *source, int line) __attribute__((noreturn))
void yac_cget_raw_frac(int const field_id, int const collection_size, double ***src_field_buffer, double ***src_frac_mask_buffer, int *info, int *ierror)
Definition yac.c:2990
int yac_cget_field_id(const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4456
void yac_cget_ext_couple_config_tgt_mask_name(int ext_couple_config_id, char const **tgt_mask_name)
Definition yac.c:1750
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)
Definition yac.c:1726
const char * yac_cget_grid_name_from_field_id(int field_id)
Definition yac.c:4693
int yac_cget_collection_size_from_field_id(int field_id)
Definition yac.c:4715
void yac_cdef_comps_instance(int yac_instance_id, const char **comp_names, int num_comps, int *comp_ids)
Definition yac.c:974
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 yac.c:4831
void yac_cget_ext_couple_config_use_raw_exchange(int ext_couple_config_id, int *use_raw_exchange)
Definition yac.c:1792
int const YAC_EXCHANGE_TYPE_NONE
Definition yac.c:38
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)
Definition yac.c:1904
void yac_cset_ext_couple_config_use_raw_exchange(int ext_couple_config_id, int use_raw_exchange)
Definition yac.c:1785
void yac_cdef_points_reg2d_rot(int const grid_id, int const *nbr_points, int const location, double const *x_points, double const *y_points, double x_north_pole, double y_north_pole, int *point_id)
Definition yac.c:1210
void yac_cset_config_output_file_instance(int yac_instance_id, const char *filename, int fileformat, int sync_location, int include_definitions)
Definition yac.c:616
void yac_cget_comps_comm(const char **comp_names, int num_comps, MPI_Comm *comps_comm)
Definition yac.c:906
void yac_cinit_comm_instance(MPI_Comm comm, int *yac_instance_id)
Definition yac.c:472
void yac_cfree_ext_spmap_config(int ext_spmap_config_id)
Definition yac.c:5286
int const YAC_EXCHANGE_TYPE_TARGET
Definition yac.c:40
void yac_cput_frac(int const field_id, int const collection_size, double ***const send_field, double ***const send_frac_mask, int *info, int *ierror)
Definition yac.c:3598
const char * yac_cget_grid_metadata(const char *grid_name)
Definition yac.c:1512
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)
Definition yac.c:1427
char * yac_cget_start_datetime(void)
Definition yac.c:800
void yac_cget_interp_stack_config_from_string_yaml(char const *interp_stack_config, int *interp_stack_config_id)
Definition yac.c:5897
int const YAC_TIME_UNIT_MONTH
Definition yac.c:63
void yac_cset_ext_spmap_config_max_search_distance(int ext_spmap_config_id, double max_search_distance)
Definition yac.c:5316
int const YAC_CONFIG_OUTPUT_FORMAT_YAML
Definition yac.c:104
int const YAC_TIME_UNIT_SECOND
Definition yac.c:59
void yac_cget(int const field_id, int const collection_size, double **recv_field, int *info, int *ierror)
Definition yac.c:2759
void yac_cadd_interp_stack_config_conservative(int interp_stack_config_id, int order, int enforced_conserv, int partial_coverage, int normalisation)
Definition yac.c:5241
void yac_cdef_grid_cloud(const char *grid_name, int nbr_points, double *x_points, double *y_points, int *grid_id)
Definition yac.c:4953
void yac_cget_comps_comm_instance(int yac_instance_id, const char **comp_names, int num_comps, MPI_Comm *comps_comm)
Definition yac.c:896
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 yac.c:4867
char * yac_cget_version(void)
Definition yac.c:826
int const YAC_LOCATION_EDGE
Definition yac.c:36
void yac_ccheck_src_field_buffer_sizes(int field_id, int num_src_fields, int collection_size, int *src_field_buffer_sizes)
Definition yac.c:2144
void yac_cset_ext_spmap_config_tgt_cell_area_config_file(int ext_spmap_config_id, char const *filename, char const *varname, int min_global_id)
Definition yac.c:5430
void yac_cput_ptr_(int const field_id, int const collection_size, double **send_field, int *info, int *ierror)
Definition yac.c:3157
void yac_cexchange_ptr_(int const send_field_id, int const recv_field_id, int const collection_size, double **send_field, double **recv_field, int *send_info, int *recv_info, int *ierror)
Definition yac.c:3885
#define __attribute__(x)
Definition yac.h:3226
void yac_cexchange_frac_(int const send_field_id, int const recv_field_id, int const collection_size, double *send_field, double *send_frac_mask, double *recv_field, int *send_info, int *recv_info, int *ierror)
Definition yac.c:3846
int yac_cget_default_instance_id()
Definition yac.c:467
void yac_cadd_interp_stack_config_user_file(int interp_stack_config_id, char const *filename)
Definition yac.c:5813
void yac_cexchange_frac_ptr_(int const send_field_id, int const recv_field_id, int const collection_size, double **send_field, double **send_frac_mask, double **recv_field, int *send_info, int *recv_info, int *ierror)
Definition yac.c:3950
void(* yac_func_compute_weights)(double const tgt_coords[3], int src_cell_id, size_t src_cell_idx, int const **global_results_points, double **result_weights, size_t *result_count, void *user_data)
Definition yac.h:3754
const char * yac_cget_component_name_from_field_id(int field_id)
Definition yac.c:4686
int yac_cget_field_collection_size(const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4779
int const YAC_CONFIG_OUTPUT_SYNC_LOC_DEF_COMP
after component definition
Definition yac.c:117
void yac_restore_default_abort_handler(void)
int const YAC_SPMAP_FRACAREA
Definition yac.c:94
void yac_cdef_component_metadata_instance(int yac_instance_id, const char *comp_name, const char *metadata)
Definition yac.c:1448
void yac_cenddef_and_emit_config_instance(int yac_instance_id, int emit_flags, char **config)
Definition yac.c:4406
void yac_abort_message(char const *msg, const char *source, int line)
yac_abort_func yac_get_default_abort_handler(void)
char * yac_cget_end_datetime(void)
Definition yac.c:815
int const YAC_WGT_ON_EXISTING_OVERWRITE
overwrite existing weight file
Definition yac.c:109
void yac_cread_config_yaml(const char *yaml_file)
Definition yac.c:595
int const YAC_ACTION_NONE
no data exchanges
Definition yac.c:42
int const YAC_WGT_ON_EXISTING_KEEP
keep existing weight file
Definition yac.c:108
void yac_cdef_calendar(int calendar)
Definition yac.c:769
int const YAC_SPMAP_NONE
Definition yac.c:91
void yac_cset_core_mask(int const *is_core, int location, int grid_id)
Definition yac.c:5065
void yac_cexchange_raw(int const send_field_id, int const recv_field_id, int const collection_size, double ***const send_field, double ***src_field_buffer, int *send_info, int *recv_info, int *ierror)
Definition yac.c:4360
void yac_cwait(int field_id)
Definition yac.c:3235
void yac_cadd_interp_stack_config_rbf(int interp_stack_config_id, size_t n, double max_search_distance, double scale)
Definition yac.c:5229
int yac_cget_calendar()
Definition yac.c:786
int const YAC_CONFIG_OUTPUT_SYNC_LOC_SYNC_DEF
after synchronization of definition
Definition yac.c:119
void yac_cget_comp_names(int nbr_comps, const char **comp_names)
Definition yac.c:4561
const char * yac_cget_field_metadata(const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:1526
int const YAC_ACTION_REDUCTION
data reduction, but data exchange
Definition yac.c:43
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 yac.c:1323
int const YAC_ACTION_GET_FOR_RESTART
last valid get
Definition yac.c:46
void yac_cset_ext_spmap_config_tgt_cell_area_config_yac(int ext_spmap_config_id, double sphere_radius)
Definition yac.c:5378
void yac_ccheck_src_field_buffer_size(int field_id, int collection_size, int src_field_buffer_size)
Definition yac.c:2106
int const YAC_PROLEPTIC_GREGORIAN
Definition yac.c:68
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 yac.c:1181
void yac_cget_comp_grid_names_instance(int yac_instance_id, const char *comp_name, int nbr_grids, const char **grid_names)
Definition yac.c:4592
double yac_cget_field_frac_mask_fallback_value(const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4771
void yac_cset_mask(int const *is_valid, int points_id)
Definition yac.c:1304
void yac_cadd_interp_stack_config_hcsbb(int interp_stack_config_id)
Definition yac.c:5778
void yac_cdef_comp_instance(int yac_instance_id, const char *comp_name, int *comp_id)
Definition yac.c:1007
void yac_cadd_interp_stack_config_fixed(int interp_stack_config_id, double value)
Definition yac.c:5822
int const YAC_TIME_UNIT_DAY
Definition yac.c:62
int yac_cget_comp_nbr_grids(const char *comp_name)
Definition yac.c:4511
int const YAC_ACTION_COUPLING
data exchange
Definition yac.c:44
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)
Definition yac.c:4750
void yac_cset_ext_spmap_config_src_cell_area_config_file(int ext_spmap_config_id, char const *filename, char const *varname, int min_global_id)
Definition yac.c:5396
int const YAC_TIME_UNIT_ISO_FORMAT
Definition yac.c:65
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)
Definition yac.c:4804
void yac_cpredef_comp_instance(int yac_instance_id, char const *comp_name, int *comp_id)
Definition yac.c:936
int const YAC_AVG_DIST
Definition yac.c:73
int yac_cget_field_role_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4786
void yac_cget_raw_frac_async(int const field_id, int const collection_size, double ***src_field_buffer, double ***src_frac_mask_buffer, int *info, int *ierror)
Definition yac.c:3008
int const YAC_CONSERV_FRACAREA
Definition yac.c:86
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)
Definition yac.c:5545
void yac_cadd_interp_stack_config_user_callback(int interp_stack_config_id, char const *func_compute_weights_key)
Definition yac.c:5854
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 yac.c:4931
void yac_cset_ext_couple_config_mapping_side(int ext_couple_config_id, int mapping_side)
Definition yac.c:1642
void yac_ccleanup_instance(int yac_instance_id)
Clean-up a YAC instance (see Restarting YAC)
Definition yac.c:703
int yac_cget_field_collection_size_instance(int yac_instance_id, const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4761
void yac_cfree_interp_stack_config(int interp_stack_config_id)
Definition yac.c:5151
int const YAC_CALENDAR_NOT_SET
Definition yac.c:67
void yac_cset_grid_output_file(const char *gridname, const char *filename)
Definition yac.c:676
int const YAC_NNN_AVG
Definition yac.c:79
void yac_cadd_interp_stack_config_user_file_2(int interp_stack_config_id, char const *filename, int on_missing_file, int on_success)
Definition yac.c:5787
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 yac.c:1103
void yac_cadd_interp_stack_config_nnn(int interp_stack_config_id, int type, size_t n, double max_search_distance, double scale)
Definition yac.c:5208
void yac_cget_ext_couple_config_scale_summand(int ext_couple_config_id, double *scale_summand)
Definition yac.c:1695
int const YAC_CONFIG_OUTPUT_FORMAT_JSON
Definition yac.c:105
void yac_cinit_instance(int *yac_instance_id)
Definition yac.c:498
void yac_ctest(int field_id, int *flag)
Definition yac.c:3211
void yac_cset_config_output_file(const char *filename, int fileformat, int sync_location, int include_definitions)
Definition yac.c:647
void yac_cget_interp_stack_config(int *interp_stack_config_id)
Definition yac.c:5137
void yac_cset_ext_couple_config_collection_selection(int ext_couple_config_id, int collection_size, int const *collection_indices)
Definition yac.c:1831
void yac_cinit_dummy(void)
Definition yac.c:537
void yac_cadd_interp_stack_config_average(int interp_stack_config_id, int reduction_type, int partial_coverage)
Definition yac.c:5171
int const YAC_ACTION_PUT_FOR_RESTART
last valid put
Definition yac.c:47
int const YAC_NNN_ZERO
Definition yac.c:83
void yac_cread_config_json(const char *json_file)
Definition yac.c:609
void yac_cpredef_comp(char const *comp_name, int *comp_id)
Definition yac.c:969
int const YAC_SPMAP_DIST
Definition yac.c:89
size_t yac_cget_points_size(int points_id)
Definition yac.c:5125
void yac_cset_spmap_overwrite_config_spread_distance(int spmap_overwrite_config_id, double spread_distance)
Definition yac.c:5509
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)
Definition yac.c:1934
void yac_cget_spmap_overwrite_config(int *spmap_overwrite_config_id)
Definition yac.c:5464
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)
Definition yac.c:1951
double const YAC_FRAC_MASK_NO_VALUE
int yac_cget_nbr_comps(void)
Definition yac.c:4470
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)
Definition yac.c:1475
int const YAC_AVG_BARY
Definition yac.c:74
void yac_set_abort_handler(yac_abort_func custom_abort)
void yac_cget_(int const field_id, int const collection_size, double *recv_field, int *info, int *ierror)
Definition yac.c:2741
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)
Definition yac.c:1274
int const YAC_NNN_DIST
Definition yac.c:80
void yac_cget_comp_grid_names(const char *comp_name, int nbr_grids, const char **grid_names)
Definition yac.c:4634
int yac_cget_nbr_grids()
Definition yac.c:4483
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)
Definition yac.c:4640
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)
Definition yac.c:3735
int const YAC_REDUCTION_TIME_NONE
Definition yac.c:52
void yac_cget_comp_names_instance(int yac_instance_id, int nbr_comps, const char **comp_names)
Definition yac.c:4541
void yac_cdef_field_metadata(const char *comp_name, const char *grid_name, const char *field_name, const char *metadata)
Definition yac.c:1484
void yac_cget_ext_spmap_config(int *ext_spmap_config_id)
Definition yac.c:5260
const char * yac_cget_component_metadata(const char *comp_name)
Definition yac.c:1499
const char * yac_cget_field_timestep(const char *comp_name, const char *grid_name, const char *field_name)
Definition yac.c:4743
void yac_cget_field_names(const char *comp_name, const char *grid_name, int nbr_fields, const char **field_names)
Definition yac.c:4679
void yac_cget_groupcomm(MPI_Comm *group_comm)
void yac_cget_ext_couple_config_weight_file(int ext_couple_config_id, char const **weight_file)
Definition yac.c:1592
void yac_cinit_comm(MPI_Comm comm)
Definition yac.c:484
YAC_INT yac_int
Definition yac_types.h:15