12 USE iso_c_binding,
ONLY: c_ptr, c_int, c_bool, c_signed_char
23 FUNCTION comin_descrdata_get_global_n_dom() &
24 &
BIND(C, NAME="comin_descrdata_get_global_n_dom") &
27 INTEGER(C_INT) :: n_dom
28 n_dom =
state%comin_descrdata_global_data%n_dom
29 END FUNCTION comin_descrdata_get_global_n_dom
31 FUNCTION comin_descrdata_get_global_max_dom() &
32 &
BIND(C, NAME="comin_descrdata_get_global_max_dom") &
35 INTEGER(C_INT) :: max_dom
36 max_dom =
state%comin_descrdata_global_data%max_dom
37 END FUNCTION comin_descrdata_get_global_max_dom
39 FUNCTION comin_descrdata_get_global_nproma() &
40 &
BIND(C, NAME="comin_descrdata_get_global_nproma") &
43 INTEGER(C_INT) :: nproma
44 nproma =
state%comin_descrdata_global_data%nproma
45 END FUNCTION comin_descrdata_get_global_nproma
47 FUNCTION comin_descrdata_get_global_wp() &
48 &
BIND(C, NAME="comin_descrdata_get_global_wp") &
52 wp =
state%comin_descrdata_global_data%wp
53 END FUNCTION comin_descrdata_get_global_wp
55 FUNCTION comin_descrdata_get_global_min_rlcell_int() &
56 &
BIND(C, NAME="comin_descrdata_get_global_min_rlcell_int") &
57 & result(min_rlcell_int)
59 INTEGER(C_INT) :: min_rlcell_int
60 min_rlcell_int =
state%comin_descrdata_global_data%min_rlcell_int
61 END FUNCTION comin_descrdata_get_global_min_rlcell_int
63 FUNCTION comin_descrdata_get_global_min_rlcell() &
64 &
BIND(C, NAME="comin_descrdata_get_global_min_rlcell") &
67 INTEGER(C_INT) :: min_rlcell
68 min_rlcell =
state%comin_descrdata_global_data%min_rlcell
69 END FUNCTION comin_descrdata_get_global_min_rlcell
71 FUNCTION comin_descrdata_get_global_max_rlcell() &
72 &
BIND(C, NAME="comin_descrdata_get_global_max_rlcell") &
75 INTEGER(C_INT) :: max_rlcell
76 max_rlcell =
state%comin_descrdata_global_data%max_rlcell
77 END FUNCTION comin_descrdata_get_global_max_rlcell
79 FUNCTION comin_descrdata_get_global_min_rlvert_int() &
80 &
BIND(C, NAME="comin_descrdata_get_global_min_rlvert_int") &
81 & result(min_rlvert_int)
83 INTEGER(C_INT) :: min_rlvert_int
84 min_rlvert_int =
state%comin_descrdata_global_data%min_rlvert_int
85 END FUNCTION comin_descrdata_get_global_min_rlvert_int
87 FUNCTION comin_descrdata_get_global_min_rlvert() &
88 &
BIND(C, NAME="comin_descrdata_get_global_min_rlvert") &
91 INTEGER(C_INT) :: min_rlvert
92 min_rlvert =
state%comin_descrdata_global_data%min_rlvert
93 END FUNCTION comin_descrdata_get_global_min_rlvert
95 FUNCTION comin_descrdata_get_global_max_rlvert() &
96 &
BIND(C, NAME="comin_descrdata_get_global_max_rlvert") &
99 INTEGER(C_INT) :: max_rlvert
100 max_rlvert =
state%comin_descrdata_global_data%max_rlvert
101 END FUNCTION comin_descrdata_get_global_max_rlvert
103 FUNCTION comin_descrdata_get_global_min_rledge_int() &
104 &
BIND(C, NAME="comin_descrdata_get_global_min_rledge_int") &
105 & result(min_rledge_int)
107 INTEGER(C_INT) :: min_rledge_int
108 min_rledge_int =
state%comin_descrdata_global_data%min_rledge_int
109 END FUNCTION comin_descrdata_get_global_min_rledge_int
111 FUNCTION comin_descrdata_get_global_min_rledge() &
112 &
BIND(C, NAME="comin_descrdata_get_global_min_rledge") &
115 INTEGER(C_INT) :: min_rledge
116 min_rledge =
state%comin_descrdata_global_data%min_rledge
117 END FUNCTION comin_descrdata_get_global_min_rledge
119 FUNCTION comin_descrdata_get_global_max_rledge() &
120 &
BIND(C, NAME="comin_descrdata_get_global_max_rledge") &
123 INTEGER(C_INT) :: max_rledge
124 max_rledge =
state%comin_descrdata_global_data%max_rledge
125 END FUNCTION comin_descrdata_get_global_max_rledge
127 FUNCTION comin_descrdata_get_global_grf_bdywidth_c() &
128 &
BIND(C, NAME="comin_descrdata_get_global_grf_bdywidth_c") &
129 & result(grf_bdywidth_c)
131 INTEGER(C_INT) :: grf_bdywidth_c
132 grf_bdywidth_c =
state%comin_descrdata_global_data%grf_bdywidth_c
133 END FUNCTION comin_descrdata_get_global_grf_bdywidth_c
135 FUNCTION comin_descrdata_get_global_grf_bdywidth_e() &
136 &
BIND(C, NAME="comin_descrdata_get_global_grf_bdywidth_e") &
137 & result(grf_bdywidth_e)
139 INTEGER(C_INT) :: grf_bdywidth_e
140 grf_bdywidth_e =
state%comin_descrdata_global_data%grf_bdywidth_e
141 END FUNCTION comin_descrdata_get_global_grf_bdywidth_e
143 FUNCTION comin_descrdata_get_global_lrestartrun() &
144 &
BIND(C, NAME="comin_descrdata_get_global_lrestartrun") &
145 & result(lrestartrun)
147 LOGICAL(C_BOOL) :: lrestartrun
148 lrestartrun =
state%comin_descrdata_global_data%lrestartrun
149 END FUNCTION comin_descrdata_get_global_lrestartrun
151 SUBROUTINE comin_descrdata_get_global_vct_a( vct_a, arr_size) &
152 &
BIND(C, NAME="comin_descrdata_get_global_vct_a")
154 TYPE(C_PTR),
INTENT(OUT) :: vct_a
155 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
157 REAL(wp),
POINTER :: ptr(:)
158 ptr =>
state%comin_descrdata_global_data%vct_a
160 END SUBROUTINE comin_descrdata_get_global_vct_a
162 FUNCTION comin_descrdata_get_global_l_limited_area() &
163 &
BIND(C, NAME="comin_descrdata_get_global_l_limited_area") &
164 & result(l_limited_area)
166 LOGICAL(C_BOOL) :: l_limited_area
167 l_limited_area =
state%comin_descrdata_global_data%l_limited_area
168 END FUNCTION comin_descrdata_get_global_l_limited_area
170 FUNCTION comin_descrdata_get_global_yac_instance_id() &
171 &
BIND(C, NAME="comin_descrdata_get_global_yac_instance_id") &
172 & result(yac_instance_id)
174 INTEGER(C_INT) :: yac_instance_id
175 yac_instance_id =
state%comin_descrdata_global_data%yac_instance_id
176 END FUNCTION comin_descrdata_get_global_yac_instance_id
178 SUBROUTINE comin_descrdata_get_global_host_git_remote_url( host_git_remote_url, arr_size) &
179 &
BIND(C, NAME="comin_descrdata_get_global_host_git_remote_url")
181 TYPE(C_PTR),
INTENT(OUT) :: host_git_remote_url
182 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
184 CHARACTER(LEN=:),
POINTER :: ptr
185 ptr =>
state%comin_descrdata_global_data%host_git_remote_url
187 END SUBROUTINE comin_descrdata_get_global_host_git_remote_url
189 SUBROUTINE comin_descrdata_get_global_host_git_branch( host_git_branch, arr_size) &
190 &
BIND(C, NAME="comin_descrdata_get_global_host_git_branch")
192 TYPE(C_PTR),
INTENT(OUT) :: host_git_branch
193 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
195 CHARACTER(LEN=:),
POINTER :: ptr
196 ptr =>
state%comin_descrdata_global_data%host_git_branch
198 END SUBROUTINE comin_descrdata_get_global_host_git_branch
200 SUBROUTINE comin_descrdata_get_global_host_git_tag( host_git_tag, arr_size) &
201 &
BIND(C, NAME="comin_descrdata_get_global_host_git_tag")
203 TYPE(C_PTR),
INTENT(OUT) :: host_git_tag
204 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
206 CHARACTER(LEN=:),
POINTER :: ptr
207 ptr =>
state%comin_descrdata_global_data%host_git_tag
209 END SUBROUTINE comin_descrdata_get_global_host_git_tag
211 SUBROUTINE comin_descrdata_get_global_host_revision( host_revision, arr_size) &
212 &
BIND(C, NAME="comin_descrdata_get_global_host_revision")
214 TYPE(C_PTR),
INTENT(OUT) :: host_revision
215 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
217 CHARACTER(LEN=:),
POINTER :: ptr
218 ptr =>
state%comin_descrdata_global_data%host_revision
220 END SUBROUTINE comin_descrdata_get_global_host_revision
222 FUNCTION comin_descrdata_get_global_has_device() &
223 &
BIND(C, NAME="comin_descrdata_get_global_has_device") &
226 LOGICAL(C_BOOL) :: has_device
227 has_device =
state%comin_descrdata_global_data%has_device
228 END FUNCTION comin_descrdata_get_global_has_device
230 SUBROUTINE comin_descrdata_get_global_device_name( device_name, arr_size) &
231 &
BIND(C, NAME="comin_descrdata_get_global_device_name")
233 TYPE(C_PTR),
INTENT(OUT) :: device_name
234 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
236 CHARACTER(LEN=:),
POINTER :: ptr
237 ptr =>
state%comin_descrdata_global_data%device_name
239 END SUBROUTINE comin_descrdata_get_global_device_name
241 SUBROUTINE comin_descrdata_get_global_device_vendor( device_vendor, arr_size) &
242 &
BIND(C, NAME="comin_descrdata_get_global_device_vendor")
244 TYPE(C_PTR),
INTENT(OUT) :: device_vendor
245 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
247 CHARACTER(LEN=:),
POINTER :: ptr
248 ptr =>
state%comin_descrdata_global_data%device_vendor
250 END SUBROUTINE comin_descrdata_get_global_device_vendor
252 SUBROUTINE comin_descrdata_get_global_device_driver( device_driver, arr_size) &
253 &
BIND(C, NAME="comin_descrdata_get_global_device_driver")
255 TYPE(C_PTR),
INTENT(OUT) :: device_driver
256 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
258 CHARACTER(LEN=:),
POINTER :: ptr
259 ptr =>
state%comin_descrdata_global_data%device_driver
261 END SUBROUTINE comin_descrdata_get_global_device_driver
263 SUBROUTINE comin_descrdata_get_domain_grid_filename(jg, grid_filename, arr_size) &
264 &
BIND(C, NAME="comin_descrdata_get_domain_grid_filename")
265 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
266 TYPE(C_PTR),
INTENT(OUT) :: grid_filename
267 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
269 CHARACTER(LEN=:),
POINTER :: ptr
270 ptr =>
state%comin_descrdata_domain_data(jg)%grid_filename
272 END SUBROUTINE comin_descrdata_get_domain_grid_filename
274 SUBROUTINE comin_descrdata_get_domain_grid_uuid(jg, grid_uuid, arr_size) &
275 &
BIND(C, NAME="comin_descrdata_get_domain_grid_uuid")
276 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
277 TYPE(C_PTR),
INTENT(OUT) :: grid_uuid
278 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
280 INTEGER(c_signed_char),
POINTER :: ptr(:)
281 ptr =>
state%comin_descrdata_domain_data(jg)%grid_uuid
283 END SUBROUTINE comin_descrdata_get_domain_grid_uuid
285 FUNCTION comin_descrdata_get_domain_number_of_grid_used(jg) &
286 &
BIND(C, NAME="comin_descrdata_get_domain_number_of_grid_used") &
287 & result(number_of_grid_used)
288 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
289 INTEGER(C_INT) :: number_of_grid_used
290 number_of_grid_used =
state%comin_descrdata_domain_data(jg)%number_of_grid_used
291 END FUNCTION comin_descrdata_get_domain_number_of_grid_used
293 FUNCTION comin_descrdata_get_domain_id(jg) &
294 &
BIND(C, NAME="comin_descrdata_get_domain_id") &
296 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
298 id =
state%comin_descrdata_domain_data(jg)%id
299 END FUNCTION comin_descrdata_get_domain_id
301 FUNCTION comin_descrdata_get_domain_parent_id(jg) &
302 &
BIND(C, NAME="comin_descrdata_get_domain_parent_id") &
304 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
305 INTEGER(C_INT) :: parent_id
306 parent_id =
state%comin_descrdata_domain_data(jg)%parent_id
307 END FUNCTION comin_descrdata_get_domain_parent_id
309 SUBROUTINE comin_descrdata_get_domain_child_id(jg, child_id, arr_size) &
310 &
BIND(C, NAME="comin_descrdata_get_domain_child_id")
311 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
312 TYPE(C_PTR),
INTENT(OUT) :: child_id
313 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
315 INTEGER(C_INT),
POINTER :: ptr(:)
316 ptr =>
state%comin_descrdata_domain_data(jg)%child_id
318 END SUBROUTINE comin_descrdata_get_domain_child_id
320 FUNCTION comin_descrdata_get_domain_n_childdom(jg) &
321 &
BIND(C, NAME="comin_descrdata_get_domain_n_childdom") &
323 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
324 INTEGER(C_INT) :: n_childdom
325 n_childdom =
state%comin_descrdata_domain_data(jg)%n_childdom
326 END FUNCTION comin_descrdata_get_domain_n_childdom
328 FUNCTION comin_descrdata_get_domain_dom_start(jg) &
329 &
BIND(C, NAME="comin_descrdata_get_domain_dom_start") &
331 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
332 REAL(wp) :: dom_start
333 dom_start =
state%comin_descrdata_domain_data(jg)%dom_start
334 END FUNCTION comin_descrdata_get_domain_dom_start
336 FUNCTION comin_descrdata_get_domain_dom_end(jg) &
337 &
BIND(C, NAME="comin_descrdata_get_domain_dom_end") &
339 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
341 dom_end =
state%comin_descrdata_domain_data(jg)%dom_end
342 END FUNCTION comin_descrdata_get_domain_dom_end
344 FUNCTION comin_descrdata_get_domain_nlev(jg) &
345 &
BIND(C, NAME="comin_descrdata_get_domain_nlev") &
347 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
348 INTEGER(C_INT) :: nlev
349 nlev =
state%comin_descrdata_domain_data(jg)%nlev
350 END FUNCTION comin_descrdata_get_domain_nlev
352 FUNCTION comin_descrdata_get_domain_nshift(jg) &
353 &
BIND(C, NAME="comin_descrdata_get_domain_nshift") &
355 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
356 INTEGER(C_INT) :: nshift
357 nshift =
state%comin_descrdata_domain_data(jg)%nshift
358 END FUNCTION comin_descrdata_get_domain_nshift
360 FUNCTION comin_descrdata_get_domain_nshift_total(jg) &
361 &
BIND(C, NAME="comin_descrdata_get_domain_nshift_total") &
362 & result(nshift_total)
363 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
364 INTEGER(C_INT) :: nshift_total
365 nshift_total =
state%comin_descrdata_domain_data(jg)%nshift_total
366 END FUNCTION comin_descrdata_get_domain_nshift_total
368 FUNCTION comin_descrdata_get_domain_cells_ncells(jg) &
369 &
BIND(C, NAME="comin_descrdata_get_domain_cells_ncells") &
371 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
372 INTEGER(C_INT) :: ncells
373 ncells =
state%comin_descrdata_domain_data(jg)%cells%ncells
374 END FUNCTION comin_descrdata_get_domain_cells_ncells
376 FUNCTION comin_descrdata_get_domain_cells_ncells_global(jg) &
377 &
BIND(C, NAME="comin_descrdata_get_domain_cells_ncells_global") &
378 & result(ncells_global)
379 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
380 INTEGER(C_INT) :: ncells_global
381 ncells_global =
state%comin_descrdata_domain_data(jg)%cells%ncells_global
382 END FUNCTION comin_descrdata_get_domain_cells_ncells_global
384 FUNCTION comin_descrdata_get_domain_cells_nblks(jg) &
385 &
BIND(C, NAME="comin_descrdata_get_domain_cells_nblks") &
387 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
388 INTEGER(C_INT) :: nblks
389 nblks =
state%comin_descrdata_domain_data(jg)%cells%nblks
390 END FUNCTION comin_descrdata_get_domain_cells_nblks
392 FUNCTION comin_descrdata_get_domain_cells_max_connectivity(jg) &
393 &
BIND(C, NAME="comin_descrdata_get_domain_cells_max_connectivity") &
394 & result(max_connectivity)
395 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
396 INTEGER(C_INT) :: max_connectivity
397 max_connectivity =
state%comin_descrdata_domain_data(jg)%cells%max_connectivity
398 END FUNCTION comin_descrdata_get_domain_cells_max_connectivity
400 SUBROUTINE comin_descrdata_get_domain_cells_num_edges(jg, num_edges, arr_size) &
401 &
BIND(C, NAME="comin_descrdata_get_domain_cells_num_edges")
402 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
403 TYPE(C_PTR),
INTENT(OUT) :: num_edges
404 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
406 INTEGER(C_INT),
POINTER :: ptr(:,:)
407 ptr =>
state%comin_descrdata_domain_data(jg)%cells%num_edges
409 END SUBROUTINE comin_descrdata_get_domain_cells_num_edges
411 SUBROUTINE comin_descrdata_get_domain_cells_refin_ctrl(jg, refin_ctrl, arr_size) &
412 &
BIND(C, NAME="comin_descrdata_get_domain_cells_refin_ctrl")
413 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
414 TYPE(C_PTR),
INTENT(OUT) :: refin_ctrl
415 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
417 INTEGER(C_INT),
POINTER :: ptr(:,:)
418 ptr =>
state%comin_descrdata_domain_data(jg)%cells%refin_ctrl
420 END SUBROUTINE comin_descrdata_get_domain_cells_refin_ctrl
422 SUBROUTINE comin_descrdata_get_domain_cells_start_index(jg, start_index, arr_size) &
423 &
BIND(C, NAME="comin_descrdata_get_domain_cells_start_index")
424 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
425 TYPE(C_PTR),
INTENT(OUT) :: start_index
426 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
428 INTEGER(C_INT),
POINTER :: ptr(:)
429 ptr =>
state%comin_descrdata_domain_data(jg)%cells%start_index
431 END SUBROUTINE comin_descrdata_get_domain_cells_start_index
433 SUBROUTINE comin_descrdata_get_domain_cells_end_index(jg, end_index, arr_size) &
434 &
BIND(C, NAME="comin_descrdata_get_domain_cells_end_index")
435 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
436 TYPE(C_PTR),
INTENT(OUT) :: end_index
437 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
439 INTEGER(C_INT),
POINTER :: ptr(:)
440 ptr =>
state%comin_descrdata_domain_data(jg)%cells%end_index
442 END SUBROUTINE comin_descrdata_get_domain_cells_end_index
444 SUBROUTINE comin_descrdata_get_domain_cells_start_block(jg, start_block, arr_size) &
445 &
BIND(C, NAME="comin_descrdata_get_domain_cells_start_block")
446 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
447 TYPE(C_PTR),
INTENT(OUT) :: start_block
448 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
450 INTEGER(C_INT),
POINTER :: ptr(:)
451 ptr =>
state%comin_descrdata_domain_data(jg)%cells%start_block
453 END SUBROUTINE comin_descrdata_get_domain_cells_start_block
455 SUBROUTINE comin_descrdata_get_domain_cells_end_block(jg, end_block, arr_size) &
456 &
BIND(C, NAME="comin_descrdata_get_domain_cells_end_block")
457 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
458 TYPE(C_PTR),
INTENT(OUT) :: end_block
459 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
461 INTEGER(C_INT),
POINTER :: ptr(:)
462 ptr =>
state%comin_descrdata_domain_data(jg)%cells%end_block
464 END SUBROUTINE comin_descrdata_get_domain_cells_end_block
466 SUBROUTINE comin_descrdata_get_domain_cells_child_id(jg, child_id, arr_size) &
467 &
BIND(C, NAME="comin_descrdata_get_domain_cells_child_id")
468 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
469 TYPE(C_PTR),
INTENT(OUT) :: child_id
470 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
472 INTEGER(C_INT),
POINTER :: ptr(:,:)
473 ptr =>
state%comin_descrdata_domain_data(jg)%cells%child_id
475 END SUBROUTINE comin_descrdata_get_domain_cells_child_id
477 SUBROUTINE comin_descrdata_get_domain_cells_parent_glb_idx(jg, parent_glb_idx, arr_size) &
478 &
BIND(C, NAME="comin_descrdata_get_domain_cells_parent_glb_idx")
479 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
480 TYPE(C_PTR),
INTENT(OUT) :: parent_glb_idx
481 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
483 INTEGER(C_INT),
POINTER :: ptr(:,:)
484 ptr =>
state%comin_descrdata_domain_data(jg)%cells%parent_glb_idx
486 END SUBROUTINE comin_descrdata_get_domain_cells_parent_glb_idx
488 SUBROUTINE comin_descrdata_get_domain_cells_parent_glb_blk(jg, parent_glb_blk, arr_size) &
489 &
BIND(C, NAME="comin_descrdata_get_domain_cells_parent_glb_blk")
490 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
491 TYPE(C_PTR),
INTENT(OUT) :: parent_glb_blk
492 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
494 INTEGER(C_INT),
POINTER :: ptr(:,:)
495 ptr =>
state%comin_descrdata_domain_data(jg)%cells%parent_glb_blk
497 END SUBROUTINE comin_descrdata_get_domain_cells_parent_glb_blk
499 SUBROUTINE comin_descrdata_get_domain_cells_vertex_idx(jg, vertex_idx, arr_size) &
500 &
BIND(C, NAME="comin_descrdata_get_domain_cells_vertex_idx")
501 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
502 TYPE(C_PTR),
INTENT(OUT) :: vertex_idx
503 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
505 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
506 ptr =>
state%comin_descrdata_domain_data(jg)%cells%vertex_idx
508 END SUBROUTINE comin_descrdata_get_domain_cells_vertex_idx
510 SUBROUTINE comin_descrdata_get_domain_cells_vertex_blk(jg, vertex_blk, arr_size) &
511 &
BIND(C, NAME="comin_descrdata_get_domain_cells_vertex_blk")
512 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
513 TYPE(C_PTR),
INTENT(OUT) :: vertex_blk
514 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
516 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
517 ptr =>
state%comin_descrdata_domain_data(jg)%cells%vertex_blk
519 END SUBROUTINE comin_descrdata_get_domain_cells_vertex_blk
521 SUBROUTINE comin_descrdata_get_domain_cells_neighbor_idx(jg, neighbor_idx, arr_size) &
522 &
BIND(C, NAME="comin_descrdata_get_domain_cells_neighbor_idx")
523 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
524 TYPE(C_PTR),
INTENT(OUT) :: neighbor_idx
525 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
527 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
528 ptr =>
state%comin_descrdata_domain_data(jg)%cells%neighbor_idx
530 END SUBROUTINE comin_descrdata_get_domain_cells_neighbor_idx
532 SUBROUTINE comin_descrdata_get_domain_cells_neighbor_blk(jg, neighbor_blk, arr_size) &
533 &
BIND(C, NAME="comin_descrdata_get_domain_cells_neighbor_blk")
534 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
535 TYPE(C_PTR),
INTENT(OUT) :: neighbor_blk
536 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
538 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
539 ptr =>
state%comin_descrdata_domain_data(jg)%cells%neighbor_blk
541 END SUBROUTINE comin_descrdata_get_domain_cells_neighbor_blk
543 SUBROUTINE comin_descrdata_get_domain_cells_edge_idx(jg, edge_idx, arr_size) &
544 &
BIND(C, NAME="comin_descrdata_get_domain_cells_edge_idx")
545 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
546 TYPE(C_PTR),
INTENT(OUT) :: edge_idx
547 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
549 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
550 ptr =>
state%comin_descrdata_domain_data(jg)%cells%edge_idx
552 END SUBROUTINE comin_descrdata_get_domain_cells_edge_idx
554 SUBROUTINE comin_descrdata_get_domain_cells_edge_blk(jg, edge_blk, arr_size) &
555 &
BIND(C, NAME="comin_descrdata_get_domain_cells_edge_blk")
556 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
557 TYPE(C_PTR),
INTENT(OUT) :: edge_blk
558 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
560 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
561 ptr =>
state%comin_descrdata_domain_data(jg)%cells%edge_blk
563 END SUBROUTINE comin_descrdata_get_domain_cells_edge_blk
565 SUBROUTINE comin_descrdata_get_domain_cells_clon(jg, clon, arr_size) &
566 &
BIND(C, NAME="comin_descrdata_get_domain_cells_clon")
567 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
568 TYPE(C_PTR),
INTENT(OUT) :: clon
569 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
571 REAL(wp),
POINTER :: ptr(:,:)
572 ptr =>
state%comin_descrdata_domain_data(jg)%cells%clon
574 END SUBROUTINE comin_descrdata_get_domain_cells_clon
576 SUBROUTINE comin_descrdata_get_domain_cells_clat(jg, clat, arr_size) &
577 &
BIND(C, NAME="comin_descrdata_get_domain_cells_clat")
578 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
579 TYPE(C_PTR),
INTENT(OUT) :: clat
580 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
582 REAL(wp),
POINTER :: ptr(:,:)
583 ptr =>
state%comin_descrdata_domain_data(jg)%cells%clat
585 END SUBROUTINE comin_descrdata_get_domain_cells_clat
587 SUBROUTINE comin_descrdata_get_domain_cells_area(jg, area, arr_size) &
588 &
BIND(C, NAME="comin_descrdata_get_domain_cells_area")
589 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
590 TYPE(C_PTR),
INTENT(OUT) :: area
591 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
593 REAL(wp),
POINTER :: ptr(:,:)
594 ptr =>
state%comin_descrdata_domain_data(jg)%cells%area
596 END SUBROUTINE comin_descrdata_get_domain_cells_area
598 SUBROUTINE comin_descrdata_get_domain_cells_hhl(jg, hhl, arr_size) &
599 &
BIND(C, NAME="comin_descrdata_get_domain_cells_hhl")
600 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
601 TYPE(C_PTR),
INTENT(OUT) :: hhl
602 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
604 REAL(wp),
POINTER :: ptr(:,:,:)
605 ptr =>
state%comin_descrdata_domain_data(jg)%cells%hhl
607 END SUBROUTINE comin_descrdata_get_domain_cells_hhl
609 SUBROUTINE comin_descrdata_get_domain_cells_e_bln_c_s(jg, e_bln_c_s, arr_size) &
610 &
BIND(C, NAME="comin_descrdata_get_domain_cells_e_bln_c_s")
611 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
612 TYPE(C_PTR),
INTENT(OUT) :: e_bln_c_s
613 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
615 REAL(wp),
POINTER :: ptr(:,:,:)
616 ptr =>
state%comin_descrdata_domain_data(jg)%cells%e_bln_c_s
618 END SUBROUTINE comin_descrdata_get_domain_cells_e_bln_c_s
620 SUBROUTINE comin_descrdata_get_domain_cells_geofac_div(jg, geofac_div, arr_size) &
621 &
BIND(C, NAME="comin_descrdata_get_domain_cells_geofac_div")
622 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
623 TYPE(C_PTR),
INTENT(OUT) :: geofac_div
624 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
626 REAL(wp),
POINTER :: ptr(:,:,:)
627 ptr =>
state%comin_descrdata_domain_data(jg)%cells%geofac_div
629 END SUBROUTINE comin_descrdata_get_domain_cells_geofac_div
631 SUBROUTINE comin_descrdata_get_domain_cells_geofac_n2s(jg, geofac_n2s, arr_size) &
632 &
BIND(C, NAME="comin_descrdata_get_domain_cells_geofac_n2s")
633 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
634 TYPE(C_PTR),
INTENT(OUT) :: geofac_n2s
635 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
637 REAL(wp),
POINTER :: ptr(:,:,:)
638 ptr =>
state%comin_descrdata_domain_data(jg)%cells%geofac_n2s
640 END SUBROUTINE comin_descrdata_get_domain_cells_geofac_n2s
642 SUBROUTINE comin_descrdata_get_domain_cells_geofac_grg(jg, geofac_grg, arr_size) &
643 &
BIND(C, NAME="comin_descrdata_get_domain_cells_geofac_grg")
644 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
645 TYPE(C_PTR),
INTENT(OUT) :: geofac_grg
646 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(4)
648 REAL(wp),
POINTER :: ptr(:,:,:,:)
649 ptr =>
state%comin_descrdata_domain_data(jg)%cells%geofac_grg
651 END SUBROUTINE comin_descrdata_get_domain_cells_geofac_grg
653 SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_idx(jg, rbf_vec_idx, arr_size) &
654 &
BIND(C, NAME="comin_descrdata_get_domain_cells_rbf_vec_idx")
655 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
656 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_idx
657 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
659 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
660 ptr =>
state%comin_descrdata_domain_data(jg)%cells%rbf_vec_idx
662 END SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_idx
664 SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_blk(jg, rbf_vec_blk, arr_size) &
665 &
BIND(C, NAME="comin_descrdata_get_domain_cells_rbf_vec_blk")
666 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
667 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_blk
668 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
670 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
671 ptr =>
state%comin_descrdata_domain_data(jg)%cells%rbf_vec_blk
673 END SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_blk
675 SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_stencil(jg, rbf_vec_stencil, arr_size) &
676 &
BIND(C, NAME="comin_descrdata_get_domain_cells_rbf_vec_stencil")
677 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
678 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_stencil
679 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
681 INTEGER(C_INT),
POINTER :: ptr(:,:)
682 ptr =>
state%comin_descrdata_domain_data(jg)%cells%rbf_vec_stencil
684 END SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_stencil
686 SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_coeff(jg, rbf_vec_coeff, arr_size) &
687 &
BIND(C, NAME="comin_descrdata_get_domain_cells_rbf_vec_coeff")
688 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
689 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_coeff
690 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(4)
692 REAL(wp),
POINTER :: ptr(:,:,:,:)
693 ptr =>
state%comin_descrdata_domain_data(jg)%cells%rbf_vec_coeff
695 END SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_coeff
697 SUBROUTINE comin_descrdata_get_domain_cells_glb_index(jg, glb_index, arr_size) &
698 &
BIND(C, NAME="comin_descrdata_get_domain_cells_glb_index")
699 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
700 TYPE(C_PTR),
INTENT(OUT) :: glb_index
701 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
703 INTEGER(C_INT),
POINTER :: ptr(:)
704 ptr =>
state%comin_descrdata_domain_data(jg)%cells%glb_index
706 END SUBROUTINE comin_descrdata_get_domain_cells_glb_index
708 SUBROUTINE comin_descrdata_get_domain_cells_decomp_domain(jg, decomp_domain, arr_size) &
709 &
BIND(C, NAME="comin_descrdata_get_domain_cells_decomp_domain")
710 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
711 TYPE(C_PTR),
INTENT(OUT) :: decomp_domain
712 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
714 INTEGER(C_INT),
POINTER :: ptr(:,:)
715 ptr =>
state%comin_descrdata_domain_data(jg)%cells%decomp_domain
717 END SUBROUTINE comin_descrdata_get_domain_cells_decomp_domain
719 FUNCTION comin_descrdata_get_domain_verts_nverts(jg) &
720 &
BIND(C, NAME="comin_descrdata_get_domain_verts_nverts") &
722 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
723 INTEGER(C_INT) :: nverts
724 nverts =
state%comin_descrdata_domain_data(jg)%verts%nverts
725 END FUNCTION comin_descrdata_get_domain_verts_nverts
727 FUNCTION comin_descrdata_get_domain_verts_nverts_global(jg) &
728 &
BIND(C, NAME="comin_descrdata_get_domain_verts_nverts_global") &
729 & result(nverts_global)
730 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
731 INTEGER(C_INT) :: nverts_global
732 nverts_global =
state%comin_descrdata_domain_data(jg)%verts%nverts_global
733 END FUNCTION comin_descrdata_get_domain_verts_nverts_global
735 FUNCTION comin_descrdata_get_domain_verts_nblks(jg) &
736 &
BIND(C, NAME="comin_descrdata_get_domain_verts_nblks") &
738 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
739 INTEGER(C_INT) :: nblks
740 nblks =
state%comin_descrdata_domain_data(jg)%verts%nblks
741 END FUNCTION comin_descrdata_get_domain_verts_nblks
743 SUBROUTINE comin_descrdata_get_domain_verts_num_edges(jg, num_edges, arr_size) &
744 &
BIND(C, NAME="comin_descrdata_get_domain_verts_num_edges")
745 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
746 TYPE(C_PTR),
INTENT(OUT) :: num_edges
747 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
749 INTEGER(C_INT),
POINTER :: ptr(:,:)
750 ptr =>
state%comin_descrdata_domain_data(jg)%verts%num_edges
752 END SUBROUTINE comin_descrdata_get_domain_verts_num_edges
754 SUBROUTINE comin_descrdata_get_domain_verts_refin_ctrl(jg, refin_ctrl, arr_size) &
755 &
BIND(C, NAME="comin_descrdata_get_domain_verts_refin_ctrl")
756 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
757 TYPE(C_PTR),
INTENT(OUT) :: refin_ctrl
758 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
760 INTEGER(C_INT),
POINTER :: ptr(:,:)
761 ptr =>
state%comin_descrdata_domain_data(jg)%verts%refin_ctrl
763 END SUBROUTINE comin_descrdata_get_domain_verts_refin_ctrl
765 SUBROUTINE comin_descrdata_get_domain_verts_start_index(jg, start_index, arr_size) &
766 &
BIND(C, NAME="comin_descrdata_get_domain_verts_start_index")
767 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
768 TYPE(C_PTR),
INTENT(OUT) :: start_index
769 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
771 INTEGER(C_INT),
POINTER :: ptr(:)
772 ptr =>
state%comin_descrdata_domain_data(jg)%verts%start_index
774 END SUBROUTINE comin_descrdata_get_domain_verts_start_index
776 SUBROUTINE comin_descrdata_get_domain_verts_end_index(jg, end_index, arr_size) &
777 &
BIND(C, NAME="comin_descrdata_get_domain_verts_end_index")
778 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
779 TYPE(C_PTR),
INTENT(OUT) :: end_index
780 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
782 INTEGER(C_INT),
POINTER :: ptr(:)
783 ptr =>
state%comin_descrdata_domain_data(jg)%verts%end_index
785 END SUBROUTINE comin_descrdata_get_domain_verts_end_index
787 SUBROUTINE comin_descrdata_get_domain_verts_start_block(jg, start_block, arr_size) &
788 &
BIND(C, NAME="comin_descrdata_get_domain_verts_start_block")
789 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
790 TYPE(C_PTR),
INTENT(OUT) :: start_block
791 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
793 INTEGER(C_INT),
POINTER :: ptr(:)
794 ptr =>
state%comin_descrdata_domain_data(jg)%verts%start_block
796 END SUBROUTINE comin_descrdata_get_domain_verts_start_block
798 SUBROUTINE comin_descrdata_get_domain_verts_end_block(jg, end_block, arr_size) &
799 &
BIND(C, NAME="comin_descrdata_get_domain_verts_end_block")
800 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
801 TYPE(C_PTR),
INTENT(OUT) :: end_block
802 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
804 INTEGER(C_INT),
POINTER :: ptr(:)
805 ptr =>
state%comin_descrdata_domain_data(jg)%verts%end_block
807 END SUBROUTINE comin_descrdata_get_domain_verts_end_block
809 SUBROUTINE comin_descrdata_get_domain_verts_neighbor_blk(jg, neighbor_blk, arr_size) &
810 &
BIND(C, NAME="comin_descrdata_get_domain_verts_neighbor_blk")
811 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
812 TYPE(C_PTR),
INTENT(OUT) :: neighbor_blk
813 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
815 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
816 ptr =>
state%comin_descrdata_domain_data(jg)%verts%neighbor_blk
818 END SUBROUTINE comin_descrdata_get_domain_verts_neighbor_blk
820 SUBROUTINE comin_descrdata_get_domain_verts_neighbor_idx(jg, neighbor_idx, arr_size) &
821 &
BIND(C, NAME="comin_descrdata_get_domain_verts_neighbor_idx")
822 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
823 TYPE(C_PTR),
INTENT(OUT) :: neighbor_idx
824 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
826 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
827 ptr =>
state%comin_descrdata_domain_data(jg)%verts%neighbor_idx
829 END SUBROUTINE comin_descrdata_get_domain_verts_neighbor_idx
831 SUBROUTINE comin_descrdata_get_domain_verts_cell_idx(jg, cell_idx, arr_size) &
832 &
BIND(C, NAME="comin_descrdata_get_domain_verts_cell_idx")
833 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
834 TYPE(C_PTR),
INTENT(OUT) :: cell_idx
835 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
837 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
838 ptr =>
state%comin_descrdata_domain_data(jg)%verts%cell_idx
840 END SUBROUTINE comin_descrdata_get_domain_verts_cell_idx
842 SUBROUTINE comin_descrdata_get_domain_verts_cell_blk(jg, cell_blk, arr_size) &
843 &
BIND(C, NAME="comin_descrdata_get_domain_verts_cell_blk")
844 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
845 TYPE(C_PTR),
INTENT(OUT) :: cell_blk
846 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
848 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
849 ptr =>
state%comin_descrdata_domain_data(jg)%verts%cell_blk
851 END SUBROUTINE comin_descrdata_get_domain_verts_cell_blk
853 SUBROUTINE comin_descrdata_get_domain_verts_edge_idx(jg, edge_idx, arr_size) &
854 &
BIND(C, NAME="comin_descrdata_get_domain_verts_edge_idx")
855 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
856 TYPE(C_PTR),
INTENT(OUT) :: edge_idx
857 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
859 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
860 ptr =>
state%comin_descrdata_domain_data(jg)%verts%edge_idx
862 END SUBROUTINE comin_descrdata_get_domain_verts_edge_idx
864 SUBROUTINE comin_descrdata_get_domain_verts_edge_blk(jg, edge_blk, arr_size) &
865 &
BIND(C, NAME="comin_descrdata_get_domain_verts_edge_blk")
866 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
867 TYPE(C_PTR),
INTENT(OUT) :: edge_blk
868 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
870 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
871 ptr =>
state%comin_descrdata_domain_data(jg)%verts%edge_blk
873 END SUBROUTINE comin_descrdata_get_domain_verts_edge_blk
875 SUBROUTINE comin_descrdata_get_domain_verts_vlon(jg, vlon, arr_size) &
876 &
BIND(C, NAME="comin_descrdata_get_domain_verts_vlon")
877 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
878 TYPE(C_PTR),
INTENT(OUT) :: vlon
879 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
881 REAL(wp),
POINTER :: ptr(:,:)
882 ptr =>
state%comin_descrdata_domain_data(jg)%verts%vlon
884 END SUBROUTINE comin_descrdata_get_domain_verts_vlon
886 SUBROUTINE comin_descrdata_get_domain_verts_vlat(jg, vlat, arr_size) &
887 &
BIND(C, NAME="comin_descrdata_get_domain_verts_vlat")
888 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
889 TYPE(C_PTR),
INTENT(OUT) :: vlat
890 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
892 REAL(wp),
POINTER :: ptr(:,:)
893 ptr =>
state%comin_descrdata_domain_data(jg)%verts%vlat
895 END SUBROUTINE comin_descrdata_get_domain_verts_vlat
897 SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_idx(jg, rbf_vec_idx, arr_size) &
898 &
BIND(C, NAME="comin_descrdata_get_domain_verts_rbf_vec_idx")
899 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
900 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_idx
901 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
903 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
904 ptr =>
state%comin_descrdata_domain_data(jg)%verts%rbf_vec_idx
906 END SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_idx
908 SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_blk(jg, rbf_vec_blk, arr_size) &
909 &
BIND(C, NAME="comin_descrdata_get_domain_verts_rbf_vec_blk")
910 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
911 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_blk
912 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
914 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
915 ptr =>
state%comin_descrdata_domain_data(jg)%verts%rbf_vec_blk
917 END SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_blk
919 SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_stencil(jg, rbf_vec_stencil, arr_size) &
920 &
BIND(C, NAME="comin_descrdata_get_domain_verts_rbf_vec_stencil")
921 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
922 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_stencil
923 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
925 INTEGER(C_INT),
POINTER :: ptr(:,:)
926 ptr =>
state%comin_descrdata_domain_data(jg)%verts%rbf_vec_stencil
928 END SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_stencil
930 SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_coeff(jg, rbf_vec_coeff, arr_size) &
931 &
BIND(C, NAME="comin_descrdata_get_domain_verts_rbf_vec_coeff")
932 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
933 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_coeff
934 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(4)
936 REAL(wp),
POINTER :: ptr(:,:,:,:)
937 ptr =>
state%comin_descrdata_domain_data(jg)%verts%rbf_vec_coeff
939 END SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_coeff
941 SUBROUTINE comin_descrdata_get_domain_verts_glb_index(jg, glb_index, arr_size) &
942 &
BIND(C, NAME="comin_descrdata_get_domain_verts_glb_index")
943 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
944 TYPE(C_PTR),
INTENT(OUT) :: glb_index
945 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
947 INTEGER(C_INT),
POINTER :: ptr(:)
948 ptr =>
state%comin_descrdata_domain_data(jg)%verts%glb_index
950 END SUBROUTINE comin_descrdata_get_domain_verts_glb_index
952 SUBROUTINE comin_descrdata_get_domain_verts_decomp_domain(jg, decomp_domain, arr_size) &
953 &
BIND(C, NAME="comin_descrdata_get_domain_verts_decomp_domain")
954 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
955 TYPE(C_PTR),
INTENT(OUT) :: decomp_domain
956 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
958 INTEGER(C_INT),
POINTER :: ptr(:,:)
959 ptr =>
state%comin_descrdata_domain_data(jg)%verts%decomp_domain
961 END SUBROUTINE comin_descrdata_get_domain_verts_decomp_domain
963 FUNCTION comin_descrdata_get_domain_edges_nedges(jg) &
964 &
BIND(C, NAME="comin_descrdata_get_domain_edges_nedges") &
966 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
967 INTEGER(C_INT) :: nedges
968 nedges =
state%comin_descrdata_domain_data(jg)%edges%nedges
969 END FUNCTION comin_descrdata_get_domain_edges_nedges
971 FUNCTION comin_descrdata_get_domain_edges_nedges_global(jg) &
972 &
BIND(C, NAME="comin_descrdata_get_domain_edges_nedges_global") &
973 & result(nedges_global)
974 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
975 INTEGER(C_INT) :: nedges_global
976 nedges_global =
state%comin_descrdata_domain_data(jg)%edges%nedges_global
977 END FUNCTION comin_descrdata_get_domain_edges_nedges_global
979 FUNCTION comin_descrdata_get_domain_edges_nblks(jg) &
980 &
BIND(C, NAME="comin_descrdata_get_domain_edges_nblks") &
982 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
983 INTEGER(C_INT) :: nblks
984 nblks =
state%comin_descrdata_domain_data(jg)%edges%nblks
985 END FUNCTION comin_descrdata_get_domain_edges_nblks
987 SUBROUTINE comin_descrdata_get_domain_edges_refin_ctrl(jg, refin_ctrl, arr_size) &
988 &
BIND(C, NAME="comin_descrdata_get_domain_edges_refin_ctrl")
989 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
990 TYPE(C_PTR),
INTENT(OUT) :: refin_ctrl
991 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
993 INTEGER(C_INT),
POINTER :: ptr(:,:)
994 ptr =>
state%comin_descrdata_domain_data(jg)%edges%refin_ctrl
996 END SUBROUTINE comin_descrdata_get_domain_edges_refin_ctrl
998 SUBROUTINE comin_descrdata_get_domain_edges_start_index(jg, start_index, arr_size) &
999 &
BIND(C, NAME="comin_descrdata_get_domain_edges_start_index")
1000 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1001 TYPE(C_PTR),
INTENT(OUT) :: start_index
1002 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
1004 INTEGER(C_INT),
POINTER :: ptr(:)
1005 ptr =>
state%comin_descrdata_domain_data(jg)%edges%start_index
1007 END SUBROUTINE comin_descrdata_get_domain_edges_start_index
1009 SUBROUTINE comin_descrdata_get_domain_edges_end_index(jg, end_index, arr_size) &
1010 &
BIND(C, NAME="comin_descrdata_get_domain_edges_end_index")
1011 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1012 TYPE(C_PTR),
INTENT(OUT) :: end_index
1013 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
1015 INTEGER(C_INT),
POINTER :: ptr(:)
1016 ptr =>
state%comin_descrdata_domain_data(jg)%edges%end_index
1018 END SUBROUTINE comin_descrdata_get_domain_edges_end_index
1020 SUBROUTINE comin_descrdata_get_domain_edges_start_block(jg, start_block, arr_size) &
1021 &
BIND(C, NAME="comin_descrdata_get_domain_edges_start_block")
1022 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1023 TYPE(C_PTR),
INTENT(OUT) :: start_block
1024 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
1026 INTEGER(C_INT),
POINTER :: ptr(:)
1027 ptr =>
state%comin_descrdata_domain_data(jg)%edges%start_block
1029 END SUBROUTINE comin_descrdata_get_domain_edges_start_block
1031 SUBROUTINE comin_descrdata_get_domain_edges_end_block(jg, end_block, arr_size) &
1032 &
BIND(C, NAME="comin_descrdata_get_domain_edges_end_block")
1033 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1034 TYPE(C_PTR),
INTENT(OUT) :: end_block
1035 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
1037 INTEGER(C_INT),
POINTER :: ptr(:)
1038 ptr =>
state%comin_descrdata_domain_data(jg)%edges%end_block
1040 END SUBROUTINE comin_descrdata_get_domain_edges_end_block
1042 SUBROUTINE comin_descrdata_get_domain_edges_child_id(jg, child_id, arr_size) &
1043 &
BIND(C, NAME="comin_descrdata_get_domain_edges_child_id")
1044 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1045 TYPE(C_PTR),
INTENT(OUT) :: child_id
1046 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1048 INTEGER(C_INT),
POINTER :: ptr(:,:)
1049 ptr =>
state%comin_descrdata_domain_data(jg)%edges%child_id
1051 END SUBROUTINE comin_descrdata_get_domain_edges_child_id
1053 SUBROUTINE comin_descrdata_get_domain_edges_parent_glb_idx(jg, parent_glb_idx, arr_size) &
1054 &
BIND(C, NAME="comin_descrdata_get_domain_edges_parent_glb_idx")
1055 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1056 TYPE(C_PTR),
INTENT(OUT) :: parent_glb_idx
1057 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1059 INTEGER(C_INT),
POINTER :: ptr(:,:)
1060 ptr =>
state%comin_descrdata_domain_data(jg)%edges%parent_glb_idx
1062 END SUBROUTINE comin_descrdata_get_domain_edges_parent_glb_idx
1064 SUBROUTINE comin_descrdata_get_domain_edges_parent_glb_blk(jg, parent_glb_blk, arr_size) &
1065 &
BIND(C, NAME="comin_descrdata_get_domain_edges_parent_glb_blk")
1066 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1067 TYPE(C_PTR),
INTENT(OUT) :: parent_glb_blk
1068 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1070 INTEGER(C_INT),
POINTER :: ptr(:,:)
1071 ptr =>
state%comin_descrdata_domain_data(jg)%edges%parent_glb_blk
1073 END SUBROUTINE comin_descrdata_get_domain_edges_parent_glb_blk
1075 SUBROUTINE comin_descrdata_get_domain_edges_cell_idx(jg, cell_idx, arr_size) &
1076 &
BIND(C, NAME="comin_descrdata_get_domain_edges_cell_idx")
1077 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1078 TYPE(C_PTR),
INTENT(OUT) :: cell_idx
1079 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
1081 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
1082 ptr =>
state%comin_descrdata_domain_data(jg)%edges%cell_idx
1084 END SUBROUTINE comin_descrdata_get_domain_edges_cell_idx
1086 SUBROUTINE comin_descrdata_get_domain_edges_cell_blk(jg, cell_blk, arr_size) &
1087 &
BIND(C, NAME="comin_descrdata_get_domain_edges_cell_blk")
1088 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1089 TYPE(C_PTR),
INTENT(OUT) :: cell_blk
1090 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
1092 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
1093 ptr =>
state%comin_descrdata_domain_data(jg)%edges%cell_blk
1095 END SUBROUTINE comin_descrdata_get_domain_edges_cell_blk
1097 SUBROUTINE comin_descrdata_get_domain_edges_vertex_idx(jg, vertex_idx, arr_size) &
1098 &
BIND(C, NAME="comin_descrdata_get_domain_edges_vertex_idx")
1099 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1100 TYPE(C_PTR),
INTENT(OUT) :: vertex_idx
1101 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
1103 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
1104 ptr =>
state%comin_descrdata_domain_data(jg)%edges%vertex_idx
1106 END SUBROUTINE comin_descrdata_get_domain_edges_vertex_idx
1108 SUBROUTINE comin_descrdata_get_domain_edges_vertex_blk(jg, vertex_blk, arr_size) &
1109 &
BIND(C, NAME="comin_descrdata_get_domain_edges_vertex_blk")
1110 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1111 TYPE(C_PTR),
INTENT(OUT) :: vertex_blk
1112 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
1114 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
1115 ptr =>
state%comin_descrdata_domain_data(jg)%edges%vertex_blk
1117 END SUBROUTINE comin_descrdata_get_domain_edges_vertex_blk
1119 SUBROUTINE comin_descrdata_get_domain_edges_elon(jg, elon, arr_size) &
1120 &
BIND(C, NAME="comin_descrdata_get_domain_edges_elon")
1121 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1122 TYPE(C_PTR),
INTENT(OUT) :: elon
1123 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1125 REAL(wp),
POINTER :: ptr(:,:)
1126 ptr =>
state%comin_descrdata_domain_data(jg)%edges%elon
1128 END SUBROUTINE comin_descrdata_get_domain_edges_elon
1130 SUBROUTINE comin_descrdata_get_domain_edges_elat(jg, elat, arr_size) &
1131 &
BIND(C, NAME="comin_descrdata_get_domain_edges_elat")
1132 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1133 TYPE(C_PTR),
INTENT(OUT) :: elat
1134 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1136 REAL(wp),
POINTER :: ptr(:,:)
1137 ptr =>
state%comin_descrdata_domain_data(jg)%edges%elat
1139 END SUBROUTINE comin_descrdata_get_domain_edges_elat
1141 SUBROUTINE comin_descrdata_get_domain_edges_tangent_orientation(jg, tangent_orientation, arr_size) &
1142 &
BIND(C, NAME="comin_descrdata_get_domain_edges_tangent_orientation")
1143 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1144 TYPE(C_PTR),
INTENT(OUT) :: tangent_orientation
1145 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1147 REAL(wp),
POINTER :: ptr(:,:)
1148 ptr =>
state%comin_descrdata_domain_data(jg)%edges%tangent_orientation
1150 END SUBROUTINE comin_descrdata_get_domain_edges_tangent_orientation
1152 SUBROUTINE comin_descrdata_get_domain_edges_nudgecoeff_e(jg, nudgecoeff_e, arr_size) &
1153 &
BIND(C, NAME="comin_descrdata_get_domain_edges_nudgecoeff_e")
1154 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1155 TYPE(C_PTR),
INTENT(OUT) :: nudgecoeff_e
1156 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1158 REAL(wp),
POINTER :: ptr(:,:)
1159 ptr =>
state%comin_descrdata_domain_data(jg)%edges%nudgecoeff_e
1161 END SUBROUTINE comin_descrdata_get_domain_edges_nudgecoeff_e
1163 SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_idx(jg, rbf_vec_idx, arr_size) &
1164 &
BIND(C, NAME="comin_descrdata_get_domain_edges_rbf_vec_idx")
1165 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1166 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_idx
1167 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
1169 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
1170 ptr =>
state%comin_descrdata_domain_data(jg)%edges%rbf_vec_idx
1172 END SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_idx
1174 SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_blk(jg, rbf_vec_blk, arr_size) &
1175 &
BIND(C, NAME="comin_descrdata_get_domain_edges_rbf_vec_blk")
1176 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1177 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_blk
1178 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
1180 INTEGER(C_INT),
POINTER :: ptr(:,:,:)
1181 ptr =>
state%comin_descrdata_domain_data(jg)%edges%rbf_vec_blk
1183 END SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_blk
1185 SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_stencil(jg, rbf_vec_stencil, arr_size) &
1186 &
BIND(C, NAME="comin_descrdata_get_domain_edges_rbf_vec_stencil")
1187 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1188 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_stencil
1189 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1191 INTEGER(C_INT),
POINTER :: ptr(:,:)
1192 ptr =>
state%comin_descrdata_domain_data(jg)%edges%rbf_vec_stencil
1194 END SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_stencil
1196 SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_coeff(jg, rbf_vec_coeff, arr_size) &
1197 &
BIND(C, NAME="comin_descrdata_get_domain_edges_rbf_vec_coeff")
1198 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1199 TYPE(C_PTR),
INTENT(OUT) :: rbf_vec_coeff
1200 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
1202 REAL(wp),
POINTER :: ptr(:,:,:)
1203 ptr =>
state%comin_descrdata_domain_data(jg)%edges%rbf_vec_coeff
1205 END SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_coeff
1207 SUBROUTINE comin_descrdata_get_domain_edges_c_lin_e(jg, c_lin_e, arr_size) &
1208 &
BIND(C, NAME="comin_descrdata_get_domain_edges_c_lin_e")
1209 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1210 TYPE(C_PTR),
INTENT(OUT) :: c_lin_e
1211 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(3)
1213 REAL(wp),
POINTER :: ptr(:,:,:)
1214 ptr =>
state%comin_descrdata_domain_data(jg)%edges%c_lin_e
1216 END SUBROUTINE comin_descrdata_get_domain_edges_c_lin_e
1218 SUBROUTINE comin_descrdata_get_domain_edges_glb_index(jg, glb_index, arr_size) &
1219 &
BIND(C, NAME="comin_descrdata_get_domain_edges_glb_index")
1220 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1221 TYPE(C_PTR),
INTENT(OUT) :: glb_index
1222 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(1)
1224 INTEGER(C_INT),
POINTER :: ptr(:)
1225 ptr =>
state%comin_descrdata_domain_data(jg)%edges%glb_index
1227 END SUBROUTINE comin_descrdata_get_domain_edges_glb_index
1229 SUBROUTINE comin_descrdata_get_domain_edges_decomp_domain(jg, decomp_domain, arr_size) &
1230 &
BIND(C, NAME="comin_descrdata_get_domain_edges_decomp_domain")
1231 INTEGER(C_INT),
INTENT(IN),
VALUE :: jg
1232 TYPE(C_PTR),
INTENT(OUT) :: decomp_domain
1233 INTEGER(C_INT),
INTENT(INOUT) :: arr_size(2)
1235 INTEGER(C_INT),
POINTER :: ptr(:,:)
1236 ptr =>
state%comin_descrdata_domain_data(jg)%edges%decomp_domain
1238 END SUBROUTINE comin_descrdata_get_domain_edges_decomp_domain
integer, parameter wp
working precision
type(t_comin_state), pointer, public state