ComIn 0.5.1
ICON Community Interface
Loading...
Searching...
No Matches
comin_descrdata_access_types.F90
Go to the documentation of this file.
1! @authors 11/2023 :: ICON Community Interface <comin@icon-model.org>
2!
3! SPDX-License-Identifier: BSD-3-Clause
4!
5! Please see the file LICENSE in the root of the source tree for this code.
6! Where software is supplied by third parties, it is indicated in the
7! headers of the routines.
8
9! *** DO NOT EDIT MANUALLY! Generated by python script in utils/. DO NOT EDIT MANUALLY! *** !
10
12 USE iso_c_binding, ONLY: c_int, c_bool, c_signed_char
13 USE comin_state, ONLY: state
20 USE comin_setup_constants, ONLY: wp
21
22 IMPLICIT NONE
23
24 PRIVATE
25 PUBLIC :: t_comin_descrdata_global, &
31
33 PRIVATE
34 TYPE(t_comin_descrdata_global_data), POINTER :: data
35 CONTAINS
36 PROCEDURE :: get_n_dom => comin_descrdata_get_global_n_dom
37 PROCEDURE :: get_max_dom => comin_descrdata_get_global_max_dom
38 PROCEDURE :: get_nproma => comin_descrdata_get_global_nproma
39 PROCEDURE :: get_wp => comin_descrdata_get_global_wp
40 PROCEDURE :: get_min_rlcell_int => comin_descrdata_get_global_min_rlcell_int
41 PROCEDURE :: get_min_rlcell => comin_descrdata_get_global_min_rlcell
42 PROCEDURE :: get_max_rlcell => comin_descrdata_get_global_max_rlcell
43 PROCEDURE :: get_min_rlvert_int => comin_descrdata_get_global_min_rlvert_int
44 PROCEDURE :: get_min_rlvert => comin_descrdata_get_global_min_rlvert
45 PROCEDURE :: get_max_rlvert => comin_descrdata_get_global_max_rlvert
46 PROCEDURE :: get_min_rledge_int => comin_descrdata_get_global_min_rledge_int
47 PROCEDURE :: get_min_rledge => comin_descrdata_get_global_min_rledge
48 PROCEDURE :: get_max_rledge => comin_descrdata_get_global_max_rledge
49 PROCEDURE :: get_grf_bdywidth_c => comin_descrdata_get_global_grf_bdywidth_c
50 PROCEDURE :: get_grf_bdywidth_e => comin_descrdata_get_global_grf_bdywidth_e
51 PROCEDURE :: get_lrestartrun => comin_descrdata_get_global_lrestartrun
52 PROCEDURE :: get_vct_a => comin_descrdata_get_global_vct_a
53 PROCEDURE :: get_l_limited_area => comin_descrdata_get_global_l_limited_area
54 PROCEDURE :: get_yac_instance_id => comin_descrdata_get_global_yac_instance_id
55 PROCEDURE :: get_host_git_remote_url => comin_descrdata_get_global_host_git_remote_url
56 PROCEDURE :: get_host_git_branch => comin_descrdata_get_global_host_git_branch
57 PROCEDURE :: get_host_git_tag => comin_descrdata_get_global_host_git_tag
58 PROCEDURE :: get_host_revision => comin_descrdata_get_global_host_revision
59 PROCEDURE :: get_has_device => comin_descrdata_get_global_has_device
60 PROCEDURE :: get_device_name => comin_descrdata_get_global_device_name
61 PROCEDURE :: get_device_vendor => comin_descrdata_get_global_device_vendor
62 PROCEDURE :: get_device_driver => comin_descrdata_get_global_device_driver
64
66 PRIVATE
67 TYPE(t_comin_descrdata_domain_cells_data), POINTER :: data
68 CONTAINS
69 PROCEDURE :: get_ncells => comin_descrdata_get_domain_cells_ncells
70 PROCEDURE :: get_ncells_global => comin_descrdata_get_domain_cells_ncells_global
71 PROCEDURE :: get_nblks => comin_descrdata_get_domain_cells_nblks
72 PROCEDURE :: get_max_connectivity => comin_descrdata_get_domain_cells_max_connectivity
73 PROCEDURE :: get_num_edges => comin_descrdata_get_domain_cells_num_edges
74 PROCEDURE :: get_refin_ctrl => comin_descrdata_get_domain_cells_refin_ctrl
75 PROCEDURE :: get_start_index => comin_descrdata_get_domain_cells_start_index
76 PROCEDURE :: get_end_index => comin_descrdata_get_domain_cells_end_index
77 PROCEDURE :: get_start_block => comin_descrdata_get_domain_cells_start_block
78 PROCEDURE :: get_end_block => comin_descrdata_get_domain_cells_end_block
79 PROCEDURE :: get_child_id => comin_descrdata_get_domain_cells_child_id
80 PROCEDURE :: get_parent_glb_idx => comin_descrdata_get_domain_cells_parent_glb_idx
81 PROCEDURE :: get_parent_glb_blk => comin_descrdata_get_domain_cells_parent_glb_blk
82 PROCEDURE :: get_vertex_idx => comin_descrdata_get_domain_cells_vertex_idx
83 PROCEDURE :: get_vertex_blk => comin_descrdata_get_domain_cells_vertex_blk
84 PROCEDURE :: get_neighbor_idx => comin_descrdata_get_domain_cells_neighbor_idx
85 PROCEDURE :: get_neighbor_blk => comin_descrdata_get_domain_cells_neighbor_blk
86 PROCEDURE :: get_edge_idx => comin_descrdata_get_domain_cells_edge_idx
87 PROCEDURE :: get_edge_blk => comin_descrdata_get_domain_cells_edge_blk
88 PROCEDURE :: get_clon => comin_descrdata_get_domain_cells_clon
89 PROCEDURE :: get_clat => comin_descrdata_get_domain_cells_clat
90 PROCEDURE :: get_area => comin_descrdata_get_domain_cells_area
91 PROCEDURE :: get_hhl => comin_descrdata_get_domain_cells_hhl
92 PROCEDURE :: get_e_bln_c_s => comin_descrdata_get_domain_cells_e_bln_c_s
93 PROCEDURE :: get_geofac_div => comin_descrdata_get_domain_cells_geofac_div
94 PROCEDURE :: get_geofac_n2s => comin_descrdata_get_domain_cells_geofac_n2s
95 PROCEDURE :: get_geofac_grg => comin_descrdata_get_domain_cells_geofac_grg
96 PROCEDURE :: get_rbf_vec_idx => comin_descrdata_get_domain_cells_rbf_vec_idx
97 PROCEDURE :: get_rbf_vec_blk => comin_descrdata_get_domain_cells_rbf_vec_blk
98 PROCEDURE :: get_rbf_vec_stencil => comin_descrdata_get_domain_cells_rbf_vec_stencil
99 PROCEDURE :: get_rbf_vec_coeff => comin_descrdata_get_domain_cells_rbf_vec_coeff
100 PROCEDURE :: get_glb_index => comin_descrdata_get_domain_cells_glb_index
101 PROCEDURE :: get_decomp_domain => comin_descrdata_get_domain_cells_decomp_domain
103
105 PRIVATE
106 TYPE(t_comin_descrdata_domain_verts_data), POINTER :: data
107 CONTAINS
108 PROCEDURE :: get_nverts => comin_descrdata_get_domain_verts_nverts
109 PROCEDURE :: get_nverts_global => comin_descrdata_get_domain_verts_nverts_global
110 PROCEDURE :: get_nblks => comin_descrdata_get_domain_verts_nblks
111 PROCEDURE :: get_num_edges => comin_descrdata_get_domain_verts_num_edges
112 PROCEDURE :: get_refin_ctrl => comin_descrdata_get_domain_verts_refin_ctrl
113 PROCEDURE :: get_start_index => comin_descrdata_get_domain_verts_start_index
114 PROCEDURE :: get_end_index => comin_descrdata_get_domain_verts_end_index
115 PROCEDURE :: get_start_block => comin_descrdata_get_domain_verts_start_block
116 PROCEDURE :: get_end_block => comin_descrdata_get_domain_verts_end_block
117 PROCEDURE :: get_neighbor_blk => comin_descrdata_get_domain_verts_neighbor_blk
118 PROCEDURE :: get_neighbor_idx => comin_descrdata_get_domain_verts_neighbor_idx
119 PROCEDURE :: get_cell_idx => comin_descrdata_get_domain_verts_cell_idx
120 PROCEDURE :: get_cell_blk => comin_descrdata_get_domain_verts_cell_blk
121 PROCEDURE :: get_edge_idx => comin_descrdata_get_domain_verts_edge_idx
122 PROCEDURE :: get_edge_blk => comin_descrdata_get_domain_verts_edge_blk
123 PROCEDURE :: get_vlon => comin_descrdata_get_domain_verts_vlon
124 PROCEDURE :: get_vlat => comin_descrdata_get_domain_verts_vlat
125 PROCEDURE :: get_rbf_vec_idx => comin_descrdata_get_domain_verts_rbf_vec_idx
126 PROCEDURE :: get_rbf_vec_blk => comin_descrdata_get_domain_verts_rbf_vec_blk
127 PROCEDURE :: get_rbf_vec_stencil => comin_descrdata_get_domain_verts_rbf_vec_stencil
128 PROCEDURE :: get_rbf_vec_coeff => comin_descrdata_get_domain_verts_rbf_vec_coeff
129 PROCEDURE :: get_glb_index => comin_descrdata_get_domain_verts_glb_index
130 PROCEDURE :: get_decomp_domain => comin_descrdata_get_domain_verts_decomp_domain
132
134 PRIVATE
135 TYPE(t_comin_descrdata_domain_edges_data), POINTER :: data
136 CONTAINS
137 PROCEDURE :: get_nedges => comin_descrdata_get_domain_edges_nedges
138 PROCEDURE :: get_nedges_global => comin_descrdata_get_domain_edges_nedges_global
139 PROCEDURE :: get_nblks => comin_descrdata_get_domain_edges_nblks
140 PROCEDURE :: get_refin_ctrl => comin_descrdata_get_domain_edges_refin_ctrl
141 PROCEDURE :: get_start_index => comin_descrdata_get_domain_edges_start_index
142 PROCEDURE :: get_end_index => comin_descrdata_get_domain_edges_end_index
143 PROCEDURE :: get_start_block => comin_descrdata_get_domain_edges_start_block
144 PROCEDURE :: get_end_block => comin_descrdata_get_domain_edges_end_block
145 PROCEDURE :: get_child_id => comin_descrdata_get_domain_edges_child_id
146 PROCEDURE :: get_parent_glb_idx => comin_descrdata_get_domain_edges_parent_glb_idx
147 PROCEDURE :: get_parent_glb_blk => comin_descrdata_get_domain_edges_parent_glb_blk
148 PROCEDURE :: get_cell_idx => comin_descrdata_get_domain_edges_cell_idx
149 PROCEDURE :: get_cell_blk => comin_descrdata_get_domain_edges_cell_blk
150 PROCEDURE :: get_vertex_idx => comin_descrdata_get_domain_edges_vertex_idx
151 PROCEDURE :: get_vertex_blk => comin_descrdata_get_domain_edges_vertex_blk
152 PROCEDURE :: get_elon => comin_descrdata_get_domain_edges_elon
153 PROCEDURE :: get_elat => comin_descrdata_get_domain_edges_elat
154 PROCEDURE :: get_tangent_orientation => comin_descrdata_get_domain_edges_tangent_orientation
155 PROCEDURE :: get_nudgecoeff_e => comin_descrdata_get_domain_edges_nudgecoeff_e
156 PROCEDURE :: get_rbf_vec_idx => comin_descrdata_get_domain_edges_rbf_vec_idx
157 PROCEDURE :: get_rbf_vec_blk => comin_descrdata_get_domain_edges_rbf_vec_blk
158 PROCEDURE :: get_rbf_vec_stencil => comin_descrdata_get_domain_edges_rbf_vec_stencil
159 PROCEDURE :: get_rbf_vec_coeff => comin_descrdata_get_domain_edges_rbf_vec_coeff
160 PROCEDURE :: get_c_lin_e => comin_descrdata_get_domain_edges_c_lin_e
161 PROCEDURE :: get_glb_index => comin_descrdata_get_domain_edges_glb_index
162 PROCEDURE :: get_decomp_domain => comin_descrdata_get_domain_edges_decomp_domain
164
166 PRIVATE
167 TYPE(t_comin_descrdata_domain_data), POINTER :: data
168 TYPE(t_comin_descrdata_domain_cells), PUBLIC :: cells
169 TYPE(t_comin_descrdata_domain_verts), PUBLIC :: verts
170 TYPE(t_comin_descrdata_domain_edges), PUBLIC :: edges
171 CONTAINS
172 PROCEDURE :: get_grid_filename => comin_descrdata_get_domain_grid_filename
173 PROCEDURE :: get_grid_uuid => comin_descrdata_get_domain_grid_uuid
174 PROCEDURE :: get_number_of_grid_used => comin_descrdata_get_domain_number_of_grid_used
175 PROCEDURE :: get_id => comin_descrdata_get_domain_id
176 PROCEDURE :: get_parent_id => comin_descrdata_get_domain_parent_id
177 PROCEDURE :: get_child_id => comin_descrdata_get_domain_child_id
178 PROCEDURE :: get_n_childdom => comin_descrdata_get_domain_n_childdom
179 PROCEDURE :: get_dom_start => comin_descrdata_get_domain_dom_start
180 PROCEDURE :: get_dom_end => comin_descrdata_get_domain_dom_end
181 PROCEDURE :: get_nlev => comin_descrdata_get_domain_nlev
182 PROCEDURE :: get_nshift => comin_descrdata_get_domain_nshift
183 PROCEDURE :: get_nshift_total => comin_descrdata_get_domain_nshift_total
185
186CONTAINS
187 FUNCTION comin_descrdata_get_global_n_dom(this) RESULT(n_dom)
188 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
189 INTEGER(C_INT) :: n_dom
190 n_dom = this%data%n_dom
192
193 FUNCTION comin_descrdata_get_global_max_dom(this) RESULT(max_dom)
194 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
195 INTEGER(C_INT) :: max_dom
196 max_dom = this%data%max_dom
197 END FUNCTION comin_descrdata_get_global_max_dom
198
199 FUNCTION comin_descrdata_get_global_nproma(this) RESULT(nproma)
200 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
201 INTEGER(C_INT) :: nproma
202 nproma = this%data%nproma
203 END FUNCTION comin_descrdata_get_global_nproma
204
205 FUNCTION comin_descrdata_get_global_wp(this) RESULT(wp)
206 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
207 INTEGER(C_INT) :: wp
208 wp = this%data%wp
209 END FUNCTION comin_descrdata_get_global_wp
210
211 FUNCTION comin_descrdata_get_global_min_rlcell_int(this) RESULT(min_rlcell_int)
212 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
213 INTEGER(C_INT) :: min_rlcell_int
214 min_rlcell_int = this%data%min_rlcell_int
215 END FUNCTION comin_descrdata_get_global_min_rlcell_int
216
217 FUNCTION comin_descrdata_get_global_min_rlcell(this) RESULT(min_rlcell)
218 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
219 INTEGER(C_INT) :: min_rlcell
220 min_rlcell = this%data%min_rlcell
221 END FUNCTION comin_descrdata_get_global_min_rlcell
222
223 FUNCTION comin_descrdata_get_global_max_rlcell(this) RESULT(max_rlcell)
224 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
225 INTEGER(C_INT) :: max_rlcell
226 max_rlcell = this%data%max_rlcell
227 END FUNCTION comin_descrdata_get_global_max_rlcell
228
229 FUNCTION comin_descrdata_get_global_min_rlvert_int(this) RESULT(min_rlvert_int)
230 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
231 INTEGER(C_INT) :: min_rlvert_int
232 min_rlvert_int = this%data%min_rlvert_int
233 END FUNCTION comin_descrdata_get_global_min_rlvert_int
234
235 FUNCTION comin_descrdata_get_global_min_rlvert(this) RESULT(min_rlvert)
236 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
237 INTEGER(C_INT) :: min_rlvert
238 min_rlvert = this%data%min_rlvert
239 END FUNCTION comin_descrdata_get_global_min_rlvert
240
241 FUNCTION comin_descrdata_get_global_max_rlvert(this) RESULT(max_rlvert)
242 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
243 INTEGER(C_INT) :: max_rlvert
244 max_rlvert = this%data%max_rlvert
245 END FUNCTION comin_descrdata_get_global_max_rlvert
246
247 FUNCTION comin_descrdata_get_global_min_rledge_int(this) RESULT(min_rledge_int)
248 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
249 INTEGER(C_INT) :: min_rledge_int
250 min_rledge_int = this%data%min_rledge_int
251 END FUNCTION comin_descrdata_get_global_min_rledge_int
252
253 FUNCTION comin_descrdata_get_global_min_rledge(this) RESULT(min_rledge)
254 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
255 INTEGER(C_INT) :: min_rledge
256 min_rledge = this%data%min_rledge
257 END FUNCTION comin_descrdata_get_global_min_rledge
258
259 FUNCTION comin_descrdata_get_global_max_rledge(this) RESULT(max_rledge)
260 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
261 INTEGER(C_INT) :: max_rledge
262 max_rledge = this%data%max_rledge
263 END FUNCTION comin_descrdata_get_global_max_rledge
264
265 FUNCTION comin_descrdata_get_global_grf_bdywidth_c(this) RESULT(grf_bdywidth_c)
266 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
267 INTEGER(C_INT) :: grf_bdywidth_c
268 grf_bdywidth_c = this%data%grf_bdywidth_c
269 END FUNCTION comin_descrdata_get_global_grf_bdywidth_c
270
271 FUNCTION comin_descrdata_get_global_grf_bdywidth_e(this) RESULT(grf_bdywidth_e)
272 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
273 INTEGER(C_INT) :: grf_bdywidth_e
274 grf_bdywidth_e = this%data%grf_bdywidth_e
275 END FUNCTION comin_descrdata_get_global_grf_bdywidth_e
276
277 FUNCTION comin_descrdata_get_global_lrestartrun(this) RESULT(lrestartrun)
278 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
279 LOGICAL(C_BOOL) :: lrestartrun
280 lrestartrun = this%data%lrestartrun
281 END FUNCTION comin_descrdata_get_global_lrestartrun
282
283 FUNCTION comin_descrdata_get_global_vct_a(this) RESULT(vct_a)
284 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
285 REAL(wp), POINTER :: vct_a(:)
286 vct_a => this%data%vct_a
287 END FUNCTION comin_descrdata_get_global_vct_a
288
289 FUNCTION comin_descrdata_get_global_l_limited_area(this) RESULT(l_limited_area)
290 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
291 LOGICAL(C_BOOL) :: l_limited_area
292 l_limited_area = this%data%l_limited_area
293 END FUNCTION comin_descrdata_get_global_l_limited_area
294
295 FUNCTION comin_descrdata_get_global_yac_instance_id(this) RESULT(yac_instance_id)
296 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
297 INTEGER(C_INT) :: yac_instance_id
298 yac_instance_id = this%data%yac_instance_id
299 END FUNCTION comin_descrdata_get_global_yac_instance_id
300
301 FUNCTION comin_descrdata_get_global_host_git_remote_url(this) RESULT(host_git_remote_url)
302 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
303 CHARACTER(LEN=:), POINTER :: host_git_remote_url
304 host_git_remote_url => this%data%host_git_remote_url
305 END FUNCTION comin_descrdata_get_global_host_git_remote_url
306
307 FUNCTION comin_descrdata_get_global_host_git_branch(this) RESULT(host_git_branch)
308 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
309 CHARACTER(LEN=:), POINTER :: host_git_branch
310 host_git_branch => this%data%host_git_branch
311 END FUNCTION comin_descrdata_get_global_host_git_branch
312
313 FUNCTION comin_descrdata_get_global_host_git_tag(this) RESULT(host_git_tag)
314 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
315 CHARACTER(LEN=:), POINTER :: host_git_tag
316 host_git_tag => this%data%host_git_tag
317 END FUNCTION comin_descrdata_get_global_host_git_tag
318
319 FUNCTION comin_descrdata_get_global_host_revision(this) RESULT(host_revision)
320 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
321 CHARACTER(LEN=:), POINTER :: host_revision
322 host_revision => this%data%host_revision
323 END FUNCTION comin_descrdata_get_global_host_revision
324
325 FUNCTION comin_descrdata_get_global_has_device(this) RESULT(has_device)
326 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
327 LOGICAL(C_BOOL) :: has_device
328 has_device = this%data%has_device
329 END FUNCTION comin_descrdata_get_global_has_device
330
331 FUNCTION comin_descrdata_get_global_device_name(this) RESULT(device_name)
332 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
333 CHARACTER(LEN=:), POINTER :: device_name
334 device_name => this%data%device_name
335 END FUNCTION comin_descrdata_get_global_device_name
336
337 FUNCTION comin_descrdata_get_global_device_vendor(this) RESULT(device_vendor)
338 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
339 CHARACTER(LEN=:), POINTER :: device_vendor
340 device_vendor => this%data%device_vendor
341 END FUNCTION comin_descrdata_get_global_device_vendor
342
343 FUNCTION comin_descrdata_get_global_device_driver(this) RESULT(device_driver)
344 CLASS(t_comin_descrdata_global), INTENT(IN) :: this
345 CHARACTER(LEN=:), POINTER :: device_driver
346 device_driver => this%data%device_driver
347 END FUNCTION comin_descrdata_get_global_device_driver
348
349 FUNCTION comin_descrdata_get_domain_grid_filename(this) RESULT(grid_filename)
350 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
351 CHARACTER(LEN=:), POINTER :: grid_filename
352 grid_filename => this%data%grid_filename
353 END FUNCTION comin_descrdata_get_domain_grid_filename
354
355 FUNCTION comin_descrdata_get_domain_grid_uuid(this) RESULT(grid_uuid)
356 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
357 INTEGER(c_signed_char), POINTER, CONTIGUOUS :: grid_uuid(:)
358 grid_uuid => this%data%grid_uuid
359 END FUNCTION comin_descrdata_get_domain_grid_uuid
360
361 FUNCTION comin_descrdata_get_domain_number_of_grid_used(this) RESULT(number_of_grid_used)
362 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
363 INTEGER(C_INT) :: number_of_grid_used
364 number_of_grid_used = this%data%number_of_grid_used
365 END FUNCTION comin_descrdata_get_domain_number_of_grid_used
366
367 FUNCTION comin_descrdata_get_domain_id(this) RESULT(id)
368 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
369 INTEGER(C_INT) :: id
370 id = this%data%id
371 END FUNCTION comin_descrdata_get_domain_id
372
373 FUNCTION comin_descrdata_get_domain_parent_id(this) RESULT(parent_id)
374 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
375 INTEGER(C_INT) :: parent_id
376 parent_id = this%data%parent_id
377 END FUNCTION comin_descrdata_get_domain_parent_id
378
379 FUNCTION comin_descrdata_get_domain_child_id(this) RESULT(child_id)
380 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
381 INTEGER(C_INT), POINTER :: child_id(:)
382 child_id => this%data%child_id
383 END FUNCTION comin_descrdata_get_domain_child_id
384
385 FUNCTION comin_descrdata_get_domain_n_childdom(this) RESULT(n_childdom)
386 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
387 INTEGER(C_INT) :: n_childdom
388 n_childdom = this%data%n_childdom
389 END FUNCTION comin_descrdata_get_domain_n_childdom
390
391 FUNCTION comin_descrdata_get_domain_dom_start(this) RESULT(dom_start)
392 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
393 REAL(wp) :: dom_start
394 dom_start = this%data%dom_start
395 END FUNCTION comin_descrdata_get_domain_dom_start
396
397 FUNCTION comin_descrdata_get_domain_dom_end(this) RESULT(dom_end)
398 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
399 REAL(wp) :: dom_end
400 dom_end = this%data%dom_end
401 END FUNCTION comin_descrdata_get_domain_dom_end
402
403 FUNCTION comin_descrdata_get_domain_nlev(this) RESULT(nlev)
404 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
405 INTEGER(C_INT) :: nlev
406 nlev = this%data%nlev
407 END FUNCTION comin_descrdata_get_domain_nlev
408
409 FUNCTION comin_descrdata_get_domain_nshift(this) RESULT(nshift)
410 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
411 INTEGER(C_INT) :: nshift
412 nshift = this%data%nshift
413 END FUNCTION comin_descrdata_get_domain_nshift
414
415 FUNCTION comin_descrdata_get_domain_nshift_total(this) RESULT(nshift_total)
416 CLASS(t_comin_descrdata_domain), INTENT(IN) :: this
417 INTEGER(C_INT) :: nshift_total
418 nshift_total = this%data%nshift_total
419 END FUNCTION comin_descrdata_get_domain_nshift_total
420
421 FUNCTION comin_descrdata_get_domain_cells_ncells(this) RESULT(ncells)
422 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
423 INTEGER(C_INT) :: ncells
424 ncells = this%data%ncells
425 END FUNCTION comin_descrdata_get_domain_cells_ncells
426
427 FUNCTION comin_descrdata_get_domain_cells_ncells_global(this) RESULT(ncells_global)
428 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
429 INTEGER(C_INT) :: ncells_global
430 ncells_global = this%data%ncells_global
431 END FUNCTION comin_descrdata_get_domain_cells_ncells_global
432
433 FUNCTION comin_descrdata_get_domain_cells_nblks(this) RESULT(nblks)
434 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
435 INTEGER(C_INT) :: nblks
436 nblks = this%data%nblks
437 END FUNCTION comin_descrdata_get_domain_cells_nblks
438
439 FUNCTION comin_descrdata_get_domain_cells_max_connectivity(this) RESULT(max_connectivity)
440 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
441 INTEGER(C_INT) :: max_connectivity
442 max_connectivity = this%data%max_connectivity
443 END FUNCTION comin_descrdata_get_domain_cells_max_connectivity
444
445 FUNCTION comin_descrdata_get_domain_cells_num_edges(this) RESULT(num_edges)
446 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
447 INTEGER(C_INT), POINTER, CONTIGUOUS :: num_edges(:,:)
448 num_edges => this%data%num_edges
449 END FUNCTION comin_descrdata_get_domain_cells_num_edges
450
451 FUNCTION comin_descrdata_get_domain_cells_refin_ctrl(this) RESULT(refin_ctrl)
452 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
453 INTEGER(C_INT), POINTER, CONTIGUOUS :: refin_ctrl(:,:)
454 refin_ctrl => this%data%refin_ctrl
455 END FUNCTION comin_descrdata_get_domain_cells_refin_ctrl
456
457 FUNCTION comin_descrdata_get_domain_cells_start_index(this) RESULT(start_index)
458 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
459 INTEGER(C_INT), POINTER, CONTIGUOUS :: start_index(:)
460 start_index => this%data%start_index
461 END FUNCTION comin_descrdata_get_domain_cells_start_index
462
463 FUNCTION comin_descrdata_get_domain_cells_end_index(this) RESULT(end_index)
464 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
465 INTEGER(C_INT), POINTER, CONTIGUOUS :: end_index(:)
466 end_index => this%data%end_index
467 END FUNCTION comin_descrdata_get_domain_cells_end_index
468
469 FUNCTION comin_descrdata_get_domain_cells_start_block(this) RESULT(start_block)
470 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
471 INTEGER(C_INT), POINTER, CONTIGUOUS :: start_block(:)
472 start_block => this%data%start_block
473 END FUNCTION comin_descrdata_get_domain_cells_start_block
474
475 FUNCTION comin_descrdata_get_domain_cells_end_block(this) RESULT(end_block)
476 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
477 INTEGER(C_INT), POINTER, CONTIGUOUS :: end_block(:)
478 end_block => this%data%end_block
479 END FUNCTION comin_descrdata_get_domain_cells_end_block
480
481 FUNCTION comin_descrdata_get_domain_cells_child_id(this) RESULT(child_id)
482 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
483 INTEGER(C_INT), POINTER, CONTIGUOUS :: child_id(:,:)
484 child_id => this%data%child_id
485 END FUNCTION comin_descrdata_get_domain_cells_child_id
486
487 FUNCTION comin_descrdata_get_domain_cells_parent_glb_idx(this) RESULT(parent_glb_idx)
488 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
489 INTEGER(C_INT), POINTER, CONTIGUOUS :: parent_glb_idx(:,:)
490 parent_glb_idx => this%data%parent_glb_idx
491 END FUNCTION comin_descrdata_get_domain_cells_parent_glb_idx
492
493 FUNCTION comin_descrdata_get_domain_cells_parent_glb_blk(this) RESULT(parent_glb_blk)
494 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
495 INTEGER(C_INT), POINTER, CONTIGUOUS :: parent_glb_blk(:,:)
496 parent_glb_blk => this%data%parent_glb_blk
497 END FUNCTION comin_descrdata_get_domain_cells_parent_glb_blk
498
499 FUNCTION comin_descrdata_get_domain_cells_vertex_idx(this) RESULT(vertex_idx)
500 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
501 INTEGER(C_INT), POINTER, CONTIGUOUS :: vertex_idx(:,:,:)
502 vertex_idx => this%data%vertex_idx
503 END FUNCTION comin_descrdata_get_domain_cells_vertex_idx
504
505 FUNCTION comin_descrdata_get_domain_cells_vertex_blk(this) RESULT(vertex_blk)
506 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
507 INTEGER(C_INT), POINTER, CONTIGUOUS :: vertex_blk(:,:,:)
508 vertex_blk => this%data%vertex_blk
509 END FUNCTION comin_descrdata_get_domain_cells_vertex_blk
510
511 FUNCTION comin_descrdata_get_domain_cells_neighbor_idx(this) RESULT(neighbor_idx)
512 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
513 INTEGER(C_INT), POINTER, CONTIGUOUS :: neighbor_idx(:,:,:)
514 neighbor_idx => this%data%neighbor_idx
515 END FUNCTION comin_descrdata_get_domain_cells_neighbor_idx
516
517 FUNCTION comin_descrdata_get_domain_cells_neighbor_blk(this) RESULT(neighbor_blk)
518 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
519 INTEGER(C_INT), POINTER, CONTIGUOUS :: neighbor_blk(:,:,:)
520 neighbor_blk => this%data%neighbor_blk
521 END FUNCTION comin_descrdata_get_domain_cells_neighbor_blk
522
523 FUNCTION comin_descrdata_get_domain_cells_edge_idx(this) RESULT(edge_idx)
524 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
525 INTEGER(C_INT), POINTER, CONTIGUOUS :: edge_idx(:,:,:)
526 edge_idx => this%data%edge_idx
527 END FUNCTION comin_descrdata_get_domain_cells_edge_idx
528
529 FUNCTION comin_descrdata_get_domain_cells_edge_blk(this) RESULT(edge_blk)
530 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
531 INTEGER(C_INT), POINTER, CONTIGUOUS :: edge_blk(:,:,:)
532 edge_blk => this%data%edge_blk
533 END FUNCTION comin_descrdata_get_domain_cells_edge_blk
534
535 FUNCTION comin_descrdata_get_domain_cells_clon(this) RESULT(clon)
536 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
537 REAL(wp), POINTER :: clon(:,:)
538 clon => this%data%clon
539 END FUNCTION comin_descrdata_get_domain_cells_clon
540
541 FUNCTION comin_descrdata_get_domain_cells_clat(this) RESULT(clat)
542 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
543 REAL(wp), POINTER :: clat(:,:)
544 clat => this%data%clat
545 END FUNCTION comin_descrdata_get_domain_cells_clat
546
547 FUNCTION comin_descrdata_get_domain_cells_area(this) RESULT(area)
548 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
549 REAL(wp), POINTER, CONTIGUOUS :: area(:,:)
550 area => this%data%area
551 END FUNCTION comin_descrdata_get_domain_cells_area
552
553 FUNCTION comin_descrdata_get_domain_cells_hhl(this) RESULT(hhl)
554 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
555 REAL(wp), POINTER :: hhl(:,:,:)
556 hhl => this%data%hhl
557 END FUNCTION comin_descrdata_get_domain_cells_hhl
558
559 FUNCTION comin_descrdata_get_domain_cells_e_bln_c_s(this) RESULT(e_bln_c_s)
560 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
561 REAL(wp), POINTER, CONTIGUOUS :: e_bln_c_s(:,:,:)
562 e_bln_c_s => this%data%e_bln_c_s
563 END FUNCTION comin_descrdata_get_domain_cells_e_bln_c_s
564
565 FUNCTION comin_descrdata_get_domain_cells_geofac_div(this) RESULT(geofac_div)
566 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
567 REAL(wp), POINTER, CONTIGUOUS :: geofac_div(:,:,:)
568 geofac_div => this%data%geofac_div
569 END FUNCTION comin_descrdata_get_domain_cells_geofac_div
570
571 FUNCTION comin_descrdata_get_domain_cells_geofac_n2s(this) RESULT(geofac_n2s)
572 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
573 REAL(wp), POINTER, CONTIGUOUS :: geofac_n2s(:,:,:)
574 geofac_n2s => this%data%geofac_n2s
575 END FUNCTION comin_descrdata_get_domain_cells_geofac_n2s
576
577 FUNCTION comin_descrdata_get_domain_cells_geofac_grg(this) RESULT(geofac_grg)
578 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
579 REAL(wp), POINTER, CONTIGUOUS :: geofac_grg(:,:,:,:)
580 geofac_grg => this%data%geofac_grg
581 END FUNCTION comin_descrdata_get_domain_cells_geofac_grg
582
583 FUNCTION comin_descrdata_get_domain_cells_rbf_vec_idx(this) RESULT(rbf_vec_idx)
584 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
585 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_idx(:,:,:)
586 rbf_vec_idx => this%data%rbf_vec_idx
587 END FUNCTION comin_descrdata_get_domain_cells_rbf_vec_idx
588
589 FUNCTION comin_descrdata_get_domain_cells_rbf_vec_blk(this) RESULT(rbf_vec_blk)
590 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
591 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_blk(:,:,:)
592 rbf_vec_blk => this%data%rbf_vec_blk
593 END FUNCTION comin_descrdata_get_domain_cells_rbf_vec_blk
594
595 FUNCTION comin_descrdata_get_domain_cells_rbf_vec_stencil(this) RESULT(rbf_vec_stencil)
596 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
597 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_stencil(:,:)
598 rbf_vec_stencil => this%data%rbf_vec_stencil
599 END FUNCTION comin_descrdata_get_domain_cells_rbf_vec_stencil
600
601 FUNCTION comin_descrdata_get_domain_cells_rbf_vec_coeff(this) RESULT(rbf_vec_coeff)
602 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
603 REAL(wp), POINTER, CONTIGUOUS :: rbf_vec_coeff(:,:,:,:)
604 rbf_vec_coeff => this%data%rbf_vec_coeff
605 END FUNCTION comin_descrdata_get_domain_cells_rbf_vec_coeff
606
607 FUNCTION comin_descrdata_get_domain_cells_glb_index(this) RESULT(glb_index)
608 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
609 INTEGER(C_INT), POINTER, CONTIGUOUS :: glb_index(:)
610 glb_index => this%data%glb_index
611 END FUNCTION comin_descrdata_get_domain_cells_glb_index
612
613 FUNCTION comin_descrdata_get_domain_cells_decomp_domain(this) RESULT(decomp_domain)
614 CLASS(t_comin_descrdata_domain_cells), INTENT(IN) :: this
615 INTEGER(C_INT), POINTER, CONTIGUOUS :: decomp_domain(:,:)
616 decomp_domain => this%data%decomp_domain
617 END FUNCTION comin_descrdata_get_domain_cells_decomp_domain
618
619 FUNCTION comin_descrdata_get_domain_verts_nverts(this) RESULT(nverts)
620 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
621 INTEGER(C_INT) :: nverts
622 nverts = this%data%nverts
623 END FUNCTION comin_descrdata_get_domain_verts_nverts
624
625 FUNCTION comin_descrdata_get_domain_verts_nverts_global(this) RESULT(nverts_global)
626 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
627 INTEGER(C_INT) :: nverts_global
628 nverts_global = this%data%nverts_global
629 END FUNCTION comin_descrdata_get_domain_verts_nverts_global
630
631 FUNCTION comin_descrdata_get_domain_verts_nblks(this) RESULT(nblks)
632 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
633 INTEGER(C_INT) :: nblks
634 nblks = this%data%nblks
635 END FUNCTION comin_descrdata_get_domain_verts_nblks
636
637 FUNCTION comin_descrdata_get_domain_verts_num_edges(this) RESULT(num_edges)
638 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
639 INTEGER(C_INT), POINTER, CONTIGUOUS :: num_edges(:,:)
640 num_edges => this%data%num_edges
641 END FUNCTION comin_descrdata_get_domain_verts_num_edges
642
643 FUNCTION comin_descrdata_get_domain_verts_refin_ctrl(this) RESULT(refin_ctrl)
644 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
645 INTEGER(C_INT), POINTER, CONTIGUOUS :: refin_ctrl(:,:)
646 refin_ctrl => this%data%refin_ctrl
647 END FUNCTION comin_descrdata_get_domain_verts_refin_ctrl
648
649 FUNCTION comin_descrdata_get_domain_verts_start_index(this) RESULT(start_index)
650 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
651 INTEGER(C_INT), POINTER, CONTIGUOUS :: start_index(:)
652 start_index => this%data%start_index
653 END FUNCTION comin_descrdata_get_domain_verts_start_index
654
655 FUNCTION comin_descrdata_get_domain_verts_end_index(this) RESULT(end_index)
656 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
657 INTEGER(C_INT), POINTER, CONTIGUOUS :: end_index(:)
658 end_index => this%data%end_index
659 END FUNCTION comin_descrdata_get_domain_verts_end_index
660
661 FUNCTION comin_descrdata_get_domain_verts_start_block(this) RESULT(start_block)
662 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
663 INTEGER(C_INT), POINTER, CONTIGUOUS :: start_block(:)
664 start_block => this%data%start_block
665 END FUNCTION comin_descrdata_get_domain_verts_start_block
666
667 FUNCTION comin_descrdata_get_domain_verts_end_block(this) RESULT(end_block)
668 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
669 INTEGER(C_INT), POINTER, CONTIGUOUS :: end_block(:)
670 end_block => this%data%end_block
671 END FUNCTION comin_descrdata_get_domain_verts_end_block
672
673 FUNCTION comin_descrdata_get_domain_verts_neighbor_blk(this) RESULT(neighbor_blk)
674 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
675 INTEGER(C_INT), POINTER, CONTIGUOUS :: neighbor_blk(:,:,:)
676 neighbor_blk => this%data%neighbor_blk
677 END FUNCTION comin_descrdata_get_domain_verts_neighbor_blk
678
679 FUNCTION comin_descrdata_get_domain_verts_neighbor_idx(this) RESULT(neighbor_idx)
680 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
681 INTEGER(C_INT), POINTER, CONTIGUOUS :: neighbor_idx(:,:,:)
682 neighbor_idx => this%data%neighbor_idx
683 END FUNCTION comin_descrdata_get_domain_verts_neighbor_idx
684
685 FUNCTION comin_descrdata_get_domain_verts_cell_idx(this) RESULT(cell_idx)
686 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
687 INTEGER(C_INT), POINTER, CONTIGUOUS :: cell_idx(:,:,:)
688 cell_idx => this%data%cell_idx
689 END FUNCTION comin_descrdata_get_domain_verts_cell_idx
690
691 FUNCTION comin_descrdata_get_domain_verts_cell_blk(this) RESULT(cell_blk)
692 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
693 INTEGER(C_INT), POINTER, CONTIGUOUS :: cell_blk(:,:,:)
694 cell_blk => this%data%cell_blk
695 END FUNCTION comin_descrdata_get_domain_verts_cell_blk
696
697 FUNCTION comin_descrdata_get_domain_verts_edge_idx(this) RESULT(edge_idx)
698 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
699 INTEGER(C_INT), POINTER, CONTIGUOUS :: edge_idx(:,:,:)
700 edge_idx => this%data%edge_idx
701 END FUNCTION comin_descrdata_get_domain_verts_edge_idx
702
703 FUNCTION comin_descrdata_get_domain_verts_edge_blk(this) RESULT(edge_blk)
704 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
705 INTEGER(C_INT), POINTER, CONTIGUOUS :: edge_blk(:,:,:)
706 edge_blk => this%data%edge_blk
707 END FUNCTION comin_descrdata_get_domain_verts_edge_blk
708
709 FUNCTION comin_descrdata_get_domain_verts_vlon(this) RESULT(vlon)
710 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
711 REAL(wp), POINTER :: vlon(:,:)
712 vlon => this%data%vlon
713 END FUNCTION comin_descrdata_get_domain_verts_vlon
714
715 FUNCTION comin_descrdata_get_domain_verts_vlat(this) RESULT(vlat)
716 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
717 REAL(wp), POINTER :: vlat(:,:)
718 vlat => this%data%vlat
719 END FUNCTION comin_descrdata_get_domain_verts_vlat
720
721 FUNCTION comin_descrdata_get_domain_verts_rbf_vec_idx(this) RESULT(rbf_vec_idx)
722 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
723 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_idx(:,:,:)
724 rbf_vec_idx => this%data%rbf_vec_idx
725 END FUNCTION comin_descrdata_get_domain_verts_rbf_vec_idx
726
727 FUNCTION comin_descrdata_get_domain_verts_rbf_vec_blk(this) RESULT(rbf_vec_blk)
728 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
729 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_blk(:,:,:)
730 rbf_vec_blk => this%data%rbf_vec_blk
731 END FUNCTION comin_descrdata_get_domain_verts_rbf_vec_blk
732
733 FUNCTION comin_descrdata_get_domain_verts_rbf_vec_stencil(this) RESULT(rbf_vec_stencil)
734 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
735 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_stencil(:,:)
736 rbf_vec_stencil => this%data%rbf_vec_stencil
737 END FUNCTION comin_descrdata_get_domain_verts_rbf_vec_stencil
738
739 FUNCTION comin_descrdata_get_domain_verts_rbf_vec_coeff(this) RESULT(rbf_vec_coeff)
740 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
741 REAL(wp), POINTER, CONTIGUOUS :: rbf_vec_coeff(:,:,:,:)
742 rbf_vec_coeff => this%data%rbf_vec_coeff
743 END FUNCTION comin_descrdata_get_domain_verts_rbf_vec_coeff
744
745 FUNCTION comin_descrdata_get_domain_verts_glb_index(this) RESULT(glb_index)
746 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
747 INTEGER(C_INT), POINTER, CONTIGUOUS :: glb_index(:)
748 glb_index => this%data%glb_index
749 END FUNCTION comin_descrdata_get_domain_verts_glb_index
750
751 FUNCTION comin_descrdata_get_domain_verts_decomp_domain(this) RESULT(decomp_domain)
752 CLASS(t_comin_descrdata_domain_verts), INTENT(IN) :: this
753 INTEGER(C_INT), POINTER, CONTIGUOUS :: decomp_domain(:,:)
754 decomp_domain => this%data%decomp_domain
755 END FUNCTION comin_descrdata_get_domain_verts_decomp_domain
756
757 FUNCTION comin_descrdata_get_domain_edges_nedges(this) RESULT(nedges)
758 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
759 INTEGER(C_INT) :: nedges
760 nedges = this%data%nedges
761 END FUNCTION comin_descrdata_get_domain_edges_nedges
762
763 FUNCTION comin_descrdata_get_domain_edges_nedges_global(this) RESULT(nedges_global)
764 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
765 INTEGER(C_INT) :: nedges_global
766 nedges_global = this%data%nedges_global
767 END FUNCTION comin_descrdata_get_domain_edges_nedges_global
768
769 FUNCTION comin_descrdata_get_domain_edges_nblks(this) RESULT(nblks)
770 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
771 INTEGER(C_INT) :: nblks
772 nblks = this%data%nblks
773 END FUNCTION comin_descrdata_get_domain_edges_nblks
774
775 FUNCTION comin_descrdata_get_domain_edges_refin_ctrl(this) RESULT(refin_ctrl)
776 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
777 INTEGER(C_INT), POINTER, CONTIGUOUS :: refin_ctrl(:,:)
778 refin_ctrl => this%data%refin_ctrl
779 END FUNCTION comin_descrdata_get_domain_edges_refin_ctrl
780
781 FUNCTION comin_descrdata_get_domain_edges_start_index(this) RESULT(start_index)
782 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
783 INTEGER(C_INT), POINTER, CONTIGUOUS :: start_index(:)
784 start_index => this%data%start_index
785 END FUNCTION comin_descrdata_get_domain_edges_start_index
786
787 FUNCTION comin_descrdata_get_domain_edges_end_index(this) RESULT(end_index)
788 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
789 INTEGER(C_INT), POINTER, CONTIGUOUS :: end_index(:)
790 end_index => this%data%end_index
791 END FUNCTION comin_descrdata_get_domain_edges_end_index
792
793 FUNCTION comin_descrdata_get_domain_edges_start_block(this) RESULT(start_block)
794 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
795 INTEGER(C_INT), POINTER, CONTIGUOUS :: start_block(:)
796 start_block => this%data%start_block
797 END FUNCTION comin_descrdata_get_domain_edges_start_block
798
799 FUNCTION comin_descrdata_get_domain_edges_end_block(this) RESULT(end_block)
800 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
801 INTEGER(C_INT), POINTER, CONTIGUOUS :: end_block(:)
802 end_block => this%data%end_block
803 END FUNCTION comin_descrdata_get_domain_edges_end_block
804
805 FUNCTION comin_descrdata_get_domain_edges_child_id(this) RESULT(child_id)
806 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
807 INTEGER(C_INT), POINTER, CONTIGUOUS :: child_id(:,:)
808 child_id => this%data%child_id
809 END FUNCTION comin_descrdata_get_domain_edges_child_id
810
811 FUNCTION comin_descrdata_get_domain_edges_parent_glb_idx(this) RESULT(parent_glb_idx)
812 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
813 INTEGER(C_INT), POINTER, CONTIGUOUS :: parent_glb_idx(:,:)
814 parent_glb_idx => this%data%parent_glb_idx
815 END FUNCTION comin_descrdata_get_domain_edges_parent_glb_idx
816
817 FUNCTION comin_descrdata_get_domain_edges_parent_glb_blk(this) RESULT(parent_glb_blk)
818 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
819 INTEGER(C_INT), POINTER, CONTIGUOUS :: parent_glb_blk(:,:)
820 parent_glb_blk => this%data%parent_glb_blk
821 END FUNCTION comin_descrdata_get_domain_edges_parent_glb_blk
822
823 FUNCTION comin_descrdata_get_domain_edges_cell_idx(this) RESULT(cell_idx)
824 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
825 INTEGER(C_INT), POINTER, CONTIGUOUS :: cell_idx(:,:,:)
826 cell_idx => this%data%cell_idx
827 END FUNCTION comin_descrdata_get_domain_edges_cell_idx
828
829 FUNCTION comin_descrdata_get_domain_edges_cell_blk(this) RESULT(cell_blk)
830 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
831 INTEGER(C_INT), POINTER, CONTIGUOUS :: cell_blk(:,:,:)
832 cell_blk => this%data%cell_blk
833 END FUNCTION comin_descrdata_get_domain_edges_cell_blk
834
835 FUNCTION comin_descrdata_get_domain_edges_vertex_idx(this) RESULT(vertex_idx)
836 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
837 INTEGER(C_INT), POINTER, CONTIGUOUS :: vertex_idx(:,:,:)
838 vertex_idx => this%data%vertex_idx
839 END FUNCTION comin_descrdata_get_domain_edges_vertex_idx
840
841 FUNCTION comin_descrdata_get_domain_edges_vertex_blk(this) RESULT(vertex_blk)
842 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
843 INTEGER(C_INT), POINTER, CONTIGUOUS :: vertex_blk(:,:,:)
844 vertex_blk => this%data%vertex_blk
845 END FUNCTION comin_descrdata_get_domain_edges_vertex_blk
846
847 FUNCTION comin_descrdata_get_domain_edges_elon(this) RESULT(elon)
848 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
849 REAL(wp), POINTER :: elon(:,:)
850 elon => this%data%elon
851 END FUNCTION comin_descrdata_get_domain_edges_elon
852
853 FUNCTION comin_descrdata_get_domain_edges_elat(this) RESULT(elat)
854 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
855 REAL(wp), POINTER :: elat(:,:)
856 elat => this%data%elat
857 END FUNCTION comin_descrdata_get_domain_edges_elat
858
859 FUNCTION comin_descrdata_get_domain_edges_tangent_orientation(this) RESULT(tangent_orientation)
860 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
861 REAL(wp), POINTER, CONTIGUOUS :: tangent_orientation(:,:)
862 tangent_orientation => this%data%tangent_orientation
863 END FUNCTION comin_descrdata_get_domain_edges_tangent_orientation
864
865 FUNCTION comin_descrdata_get_domain_edges_nudgecoeff_e(this) RESULT(nudgecoeff_e)
866 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
867 REAL(wp), POINTER, CONTIGUOUS :: nudgecoeff_e(:,:)
868 nudgecoeff_e => this%data%nudgecoeff_e
869 END FUNCTION comin_descrdata_get_domain_edges_nudgecoeff_e
870
871 FUNCTION comin_descrdata_get_domain_edges_rbf_vec_idx(this) RESULT(rbf_vec_idx)
872 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
873 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_idx(:,:,:)
874 rbf_vec_idx => this%data%rbf_vec_idx
875 END FUNCTION comin_descrdata_get_domain_edges_rbf_vec_idx
876
877 FUNCTION comin_descrdata_get_domain_edges_rbf_vec_blk(this) RESULT(rbf_vec_blk)
878 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
879 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_blk(:,:,:)
880 rbf_vec_blk => this%data%rbf_vec_blk
881 END FUNCTION comin_descrdata_get_domain_edges_rbf_vec_blk
882
883 FUNCTION comin_descrdata_get_domain_edges_rbf_vec_stencil(this) RESULT(rbf_vec_stencil)
884 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
885 INTEGER(C_INT), POINTER, CONTIGUOUS :: rbf_vec_stencil(:,:)
886 rbf_vec_stencil => this%data%rbf_vec_stencil
887 END FUNCTION comin_descrdata_get_domain_edges_rbf_vec_stencil
888
889 FUNCTION comin_descrdata_get_domain_edges_rbf_vec_coeff(this) RESULT(rbf_vec_coeff)
890 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
891 REAL(wp), POINTER, CONTIGUOUS :: rbf_vec_coeff(:,:,:)
892 rbf_vec_coeff => this%data%rbf_vec_coeff
893 END FUNCTION comin_descrdata_get_domain_edges_rbf_vec_coeff
894
895 FUNCTION comin_descrdata_get_domain_edges_c_lin_e(this) RESULT(c_lin_e)
896 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
897 REAL(wp), POINTER, CONTIGUOUS :: c_lin_e(:,:,:)
898 c_lin_e => this%data%c_lin_e
899 END FUNCTION comin_descrdata_get_domain_edges_c_lin_e
900
901 FUNCTION comin_descrdata_get_domain_edges_glb_index(this) RESULT(glb_index)
902 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
903 INTEGER(C_INT), POINTER, CONTIGUOUS :: glb_index(:)
904 glb_index => this%data%glb_index
905 END FUNCTION comin_descrdata_get_domain_edges_glb_index
906
907 FUNCTION comin_descrdata_get_domain_edges_decomp_domain(this) RESULT(decomp_domain)
908 CLASS(t_comin_descrdata_domain_edges), INTENT(IN) :: this
909 INTEGER(C_INT), POINTER, CONTIGUOUS :: decomp_domain(:,:)
910 decomp_domain => this%data%decomp_domain
911 END FUNCTION comin_descrdata_get_domain_edges_decomp_domain
912
913 !> request a pointer to the global data type
914 !! @ingroup fortran_interface
917 ! local
918
919 comin_descrdata_get_global%data => state%comin_descrdata_global_data
920
921 IF(.NOT. ASSOCIATED(comin_descrdata_get_global%data)) THEN
922 CALL comin_plugin_finish("comin_descrdata_get_global", " ERROR: Pointer not associated.")
923 END IF
924 END FUNCTION comin_descrdata_get_global
925
926 !> request a pointer to the grid data type for a specific computational domain
927 !! @ingroup fortran_interface
929 INTEGER, INTENT(IN) :: jg
930 ! local
932
933 comin_descrdata_get_domain%data => state%comin_descrdata_domain_data(jg)
934 IF(.NOT. ASSOCIATED(comin_descrdata_get_domain%data)) THEN
935 CALL comin_plugin_finish("comin_descrdata_get_domain", " ERROR: Pointer not associated.")
936 END IF
937 comin_descrdata_get_domain%cells%data => state%comin_descrdata_domain_data(jg)%cells
938 comin_descrdata_get_domain%edges%data => state%comin_descrdata_domain_data(jg)%edges
939 comin_descrdata_get_domain%verts%data => state%comin_descrdata_domain_data(jg)%verts
940
941 END FUNCTION comin_descrdata_get_domain
942
Global data is invariant wrt the computational grid and never changed or updated.
Patch grid data structure, gathering information on grids.
type(t_comin_descrdata_global) function, public comin_descrdata_get_global()
request a pointer to the global data type
integer, parameter wp
working precision
subroutine, public comin_plugin_finish(routine, text)
Wrapper function for callback to ICON's "finish" routine.
type(t_comin_descrdata_domain) function, public comin_descrdata_get_domain(jg)
request a pointer to the grid data type for a specific computational domain
integer(c_int) function comin_descrdata_get_global_n_dom(this)
type(t_comin_state), pointer, public state