source: XIOS3/trunk/src/interface/fortran_attr/idomain_attr.F90

Last change on this file was 2620, checked in by jderouillat, 4 months ago

Modify fortran-C interfaces to manage logical-bool conversion, the optimizations of OneAPI could produce bugs regarding the logical-bool encodings.

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 60.9 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE idomain_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE idomain
9  USE domain_interface_attr
10  USE LOGICAL_BOOL_CONVERSION
11
12CONTAINS
13
14  SUBROUTINE xios(set_domain_attr)  &
15    ( domain_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
16    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
17    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
18    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
19    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
20    , prec, radius, standard_name, type )
21
22    IMPLICIT NONE
23      TYPE(txios(domain))  :: domain_hdl
24      CHARACTER(LEN=*), INTENT(IN) ::domain_id
25      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:)
26      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d(:)
27      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d(:,:)
28      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:)
29      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:)
30      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name
31      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:)
32      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:)
33      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name
34      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i
35      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j
36      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
37      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim
38      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:)
39      INTEGER  , OPTIONAL, INTENT(IN) :: data_ibegin
40      INTEGER  , OPTIONAL, INTENT(IN) :: data_j_index(:)
41      INTEGER  , OPTIONAL, INTENT(IN) :: data_jbegin
42      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni
43      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj
44      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name
45      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name
46      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
47      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:)
48      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin
49      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:)
50      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin
51      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name
52      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:)
53      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:)
54      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name
55      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
56      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:)
57      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:)
58      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
59      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
60      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
61      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
62      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
63      INTEGER  , OPTIONAL, INTENT(IN) :: ni
64      INTEGER  , OPTIONAL, INTENT(IN) :: ni_glo
65      INTEGER  , OPTIONAL, INTENT(IN) :: nj
66      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo
67      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex
68      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name
69      INTEGER  , OPTIONAL, INTENT(IN) :: prec
70      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius
71      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
72      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
73
74      CALL xios(get_domain_handle) &
75      (domain_id,domain_hdl)
76      CALL xios(set_domain_attr_hdl_)   &
77      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
78      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
79      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
80      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
81      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
82      , prec, radius, standard_name, type )
83
84  END SUBROUTINE xios(set_domain_attr)
85
86  SUBROUTINE xios(set_domain_attr_hdl)  &
87    ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
88    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
89    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
90    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
91    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
92    , prec, radius, standard_name, type )
93
94    IMPLICIT NONE
95      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
96      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:)
97      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d(:)
98      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d(:,:)
99      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:)
100      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:)
101      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name
102      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:)
103      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:)
104      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name
105      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i
106      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j
107      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
108      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim
109      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:)
110      INTEGER  , OPTIONAL, INTENT(IN) :: data_ibegin
111      INTEGER  , OPTIONAL, INTENT(IN) :: data_j_index(:)
112      INTEGER  , OPTIONAL, INTENT(IN) :: data_jbegin
113      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni
114      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj
115      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name
116      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name
117      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
118      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:)
119      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin
120      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:)
121      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin
122      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name
123      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:)
124      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:)
125      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name
126      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
127      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:)
128      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:)
129      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
130      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
131      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
132      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
133      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
134      INTEGER  , OPTIONAL, INTENT(IN) :: ni
135      INTEGER  , OPTIONAL, INTENT(IN) :: ni_glo
136      INTEGER  , OPTIONAL, INTENT(IN) :: nj
137      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo
138      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex
139      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name
140      INTEGER  , OPTIONAL, INTENT(IN) :: prec
141      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius
142      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
143      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
144
145      CALL xios(set_domain_attr_hdl_)  &
146      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
147      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
148      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
149      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
150      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
151      , prec, radius, standard_name, type )
152
153  END SUBROUTINE xios(set_domain_attr_hdl)
154
155  SUBROUTINE xios(set_domain_attr_hdl_)   &
156    ( domain_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_  &
157    , bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_, data_dim_  &
158    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  &
159    , dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_, latvalue_2d_  &
160    , lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  &
161    , nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_ )
162
163    IMPLICIT NONE
164      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
165      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_(:,:)
166      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d_(:)
167      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d_(:,:)
168      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d_(:,:)
169      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d_(:,:,:)
170      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name_
171      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d_(:,:)
172      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d_(:,:,:)
173      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name_
174      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i_
175      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j_
176      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_
177      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_
178      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index_(:)
179      INTEGER  , OPTIONAL, INTENT(IN) :: data_ibegin_
180      INTEGER  , OPTIONAL, INTENT(IN) :: data_j_index_(:)
181      INTEGER  , OPTIONAL, INTENT(IN) :: data_jbegin_
182      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni_
183      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj_
184      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name_
185      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name_
186      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
187      INTEGER  , OPTIONAL, INTENT(IN) :: i_index_(:)
188      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin_
189      INTEGER  , OPTIONAL, INTENT(IN) :: j_index_(:)
190      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin_
191      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name_
192      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d_(:)
193      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d_(:,:)
194      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name_
195      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
196      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d_(:)
197      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d_(:,:)
198      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:)
199      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
200      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:)
201      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
202      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
203      INTEGER  , OPTIONAL, INTENT(IN) :: ni_
204      INTEGER  , OPTIONAL, INTENT(IN) :: ni_glo_
205      INTEGER  , OPTIONAL, INTENT(IN) :: nj_
206      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo_
207      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex_
208      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name_
209      INTEGER  , OPTIONAL, INTENT(IN) :: prec_
210      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius_
211      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_
212      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
213
214      IF (PRESENT(area_)) THEN
215        CALL cxios_set_domain_area &
216      (domain_hdl%daddr, area_, SHAPE(area_))
217      ENDIF
218
219      IF (PRESENT(area_1d_)) THEN
220        CALL cxios_set_domain_area_1d &
221      (domain_hdl%daddr, area_1d_, SHAPE(area_1d_))
222      ENDIF
223
224      IF (PRESENT(area_2d_)) THEN
225        CALL cxios_set_domain_area_2d &
226      (domain_hdl%daddr, area_2d_, SHAPE(area_2d_))
227      ENDIF
228
229      IF (PRESENT(bounds_lat_1d_)) THEN
230        CALL cxios_set_domain_bounds_lat_1d &
231      (domain_hdl%daddr, bounds_lat_1d_, SHAPE(bounds_lat_1d_))
232      ENDIF
233
234      IF (PRESENT(bounds_lat_2d_)) THEN
235        CALL cxios_set_domain_bounds_lat_2d &
236      (domain_hdl%daddr, bounds_lat_2d_, SHAPE(bounds_lat_2d_))
237      ENDIF
238
239      IF (PRESENT(bounds_lat_name_)) THEN
240        CALL cxios_set_domain_bounds_lat_name &
241      (domain_hdl%daddr, bounds_lat_name_, len(bounds_lat_name_))
242      ENDIF
243
244      IF (PRESENT(bounds_lon_1d_)) THEN
245        CALL cxios_set_domain_bounds_lon_1d &
246      (domain_hdl%daddr, bounds_lon_1d_, SHAPE(bounds_lon_1d_))
247      ENDIF
248
249      IF (PRESENT(bounds_lon_2d_)) THEN
250        CALL cxios_set_domain_bounds_lon_2d &
251      (domain_hdl%daddr, bounds_lon_2d_, SHAPE(bounds_lon_2d_))
252      ENDIF
253
254      IF (PRESENT(bounds_lon_name_)) THEN
255        CALL cxios_set_domain_bounds_lon_name &
256      (domain_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_))
257      ENDIF
258
259      IF (PRESENT(chunking_weight_i_)) THEN
260        CALL cxios_set_domain_chunking_weight_i &
261      (domain_hdl%daddr, chunking_weight_i_)
262      ENDIF
263
264      IF (PRESENT(chunking_weight_j_)) THEN
265        CALL cxios_set_domain_chunking_weight_j &
266      (domain_hdl%daddr, chunking_weight_j_)
267      ENDIF
268
269      IF (PRESENT(comment_)) THEN
270        CALL cxios_set_domain_comment &
271      (domain_hdl%daddr, comment_, len(comment_))
272      ENDIF
273
274      IF (PRESENT(data_dim_)) THEN
275        CALL cxios_set_domain_data_dim &
276      (domain_hdl%daddr, data_dim_)
277      ENDIF
278
279      IF (PRESENT(data_i_index_)) THEN
280        CALL cxios_set_domain_data_i_index &
281      (domain_hdl%daddr, data_i_index_, SHAPE(data_i_index_))
282      ENDIF
283
284      IF (PRESENT(data_ibegin_)) THEN
285        CALL cxios_set_domain_data_ibegin &
286      (domain_hdl%daddr, data_ibegin_)
287      ENDIF
288
289      IF (PRESENT(data_j_index_)) THEN
290        CALL cxios_set_domain_data_j_index &
291      (domain_hdl%daddr, data_j_index_, SHAPE(data_j_index_))
292      ENDIF
293
294      IF (PRESENT(data_jbegin_)) THEN
295        CALL cxios_set_domain_data_jbegin &
296      (domain_hdl%daddr, data_jbegin_)
297      ENDIF
298
299      IF (PRESENT(data_ni_)) THEN
300        CALL cxios_set_domain_data_ni &
301      (domain_hdl%daddr, data_ni_)
302      ENDIF
303
304      IF (PRESENT(data_nj_)) THEN
305        CALL cxios_set_domain_data_nj &
306      (domain_hdl%daddr, data_nj_)
307      ENDIF
308
309      IF (PRESENT(dim_i_name_)) THEN
310        CALL cxios_set_domain_dim_i_name &
311      (domain_hdl%daddr, dim_i_name_, len(dim_i_name_))
312      ENDIF
313
314      IF (PRESENT(dim_j_name_)) THEN
315        CALL cxios_set_domain_dim_j_name &
316      (domain_hdl%daddr, dim_j_name_, len(dim_j_name_))
317      ENDIF
318
319      IF (PRESENT(domain_ref_)) THEN
320        CALL cxios_set_domain_domain_ref &
321      (domain_hdl%daddr, domain_ref_, len(domain_ref_))
322      ENDIF
323
324      IF (PRESENT(i_index_)) THEN
325        CALL cxios_set_domain_i_index &
326      (domain_hdl%daddr, i_index_, SHAPE(i_index_))
327      ENDIF
328
329      IF (PRESENT(ibegin_)) THEN
330        CALL cxios_set_domain_ibegin &
331      (domain_hdl%daddr, ibegin_)
332      ENDIF
333
334      IF (PRESENT(j_index_)) THEN
335        CALL cxios_set_domain_j_index &
336      (domain_hdl%daddr, j_index_, SHAPE(j_index_))
337      ENDIF
338
339      IF (PRESENT(jbegin_)) THEN
340        CALL cxios_set_domain_jbegin &
341      (domain_hdl%daddr, jbegin_)
342      ENDIF
343
344      IF (PRESENT(lat_name_)) THEN
345        CALL cxios_set_domain_lat_name &
346      (domain_hdl%daddr, lat_name_, len(lat_name_))
347      ENDIF
348
349      IF (PRESENT(latvalue_1d_)) THEN
350        CALL cxios_set_domain_latvalue_1d &
351      (domain_hdl%daddr, latvalue_1d_, SHAPE(latvalue_1d_))
352      ENDIF
353
354      IF (PRESENT(latvalue_2d_)) THEN
355        CALL cxios_set_domain_latvalue_2d &
356      (domain_hdl%daddr, latvalue_2d_, SHAPE(latvalue_2d_))
357      ENDIF
358
359      IF (PRESENT(lon_name_)) THEN
360        CALL cxios_set_domain_lon_name &
361      (domain_hdl%daddr, lon_name_, len(lon_name_))
362      ENDIF
363
364      IF (PRESENT(long_name_)) THEN
365        CALL cxios_set_domain_long_name &
366      (domain_hdl%daddr, long_name_, len(long_name_))
367      ENDIF
368
369      IF (PRESENT(lonvalue_1d_)) THEN
370        CALL cxios_set_domain_lonvalue_1d &
371      (domain_hdl%daddr, lonvalue_1d_, SHAPE(lonvalue_1d_))
372      ENDIF
373
374      IF (PRESENT(lonvalue_2d_)) THEN
375        CALL cxios_set_domain_lonvalue_2d &
376      (domain_hdl%daddr, lonvalue_2d_, SHAPE(lonvalue_2d_))
377      ENDIF
378
379      IF (PRESENT(mask_1d_)) THEN
380        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
381        mask_1d__tmp = mask_1d_
382        CALL xios_logical_to_bool_1d(mask_1d__tmp, SHAPE(mask_1d__tmp))
383        CALL cxios_set_domain_mask_1d &
384      (domain_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
385      ENDIF
386
387      IF (PRESENT(mask_2d_)) THEN
388        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
389        mask_2d__tmp = mask_2d_
390        CALL xios_logical_to_bool_2d(mask_2d__tmp, SHAPE(mask_2d__tmp))
391        CALL cxios_set_domain_mask_2d &
392      (domain_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
393      ENDIF
394
395      IF (PRESENT(name_)) THEN
396        CALL cxios_set_domain_name &
397      (domain_hdl%daddr, name_, len(name_))
398      ENDIF
399
400      IF (PRESENT(ni_)) THEN
401        CALL cxios_set_domain_ni &
402      (domain_hdl%daddr, ni_)
403      ENDIF
404
405      IF (PRESENT(ni_glo_)) THEN
406        CALL cxios_set_domain_ni_glo &
407      (domain_hdl%daddr, ni_glo_)
408      ENDIF
409
410      IF (PRESENT(nj_)) THEN
411        CALL cxios_set_domain_nj &
412      (domain_hdl%daddr, nj_)
413      ENDIF
414
415      IF (PRESENT(nj_glo_)) THEN
416        CALL cxios_set_domain_nj_glo &
417      (domain_hdl%daddr, nj_glo_)
418      ENDIF
419
420      IF (PRESENT(nvertex_)) THEN
421        CALL cxios_set_domain_nvertex &
422      (domain_hdl%daddr, nvertex_)
423      ENDIF
424
425      IF (PRESENT(nvertex_name_)) THEN
426        CALL cxios_set_domain_nvertex_name &
427      (domain_hdl%daddr, nvertex_name_, len(nvertex_name_))
428      ENDIF
429
430      IF (PRESENT(prec_)) THEN
431        CALL cxios_set_domain_prec &
432      (domain_hdl%daddr, prec_)
433      ENDIF
434
435      IF (PRESENT(radius_)) THEN
436        CALL cxios_set_domain_radius &
437      (domain_hdl%daddr, radius_)
438      ENDIF
439
440      IF (PRESENT(standard_name_)) THEN
441        CALL cxios_set_domain_standard_name &
442      (domain_hdl%daddr, standard_name_, len(standard_name_))
443      ENDIF
444
445      IF (PRESENT(type_)) THEN
446        CALL cxios_set_domain_type &
447      (domain_hdl%daddr, type_, len(type_))
448      ENDIF
449
450  END SUBROUTINE xios(set_domain_attr_hdl_)
451
452  SUBROUTINE xios(get_domain_attr)  &
453    ( domain_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
454    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
455    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
456    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
457    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
458    , prec, radius, standard_name, type )
459
460    IMPLICIT NONE
461      TYPE(txios(domain))  :: domain_hdl
462      CHARACTER(LEN=*), INTENT(IN) ::domain_id
463      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:)
464      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d(:)
465      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d(:,:)
466      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:)
467      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:)
468      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name
469      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:)
470      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:)
471      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name
472      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i
473      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j
474      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
475      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim
476      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:)
477      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ibegin
478      INTEGER  , OPTIONAL, INTENT(OUT) :: data_j_index(:)
479      INTEGER  , OPTIONAL, INTENT(OUT) :: data_jbegin
480      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni
481      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj
482      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name
483      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name
484      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
485      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:)
486      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin
487      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:)
488      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin
489      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name
490      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:)
491      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:)
492      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name
493      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
494      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:)
495      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d(:,:)
496      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
497      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
498      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
499      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
500      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
501      INTEGER  , OPTIONAL, INTENT(OUT) :: ni
502      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_glo
503      INTEGER  , OPTIONAL, INTENT(OUT) :: nj
504      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo
505      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex
506      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name
507      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
508      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius
509      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
510      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
511
512      CALL xios(get_domain_handle) &
513      (domain_id,domain_hdl)
514      CALL xios(get_domain_attr_hdl_)   &
515      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
516      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
517      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
518      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
519      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
520      , prec, radius, standard_name, type )
521
522  END SUBROUTINE xios(get_domain_attr)
523
524  SUBROUTINE xios(get_domain_attr_hdl)  &
525    ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
526    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
527    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
528    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
529    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
530    , prec, radius, standard_name, type )
531
532    IMPLICIT NONE
533      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
534      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:)
535      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d(:)
536      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d(:,:)
537      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:)
538      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:)
539      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name
540      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:)
541      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:)
542      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name
543      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i
544      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j
545      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
546      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim
547      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:)
548      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ibegin
549      INTEGER  , OPTIONAL, INTENT(OUT) :: data_j_index(:)
550      INTEGER  , OPTIONAL, INTENT(OUT) :: data_jbegin
551      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni
552      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj
553      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name
554      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name
555      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
556      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:)
557      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin
558      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:)
559      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin
560      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name
561      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:)
562      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:)
563      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name
564      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
565      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:)
566      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d(:,:)
567      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
568      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
569      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
570      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
571      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
572      INTEGER  , OPTIONAL, INTENT(OUT) :: ni
573      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_glo
574      INTEGER  , OPTIONAL, INTENT(OUT) :: nj
575      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo
576      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex
577      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name
578      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
579      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius
580      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
581      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
582
583      CALL xios(get_domain_attr_hdl_)  &
584      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
585      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
586      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
587      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
588      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
589      , prec, radius, standard_name, type )
590
591  END SUBROUTINE xios(get_domain_attr_hdl)
592
593  SUBROUTINE xios(get_domain_attr_hdl_)   &
594    ( domain_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_  &
595    , bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_, data_dim_  &
596    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  &
597    , dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_, latvalue_2d_  &
598    , lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  &
599    , nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_ )
600
601    IMPLICIT NONE
602      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
603      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_(:,:)
604      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d_(:)
605      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d_(:,:)
606      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d_(:,:)
607      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d_(:,:,:)
608      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name_
609      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d_(:,:)
610      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d_(:,:,:)
611      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name_
612      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i_
613      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j_
614      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_
615      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_
616      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index_(:)
617      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ibegin_
618      INTEGER  , OPTIONAL, INTENT(OUT) :: data_j_index_(:)
619      INTEGER  , OPTIONAL, INTENT(OUT) :: data_jbegin_
620      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni_
621      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj_
622      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name_
623      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name_
624      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
625      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index_(:)
626      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin_
627      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index_(:)
628      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin_
629      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name_
630      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d_(:)
631      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d_(:,:)
632      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name_
633      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
634      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d_(:)
635      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d_(:,:)
636      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:)
637      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
638      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:)
639      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
640      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
641      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_
642      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_glo_
643      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_
644      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo_
645      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex_
646      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name_
647      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_
648      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius_
649      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_
650      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
651
652      IF (PRESENT(area_)) THEN
653        CALL cxios_get_domain_area &
654      (domain_hdl%daddr, area_, SHAPE(area_))
655      ENDIF
656
657      IF (PRESENT(area_1d_)) THEN
658        CALL cxios_get_domain_area_1d &
659      (domain_hdl%daddr, area_1d_, SHAPE(area_1d_))
660      ENDIF
661
662      IF (PRESENT(area_2d_)) THEN
663        CALL cxios_get_domain_area_2d &
664      (domain_hdl%daddr, area_2d_, SHAPE(area_2d_))
665      ENDIF
666
667      IF (PRESENT(bounds_lat_1d_)) THEN
668        CALL cxios_get_domain_bounds_lat_1d &
669      (domain_hdl%daddr, bounds_lat_1d_, SHAPE(bounds_lat_1d_))
670      ENDIF
671
672      IF (PRESENT(bounds_lat_2d_)) THEN
673        CALL cxios_get_domain_bounds_lat_2d &
674      (domain_hdl%daddr, bounds_lat_2d_, SHAPE(bounds_lat_2d_))
675      ENDIF
676
677      IF (PRESENT(bounds_lat_name_)) THEN
678        CALL cxios_get_domain_bounds_lat_name &
679      (domain_hdl%daddr, bounds_lat_name_, len(bounds_lat_name_))
680      ENDIF
681
682      IF (PRESENT(bounds_lon_1d_)) THEN
683        CALL cxios_get_domain_bounds_lon_1d &
684      (domain_hdl%daddr, bounds_lon_1d_, SHAPE(bounds_lon_1d_))
685      ENDIF
686
687      IF (PRESENT(bounds_lon_2d_)) THEN
688        CALL cxios_get_domain_bounds_lon_2d &
689      (domain_hdl%daddr, bounds_lon_2d_, SHAPE(bounds_lon_2d_))
690      ENDIF
691
692      IF (PRESENT(bounds_lon_name_)) THEN
693        CALL cxios_get_domain_bounds_lon_name &
694      (domain_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_))
695      ENDIF
696
697      IF (PRESENT(chunking_weight_i_)) THEN
698        CALL cxios_get_domain_chunking_weight_i &
699      (domain_hdl%daddr, chunking_weight_i_)
700      ENDIF
701
702      IF (PRESENT(chunking_weight_j_)) THEN
703        CALL cxios_get_domain_chunking_weight_j &
704      (domain_hdl%daddr, chunking_weight_j_)
705      ENDIF
706
707      IF (PRESENT(comment_)) THEN
708        CALL cxios_get_domain_comment &
709      (domain_hdl%daddr, comment_, len(comment_))
710      ENDIF
711
712      IF (PRESENT(data_dim_)) THEN
713        CALL cxios_get_domain_data_dim &
714      (domain_hdl%daddr, data_dim_)
715      ENDIF
716
717      IF (PRESENT(data_i_index_)) THEN
718        CALL cxios_get_domain_data_i_index &
719      (domain_hdl%daddr, data_i_index_, SHAPE(data_i_index_))
720      ENDIF
721
722      IF (PRESENT(data_ibegin_)) THEN
723        CALL cxios_get_domain_data_ibegin &
724      (domain_hdl%daddr, data_ibegin_)
725      ENDIF
726
727      IF (PRESENT(data_j_index_)) THEN
728        CALL cxios_get_domain_data_j_index &
729      (domain_hdl%daddr, data_j_index_, SHAPE(data_j_index_))
730      ENDIF
731
732      IF (PRESENT(data_jbegin_)) THEN
733        CALL cxios_get_domain_data_jbegin &
734      (domain_hdl%daddr, data_jbegin_)
735      ENDIF
736
737      IF (PRESENT(data_ni_)) THEN
738        CALL cxios_get_domain_data_ni &
739      (domain_hdl%daddr, data_ni_)
740      ENDIF
741
742      IF (PRESENT(data_nj_)) THEN
743        CALL cxios_get_domain_data_nj &
744      (domain_hdl%daddr, data_nj_)
745      ENDIF
746
747      IF (PRESENT(dim_i_name_)) THEN
748        CALL cxios_get_domain_dim_i_name &
749      (domain_hdl%daddr, dim_i_name_, len(dim_i_name_))
750      ENDIF
751
752      IF (PRESENT(dim_j_name_)) THEN
753        CALL cxios_get_domain_dim_j_name &
754      (domain_hdl%daddr, dim_j_name_, len(dim_j_name_))
755      ENDIF
756
757      IF (PRESENT(domain_ref_)) THEN
758        CALL cxios_get_domain_domain_ref &
759      (domain_hdl%daddr, domain_ref_, len(domain_ref_))
760      ENDIF
761
762      IF (PRESENT(i_index_)) THEN
763        CALL cxios_get_domain_i_index &
764      (domain_hdl%daddr, i_index_, SHAPE(i_index_))
765      ENDIF
766
767      IF (PRESENT(ibegin_)) THEN
768        CALL cxios_get_domain_ibegin &
769      (domain_hdl%daddr, ibegin_)
770      ENDIF
771
772      IF (PRESENT(j_index_)) THEN
773        CALL cxios_get_domain_j_index &
774      (domain_hdl%daddr, j_index_, SHAPE(j_index_))
775      ENDIF
776
777      IF (PRESENT(jbegin_)) THEN
778        CALL cxios_get_domain_jbegin &
779      (domain_hdl%daddr, jbegin_)
780      ENDIF
781
782      IF (PRESENT(lat_name_)) THEN
783        CALL cxios_get_domain_lat_name &
784      (domain_hdl%daddr, lat_name_, len(lat_name_))
785      ENDIF
786
787      IF (PRESENT(latvalue_1d_)) THEN
788        CALL cxios_get_domain_latvalue_1d &
789      (domain_hdl%daddr, latvalue_1d_, SHAPE(latvalue_1d_))
790      ENDIF
791
792      IF (PRESENT(latvalue_2d_)) THEN
793        CALL cxios_get_domain_latvalue_2d &
794      (domain_hdl%daddr, latvalue_2d_, SHAPE(latvalue_2d_))
795      ENDIF
796
797      IF (PRESENT(lon_name_)) THEN
798        CALL cxios_get_domain_lon_name &
799      (domain_hdl%daddr, lon_name_, len(lon_name_))
800      ENDIF
801
802      IF (PRESENT(long_name_)) THEN
803        CALL cxios_get_domain_long_name &
804      (domain_hdl%daddr, long_name_, len(long_name_))
805      ENDIF
806
807      IF (PRESENT(lonvalue_1d_)) THEN
808        CALL cxios_get_domain_lonvalue_1d &
809      (domain_hdl%daddr, lonvalue_1d_, SHAPE(lonvalue_1d_))
810      ENDIF
811
812      IF (PRESENT(lonvalue_2d_)) THEN
813        CALL cxios_get_domain_lonvalue_2d &
814      (domain_hdl%daddr, lonvalue_2d_, SHAPE(lonvalue_2d_))
815      ENDIF
816
817      IF (PRESENT(mask_1d_)) THEN
818        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
819        CALL cxios_get_domain_mask_1d &
820      (domain_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
821        CALL xios_bool_to_logical_1d(mask_1d__tmp, SHAPE(mask_1d__tmp))
822        mask_1d_ = mask_1d__tmp
823      ENDIF
824
825      IF (PRESENT(mask_2d_)) THEN
826        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
827        CALL cxios_get_domain_mask_2d &
828      (domain_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
829        CALL xios_bool_to_logical_2d(mask_2d__tmp, SHAPE(mask_2d__tmp))
830        mask_2d_ = mask_2d__tmp
831      ENDIF
832
833      IF (PRESENT(name_)) THEN
834        CALL cxios_get_domain_name &
835      (domain_hdl%daddr, name_, len(name_))
836      ENDIF
837
838      IF (PRESENT(ni_)) THEN
839        CALL cxios_get_domain_ni &
840      (domain_hdl%daddr, ni_)
841      ENDIF
842
843      IF (PRESENT(ni_glo_)) THEN
844        CALL cxios_get_domain_ni_glo &
845      (domain_hdl%daddr, ni_glo_)
846      ENDIF
847
848      IF (PRESENT(nj_)) THEN
849        CALL cxios_get_domain_nj &
850      (domain_hdl%daddr, nj_)
851      ENDIF
852
853      IF (PRESENT(nj_glo_)) THEN
854        CALL cxios_get_domain_nj_glo &
855      (domain_hdl%daddr, nj_glo_)
856      ENDIF
857
858      IF (PRESENT(nvertex_)) THEN
859        CALL cxios_get_domain_nvertex &
860      (domain_hdl%daddr, nvertex_)
861      ENDIF
862
863      IF (PRESENT(nvertex_name_)) THEN
864        CALL cxios_get_domain_nvertex_name &
865      (domain_hdl%daddr, nvertex_name_, len(nvertex_name_))
866      ENDIF
867
868      IF (PRESENT(prec_)) THEN
869        CALL cxios_get_domain_prec &
870      (domain_hdl%daddr, prec_)
871      ENDIF
872
873      IF (PRESENT(radius_)) THEN
874        CALL cxios_get_domain_radius &
875      (domain_hdl%daddr, radius_)
876      ENDIF
877
878      IF (PRESENT(standard_name_)) THEN
879        CALL cxios_get_domain_standard_name &
880      (domain_hdl%daddr, standard_name_, len(standard_name_))
881      ENDIF
882
883      IF (PRESENT(type_)) THEN
884        CALL cxios_get_domain_type &
885      (domain_hdl%daddr, type_, len(type_))
886      ENDIF
887
888  END SUBROUTINE xios(get_domain_attr_hdl_)
889
890  SUBROUTINE xios(is_defined_domain_attr)  &
891    ( domain_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
892    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
893    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
894    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
895    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
896    , prec, radius, standard_name, type )
897
898    IMPLICIT NONE
899      TYPE(txios(domain))  :: domain_hdl
900      CHARACTER(LEN=*), INTENT(IN) ::domain_id
901      LOGICAL, OPTIONAL, INTENT(OUT) :: area
902      LOGICAL(KIND=C_BOOL) :: area_tmp
903      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d
904      LOGICAL(KIND=C_BOOL) :: area_1d_tmp
905      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d
906      LOGICAL(KIND=C_BOOL) :: area_2d_tmp
907      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d
908      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp
909      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d
910      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp
911      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name
912      LOGICAL(KIND=C_BOOL) :: bounds_lat_name_tmp
913      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d
914      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp
915      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d
916      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp
917      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name
918      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp
919      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i
920      LOGICAL(KIND=C_BOOL) :: chunking_weight_i_tmp
921      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j
922      LOGICAL(KIND=C_BOOL) :: chunking_weight_j_tmp
923      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
924      LOGICAL(KIND=C_BOOL) :: comment_tmp
925      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim
926      LOGICAL(KIND=C_BOOL) :: data_dim_tmp
927      LOGICAL, OPTIONAL, INTENT(OUT) :: data_i_index
928      LOGICAL(KIND=C_BOOL) :: data_i_index_tmp
929      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ibegin
930      LOGICAL(KIND=C_BOOL) :: data_ibegin_tmp
931      LOGICAL, OPTIONAL, INTENT(OUT) :: data_j_index
932      LOGICAL(KIND=C_BOOL) :: data_j_index_tmp
933      LOGICAL, OPTIONAL, INTENT(OUT) :: data_jbegin
934      LOGICAL(KIND=C_BOOL) :: data_jbegin_tmp
935      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ni
936      LOGICAL(KIND=C_BOOL) :: data_ni_tmp
937      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj
938      LOGICAL(KIND=C_BOOL) :: data_nj_tmp
939      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name
940      LOGICAL(KIND=C_BOOL) :: dim_i_name_tmp
941      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name
942      LOGICAL(KIND=C_BOOL) :: dim_j_name_tmp
943      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
944      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
945      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index
946      LOGICAL(KIND=C_BOOL) :: i_index_tmp
947      LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin
948      LOGICAL(KIND=C_BOOL) :: ibegin_tmp
949      LOGICAL, OPTIONAL, INTENT(OUT) :: j_index
950      LOGICAL(KIND=C_BOOL) :: j_index_tmp
951      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin
952      LOGICAL(KIND=C_BOOL) :: jbegin_tmp
953      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name
954      LOGICAL(KIND=C_BOOL) :: lat_name_tmp
955      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d
956      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp
957      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d
958      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp
959      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name
960      LOGICAL(KIND=C_BOOL) :: lon_name_tmp
961      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
962      LOGICAL(KIND=C_BOOL) :: long_name_tmp
963      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d
964      LOGICAL(KIND=C_BOOL) :: lonvalue_1d_tmp
965      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d
966      LOGICAL(KIND=C_BOOL) :: lonvalue_2d_tmp
967      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
968      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
969      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
970      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
971      LOGICAL, OPTIONAL, INTENT(OUT) :: name
972      LOGICAL(KIND=C_BOOL) :: name_tmp
973      LOGICAL, OPTIONAL, INTENT(OUT) :: ni
974      LOGICAL(KIND=C_BOOL) :: ni_tmp
975      LOGICAL, OPTIONAL, INTENT(OUT) :: ni_glo
976      LOGICAL(KIND=C_BOOL) :: ni_glo_tmp
977      LOGICAL, OPTIONAL, INTENT(OUT) :: nj
978      LOGICAL(KIND=C_BOOL) :: nj_tmp
979      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo
980      LOGICAL(KIND=C_BOOL) :: nj_glo_tmp
981      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex
982      LOGICAL(KIND=C_BOOL) :: nvertex_tmp
983      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name
984      LOGICAL(KIND=C_BOOL) :: nvertex_name_tmp
985      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
986      LOGICAL(KIND=C_BOOL) :: prec_tmp
987      LOGICAL, OPTIONAL, INTENT(OUT) :: radius
988      LOGICAL(KIND=C_BOOL) :: radius_tmp
989      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name
990      LOGICAL(KIND=C_BOOL) :: standard_name_tmp
991      LOGICAL, OPTIONAL, INTENT(OUT) :: type
992      LOGICAL(KIND=C_BOOL) :: type_tmp
993
994      CALL xios(get_domain_handle) &
995      (domain_id,domain_hdl)
996      CALL xios(is_defined_domain_attr_hdl_)   &
997      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
998      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
999      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
1000      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
1001      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
1002      , prec, radius, standard_name, type )
1003
1004  END SUBROUTINE xios(is_defined_domain_attr)
1005
1006  SUBROUTINE xios(is_defined_domain_attr_hdl)  &
1007    ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
1008    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
1009    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
1010    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
1011    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
1012    , prec, radius, standard_name, type )
1013
1014    IMPLICIT NONE
1015      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
1016      LOGICAL, OPTIONAL, INTENT(OUT) :: area
1017      LOGICAL(KIND=C_BOOL) :: area_tmp
1018      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d
1019      LOGICAL(KIND=C_BOOL) :: area_1d_tmp
1020      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d
1021      LOGICAL(KIND=C_BOOL) :: area_2d_tmp
1022      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d
1023      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp
1024      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d
1025      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp
1026      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name
1027      LOGICAL(KIND=C_BOOL) :: bounds_lat_name_tmp
1028      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d
1029      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp
1030      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d
1031      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp
1032      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name
1033      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp
1034      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i
1035      LOGICAL(KIND=C_BOOL) :: chunking_weight_i_tmp
1036      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j
1037      LOGICAL(KIND=C_BOOL) :: chunking_weight_j_tmp
1038      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
1039      LOGICAL(KIND=C_BOOL) :: comment_tmp
1040      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim
1041      LOGICAL(KIND=C_BOOL) :: data_dim_tmp
1042      LOGICAL, OPTIONAL, INTENT(OUT) :: data_i_index
1043      LOGICAL(KIND=C_BOOL) :: data_i_index_tmp
1044      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ibegin
1045      LOGICAL(KIND=C_BOOL) :: data_ibegin_tmp
1046      LOGICAL, OPTIONAL, INTENT(OUT) :: data_j_index
1047      LOGICAL(KIND=C_BOOL) :: data_j_index_tmp
1048      LOGICAL, OPTIONAL, INTENT(OUT) :: data_jbegin
1049      LOGICAL(KIND=C_BOOL) :: data_jbegin_tmp
1050      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ni
1051      LOGICAL(KIND=C_BOOL) :: data_ni_tmp
1052      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj
1053      LOGICAL(KIND=C_BOOL) :: data_nj_tmp
1054      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name
1055      LOGICAL(KIND=C_BOOL) :: dim_i_name_tmp
1056      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name
1057      LOGICAL(KIND=C_BOOL) :: dim_j_name_tmp
1058      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
1059      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
1060      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index
1061      LOGICAL(KIND=C_BOOL) :: i_index_tmp
1062      LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin
1063      LOGICAL(KIND=C_BOOL) :: ibegin_tmp
1064      LOGICAL, OPTIONAL, INTENT(OUT) :: j_index
1065      LOGICAL(KIND=C_BOOL) :: j_index_tmp
1066      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin
1067      LOGICAL(KIND=C_BOOL) :: jbegin_tmp
1068      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name
1069      LOGICAL(KIND=C_BOOL) :: lat_name_tmp
1070      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d
1071      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp
1072      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d
1073      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp
1074      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name
1075      LOGICAL(KIND=C_BOOL) :: lon_name_tmp
1076      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
1077      LOGICAL(KIND=C_BOOL) :: long_name_tmp
1078      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d
1079      LOGICAL(KIND=C_BOOL) :: lonvalue_1d_tmp
1080      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d
1081      LOGICAL(KIND=C_BOOL) :: lonvalue_2d_tmp
1082      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
1083      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
1084      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
1085      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
1086      LOGICAL, OPTIONAL, INTENT(OUT) :: name
1087      LOGICAL(KIND=C_BOOL) :: name_tmp
1088      LOGICAL, OPTIONAL, INTENT(OUT) :: ni
1089      LOGICAL(KIND=C_BOOL) :: ni_tmp
1090      LOGICAL, OPTIONAL, INTENT(OUT) :: ni_glo
1091      LOGICAL(KIND=C_BOOL) :: ni_glo_tmp
1092      LOGICAL, OPTIONAL, INTENT(OUT) :: nj
1093      LOGICAL(KIND=C_BOOL) :: nj_tmp
1094      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo
1095      LOGICAL(KIND=C_BOOL) :: nj_glo_tmp
1096      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex
1097      LOGICAL(KIND=C_BOOL) :: nvertex_tmp
1098      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name
1099      LOGICAL(KIND=C_BOOL) :: nvertex_name_tmp
1100      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
1101      LOGICAL(KIND=C_BOOL) :: prec_tmp
1102      LOGICAL, OPTIONAL, INTENT(OUT) :: radius
1103      LOGICAL(KIND=C_BOOL) :: radius_tmp
1104      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name
1105      LOGICAL(KIND=C_BOOL) :: standard_name_tmp
1106      LOGICAL, OPTIONAL, INTENT(OUT) :: type
1107      LOGICAL(KIND=C_BOOL) :: type_tmp
1108
1109      CALL xios(is_defined_domain_attr_hdl_)  &
1110      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
1111      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
1112      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
1113      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
1114      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
1115      , prec, radius, standard_name, type )
1116
1117  END SUBROUTINE xios(is_defined_domain_attr_hdl)
1118
1119  SUBROUTINE xios(is_defined_domain_attr_hdl_)   &
1120    ( domain_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_  &
1121    , bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_, data_dim_  &
1122    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  &
1123    , dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_, latvalue_2d_  &
1124    , lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  &
1125    , nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_ )
1126
1127    IMPLICIT NONE
1128      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
1129      LOGICAL, OPTIONAL, INTENT(OUT) :: area_
1130      LOGICAL(KIND=C_BOOL) :: area__tmp
1131      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d_
1132      LOGICAL(KIND=C_BOOL) :: area_1d__tmp
1133      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d_
1134      LOGICAL(KIND=C_BOOL) :: area_2d__tmp
1135      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d_
1136      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d__tmp
1137      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d_
1138      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d__tmp
1139      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name_
1140      LOGICAL(KIND=C_BOOL) :: bounds_lat_name__tmp
1141      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d_
1142      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d__tmp
1143      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d_
1144      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d__tmp
1145      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name_
1146      LOGICAL(KIND=C_BOOL) :: bounds_lon_name__tmp
1147      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i_
1148      LOGICAL(KIND=C_BOOL) :: chunking_weight_i__tmp
1149      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j_
1150      LOGICAL(KIND=C_BOOL) :: chunking_weight_j__tmp
1151      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_
1152      LOGICAL(KIND=C_BOOL) :: comment__tmp
1153      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim_
1154      LOGICAL(KIND=C_BOOL) :: data_dim__tmp
1155      LOGICAL, OPTIONAL, INTENT(OUT) :: data_i_index_
1156      LOGICAL(KIND=C_BOOL) :: data_i_index__tmp
1157      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ibegin_
1158      LOGICAL(KIND=C_BOOL) :: data_ibegin__tmp
1159      LOGICAL, OPTIONAL, INTENT(OUT) :: data_j_index_
1160      LOGICAL(KIND=C_BOOL) :: data_j_index__tmp
1161      LOGICAL, OPTIONAL, INTENT(OUT) :: data_jbegin_
1162      LOGICAL(KIND=C_BOOL) :: data_jbegin__tmp
1163      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ni_
1164      LOGICAL(KIND=C_BOOL) :: data_ni__tmp
1165      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj_
1166      LOGICAL(KIND=C_BOOL) :: data_nj__tmp
1167      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name_
1168      LOGICAL(KIND=C_BOOL) :: dim_i_name__tmp
1169      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name_
1170      LOGICAL(KIND=C_BOOL) :: dim_j_name__tmp
1171      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
1172      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
1173      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index_
1174      LOGICAL(KIND=C_BOOL) :: i_index__tmp
1175      LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin_
1176      LOGICAL(KIND=C_BOOL) :: ibegin__tmp
1177      LOGICAL, OPTIONAL, INTENT(OUT) :: j_index_
1178      LOGICAL(KIND=C_BOOL) :: j_index__tmp
1179      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin_
1180      LOGICAL(KIND=C_BOOL) :: jbegin__tmp
1181      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name_
1182      LOGICAL(KIND=C_BOOL) :: lat_name__tmp
1183      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d_
1184      LOGICAL(KIND=C_BOOL) :: latvalue_1d__tmp
1185      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d_
1186      LOGICAL(KIND=C_BOOL) :: latvalue_2d__tmp
1187      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name_
1188      LOGICAL(KIND=C_BOOL) :: lon_name__tmp
1189      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_
1190      LOGICAL(KIND=C_BOOL) :: long_name__tmp
1191      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d_
1192      LOGICAL(KIND=C_BOOL) :: lonvalue_1d__tmp
1193      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d_
1194      LOGICAL(KIND=C_BOOL) :: lonvalue_2d__tmp
1195      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_
1196      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp
1197      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_
1198      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp
1199      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
1200      LOGICAL(KIND=C_BOOL) :: name__tmp
1201      LOGICAL, OPTIONAL, INTENT(OUT) :: ni_
1202      LOGICAL(KIND=C_BOOL) :: ni__tmp
1203      LOGICAL, OPTIONAL, INTENT(OUT) :: ni_glo_
1204      LOGICAL(KIND=C_BOOL) :: ni_glo__tmp
1205      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_
1206      LOGICAL(KIND=C_BOOL) :: nj__tmp
1207      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo_
1208      LOGICAL(KIND=C_BOOL) :: nj_glo__tmp
1209      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_
1210      LOGICAL(KIND=C_BOOL) :: nvertex__tmp
1211      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name_
1212      LOGICAL(KIND=C_BOOL) :: nvertex_name__tmp
1213      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_
1214      LOGICAL(KIND=C_BOOL) :: prec__tmp
1215      LOGICAL, OPTIONAL, INTENT(OUT) :: radius_
1216      LOGICAL(KIND=C_BOOL) :: radius__tmp
1217      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_
1218      LOGICAL(KIND=C_BOOL) :: standard_name__tmp
1219      LOGICAL, OPTIONAL, INTENT(OUT) :: type_
1220      LOGICAL(KIND=C_BOOL) :: type__tmp
1221
1222      IF (PRESENT(area_)) THEN
1223        area__tmp = cxios_is_defined_domain_area &
1224      (domain_hdl%daddr)
1225        area_ = area__tmp
1226      ENDIF
1227
1228      IF (PRESENT(area_1d_)) THEN
1229        area_1d__tmp = cxios_is_defined_domain_area_1d &
1230      (domain_hdl%daddr)
1231        area_1d_ = area_1d__tmp
1232      ENDIF
1233
1234      IF (PRESENT(area_2d_)) THEN
1235        area_2d__tmp = cxios_is_defined_domain_area_2d &
1236      (domain_hdl%daddr)
1237        area_2d_ = area_2d__tmp
1238      ENDIF
1239
1240      IF (PRESENT(bounds_lat_1d_)) THEN
1241        bounds_lat_1d__tmp = cxios_is_defined_domain_bounds_lat_1d &
1242      (domain_hdl%daddr)
1243        bounds_lat_1d_ = bounds_lat_1d__tmp
1244      ENDIF
1245
1246      IF (PRESENT(bounds_lat_2d_)) THEN
1247        bounds_lat_2d__tmp = cxios_is_defined_domain_bounds_lat_2d &
1248      (domain_hdl%daddr)
1249        bounds_lat_2d_ = bounds_lat_2d__tmp
1250      ENDIF
1251
1252      IF (PRESENT(bounds_lat_name_)) THEN
1253        bounds_lat_name__tmp = cxios_is_defined_domain_bounds_lat_name &
1254      (domain_hdl%daddr)
1255        bounds_lat_name_ = bounds_lat_name__tmp
1256      ENDIF
1257
1258      IF (PRESENT(bounds_lon_1d_)) THEN
1259        bounds_lon_1d__tmp = cxios_is_defined_domain_bounds_lon_1d &
1260      (domain_hdl%daddr)
1261        bounds_lon_1d_ = bounds_lon_1d__tmp
1262      ENDIF
1263
1264      IF (PRESENT(bounds_lon_2d_)) THEN
1265        bounds_lon_2d__tmp = cxios_is_defined_domain_bounds_lon_2d &
1266      (domain_hdl%daddr)
1267        bounds_lon_2d_ = bounds_lon_2d__tmp
1268      ENDIF
1269
1270      IF (PRESENT(bounds_lon_name_)) THEN
1271        bounds_lon_name__tmp = cxios_is_defined_domain_bounds_lon_name &
1272      (domain_hdl%daddr)
1273        bounds_lon_name_ = bounds_lon_name__tmp
1274      ENDIF
1275
1276      IF (PRESENT(chunking_weight_i_)) THEN
1277        chunking_weight_i__tmp = cxios_is_defined_domain_chunking_weight_i &
1278      (domain_hdl%daddr)
1279        chunking_weight_i_ = chunking_weight_i__tmp
1280      ENDIF
1281
1282      IF (PRESENT(chunking_weight_j_)) THEN
1283        chunking_weight_j__tmp = cxios_is_defined_domain_chunking_weight_j &
1284      (domain_hdl%daddr)
1285        chunking_weight_j_ = chunking_weight_j__tmp
1286      ENDIF
1287
1288      IF (PRESENT(comment_)) THEN
1289        comment__tmp = cxios_is_defined_domain_comment &
1290      (domain_hdl%daddr)
1291        comment_ = comment__tmp
1292      ENDIF
1293
1294      IF (PRESENT(data_dim_)) THEN
1295        data_dim__tmp = cxios_is_defined_domain_data_dim &
1296      (domain_hdl%daddr)
1297        data_dim_ = data_dim__tmp
1298      ENDIF
1299
1300      IF (PRESENT(data_i_index_)) THEN
1301        data_i_index__tmp = cxios_is_defined_domain_data_i_index &
1302      (domain_hdl%daddr)
1303        data_i_index_ = data_i_index__tmp
1304      ENDIF
1305
1306      IF (PRESENT(data_ibegin_)) THEN
1307        data_ibegin__tmp = cxios_is_defined_domain_data_ibegin &
1308      (domain_hdl%daddr)
1309        data_ibegin_ = data_ibegin__tmp
1310      ENDIF
1311
1312      IF (PRESENT(data_j_index_)) THEN
1313        data_j_index__tmp = cxios_is_defined_domain_data_j_index &
1314      (domain_hdl%daddr)
1315        data_j_index_ = data_j_index__tmp
1316      ENDIF
1317
1318      IF (PRESENT(data_jbegin_)) THEN
1319        data_jbegin__tmp = cxios_is_defined_domain_data_jbegin &
1320      (domain_hdl%daddr)
1321        data_jbegin_ = data_jbegin__tmp
1322      ENDIF
1323
1324      IF (PRESENT(data_ni_)) THEN
1325        data_ni__tmp = cxios_is_defined_domain_data_ni &
1326      (domain_hdl%daddr)
1327        data_ni_ = data_ni__tmp
1328      ENDIF
1329
1330      IF (PRESENT(data_nj_)) THEN
1331        data_nj__tmp = cxios_is_defined_domain_data_nj &
1332      (domain_hdl%daddr)
1333        data_nj_ = data_nj__tmp
1334      ENDIF
1335
1336      IF (PRESENT(dim_i_name_)) THEN
1337        dim_i_name__tmp = cxios_is_defined_domain_dim_i_name &
1338      (domain_hdl%daddr)
1339        dim_i_name_ = dim_i_name__tmp
1340      ENDIF
1341
1342      IF (PRESENT(dim_j_name_)) THEN
1343        dim_j_name__tmp = cxios_is_defined_domain_dim_j_name &
1344      (domain_hdl%daddr)
1345        dim_j_name_ = dim_j_name__tmp
1346      ENDIF
1347
1348      IF (PRESENT(domain_ref_)) THEN
1349        domain_ref__tmp = cxios_is_defined_domain_domain_ref &
1350      (domain_hdl%daddr)
1351        domain_ref_ = domain_ref__tmp
1352      ENDIF
1353
1354      IF (PRESENT(i_index_)) THEN
1355        i_index__tmp = cxios_is_defined_domain_i_index &
1356      (domain_hdl%daddr)
1357        i_index_ = i_index__tmp
1358      ENDIF
1359
1360      IF (PRESENT(ibegin_)) THEN
1361        ibegin__tmp = cxios_is_defined_domain_ibegin &
1362      (domain_hdl%daddr)
1363        ibegin_ = ibegin__tmp
1364      ENDIF
1365
1366      IF (PRESENT(j_index_)) THEN
1367        j_index__tmp = cxios_is_defined_domain_j_index &
1368      (domain_hdl%daddr)
1369        j_index_ = j_index__tmp
1370      ENDIF
1371
1372      IF (PRESENT(jbegin_)) THEN
1373        jbegin__tmp = cxios_is_defined_domain_jbegin &
1374      (domain_hdl%daddr)
1375        jbegin_ = jbegin__tmp
1376      ENDIF
1377
1378      IF (PRESENT(lat_name_)) THEN
1379        lat_name__tmp = cxios_is_defined_domain_lat_name &
1380      (domain_hdl%daddr)
1381        lat_name_ = lat_name__tmp
1382      ENDIF
1383
1384      IF (PRESENT(latvalue_1d_)) THEN
1385        latvalue_1d__tmp = cxios_is_defined_domain_latvalue_1d &
1386      (domain_hdl%daddr)
1387        latvalue_1d_ = latvalue_1d__tmp
1388      ENDIF
1389
1390      IF (PRESENT(latvalue_2d_)) THEN
1391        latvalue_2d__tmp = cxios_is_defined_domain_latvalue_2d &
1392      (domain_hdl%daddr)
1393        latvalue_2d_ = latvalue_2d__tmp
1394      ENDIF
1395
1396      IF (PRESENT(lon_name_)) THEN
1397        lon_name__tmp = cxios_is_defined_domain_lon_name &
1398      (domain_hdl%daddr)
1399        lon_name_ = lon_name__tmp
1400      ENDIF
1401
1402      IF (PRESENT(long_name_)) THEN
1403        long_name__tmp = cxios_is_defined_domain_long_name &
1404      (domain_hdl%daddr)
1405        long_name_ = long_name__tmp
1406      ENDIF
1407
1408      IF (PRESENT(lonvalue_1d_)) THEN
1409        lonvalue_1d__tmp = cxios_is_defined_domain_lonvalue_1d &
1410      (domain_hdl%daddr)
1411        lonvalue_1d_ = lonvalue_1d__tmp
1412      ENDIF
1413
1414      IF (PRESENT(lonvalue_2d_)) THEN
1415        lonvalue_2d__tmp = cxios_is_defined_domain_lonvalue_2d &
1416      (domain_hdl%daddr)
1417        lonvalue_2d_ = lonvalue_2d__tmp
1418      ENDIF
1419
1420      IF (PRESENT(mask_1d_)) THEN
1421        mask_1d__tmp = cxios_is_defined_domain_mask_1d &
1422      (domain_hdl%daddr)
1423        mask_1d_ = mask_1d__tmp
1424      ENDIF
1425
1426      IF (PRESENT(mask_2d_)) THEN
1427        mask_2d__tmp = cxios_is_defined_domain_mask_2d &
1428      (domain_hdl%daddr)
1429        mask_2d_ = mask_2d__tmp
1430      ENDIF
1431
1432      IF (PRESENT(name_)) THEN
1433        name__tmp = cxios_is_defined_domain_name &
1434      (domain_hdl%daddr)
1435        name_ = name__tmp
1436      ENDIF
1437
1438      IF (PRESENT(ni_)) THEN
1439        ni__tmp = cxios_is_defined_domain_ni &
1440      (domain_hdl%daddr)
1441        ni_ = ni__tmp
1442      ENDIF
1443
1444      IF (PRESENT(ni_glo_)) THEN
1445        ni_glo__tmp = cxios_is_defined_domain_ni_glo &
1446      (domain_hdl%daddr)
1447        ni_glo_ = ni_glo__tmp
1448      ENDIF
1449
1450      IF (PRESENT(nj_)) THEN
1451        nj__tmp = cxios_is_defined_domain_nj &
1452      (domain_hdl%daddr)
1453        nj_ = nj__tmp
1454      ENDIF
1455
1456      IF (PRESENT(nj_glo_)) THEN
1457        nj_glo__tmp = cxios_is_defined_domain_nj_glo &
1458      (domain_hdl%daddr)
1459        nj_glo_ = nj_glo__tmp
1460      ENDIF
1461
1462      IF (PRESENT(nvertex_)) THEN
1463        nvertex__tmp = cxios_is_defined_domain_nvertex &
1464      (domain_hdl%daddr)
1465        nvertex_ = nvertex__tmp
1466      ENDIF
1467
1468      IF (PRESENT(nvertex_name_)) THEN
1469        nvertex_name__tmp = cxios_is_defined_domain_nvertex_name &
1470      (domain_hdl%daddr)
1471        nvertex_name_ = nvertex_name__tmp
1472      ENDIF
1473
1474      IF (PRESENT(prec_)) THEN
1475        prec__tmp = cxios_is_defined_domain_prec &
1476      (domain_hdl%daddr)
1477        prec_ = prec__tmp
1478      ENDIF
1479
1480      IF (PRESENT(radius_)) THEN
1481        radius__tmp = cxios_is_defined_domain_radius &
1482      (domain_hdl%daddr)
1483        radius_ = radius__tmp
1484      ENDIF
1485
1486      IF (PRESENT(standard_name_)) THEN
1487        standard_name__tmp = cxios_is_defined_domain_standard_name &
1488      (domain_hdl%daddr)
1489        standard_name_ = standard_name__tmp
1490      ENDIF
1491
1492      IF (PRESENT(type_)) THEN
1493        type__tmp = cxios_is_defined_domain_type &
1494      (domain_hdl%daddr)
1495        type_ = type__tmp
1496      ENDIF
1497
1498  END SUBROUTINE xios(is_defined_domain_attr_hdl_)
1499
1500END MODULE idomain_attr
Note: See TracBrowser for help on using the repository browser.