ComIn 0.5.1
ICON Community Interface
Loading...
Searching...
No Matches
comin_descrdata_c_access.F90
Go to the documentation of this file.
1! @authors 01/2026 :: 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/. DO NOT EDIT MANUALLY! *** !
10
12 USE iso_c_binding, ONLY: c_ptr, c_int, c_bool, c_signed_char
13 USE comin_state, ONLY: state
14 USE comin_setup_constants, ONLY: wp
16
17 IMPLICIT NONE
18
19 PRIVATE
20
21CONTAINS
22
23 FUNCTION comin_descrdata_get_global_n_dom() &
24 & BIND(C, NAME="comin_descrdata_get_global_n_dom") &
25 & result(n_dom)
26
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
30
31 FUNCTION comin_descrdata_get_global_max_dom() &
32 & BIND(C, NAME="comin_descrdata_get_global_max_dom") &
33 & result(max_dom)
34
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
38
39 FUNCTION comin_descrdata_get_global_nproma() &
40 & BIND(C, NAME="comin_descrdata_get_global_nproma") &
41 & result(nproma)
42
43 INTEGER(C_INT) :: nproma
44 nproma = state%comin_descrdata_global_data%nproma
45 END FUNCTION comin_descrdata_get_global_nproma
46
47 FUNCTION comin_descrdata_get_global_wp() &
48 & BIND(C, NAME="comin_descrdata_get_global_wp") &
49 & result(wp)
50
51 INTEGER(C_INT) :: wp
52 wp = state%comin_descrdata_global_data%wp
53 END FUNCTION comin_descrdata_get_global_wp
54
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)
58
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
62
63 FUNCTION comin_descrdata_get_global_min_rlcell() &
64 & BIND(C, NAME="comin_descrdata_get_global_min_rlcell") &
65 & result(min_rlcell)
66
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
70
71 FUNCTION comin_descrdata_get_global_max_rlcell() &
72 & BIND(C, NAME="comin_descrdata_get_global_max_rlcell") &
73 & result(max_rlcell)
74
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
78
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)
82
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
86
87 FUNCTION comin_descrdata_get_global_min_rlvert() &
88 & BIND(C, NAME="comin_descrdata_get_global_min_rlvert") &
89 & result(min_rlvert)
90
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
94
95 FUNCTION comin_descrdata_get_global_max_rlvert() &
96 & BIND(C, NAME="comin_descrdata_get_global_max_rlvert") &
97 & result(max_rlvert)
98
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
102
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)
106
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
110
111 FUNCTION comin_descrdata_get_global_min_rledge() &
112 & BIND(C, NAME="comin_descrdata_get_global_min_rledge") &
113 & result(min_rledge)
114
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
118
119 FUNCTION comin_descrdata_get_global_max_rledge() &
120 & BIND(C, NAME="comin_descrdata_get_global_max_rledge") &
121 & result(max_rledge)
122
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
126
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)
130
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
134
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)
138
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
142
143 FUNCTION comin_descrdata_get_global_lrestartrun() &
144 & BIND(C, NAME="comin_descrdata_get_global_lrestartrun") &
145 & result(lrestartrun)
146
147 LOGICAL(C_BOOL) :: lrestartrun
148 lrestartrun = state%comin_descrdata_global_data%lrestartrun
149 END FUNCTION comin_descrdata_get_global_lrestartrun
150
151 SUBROUTINE comin_descrdata_get_global_vct_a( vct_a, arr_size) &
152 & BIND(C, NAME="comin_descrdata_get_global_vct_a")
153
154 TYPE(C_PTR), INTENT(OUT) :: vct_a
155 INTEGER(C_INT), INTENT(INOUT) :: arr_size(1)
156 !
157 REAL(wp), POINTER :: ptr(:)
158 ptr =>state%comin_descrdata_global_data%vct_a
159 CALL comin_descrdata_to_c(ptr, vct_a, arr_size)
160 END SUBROUTINE comin_descrdata_get_global_vct_a
161
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)
165
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
169
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)
173
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
177
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")
180
181 TYPE(C_PTR), INTENT(OUT) :: host_git_remote_url
182 INTEGER(C_INT), INTENT(INOUT) :: arr_size(1)
183 !
184 CHARACTER(LEN=:), POINTER :: ptr
185 ptr =>state%comin_descrdata_global_data%host_git_remote_url
186 CALL comin_descrdata_to_c(ptr, host_git_remote_url, arr_size)
187 END SUBROUTINE comin_descrdata_get_global_host_git_remote_url
188
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")
191
192 TYPE(C_PTR), INTENT(OUT) :: host_git_branch
193 INTEGER(C_INT), INTENT(INOUT) :: arr_size(1)
194 !
195 CHARACTER(LEN=:), POINTER :: ptr
196 ptr =>state%comin_descrdata_global_data%host_git_branch
197 CALL comin_descrdata_to_c(ptr, host_git_branch, arr_size)
198 END SUBROUTINE comin_descrdata_get_global_host_git_branch
199
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")
202
203 TYPE(C_PTR), INTENT(OUT) :: host_git_tag
204 INTEGER(C_INT), INTENT(INOUT) :: arr_size(1)
205 !
206 CHARACTER(LEN=:), POINTER :: ptr
207 ptr =>state%comin_descrdata_global_data%host_git_tag
208 CALL comin_descrdata_to_c(ptr, host_git_tag, arr_size)
209 END SUBROUTINE comin_descrdata_get_global_host_git_tag
210
211 SUBROUTINE comin_descrdata_get_global_host_revision( host_revision, arr_size) &
212 & BIND(C, NAME="comin_descrdata_get_global_host_revision")
213
214 TYPE(C_PTR), INTENT(OUT) :: host_revision
215 INTEGER(C_INT), INTENT(INOUT) :: arr_size(1)
216 !
217 CHARACTER(LEN=:), POINTER :: ptr
218 ptr =>state%comin_descrdata_global_data%host_revision
219 CALL comin_descrdata_to_c(ptr, host_revision, arr_size)
220 END SUBROUTINE comin_descrdata_get_global_host_revision
221
222 FUNCTION comin_descrdata_get_global_has_device() &
223 & BIND(C, NAME="comin_descrdata_get_global_has_device") &
224 & result(has_device)
225
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
229
230 SUBROUTINE comin_descrdata_get_global_device_name( device_name, arr_size) &
231 & BIND(C, NAME="comin_descrdata_get_global_device_name")
232
233 TYPE(C_PTR), INTENT(OUT) :: device_name
234 INTEGER(C_INT), INTENT(INOUT) :: arr_size(1)
235 !
236 CHARACTER(LEN=:), POINTER :: ptr
237 ptr =>state%comin_descrdata_global_data%device_name
238 CALL comin_descrdata_to_c(ptr, device_name, arr_size)
239 END SUBROUTINE comin_descrdata_get_global_device_name
240
241 SUBROUTINE comin_descrdata_get_global_device_vendor( device_vendor, arr_size) &
242 & BIND(C, NAME="comin_descrdata_get_global_device_vendor")
243
244 TYPE(C_PTR), INTENT(OUT) :: device_vendor
245 INTEGER(C_INT), INTENT(INOUT) :: arr_size(1)
246 !
247 CHARACTER(LEN=:), POINTER :: ptr
248 ptr =>state%comin_descrdata_global_data%device_vendor
249 CALL comin_descrdata_to_c(ptr, device_vendor, arr_size)
250 END SUBROUTINE comin_descrdata_get_global_device_vendor
251
252 SUBROUTINE comin_descrdata_get_global_device_driver( device_driver, arr_size) &
253 & BIND(C, NAME="comin_descrdata_get_global_device_driver")
254
255 TYPE(C_PTR), INTENT(OUT) :: device_driver
256 INTEGER(C_INT), INTENT(INOUT) :: arr_size(1)
257 !
258 CHARACTER(LEN=:), POINTER :: ptr
259 ptr =>state%comin_descrdata_global_data%device_driver
260 CALL comin_descrdata_to_c(ptr, device_driver, arr_size)
261 END SUBROUTINE comin_descrdata_get_global_device_driver
262
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)
268 !
269 CHARACTER(LEN=:), POINTER :: ptr
270 ptr =>state%comin_descrdata_domain_data(jg)%grid_filename
271 CALL comin_descrdata_to_c(ptr, grid_filename, arr_size)
272 END SUBROUTINE comin_descrdata_get_domain_grid_filename
273
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)
279 !
280 INTEGER(c_signed_char), POINTER :: ptr(:)
281 ptr =>state%comin_descrdata_domain_data(jg)%grid_uuid
282 CALL comin_descrdata_to_c(ptr, grid_uuid, arr_size)
283 END SUBROUTINE comin_descrdata_get_domain_grid_uuid
284
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
292
293 FUNCTION comin_descrdata_get_domain_id(jg) &
294 & BIND(C, NAME="comin_descrdata_get_domain_id") &
295 & result(id)
296 INTEGER(C_INT), INTENT(IN), VALUE :: jg
297 INTEGER(C_INT) :: id
298 id = state%comin_descrdata_domain_data(jg)%id
299 END FUNCTION comin_descrdata_get_domain_id
300
301 FUNCTION comin_descrdata_get_domain_parent_id(jg) &
302 & BIND(C, NAME="comin_descrdata_get_domain_parent_id") &
303 & result(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
308
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)
314 !
315 INTEGER(C_INT), POINTER :: ptr(:)
316 ptr =>state%comin_descrdata_domain_data(jg)%child_id
317 CALL comin_descrdata_to_c(ptr, child_id, arr_size)
318 END SUBROUTINE comin_descrdata_get_domain_child_id
319
320 FUNCTION comin_descrdata_get_domain_n_childdom(jg) &
321 & BIND(C, NAME="comin_descrdata_get_domain_n_childdom") &
322 & result(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
327
328 FUNCTION comin_descrdata_get_domain_dom_start(jg) &
329 & BIND(C, NAME="comin_descrdata_get_domain_dom_start") &
330 & result(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
335
336 FUNCTION comin_descrdata_get_domain_dom_end(jg) &
337 & BIND(C, NAME="comin_descrdata_get_domain_dom_end") &
338 & result(dom_end)
339 INTEGER(C_INT), INTENT(IN), VALUE :: jg
340 REAL(wp) :: dom_end
341 dom_end = state%comin_descrdata_domain_data(jg)%dom_end
342 END FUNCTION comin_descrdata_get_domain_dom_end
343
344 FUNCTION comin_descrdata_get_domain_nlev(jg) &
345 & BIND(C, NAME="comin_descrdata_get_domain_nlev") &
346 & result(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
351
352 FUNCTION comin_descrdata_get_domain_nshift(jg) &
353 & BIND(C, NAME="comin_descrdata_get_domain_nshift") &
354 & result(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
359
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
367
368 FUNCTION comin_descrdata_get_domain_cells_ncells(jg) &
369 & BIND(C, NAME="comin_descrdata_get_domain_cells_ncells") &
370 & result(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
375
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
383
384 FUNCTION comin_descrdata_get_domain_cells_nblks(jg) &
385 & BIND(C, NAME="comin_descrdata_get_domain_cells_nblks") &
386 & result(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
391
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
399
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)
405 !
406 INTEGER(C_INT), POINTER :: ptr(:,:)
407 ptr =>state%comin_descrdata_domain_data(jg)%cells%num_edges
408 CALL comin_descrdata_to_c(ptr, num_edges, arr_size)
409 END SUBROUTINE comin_descrdata_get_domain_cells_num_edges
410
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)
416 !
417 INTEGER(C_INT), POINTER :: ptr(:,:)
418 ptr =>state%comin_descrdata_domain_data(jg)%cells%refin_ctrl
419 CALL comin_descrdata_to_c(ptr, refin_ctrl, arr_size)
420 END SUBROUTINE comin_descrdata_get_domain_cells_refin_ctrl
421
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)
427 !
428 INTEGER(C_INT), POINTER :: ptr(:)
429 ptr =>state%comin_descrdata_domain_data(jg)%cells%start_index
430 CALL comin_descrdata_to_c(ptr, start_index, arr_size)
431 END SUBROUTINE comin_descrdata_get_domain_cells_start_index
432
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)
438 !
439 INTEGER(C_INT), POINTER :: ptr(:)
440 ptr =>state%comin_descrdata_domain_data(jg)%cells%end_index
441 CALL comin_descrdata_to_c(ptr, end_index, arr_size)
442 END SUBROUTINE comin_descrdata_get_domain_cells_end_index
443
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)
449 !
450 INTEGER(C_INT), POINTER :: ptr(:)
451 ptr =>state%comin_descrdata_domain_data(jg)%cells%start_block
452 CALL comin_descrdata_to_c(ptr, start_block, arr_size)
453 END SUBROUTINE comin_descrdata_get_domain_cells_start_block
454
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)
460 !
461 INTEGER(C_INT), POINTER :: ptr(:)
462 ptr =>state%comin_descrdata_domain_data(jg)%cells%end_block
463 CALL comin_descrdata_to_c(ptr, end_block, arr_size)
464 END SUBROUTINE comin_descrdata_get_domain_cells_end_block
465
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)
471 !
472 INTEGER(C_INT), POINTER :: ptr(:,:)
473 ptr =>state%comin_descrdata_domain_data(jg)%cells%child_id
474 CALL comin_descrdata_to_c(ptr, child_id, arr_size)
475 END SUBROUTINE comin_descrdata_get_domain_cells_child_id
476
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)
482 !
483 INTEGER(C_INT), POINTER :: ptr(:,:)
484 ptr =>state%comin_descrdata_domain_data(jg)%cells%parent_glb_idx
485 CALL comin_descrdata_to_c(ptr, parent_glb_idx, arr_size)
486 END SUBROUTINE comin_descrdata_get_domain_cells_parent_glb_idx
487
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)
493 !
494 INTEGER(C_INT), POINTER :: ptr(:,:)
495 ptr =>state%comin_descrdata_domain_data(jg)%cells%parent_glb_blk
496 CALL comin_descrdata_to_c(ptr, parent_glb_blk, arr_size)
497 END SUBROUTINE comin_descrdata_get_domain_cells_parent_glb_blk
498
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)
504 !
505 INTEGER(C_INT), POINTER :: ptr(:,:,:)
506 ptr =>state%comin_descrdata_domain_data(jg)%cells%vertex_idx
507 CALL comin_descrdata_to_c(ptr, vertex_idx, arr_size)
508 END SUBROUTINE comin_descrdata_get_domain_cells_vertex_idx
509
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)
515 !
516 INTEGER(C_INT), POINTER :: ptr(:,:,:)
517 ptr =>state%comin_descrdata_domain_data(jg)%cells%vertex_blk
518 CALL comin_descrdata_to_c(ptr, vertex_blk, arr_size)
519 END SUBROUTINE comin_descrdata_get_domain_cells_vertex_blk
520
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)
526 !
527 INTEGER(C_INT), POINTER :: ptr(:,:,:)
528 ptr =>state%comin_descrdata_domain_data(jg)%cells%neighbor_idx
529 CALL comin_descrdata_to_c(ptr, neighbor_idx, arr_size)
530 END SUBROUTINE comin_descrdata_get_domain_cells_neighbor_idx
531
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)
537 !
538 INTEGER(C_INT), POINTER :: ptr(:,:,:)
539 ptr =>state%comin_descrdata_domain_data(jg)%cells%neighbor_blk
540 CALL comin_descrdata_to_c(ptr, neighbor_blk, arr_size)
541 END SUBROUTINE comin_descrdata_get_domain_cells_neighbor_blk
542
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)
548 !
549 INTEGER(C_INT), POINTER :: ptr(:,:,:)
550 ptr =>state%comin_descrdata_domain_data(jg)%cells%edge_idx
551 CALL comin_descrdata_to_c(ptr, edge_idx, arr_size)
552 END SUBROUTINE comin_descrdata_get_domain_cells_edge_idx
553
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)
559 !
560 INTEGER(C_INT), POINTER :: ptr(:,:,:)
561 ptr =>state%comin_descrdata_domain_data(jg)%cells%edge_blk
562 CALL comin_descrdata_to_c(ptr, edge_blk, arr_size)
563 END SUBROUTINE comin_descrdata_get_domain_cells_edge_blk
564
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)
570 !
571 REAL(wp), POINTER :: ptr(:,:)
572 ptr =>state%comin_descrdata_domain_data(jg)%cells%clon
573 CALL comin_descrdata_to_c(ptr, clon, arr_size)
574 END SUBROUTINE comin_descrdata_get_domain_cells_clon
575
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)
581 !
582 REAL(wp), POINTER :: ptr(:,:)
583 ptr =>state%comin_descrdata_domain_data(jg)%cells%clat
584 CALL comin_descrdata_to_c(ptr, clat, arr_size)
585 END SUBROUTINE comin_descrdata_get_domain_cells_clat
586
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)
592 !
593 REAL(wp), POINTER :: ptr(:,:)
594 ptr =>state%comin_descrdata_domain_data(jg)%cells%area
595 CALL comin_descrdata_to_c(ptr, area, arr_size)
596 END SUBROUTINE comin_descrdata_get_domain_cells_area
597
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)
603 !
604 REAL(wp), POINTER :: ptr(:,:,:)
605 ptr =>state%comin_descrdata_domain_data(jg)%cells%hhl
606 CALL comin_descrdata_to_c(ptr, hhl, arr_size)
607 END SUBROUTINE comin_descrdata_get_domain_cells_hhl
608
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)
614 !
615 REAL(wp), POINTER :: ptr(:,:,:)
616 ptr =>state%comin_descrdata_domain_data(jg)%cells%e_bln_c_s
617 CALL comin_descrdata_to_c(ptr, e_bln_c_s, arr_size)
618 END SUBROUTINE comin_descrdata_get_domain_cells_e_bln_c_s
619
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)
625 !
626 REAL(wp), POINTER :: ptr(:,:,:)
627 ptr =>state%comin_descrdata_domain_data(jg)%cells%geofac_div
628 CALL comin_descrdata_to_c(ptr, geofac_div, arr_size)
629 END SUBROUTINE comin_descrdata_get_domain_cells_geofac_div
630
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)
636 !
637 REAL(wp), POINTER :: ptr(:,:,:)
638 ptr =>state%comin_descrdata_domain_data(jg)%cells%geofac_n2s
639 CALL comin_descrdata_to_c(ptr, geofac_n2s, arr_size)
640 END SUBROUTINE comin_descrdata_get_domain_cells_geofac_n2s
641
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)
647 !
648 REAL(wp), POINTER :: ptr(:,:,:,:)
649 ptr =>state%comin_descrdata_domain_data(jg)%cells%geofac_grg
650 CALL comin_descrdata_to_c(ptr, geofac_grg, arr_size)
651 END SUBROUTINE comin_descrdata_get_domain_cells_geofac_grg
652
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)
658 !
659 INTEGER(C_INT), POINTER :: ptr(:,:,:)
660 ptr =>state%comin_descrdata_domain_data(jg)%cells%rbf_vec_idx
661 CALL comin_descrdata_to_c(ptr, rbf_vec_idx, arr_size)
662 END SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_idx
663
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)
669 !
670 INTEGER(C_INT), POINTER :: ptr(:,:,:)
671 ptr =>state%comin_descrdata_domain_data(jg)%cells%rbf_vec_blk
672 CALL comin_descrdata_to_c(ptr, rbf_vec_blk, arr_size)
673 END SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_blk
674
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)
680 !
681 INTEGER(C_INT), POINTER :: ptr(:,:)
682 ptr =>state%comin_descrdata_domain_data(jg)%cells%rbf_vec_stencil
683 CALL comin_descrdata_to_c(ptr, rbf_vec_stencil, arr_size)
684 END SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_stencil
685
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)
691 !
692 REAL(wp), POINTER :: ptr(:,:,:,:)
693 ptr =>state%comin_descrdata_domain_data(jg)%cells%rbf_vec_coeff
694 CALL comin_descrdata_to_c(ptr, rbf_vec_coeff, arr_size)
695 END SUBROUTINE comin_descrdata_get_domain_cells_rbf_vec_coeff
696
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)
702 !
703 INTEGER(C_INT), POINTER :: ptr(:)
704 ptr =>state%comin_descrdata_domain_data(jg)%cells%glb_index
705 CALL comin_descrdata_to_c(ptr, glb_index, arr_size)
706 END SUBROUTINE comin_descrdata_get_domain_cells_glb_index
707
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)
713 !
714 INTEGER(C_INT), POINTER :: ptr(:,:)
715 ptr =>state%comin_descrdata_domain_data(jg)%cells%decomp_domain
716 CALL comin_descrdata_to_c(ptr, decomp_domain, arr_size)
717 END SUBROUTINE comin_descrdata_get_domain_cells_decomp_domain
718
719 FUNCTION comin_descrdata_get_domain_verts_nverts(jg) &
720 & BIND(C, NAME="comin_descrdata_get_domain_verts_nverts") &
721 & result(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
726
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
734
735 FUNCTION comin_descrdata_get_domain_verts_nblks(jg) &
736 & BIND(C, NAME="comin_descrdata_get_domain_verts_nblks") &
737 & result(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
742
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)
748 !
749 INTEGER(C_INT), POINTER :: ptr(:,:)
750 ptr =>state%comin_descrdata_domain_data(jg)%verts%num_edges
751 CALL comin_descrdata_to_c(ptr, num_edges, arr_size)
752 END SUBROUTINE comin_descrdata_get_domain_verts_num_edges
753
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)
759 !
760 INTEGER(C_INT), POINTER :: ptr(:,:)
761 ptr =>state%comin_descrdata_domain_data(jg)%verts%refin_ctrl
762 CALL comin_descrdata_to_c(ptr, refin_ctrl, arr_size)
763 END SUBROUTINE comin_descrdata_get_domain_verts_refin_ctrl
764
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)
770 !
771 INTEGER(C_INT), POINTER :: ptr(:)
772 ptr =>state%comin_descrdata_domain_data(jg)%verts%start_index
773 CALL comin_descrdata_to_c(ptr, start_index, arr_size)
774 END SUBROUTINE comin_descrdata_get_domain_verts_start_index
775
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)
781 !
782 INTEGER(C_INT), POINTER :: ptr(:)
783 ptr =>state%comin_descrdata_domain_data(jg)%verts%end_index
784 CALL comin_descrdata_to_c(ptr, end_index, arr_size)
785 END SUBROUTINE comin_descrdata_get_domain_verts_end_index
786
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)
792 !
793 INTEGER(C_INT), POINTER :: ptr(:)
794 ptr =>state%comin_descrdata_domain_data(jg)%verts%start_block
795 CALL comin_descrdata_to_c(ptr, start_block, arr_size)
796 END SUBROUTINE comin_descrdata_get_domain_verts_start_block
797
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)
803 !
804 INTEGER(C_INT), POINTER :: ptr(:)
805 ptr =>state%comin_descrdata_domain_data(jg)%verts%end_block
806 CALL comin_descrdata_to_c(ptr, end_block, arr_size)
807 END SUBROUTINE comin_descrdata_get_domain_verts_end_block
808
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)
814 !
815 INTEGER(C_INT), POINTER :: ptr(:,:,:)
816 ptr =>state%comin_descrdata_domain_data(jg)%verts%neighbor_blk
817 CALL comin_descrdata_to_c(ptr, neighbor_blk, arr_size)
818 END SUBROUTINE comin_descrdata_get_domain_verts_neighbor_blk
819
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)
825 !
826 INTEGER(C_INT), POINTER :: ptr(:,:,:)
827 ptr =>state%comin_descrdata_domain_data(jg)%verts%neighbor_idx
828 CALL comin_descrdata_to_c(ptr, neighbor_idx, arr_size)
829 END SUBROUTINE comin_descrdata_get_domain_verts_neighbor_idx
830
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)
836 !
837 INTEGER(C_INT), POINTER :: ptr(:,:,:)
838 ptr =>state%comin_descrdata_domain_data(jg)%verts%cell_idx
839 CALL comin_descrdata_to_c(ptr, cell_idx, arr_size)
840 END SUBROUTINE comin_descrdata_get_domain_verts_cell_idx
841
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)
847 !
848 INTEGER(C_INT), POINTER :: ptr(:,:,:)
849 ptr =>state%comin_descrdata_domain_data(jg)%verts%cell_blk
850 CALL comin_descrdata_to_c(ptr, cell_blk, arr_size)
851 END SUBROUTINE comin_descrdata_get_domain_verts_cell_blk
852
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)
858 !
859 INTEGER(C_INT), POINTER :: ptr(:,:,:)
860 ptr =>state%comin_descrdata_domain_data(jg)%verts%edge_idx
861 CALL comin_descrdata_to_c(ptr, edge_idx, arr_size)
862 END SUBROUTINE comin_descrdata_get_domain_verts_edge_idx
863
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)
869 !
870 INTEGER(C_INT), POINTER :: ptr(:,:,:)
871 ptr =>state%comin_descrdata_domain_data(jg)%verts%edge_blk
872 CALL comin_descrdata_to_c(ptr, edge_blk, arr_size)
873 END SUBROUTINE comin_descrdata_get_domain_verts_edge_blk
874
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)
880 !
881 REAL(wp), POINTER :: ptr(:,:)
882 ptr =>state%comin_descrdata_domain_data(jg)%verts%vlon
883 CALL comin_descrdata_to_c(ptr, vlon, arr_size)
884 END SUBROUTINE comin_descrdata_get_domain_verts_vlon
885
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)
891 !
892 REAL(wp), POINTER :: ptr(:,:)
893 ptr =>state%comin_descrdata_domain_data(jg)%verts%vlat
894 CALL comin_descrdata_to_c(ptr, vlat, arr_size)
895 END SUBROUTINE comin_descrdata_get_domain_verts_vlat
896
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)
902 !
903 INTEGER(C_INT), POINTER :: ptr(:,:,:)
904 ptr =>state%comin_descrdata_domain_data(jg)%verts%rbf_vec_idx
905 CALL comin_descrdata_to_c(ptr, rbf_vec_idx, arr_size)
906 END SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_idx
907
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)
913 !
914 INTEGER(C_INT), POINTER :: ptr(:,:,:)
915 ptr =>state%comin_descrdata_domain_data(jg)%verts%rbf_vec_blk
916 CALL comin_descrdata_to_c(ptr, rbf_vec_blk, arr_size)
917 END SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_blk
918
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)
924 !
925 INTEGER(C_INT), POINTER :: ptr(:,:)
926 ptr =>state%comin_descrdata_domain_data(jg)%verts%rbf_vec_stencil
927 CALL comin_descrdata_to_c(ptr, rbf_vec_stencil, arr_size)
928 END SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_stencil
929
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)
935 !
936 REAL(wp), POINTER :: ptr(:,:,:,:)
937 ptr =>state%comin_descrdata_domain_data(jg)%verts%rbf_vec_coeff
938 CALL comin_descrdata_to_c(ptr, rbf_vec_coeff, arr_size)
939 END SUBROUTINE comin_descrdata_get_domain_verts_rbf_vec_coeff
940
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)
946 !
947 INTEGER(C_INT), POINTER :: ptr(:)
948 ptr =>state%comin_descrdata_domain_data(jg)%verts%glb_index
949 CALL comin_descrdata_to_c(ptr, glb_index, arr_size)
950 END SUBROUTINE comin_descrdata_get_domain_verts_glb_index
951
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)
957 !
958 INTEGER(C_INT), POINTER :: ptr(:,:)
959 ptr =>state%comin_descrdata_domain_data(jg)%verts%decomp_domain
960 CALL comin_descrdata_to_c(ptr, decomp_domain, arr_size)
961 END SUBROUTINE comin_descrdata_get_domain_verts_decomp_domain
962
963 FUNCTION comin_descrdata_get_domain_edges_nedges(jg) &
964 & BIND(C, NAME="comin_descrdata_get_domain_edges_nedges") &
965 & result(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
970
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
978
979 FUNCTION comin_descrdata_get_domain_edges_nblks(jg) &
980 & BIND(C, NAME="comin_descrdata_get_domain_edges_nblks") &
981 & result(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
986
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)
992 !
993 INTEGER(C_INT), POINTER :: ptr(:,:)
994 ptr =>state%comin_descrdata_domain_data(jg)%edges%refin_ctrl
995 CALL comin_descrdata_to_c(ptr, refin_ctrl, arr_size)
996 END SUBROUTINE comin_descrdata_get_domain_edges_refin_ctrl
997
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)
1003 !
1004 INTEGER(C_INT), POINTER :: ptr(:)
1005 ptr =>state%comin_descrdata_domain_data(jg)%edges%start_index
1006 CALL comin_descrdata_to_c(ptr, start_index, arr_size)
1007 END SUBROUTINE comin_descrdata_get_domain_edges_start_index
1008
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)
1014 !
1015 INTEGER(C_INT), POINTER :: ptr(:)
1016 ptr =>state%comin_descrdata_domain_data(jg)%edges%end_index
1017 CALL comin_descrdata_to_c(ptr, end_index, arr_size)
1018 END SUBROUTINE comin_descrdata_get_domain_edges_end_index
1019
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)
1025 !
1026 INTEGER(C_INT), POINTER :: ptr(:)
1027 ptr =>state%comin_descrdata_domain_data(jg)%edges%start_block
1028 CALL comin_descrdata_to_c(ptr, start_block, arr_size)
1029 END SUBROUTINE comin_descrdata_get_domain_edges_start_block
1030
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)
1036 !
1037 INTEGER(C_INT), POINTER :: ptr(:)
1038 ptr =>state%comin_descrdata_domain_data(jg)%edges%end_block
1039 CALL comin_descrdata_to_c(ptr, end_block, arr_size)
1040 END SUBROUTINE comin_descrdata_get_domain_edges_end_block
1041
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)
1047 !
1048 INTEGER(C_INT), POINTER :: ptr(:,:)
1049 ptr =>state%comin_descrdata_domain_data(jg)%edges%child_id
1050 CALL comin_descrdata_to_c(ptr, child_id, arr_size)
1051 END SUBROUTINE comin_descrdata_get_domain_edges_child_id
1052
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)
1058 !
1059 INTEGER(C_INT), POINTER :: ptr(:,:)
1060 ptr =>state%comin_descrdata_domain_data(jg)%edges%parent_glb_idx
1061 CALL comin_descrdata_to_c(ptr, parent_glb_idx, arr_size)
1062 END SUBROUTINE comin_descrdata_get_domain_edges_parent_glb_idx
1063
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)
1069 !
1070 INTEGER(C_INT), POINTER :: ptr(:,:)
1071 ptr =>state%comin_descrdata_domain_data(jg)%edges%parent_glb_blk
1072 CALL comin_descrdata_to_c(ptr, parent_glb_blk, arr_size)
1073 END SUBROUTINE comin_descrdata_get_domain_edges_parent_glb_blk
1074
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)
1080 !
1081 INTEGER(C_INT), POINTER :: ptr(:,:,:)
1082 ptr =>state%comin_descrdata_domain_data(jg)%edges%cell_idx
1083 CALL comin_descrdata_to_c(ptr, cell_idx, arr_size)
1084 END SUBROUTINE comin_descrdata_get_domain_edges_cell_idx
1085
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)
1091 !
1092 INTEGER(C_INT), POINTER :: ptr(:,:,:)
1093 ptr =>state%comin_descrdata_domain_data(jg)%edges%cell_blk
1094 CALL comin_descrdata_to_c(ptr, cell_blk, arr_size)
1095 END SUBROUTINE comin_descrdata_get_domain_edges_cell_blk
1096
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)
1102 !
1103 INTEGER(C_INT), POINTER :: ptr(:,:,:)
1104 ptr =>state%comin_descrdata_domain_data(jg)%edges%vertex_idx
1105 CALL comin_descrdata_to_c(ptr, vertex_idx, arr_size)
1106 END SUBROUTINE comin_descrdata_get_domain_edges_vertex_idx
1107
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)
1113 !
1114 INTEGER(C_INT), POINTER :: ptr(:,:,:)
1115 ptr =>state%comin_descrdata_domain_data(jg)%edges%vertex_blk
1116 CALL comin_descrdata_to_c(ptr, vertex_blk, arr_size)
1117 END SUBROUTINE comin_descrdata_get_domain_edges_vertex_blk
1118
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)
1124 !
1125 REAL(wp), POINTER :: ptr(:,:)
1126 ptr =>state%comin_descrdata_domain_data(jg)%edges%elon
1127 CALL comin_descrdata_to_c(ptr, elon, arr_size)
1128 END SUBROUTINE comin_descrdata_get_domain_edges_elon
1129
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)
1135 !
1136 REAL(wp), POINTER :: ptr(:,:)
1137 ptr =>state%comin_descrdata_domain_data(jg)%edges%elat
1138 CALL comin_descrdata_to_c(ptr, elat, arr_size)
1139 END SUBROUTINE comin_descrdata_get_domain_edges_elat
1140
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)
1146 !
1147 REAL(wp), POINTER :: ptr(:,:)
1148 ptr =>state%comin_descrdata_domain_data(jg)%edges%tangent_orientation
1149 CALL comin_descrdata_to_c(ptr, tangent_orientation, arr_size)
1150 END SUBROUTINE comin_descrdata_get_domain_edges_tangent_orientation
1151
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)
1157 !
1158 REAL(wp), POINTER :: ptr(:,:)
1159 ptr =>state%comin_descrdata_domain_data(jg)%edges%nudgecoeff_e
1160 CALL comin_descrdata_to_c(ptr, nudgecoeff_e, arr_size)
1161 END SUBROUTINE comin_descrdata_get_domain_edges_nudgecoeff_e
1162
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)
1168 !
1169 INTEGER(C_INT), POINTER :: ptr(:,:,:)
1170 ptr =>state%comin_descrdata_domain_data(jg)%edges%rbf_vec_idx
1171 CALL comin_descrdata_to_c(ptr, rbf_vec_idx, arr_size)
1172 END SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_idx
1173
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)
1179 !
1180 INTEGER(C_INT), POINTER :: ptr(:,:,:)
1181 ptr =>state%comin_descrdata_domain_data(jg)%edges%rbf_vec_blk
1182 CALL comin_descrdata_to_c(ptr, rbf_vec_blk, arr_size)
1183 END SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_blk
1184
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)
1190 !
1191 INTEGER(C_INT), POINTER :: ptr(:,:)
1192 ptr =>state%comin_descrdata_domain_data(jg)%edges%rbf_vec_stencil
1193 CALL comin_descrdata_to_c(ptr, rbf_vec_stencil, arr_size)
1194 END SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_stencil
1195
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)
1201 !
1202 REAL(wp), POINTER :: ptr(:,:,:)
1203 ptr =>state%comin_descrdata_domain_data(jg)%edges%rbf_vec_coeff
1204 CALL comin_descrdata_to_c(ptr, rbf_vec_coeff, arr_size)
1205 END SUBROUTINE comin_descrdata_get_domain_edges_rbf_vec_coeff
1206
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)
1212 !
1213 REAL(wp), POINTER :: ptr(:,:,:)
1214 ptr =>state%comin_descrdata_domain_data(jg)%edges%c_lin_e
1215 CALL comin_descrdata_to_c(ptr, c_lin_e, arr_size)
1216 END SUBROUTINE comin_descrdata_get_domain_edges_c_lin_e
1217
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)
1223 !
1224 INTEGER(C_INT), POINTER :: ptr(:)
1225 ptr =>state%comin_descrdata_domain_data(jg)%edges%glb_index
1226 CALL comin_descrdata_to_c(ptr, glb_index, arr_size)
1227 END SUBROUTINE comin_descrdata_get_domain_edges_glb_index
1228
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)
1234 !
1235 INTEGER(C_INT), POINTER :: ptr(:,:)
1236 ptr =>state%comin_descrdata_domain_data(jg)%edges%decomp_domain
1237 CALL comin_descrdata_to_c(ptr, decomp_domain, arr_size)
1238 END SUBROUTINE comin_descrdata_get_domain_edges_decomp_domain
1239
1240END MODULE comin_descrdata_c_access
integer, parameter wp
working precision
type(t_comin_state), pointer, public state