ComIn 0.5.1
ICON Community Interface
Loading...
Searching...
No Matches
comin_descrdata.h
Go to the documentation of this file.
1/* @authors 11/2023 :: ICON Community Interface <comin@icon-model.org>
2
3 SPDX-License-Identifier: BSD-3-Clause
4
5 Please see the file LICENSE in the root of the source tree for this code.
6 Where software is supplied by third parties, it is indicated in the
7 headers of the routines.
8
9*** DO NOT EDIT MANUALLY! Generated by python script in utils/. */
10
13
16
17#ifdef __cplusplus
18extern "C" {
19#endif
23 void comin_descrdata_get_domain_grid_filename(int jg, const char** grid_filename, int* arr_size);
27 void comin_descrdata_get_domain_grid_uuid(int jg, const int8_t** grid_uuid, int* arr_size);
45 void comin_descrdata_get_domain_child_id(int jg, const int** child_id, int* arr_size);
92 void comin_descrdata_get_domain_cells_num_edges(int jg, const int** num_edges, int* arr_size);
98 void comin_descrdata_get_domain_cells_refin_ctrl(int jg, const int** refin_ctrl, int* arr_size);
104 void comin_descrdata_get_domain_cells_start_index(int jg, const int** start_index, int* arr_size);
110 void comin_descrdata_get_domain_cells_end_index(int jg, const int** end_index, int* arr_size);
116 void comin_descrdata_get_domain_cells_start_block(int jg, const int** start_block, int* arr_size);
122 void comin_descrdata_get_domain_cells_end_block(int jg, const int** end_block, int* arr_size);
128 void comin_descrdata_get_domain_cells_child_id(int jg, const int** child_id, int* arr_size);
134 void comin_descrdata_get_domain_cells_parent_glb_idx(int jg, const int** parent_glb_idx, int* arr_size);
140 void comin_descrdata_get_domain_cells_parent_glb_blk(int jg, const int** parent_glb_blk, int* arr_size);
146 void comin_descrdata_get_domain_cells_vertex_idx(int jg, const int** vertex_idx, int* arr_size);
152 void comin_descrdata_get_domain_cells_vertex_blk(int jg, const int** vertex_blk, int* arr_size);
158 void comin_descrdata_get_domain_cells_neighbor_idx(int jg, const int** neighbor_idx, int* arr_size);
164 void comin_descrdata_get_domain_cells_neighbor_blk(int jg, const int** neighbor_blk, int* arr_size);
170 void comin_descrdata_get_domain_cells_edge_idx(int jg, const int** edge_idx, int* arr_size);
176 void comin_descrdata_get_domain_cells_edge_blk(int jg, const int** edge_blk, int* arr_size);
182 void comin_descrdata_get_domain_cells_clon(int jg, const double** clon, int* arr_size);
188 void comin_descrdata_get_domain_cells_clat(int jg, const double** clat, int* arr_size);
194 void comin_descrdata_get_domain_cells_area(int jg, const double** area, int* arr_size);
200 void comin_descrdata_get_domain_cells_hhl(int jg, const double** hhl, int* arr_size);
205 void comin_descrdata_get_domain_cells_e_bln_c_s(int jg, const double** e_bln_c_s, int* arr_size);
210 void comin_descrdata_get_domain_cells_geofac_div(int jg, const double** geofac_div, int* arr_size);
215 void comin_descrdata_get_domain_cells_geofac_n2s(int jg, const double** geofac_n2s, int* arr_size);
220 void comin_descrdata_get_domain_cells_geofac_grg(int jg, const double** geofac_grg, int* arr_size);
226 void comin_descrdata_get_domain_cells_rbf_vec_idx(int jg, const int** rbf_vec_idx, int* arr_size);
233 void comin_descrdata_get_domain_cells_rbf_vec_blk(int jg, const int** rbf_vec_blk, int* arr_size);
239 void comin_descrdata_get_domain_cells_rbf_vec_stencil(int jg, const int** rbf_vec_stencil, int* arr_size);
245 void comin_descrdata_get_domain_cells_rbf_vec_coeff(int jg, const double** rbf_vec_coeff, int* arr_size);
251 void comin_descrdata_get_domain_cells_glb_index(int jg, const int** glb_index, int* arr_size);
286 void comin_descrdata_get_domain_verts_num_edges(int jg, const int** num_edges, int* arr_size);
292 void comin_descrdata_get_domain_verts_refin_ctrl(int jg, const int** refin_ctrl, int* arr_size);
298 void comin_descrdata_get_domain_verts_start_index(int jg, const int** start_index, int* arr_size);
304 void comin_descrdata_get_domain_verts_end_index(int jg, const int** end_index, int* arr_size);
310 void comin_descrdata_get_domain_verts_start_block(int jg, const int** start_block, int* arr_size);
316 void comin_descrdata_get_domain_verts_end_block(int jg, const int** end_block, int* arr_size);
322 void comin_descrdata_get_domain_verts_neighbor_blk(int jg, const int** neighbor_blk, int* arr_size);
328 void comin_descrdata_get_domain_verts_neighbor_idx(int jg, const int** neighbor_idx, int* arr_size);
334 void comin_descrdata_get_domain_verts_cell_idx(int jg, const int** cell_idx, int* arr_size);
340 void comin_descrdata_get_domain_verts_cell_blk(int jg, const int** cell_blk, int* arr_size);
346 void comin_descrdata_get_domain_verts_edge_idx(int jg, const int** edge_idx, int* arr_size);
352 void comin_descrdata_get_domain_verts_edge_blk(int jg, const int** edge_blk, int* arr_size);
358 void comin_descrdata_get_domain_verts_vlon(int jg, const double** vlon, int* arr_size);
364 void comin_descrdata_get_domain_verts_vlat(int jg, const double** vlat, int* arr_size);
370 void comin_descrdata_get_domain_verts_rbf_vec_idx(int jg, const int** rbf_vec_idx, int* arr_size);
376 void comin_descrdata_get_domain_verts_rbf_vec_blk(int jg, const int** rbf_vec_blk, int* arr_size);
382 void comin_descrdata_get_domain_verts_rbf_vec_stencil(int jg, const int** rbf_vec_stencil, int* arr_size);
388 void comin_descrdata_get_domain_verts_rbf_vec_coeff(int jg, const double** rbf_vec_coeff, int* arr_size);
394 void comin_descrdata_get_domain_verts_glb_index(int jg, const int** glb_index, int* arr_size);
427 void comin_descrdata_get_domain_edges_refin_ctrl(int jg, const int** refin_ctrl, int* arr_size);
433 void comin_descrdata_get_domain_edges_start_index(int jg, const int** start_index, int* arr_size);
439 void comin_descrdata_get_domain_edges_end_index(int jg, const int** end_index, int* arr_size);
445 void comin_descrdata_get_domain_edges_start_block(int jg, const int** start_block, int* arr_size);
451 void comin_descrdata_get_domain_edges_end_block(int jg, const int** end_block, int* arr_size);
457 void comin_descrdata_get_domain_edges_child_id(int jg, const int** child_id, int* arr_size);
463 void comin_descrdata_get_domain_edges_parent_glb_idx(int jg, const int** parent_glb_idx, int* arr_size);
469 void comin_descrdata_get_domain_edges_parent_glb_blk(int jg, const int** parent_glb_blk, int* arr_size);
475 void comin_descrdata_get_domain_edges_cell_idx(int jg, const int** cell_idx, int* arr_size);
481 void comin_descrdata_get_domain_edges_cell_blk(int jg, const int** cell_blk, int* arr_size);
489 void comin_descrdata_get_domain_edges_vertex_idx(int jg, const int** vertex_idx, int* arr_size);
495 void comin_descrdata_get_domain_edges_vertex_blk(int jg, const int** vertex_blk, int* arr_size);
501 void comin_descrdata_get_domain_edges_elon(int jg, const double** elon, int* arr_size);
507 void comin_descrdata_get_domain_edges_elat(int jg, const double** elat, int* arr_size);
515 void comin_descrdata_get_domain_edges_tangent_orientation(int jg, const double** tangent_orientation, int* arr_size);
520 void comin_descrdata_get_domain_edges_nudgecoeff_e(int jg, const double** nudgecoeff_e, int* arr_size);
526 void comin_descrdata_get_domain_edges_rbf_vec_idx(int jg, const int** rbf_vec_idx, int* arr_size);
532 void comin_descrdata_get_domain_edges_rbf_vec_blk(int jg, const int** rbf_vec_blk, int* arr_size);
538 void comin_descrdata_get_domain_edges_rbf_vec_stencil(int jg, const int** rbf_vec_stencil, int* arr_size);
544 void comin_descrdata_get_domain_edges_rbf_vec_coeff(int jg, const double** rbf_vec_coeff, int* arr_size);
549 void comin_descrdata_get_domain_edges_c_lin_e(int jg, const double** c_lin_e, int* arr_size);
555 void comin_descrdata_get_domain_edges_glb_index(int jg, const int** glb_index, int* arr_size);
570
571 static const struct comin_descrdata_property_t comin_descrdata_domain_cells_properties[] = {
572 {"ncells", (void*)&comin_descrdata_get_domain_cells_ncells, "int", 0, true, 0 },
573 {"ncells_global", (void*)&comin_descrdata_get_domain_cells_ncells_global, "int", 0, true, 0 },
574 {"nblks", (void*)&comin_descrdata_get_domain_cells_nblks, "int", 0, true, 0 },
575 {"max_connectivity", (void*)&comin_descrdata_get_domain_cells_max_connectivity, "int", 0, true, 0 },
576 {"num_edges", (void*)&comin_descrdata_get_domain_cells_num_edges, "int", 2, true, 0 },
577 {"refin_ctrl", (void*)&comin_descrdata_get_domain_cells_refin_ctrl, "int", 2, true, 0 },
578 {"start_index", (void*)&comin_descrdata_get_domain_cells_start_index, "int", 1, true, 0 },
579 {"end_index", (void*)&comin_descrdata_get_domain_cells_end_index, "int", 1, true, 0 },
580 {"start_block", (void*)&comin_descrdata_get_domain_cells_start_block, "int", 1, true, 0 },
581 {"end_block", (void*)&comin_descrdata_get_domain_cells_end_block, "int", 1, true, 0 },
582 {"child_id", (void*)&comin_descrdata_get_domain_cells_child_id, "int", 2, true, 0 },
583 {"parent_glb_idx", (void*)&comin_descrdata_get_domain_cells_parent_glb_idx, "int", 2, true, 0 },
584 {"parent_glb_blk", (void*)&comin_descrdata_get_domain_cells_parent_glb_blk, "int", 2, true, 0 },
585 {"vertex_idx", (void*)&comin_descrdata_get_domain_cells_vertex_idx, "int", 3, true, 0 },
586 {"vertex_blk", (void*)&comin_descrdata_get_domain_cells_vertex_blk, "int", 3, true, 0 },
587 {"neighbor_idx", (void*)&comin_descrdata_get_domain_cells_neighbor_idx, "int", 3, true, 0 },
588 {"neighbor_blk", (void*)&comin_descrdata_get_domain_cells_neighbor_blk, "int", 3, true, 0 },
589 {"edge_idx", (void*)&comin_descrdata_get_domain_cells_edge_idx, "int", 3, true, 0 },
590 {"edge_blk", (void*)&comin_descrdata_get_domain_cells_edge_blk, "int", 3, true, 0 },
591 {"clon", (void*)&comin_descrdata_get_domain_cells_clon, "double", 2, true, 0 },
592 {"clat", (void*)&comin_descrdata_get_domain_cells_clat, "double", 2, true, 0 },
593 {"area", (void*)&comin_descrdata_get_domain_cells_area, "double", 2, true, 0 },
594 {"hhl", (void*)&comin_descrdata_get_domain_cells_hhl, "double", 3, true, 0 },
595 {"e_bln_c_s", (void*)&comin_descrdata_get_domain_cells_e_bln_c_s, "double", 3, true, 0 },
596 {"geofac_div", (void*)&comin_descrdata_get_domain_cells_geofac_div, "double", 3, true, 0 },
597 {"geofac_n2s", (void*)&comin_descrdata_get_domain_cells_geofac_n2s, "double", 3, true, 0 },
598 {"geofac_grg", (void*)&comin_descrdata_get_domain_cells_geofac_grg, "double", 4, true, 0 },
599 {"rbf_vec_idx", (void*)&comin_descrdata_get_domain_cells_rbf_vec_idx, "int", 3, true, 0 },
600 {"rbf_vec_blk", (void*)&comin_descrdata_get_domain_cells_rbf_vec_blk, "int", 3, true, 0 },
601 {"rbf_vec_stencil", (void*)&comin_descrdata_get_domain_cells_rbf_vec_stencil, "int", 2, true, 0 },
602 {"rbf_vec_coeff", (void*)&comin_descrdata_get_domain_cells_rbf_vec_coeff, "double", 4, true, 0 },
603 {"glb_index", (void*)&comin_descrdata_get_domain_cells_glb_index, "int", 1, true, 0 },
604 {"decomp_domain", (void*)&comin_descrdata_get_domain_cells_decomp_domain, "int", 2, true, 0 },
605 {0,0,0,0,0,0}};
606
607 static const struct comin_descrdata_property_t comin_descrdata_domain_verts_properties[] = {
608 {"nverts", (void*)&comin_descrdata_get_domain_verts_nverts, "int", 0, true, 0 },
609 {"nverts_global", (void*)&comin_descrdata_get_domain_verts_nverts_global, "int", 0, true, 0 },
610 {"nblks", (void*)&comin_descrdata_get_domain_verts_nblks, "int", 0, true, 0 },
611 {"num_edges", (void*)&comin_descrdata_get_domain_verts_num_edges, "int", 2, true, 0 },
612 {"refin_ctrl", (void*)&comin_descrdata_get_domain_verts_refin_ctrl, "int", 2, true, 0 },
613 {"start_index", (void*)&comin_descrdata_get_domain_verts_start_index, "int", 1, true, 0 },
614 {"end_index", (void*)&comin_descrdata_get_domain_verts_end_index, "int", 1, true, 0 },
615 {"start_block", (void*)&comin_descrdata_get_domain_verts_start_block, "int", 1, true, 0 },
616 {"end_block", (void*)&comin_descrdata_get_domain_verts_end_block, "int", 1, true, 0 },
617 {"neighbor_blk", (void*)&comin_descrdata_get_domain_verts_neighbor_blk, "int", 3, true, 0 },
618 {"neighbor_idx", (void*)&comin_descrdata_get_domain_verts_neighbor_idx, "int", 3, true, 0 },
619 {"cell_idx", (void*)&comin_descrdata_get_domain_verts_cell_idx, "int", 3, true, 0 },
620 {"cell_blk", (void*)&comin_descrdata_get_domain_verts_cell_blk, "int", 3, true, 0 },
621 {"edge_idx", (void*)&comin_descrdata_get_domain_verts_edge_idx, "int", 3, true, 0 },
622 {"edge_blk", (void*)&comin_descrdata_get_domain_verts_edge_blk, "int", 3, true, 0 },
623 {"vlon", (void*)&comin_descrdata_get_domain_verts_vlon, "double", 2, true, 0 },
624 {"vlat", (void*)&comin_descrdata_get_domain_verts_vlat, "double", 2, true, 0 },
625 {"rbf_vec_idx", (void*)&comin_descrdata_get_domain_verts_rbf_vec_idx, "int", 3, true, 0 },
626 {"rbf_vec_blk", (void*)&comin_descrdata_get_domain_verts_rbf_vec_blk, "int", 3, true, 0 },
627 {"rbf_vec_stencil", (void*)&comin_descrdata_get_domain_verts_rbf_vec_stencil, "int", 2, true, 0 },
628 {"rbf_vec_coeff", (void*)&comin_descrdata_get_domain_verts_rbf_vec_coeff, "double", 4, true, 0 },
629 {"glb_index", (void*)&comin_descrdata_get_domain_verts_glb_index, "int", 1, true, 0 },
630 {"decomp_domain", (void*)&comin_descrdata_get_domain_verts_decomp_domain, "int", 2, true, 0 },
631 {0,0,0,0,0,0}};
632
633 static const struct comin_descrdata_property_t comin_descrdata_domain_edges_properties[] = {
634 {"nedges", (void*)&comin_descrdata_get_domain_edges_nedges, "int", 0, true, 0 },
635 {"nedges_global", (void*)&comin_descrdata_get_domain_edges_nedges_global, "int", 0, true, 0 },
636 {"nblks", (void*)&comin_descrdata_get_domain_edges_nblks, "int", 0, true, 0 },
637 {"refin_ctrl", (void*)&comin_descrdata_get_domain_edges_refin_ctrl, "int", 2, true, 0 },
638 {"start_index", (void*)&comin_descrdata_get_domain_edges_start_index, "int", 1, true, 0 },
639 {"end_index", (void*)&comin_descrdata_get_domain_edges_end_index, "int", 1, true, 0 },
640 {"start_block", (void*)&comin_descrdata_get_domain_edges_start_block, "int", 1, true, 0 },
641 {"end_block", (void*)&comin_descrdata_get_domain_edges_end_block, "int", 1, true, 0 },
642 {"child_id", (void*)&comin_descrdata_get_domain_edges_child_id, "int", 2, true, 0 },
643 {"parent_glb_idx", (void*)&comin_descrdata_get_domain_edges_parent_glb_idx, "int", 2, true, 0 },
644 {"parent_glb_blk", (void*)&comin_descrdata_get_domain_edges_parent_glb_blk, "int", 2, true, 0 },
645 {"cell_idx", (void*)&comin_descrdata_get_domain_edges_cell_idx, "int", 3, true, 0 },
646 {"cell_blk", (void*)&comin_descrdata_get_domain_edges_cell_blk, "int", 3, true, 0 },
647 {"vertex_idx", (void*)&comin_descrdata_get_domain_edges_vertex_idx, "int", 3, true, 0 },
648 {"vertex_blk", (void*)&comin_descrdata_get_domain_edges_vertex_blk, "int", 3, true, 0 },
649 {"elon", (void*)&comin_descrdata_get_domain_edges_elon, "double", 2, true, 0 },
650 {"elat", (void*)&comin_descrdata_get_domain_edges_elat, "double", 2, true, 0 },
651 {"tangent_orientation", (void*)&comin_descrdata_get_domain_edges_tangent_orientation, "double", 2, true, 0 },
652 {"nudgecoeff_e", (void*)&comin_descrdata_get_domain_edges_nudgecoeff_e, "double", 2, true, 0 },
653 {"rbf_vec_idx", (void*)&comin_descrdata_get_domain_edges_rbf_vec_idx, "int", 3, true, 0 },
654 {"rbf_vec_blk", (void*)&comin_descrdata_get_domain_edges_rbf_vec_blk, "int", 3, true, 0 },
655 {"rbf_vec_stencil", (void*)&comin_descrdata_get_domain_edges_rbf_vec_stencil, "int", 2, true, 0 },
656 {"rbf_vec_coeff", (void*)&comin_descrdata_get_domain_edges_rbf_vec_coeff, "double", 3, true, 0 },
657 {"c_lin_e", (void*)&comin_descrdata_get_domain_edges_c_lin_e, "double", 3, true, 0 },
658 {"glb_index", (void*)&comin_descrdata_get_domain_edges_glb_index, "int", 1, true, 0 },
659 {"decomp_domain", (void*)&comin_descrdata_get_domain_edges_decomp_domain, "int", 2, true, 0 },
660 {0,0,0,0,0,0}};
661
662 static const struct comin_descrdata_property_t comin_descrdata_domain_properties[] = {
663 {"grid_filename", (void*)&comin_descrdata_get_domain_grid_filename, "char", 1, true, 0 },
664 {"grid_uuid", (void*)&comin_descrdata_get_domain_grid_uuid, "int8_t", 1, true, 0 },
665 {"number_of_grid_used", (void*)&comin_descrdata_get_domain_number_of_grid_used, "int", 0, true, 0 },
666 {"id", (void*)&comin_descrdata_get_domain_id, "int", 0, true, 0 },
667 {"parent_id", (void*)&comin_descrdata_get_domain_parent_id, "int", 0, true, 0 },
668 {"child_id", (void*)&comin_descrdata_get_domain_child_id, "int", 1, true, 0 },
669 {"n_childdom", (void*)&comin_descrdata_get_domain_n_childdom, "int", 0, true, 0 },
670 {"dom_start", (void*)&comin_descrdata_get_domain_dom_start, "double", 0, true, 0 },
671 {"dom_end", (void*)&comin_descrdata_get_domain_dom_end, "double", 0, true, 0 },
672 {"nlev", (void*)&comin_descrdata_get_domain_nlev, "int", 0, true, 0 },
673 {"nshift", (void*)&comin_descrdata_get_domain_nshift, "int", 0, true, 0 },
674 {"nshift_total", (void*)&comin_descrdata_get_domain_nshift_total, "int", 0, true, 0 },
675 {"cells", 0, "void", 0, true, comin_descrdata_domain_cells_properties },
676 {"verts", 0, "void", 0, true, comin_descrdata_domain_verts_properties },
677 {"edges", 0, "void", 0, true, comin_descrdata_domain_edges_properties },
678 {0,0,0,0,0,0}};
679
756 void comin_descrdata_get_global_vct_a(const double** vct_a, int* arr_size);
770 void comin_descrdata_get_global_host_git_remote_url(const char** host_git_remote_url, int* arr_size);
774 void comin_descrdata_get_global_host_git_branch(const char** host_git_branch, int* arr_size);
778 void comin_descrdata_get_global_host_git_tag(const char** host_git_tag, int* arr_size);
782 void comin_descrdata_get_global_host_revision(const char** host_revision, int* arr_size);
794 void comin_descrdata_get_global_device_name(const char** device_name, int* arr_size);
798 void comin_descrdata_get_global_device_vendor(const char** device_vendor, int* arr_size);
802 void comin_descrdata_get_global_device_driver(const char** device_driver, int* arr_size);
803
804 static const struct comin_descrdata_property_t comin_descrdata_global_properties[] = {
805 {"n_dom", (void*)&comin_descrdata_get_global_n_dom, "int", 0, false, 0 },
806 {"max_dom", (void*)&comin_descrdata_get_global_max_dom, "int", 0, false, 0 },
807 {"nproma", (void*)&comin_descrdata_get_global_nproma, "int", 0, false, 0 },
808 {"wp", (void*)&comin_descrdata_get_global_wp, "int", 0, false, 0 },
809 {"min_rlcell_int", (void*)&comin_descrdata_get_global_min_rlcell_int, "int", 0, false, 0 },
810 {"min_rlcell", (void*)&comin_descrdata_get_global_min_rlcell, "int", 0, false, 0 },
811 {"max_rlcell", (void*)&comin_descrdata_get_global_max_rlcell, "int", 0, false, 0 },
812 {"min_rlvert_int", (void*)&comin_descrdata_get_global_min_rlvert_int, "int", 0, false, 0 },
813 {"min_rlvert", (void*)&comin_descrdata_get_global_min_rlvert, "int", 0, false, 0 },
814 {"max_rlvert", (void*)&comin_descrdata_get_global_max_rlvert, "int", 0, false, 0 },
815 {"min_rledge_int", (void*)&comin_descrdata_get_global_min_rledge_int, "int", 0, false, 0 },
816 {"min_rledge", (void*)&comin_descrdata_get_global_min_rledge, "int", 0, false, 0 },
817 {"max_rledge", (void*)&comin_descrdata_get_global_max_rledge, "int", 0, false, 0 },
818 {"grf_bdywidth_c", (void*)&comin_descrdata_get_global_grf_bdywidth_c, "int", 0, false, 0 },
819 {"grf_bdywidth_e", (void*)&comin_descrdata_get_global_grf_bdywidth_e, "int", 0, false, 0 },
820 {"lrestartrun", (void*)&comin_descrdata_get_global_lrestartrun, "bool", 0, false, 0 },
821 {"vct_a", (void*)&comin_descrdata_get_global_vct_a, "double", 1, false, 0 },
822 {"l_limited_area", (void*)&comin_descrdata_get_global_l_limited_area, "bool", 0, false, 0 },
823 {"yac_instance_id", (void*)&comin_descrdata_get_global_yac_instance_id, "int", 0, false, 0 },
824 {"host_git_remote_url", (void*)&comin_descrdata_get_global_host_git_remote_url, "char", 1, false, 0 },
825 {"host_git_branch", (void*)&comin_descrdata_get_global_host_git_branch, "char", 1, false, 0 },
826 {"host_git_tag", (void*)&comin_descrdata_get_global_host_git_tag, "char", 1, false, 0 },
827 {"host_revision", (void*)&comin_descrdata_get_global_host_revision, "char", 1, false, 0 },
828 {"has_device", (void*)&comin_descrdata_get_global_has_device, "bool", 0, false, 0 },
829 {"device_name", (void*)&comin_descrdata_get_global_device_name, "char", 1, false, 0 },
830 {"device_vendor", (void*)&comin_descrdata_get_global_device_vendor, "char", 1, false, 0 },
831 {"device_driver", (void*)&comin_descrdata_get_global_device_driver, "char", 1, false, 0 },
832 {0,0,0,0,0,0}};
833
834#ifdef __cplusplus
835} // extern C
836#endif
837
839
void comin_descrdata_get_domain_cells_rbf_vec_blk(int jg, const int **rbf_vec_blk, int *arr_size)
Block-Indices of the stencil of surrounding edges for vector rbf interpolation at each cell center in...
void comin_descrdata_get_domain_edges_vertex_blk(int jg, const int **vertex_blk, int *arr_size)
Block indices of edge vertices.
void comin_descrdata_get_domain_cells_rbf_vec_coeff(int jg, const double **rbf_vec_coeff, int *arr_size)
coefficients used for vector rbf interpolation at each cell center index1=rbf_vec_dim_c(=9),...
void comin_descrdata_get_domain_edges_parent_glb_blk(int jg, const int **parent_glb_blk, int *arr_size)
block index of parent edges
void comin_descrdata_get_domain_cells_clat(int jg, const double **clat, int *arr_size)
Latitude of centers of triangular cells.
void comin_descrdata_get_domain_edges_glb_index(int jg, const int **glb_index, int *arr_size)
Global edge indices.
void comin_descrdata_get_domain_edges_rbf_vec_stencil(int jg, const int **rbf_vec_stencil, int *arr_size)
Number of surrounding edges in the stencil for vector rbf interpolation at each triangle edge index1=...
int comin_descrdata_get_global_min_rlvert_int()
Vertex row ordering (block index). See the corresponding documentation for cells.
void comin_descrdata_get_domain_cells_start_index(int jg, const int **start_index, int *arr_size)
List of start indices for each refin_ctrl level.
void comin_descrdata_get_domain_edges_elat(int jg, const double **elat, int *arr_size)
Latitude of edge midpoint.
int comin_descrdata_get_domain_edges_nblks(int jg)
Number of blocks for edges.
int comin_descrdata_get_domain_cells_nblks(int jg)
Number of blocks for cells.
int comin_descrdata_get_global_min_rlcell()
Cell row ordering (block index): halo cells have a negative numbering ranging between min_rlcell and ...
void comin_descrdata_get_domain_verts_neighbor_idx(int jg, const int **neighbor_idx, int *arr_size)
Line indices of neighbor vertices.
int comin_descrdata_get_domain_nshift_total(int jg)
Total shift of model top w.r.t. global domain.
void comin_descrdata_get_global_vct_a(const double **vct_a, int *arr_size)
Parameter A of the vertical coordinate (without influence of topography)
double comin_descrdata_get_domain_dom_start(int jg)
Time at which execution of a (nested) model domain starts.
void comin_descrdata_get_domain_verts_rbf_vec_stencil(int jg, const int **rbf_vec_stencil, int *arr_size)
Number of surrounding edges in the stencil for vector rbf interpolation at each triangle vertex index...
void comin_descrdata_get_domain_cells_e_bln_c_s(int jg, const double **e_bln_c_s, int *arr_size)
Coefficient for bilinear interpolation from edges to cells for scalar quantities index1=nproma,...
void comin_descrdata_get_domain_verts_edge_blk(int jg, const int **edge_blk, int *arr_size)
Block indices of edges around a vertex.
int comin_descrdata_get_domain_edges_nedges(int jg)
Number of local edges.
void comin_descrdata_get_domain_cells_start_block(int jg, const int **start_block, int *arr_size)
List of start block for each refin_ctrl level.
int comin_descrdata_get_domain_nlev(int jg)
Number of vertical model levels.
void comin_descrdata_get_domain_cells_clon(int jg, const double **clon, int *arr_size)
Longitude of centers of triangular cells.
static const struct comin_descrdata_property_t comin_descrdata_domain_edges_properties[]
int comin_descrdata_get_domain_id(int jg)
Domain ID of current domain.
int comin_descrdata_get_domain_cells_max_connectivity(int jg)
Maximum number of connected neighbors (usually 3)
void comin_descrdata_get_domain_verts_cell_blk(int jg, const int **cell_blk, int *arr_size)
Block indices of cells around each vertex.
int comin_descrdata_get_domain_n_childdom(int jg)
Actual number of child domains.
int comin_descrdata_get_domain_cells_ncells(int jg)
Number of local cells.
void comin_descrdata_get_domain_verts_glb_index(int jg, const int **glb_index, int *arr_size)
Global vertex indices.
void comin_descrdata_get_domain_edges_nudgecoeff_e(int jg, const double **nudgecoeff_e, int *arr_size)
Nudging coefficient for cells index1=nproma, index2=nblks_e.
int comin_descrdata_get_domain_edges_nedges_global(int jg)
Number of global edges.
void comin_descrdata_get_domain_cells_edge_idx(int jg, const int **edge_idx, int *arr_size)
Line indices of edges of triangle.
void comin_descrdata_get_domain_verts_vlat(int jg, const double **vlat, int *arr_size)
Latitude of vertex.
int comin_descrdata_get_domain_cells_ncells_global(int jg)
Number of global cells.
int comin_descrdata_get_global_max_rlvert()
Vertex row ordering (block index). See the corresponding documentation for cells.
int comin_descrdata_get_domain_number_of_grid_used(int jg)
Number of grid used (GRIB2 key)
void comin_descrdata_get_global_host_git_tag(const char **host_git_tag, int *arr_size)
Host model version information - Git tag name.
void comin_descrdata_get_domain_cells_num_edges(int jg, const int **num_edges, int *arr_size)
Number of edges connected to cell.
void comin_descrdata_get_domain_edges_end_block(int jg, const int **end_block, int *arr_size)
List of end block for each refin_ctrl level.
void comin_descrdata_get_domain_cells_geofac_n2s(int jg, const double **geofac_n2s, int *arr_size)
Factor for nabla2-scalar index1=nproma, index2=cell_type+1, index3=nblks_c.
bool comin_descrdata_get_global_lrestartrun()
Whether this is a restarted run.
void comin_descrdata_get_domain_cells_vertex_idx(int jg, const int **vertex_idx, int *arr_size)
Line indices of verts of triangle.
void comin_descrdata_get_domain_edges_vertex_idx(int jg, const int **vertex_idx, int *arr_size)
Line indices of edge vertices.
void comin_descrdata_get_domain_verts_rbf_vec_idx(int jg, const int **rbf_vec_idx, int *arr_size)
void comin_descrdata_get_domain_edges_rbf_vec_idx(int jg, const int **rbf_vec_idx, int *arr_size)
Indices for stencil of surrounding edges for vector rbf interpolation at each triangle edge index1=rb...
bool comin_descrdata_get_global_l_limited_area()
Limited area setup where forcing comes from the sides.
void comin_descrdata_get_domain_verts_edge_idx(int jg, const int **edge_idx, int *arr_size)
Line indices of edges around a vertex.
void comin_descrdata_get_domain_grid_uuid(int jg, const int8_t **grid_uuid, int *arr_size)
Alphanumerical hash of grid.
int comin_descrdata_get_global_nproma()
Loop chunk length.
void comin_descrdata_get_domain_cells_end_block(int jg, const int **end_block, int *arr_size)
List of end block for each refin_ctrl level.
void comin_descrdata_get_domain_edges_refin_ctrl(int jg, const int **refin_ctrl, int *arr_size)
Lateral boundary distance indices.
void comin_descrdata_get_domain_verts_cell_idx(int jg, const int **cell_idx, int *arr_size)
Line indices of cells around each vertex.
int comin_descrdata_get_domain_verts_nblks(int jg)
Number of blocks for verts.
void comin_descrdata_get_global_device_vendor(const char **device_vendor, int *arr_size)
Vendor of the accelerator device.
static const struct comin_descrdata_property_t comin_descrdata_domain_properties[]
void comin_descrdata_get_domain_edges_start_index(int jg, const int **start_index, int *arr_size)
List of start indices for each refin_ctrl level.
void comin_descrdata_get_domain_cells_glb_index(int jg, const int **glb_index, int *arr_size)
Global cell indices.
int comin_descrdata_get_global_n_dom()
Number of logical domains.
static const struct comin_descrdata_property_t comin_descrdata_global_properties[]
int comin_descrdata_get_global_min_rledge_int()
Vertex row ordering (block index). See the corresponding documentation for cells.
void comin_descrdata_get_domain_edges_tangent_orientation(int jg, const double **tangent_orientation, int *arr_size)
Orientation of the edge =1 if vector product of vector from vertex1 to vertex 2 (v2-v1) by vector fro...
void comin_descrdata_get_domain_cells_parent_glb_idx(int jg, const int **parent_glb_idx, int *arr_size)
Line index of parent triangle.
void comin_descrdata_get_domain_verts_neighbor_blk(int jg, const int **neighbor_blk, int *arr_size)
Block indices of neighbor vertices.
void comin_descrdata_get_global_host_revision(const char **host_revision, int *arr_size)
Host model version information - revision version number.
void comin_descrdata_get_global_device_name(const char **device_name, int *arr_size)
Name of the accelerator device.
void comin_descrdata_get_domain_cells_decomp_domain(int jg, const int **decomp_domain, int *arr_size)
Domain decomposition flag.
void comin_descrdata_get_domain_edges_elon(int jg, const double **elon, int *arr_size)
Longitude of edge midpoint.
void comin_descrdata_get_domain_cells_child_id(int jg, const int **child_id, int *arr_size)
Domain ID of child triangles.
void comin_descrdata_get_domain_verts_end_block(int jg, const int **end_block, int *arr_size)
List of end block for each refin_ctrl level.
void comin_descrdata_get_domain_verts_end_index(int jg, const int **end_index, int *arr_size)
List of end indices for each refin_ctrl level.
void comin_descrdata_get_domain_cells_end_index(int jg, const int **end_index, int *arr_size)
List of end indices for each refin_ctrl level.
int comin_descrdata_get_global_min_rlvert()
Vertex row ordering (block index). See the corresponding documentation for cells.
void comin_descrdata_get_domain_verts_start_block(int jg, const int **start_block, int *arr_size)
List of start block for each refin_ctrl level.
void comin_descrdata_get_domain_cells_rbf_vec_stencil(int jg, const int **rbf_vec_stencil, int *arr_size)
Number of surrounding edges in the stencil for vector rbf interpolation at each cell center index1=np...
static const struct comin_descrdata_property_t comin_descrdata_domain_verts_properties[]
void comin_descrdata_get_domain_cells_neighbor_blk(int jg, const int **neighbor_blk, int *arr_size)
Block indices of neighbors of triangle.
void comin_descrdata_get_domain_edges_c_lin_e(int jg, const double **c_lin_e, int *arr_size)
Coefficient for interpolation from adjacent cells onto edge index1=nproma, index2=2,...
void comin_descrdata_get_domain_child_id(int jg, const int **child_id, int *arr_size)
IDs for all child domains.
void comin_descrdata_get_domain_grid_filename(int jg, const char **grid_filename, int *arr_size)
Horizontal grid filename.
void comin_descrdata_get_domain_verts_vlon(int jg, const double **vlon, int *arr_size)
Longitude of vertex.
int comin_descrdata_get_global_min_rledge()
Edge row ordering (block index). See the corresponding documentation for cells.
void comin_descrdata_get_global_host_git_branch(const char **host_git_branch, int *arr_size)
Host model version information - Git branch name.
int comin_descrdata_get_global_grf_bdywidth_e()
Edge row ordering (block index): See the corresponding documentation for cells.
void comin_descrdata_get_domain_verts_rbf_vec_coeff(int jg, const double **rbf_vec_coeff, int *arr_size)
Coefficients used for vector rbf interpolation at each tringle vertex. input is normal component inde...
void comin_descrdata_get_domain_cells_neighbor_idx(int jg, const int **neighbor_idx, int *arr_size)
Line indices of neighbors of triangle.
void comin_descrdata_get_domain_cells_edge_blk(int jg, const int **edge_blk, int *arr_size)
Block indices of edges of triangle.
int comin_descrdata_get_domain_nshift(int jg)
Half level of parent domain that coincides with upper margin of current domain.
int comin_descrdata_get_global_wp()
Working precision.
void comin_descrdata_get_domain_cells_rbf_vec_idx(int jg, const int **rbf_vec_idx, int *arr_size)
Indices of the stencil of surrounding edges for vector rbf interpolation at each cell center index1=r...
void comin_descrdata_get_domain_edges_parent_glb_idx(int jg, const int **parent_glb_idx, int *arr_size)
Line index of parent edges.
void comin_descrdata_get_domain_edges_end_index(int jg, const int **end_index, int *arr_size)
List of end indices for each refin_ctrl level.
void comin_descrdata_get_domain_verts_num_edges(int jg, const int **num_edges, int *arr_size)
Number of edges connected to vertex.
void comin_descrdata_get_domain_cells_refin_ctrl(int jg, const int **refin_ctrl, int *arr_size)
Lateral boundary distance indices.
void comin_descrdata_get_domain_cells_geofac_grg(int jg, const double **geofac_grg, int *arr_size)
Factor for Green-Gauss gradient index1=nproma, index2=4, index3=nblks_c, index4=2.
void comin_descrdata_get_domain_verts_start_index(int jg, const int **start_index, int *arr_size)
List of start indices for each refin_ctrl level.
void comin_descrdata_get_domain_edges_rbf_vec_coeff(int jg, const double **rbf_vec_coeff, int *arr_size)
Coefficients used for rbf inter- polation of the tangential velocity component (from the surrounding ...
int comin_descrdata_get_global_max_dom()
Maximum number of model domains.
void comin_descrdata_get_global_host_git_remote_url(const char **host_git_remote_url, int *arr_size)
Host model version information - Git remote URL.
int comin_descrdata_get_global_yac_instance_id()
The yac instance id used by the host model.
int comin_descrdata_get_global_min_rlcell_int()
Cell row ordering (block index): halo cells have a negative numbering ranging between min_rlcell and ...
void comin_descrdata_get_domain_edges_cell_idx(int jg, const int **cell_idx, int *arr_size)
Line indices of adjacent cells.
void comin_descrdata_get_domain_verts_rbf_vec_blk(int jg, const int **rbf_vec_blk, int *arr_size)
void comin_descrdata_get_domain_edges_child_id(int jg, const int **child_id, int *arr_size)
Domain ID of child edges.
int comin_descrdata_get_domain_parent_id(int jg)
Domain id of parent.
static const struct comin_descrdata_property_t comin_descrdata_domain_cells_properties[]
void comin_descrdata_get_domain_cells_geofac_div(int jg, const double **geofac_div, int *arr_size)
Factor for divergence index1=nproma , index2=cell_type, index3=nblks_c.
int comin_descrdata_get_domain_verts_nverts(int jg)
Number of local verts.
void comin_descrdata_get_global_device_driver(const char **device_driver, int *arr_size)
Driver of the accelerator device.
void comin_descrdata_get_domain_verts_refin_ctrl(int jg, const int **refin_ctrl, int *arr_size)
Lateral boundary distance indices.
void comin_descrdata_get_domain_cells_vertex_blk(int jg, const int **vertex_blk, int *arr_size)
Block indices of verts of triangle.
void comin_descrdata_get_domain_edges_decomp_domain(int jg, const int **decomp_domain, int *arr_size)
Domain decomposition flag for edges.
void comin_descrdata_get_domain_verts_decomp_domain(int jg, const int **decomp_domain, int *arr_size)
Domain decomposition flag for vertices.
double comin_descrdata_get_domain_dom_end(int jg)
Time at which execution of a (nested) model domain terminates.
bool comin_descrdata_get_global_has_device()
Information about the computation device (accelerator)
void comin_descrdata_get_domain_edges_cell_blk(int jg, const int **cell_blk, int *arr_size)
Block indices of adjacent cells.
int comin_descrdata_get_global_grf_bdywidth_c()
Cell row ordering (block index): width of lateral boundary region, not including the nudging zone.
int comin_descrdata_get_global_max_rledge()
Edge row ordering (block index). See the corresponding documentation for cells.
void comin_descrdata_get_domain_cells_parent_glb_blk(int jg, const int **parent_glb_blk, int *arr_size)
Block index of parent triangle.
void comin_descrdata_get_domain_edges_rbf_vec_blk(int jg, const int **rbf_vec_blk, int *arr_size)
Block-indices for stencil of surrounding edges for vector rbf interpolation at each triangle edge ind...
void comin_descrdata_get_domain_cells_area(int jg, const double **area, int *arr_size)
Area of triangle.
int comin_descrdata_get_global_max_rlcell()
Cell row ordering (block index): cell rows in the lateral domain boundary have positive refin_c_ctrl ...
void comin_descrdata_get_domain_cells_hhl(int jg, const double **hhl, int *arr_size)
Geometrical height of half levels at cell centre.
int comin_descrdata_get_domain_verts_nverts_global(int jg)
Number of global verts.
void comin_descrdata_get_domain_edges_start_block(int jg, const int **start_block, int *arr_size)
List of start block for each refin_ctrl level.
const int jg
const int * decomp_domain