source: XIOS3/trunk/src/interface/fortran_attr/igridgroup_attr.F90 @ 2622

Last change on this file since 2622 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: 23.8 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE igridgroup_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE igrid
9  USE gridgroup_interface_attr
10  USE LOGICAL_BOOL_CONVERSION
11
12CONTAINS
13
14  SUBROUTINE xios(set_gridgroup_attr)  &
15    ( gridgroup_id, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
16    , mask_5d, mask_6d, mask_7d, name )
17
18    IMPLICIT NONE
19      TYPE(txios(gridgroup))  :: gridgroup_hdl
20      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
24      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:)
25      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
26      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
27      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
28      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
29      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
30      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
31      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
32      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:)
33      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
34      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:)
35      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
36      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:)
37      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
38      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:)
39      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
40      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
41
42      CALL xios(get_gridgroup_handle) &
43      (gridgroup_id,gridgroup_hdl)
44      CALL xios(set_gridgroup_attr_hdl_)   &
45      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
46      , mask_5d, mask_6d, mask_7d, name )
47
48  END SUBROUTINE xios(set_gridgroup_attr)
49
50  SUBROUTINE xios(set_gridgroup_attr_hdl)  &
51    ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
52    , mask_5d, mask_6d, mask_7d, name )
53
54    IMPLICIT NONE
55      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
56      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
57      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
58      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
59      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:)
60      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
61      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
62      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
63      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
64      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
65      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
66      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
67      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:)
68      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
69      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:)
70      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
71      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:)
72      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
73      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:)
74      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
75      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
76
77      CALL xios(set_gridgroup_attr_hdl_)  &
78      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
79      , mask_5d, mask_6d, mask_7d, name )
80
81  END SUBROUTINE xios(set_gridgroup_attr_hdl)
82
83  SUBROUTINE xios(set_gridgroup_attr_hdl_)   &
84    ( gridgroup_hdl, comment_, description_, group_ref_, mask_0d_, mask_1d_, mask_2d_, mask_3d_  &
85    , mask_4d_, mask_5d_, mask_6d_, mask_7d_, name_ )
86
87    IMPLICIT NONE
88      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
89      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_
90      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
91      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_
92      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d_(:)
93      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:)
94      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:)
95      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
96      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:)
97      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
98      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:)
99      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
100      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d_(:,:,:,:)
101      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:)
102      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d_(:,:,:,:,:)
103      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:)
104      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d_(:,:,:,:,:,:)
105      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:)
106      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d_(:,:,:,:,:,:,:)
107      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:)
108      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
109
110      IF (PRESENT(comment_)) THEN
111        CALL cxios_set_gridgroup_comment &
112      (gridgroup_hdl%daddr, comment_, len(comment_))
113      ENDIF
114
115      IF (PRESENT(description_)) THEN
116        CALL cxios_set_gridgroup_description &
117      (gridgroup_hdl%daddr, description_, len(description_))
118      ENDIF
119
120      IF (PRESENT(group_ref_)) THEN
121        CALL cxios_set_gridgroup_group_ref &
122      (gridgroup_hdl%daddr, group_ref_, len(group_ref_))
123      ENDIF
124
125      IF (PRESENT(mask_0d_)) THEN
126        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1)))
127        mask_0d__tmp = mask_0d_
128        CALL xios_logical_to_bool_1d(mask_0d__tmp, SHAPE(mask_0d__tmp))
129        CALL cxios_set_gridgroup_mask_0d &
130      (gridgroup_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_))
131      ENDIF
132
133      IF (PRESENT(mask_1d_)) THEN
134        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
135        mask_1d__tmp = mask_1d_
136        CALL xios_logical_to_bool_1d(mask_1d__tmp, SHAPE(mask_1d__tmp))
137        CALL cxios_set_gridgroup_mask_1d &
138      (gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
139      ENDIF
140
141      IF (PRESENT(mask_2d_)) THEN
142        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
143        mask_2d__tmp = mask_2d_
144        CALL xios_logical_to_bool_2d(mask_2d__tmp, SHAPE(mask_2d__tmp))
145        CALL cxios_set_gridgroup_mask_2d &
146      (gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
147      ENDIF
148
149      IF (PRESENT(mask_3d_)) THEN
150        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
151        mask_3d__tmp = mask_3d_
152        CALL xios_logical_to_bool_3d(mask_3d__tmp, SHAPE(mask_3d__tmp))
153        CALL cxios_set_gridgroup_mask_3d &
154      (gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
155      ENDIF
156
157      IF (PRESENT(mask_4d_)) THEN
158        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), &
159       SIZE(mask_4d_,4)))
160        mask_4d__tmp = mask_4d_
161        CALL xios_logical_to_bool_4d(mask_4d__tmp, SHAPE(mask_4d__tmp))
162        CALL cxios_set_gridgroup_mask_4d &
163      (gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_))
164      ENDIF
165
166      IF (PRESENT(mask_5d_)) THEN
167        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), &
168       SIZE(mask_5d_,4), SIZE(mask_5d_,5)))
169        mask_5d__tmp = mask_5d_
170        CALL xios_logical_to_bool_5d(mask_5d__tmp, SHAPE(mask_5d__tmp))
171        CALL cxios_set_gridgroup_mask_5d &
172      (gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_))
173      ENDIF
174
175      IF (PRESENT(mask_6d_)) THEN
176        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), &
177       SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6)))
178        mask_6d__tmp = mask_6d_
179        CALL xios_logical_to_bool_6d(mask_6d__tmp, SHAPE(mask_6d__tmp))
180        CALL cxios_set_gridgroup_mask_6d &
181      (gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_))
182      ENDIF
183
184      IF (PRESENT(mask_7d_)) THEN
185        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), &
186       SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), &
187       SIZE(mask_7d_,7)))
188        mask_7d__tmp = mask_7d_
189        CALL xios_logical_to_bool_7d(mask_7d__tmp, SHAPE(mask_7d__tmp))
190        CALL cxios_set_gridgroup_mask_7d &
191      (gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_))
192      ENDIF
193
194      IF (PRESENT(name_)) THEN
195        CALL cxios_set_gridgroup_name &
196      (gridgroup_hdl%daddr, name_, len(name_))
197      ENDIF
198
199  END SUBROUTINE xios(set_gridgroup_attr_hdl_)
200
201  SUBROUTINE xios(get_gridgroup_attr)  &
202    ( gridgroup_id, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
203    , mask_5d, mask_6d, mask_7d, name )
204
205    IMPLICIT NONE
206      TYPE(txios(gridgroup))  :: gridgroup_hdl
207      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
208      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
209      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
210      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
211      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:)
212      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
213      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
214      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
215      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
216      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
217      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
218      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
219      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:)
220      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
221      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:)
222      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
223      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:)
224      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
225      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:)
226      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
227      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
228
229      CALL xios(get_gridgroup_handle) &
230      (gridgroup_id,gridgroup_hdl)
231      CALL xios(get_gridgroup_attr_hdl_)   &
232      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
233      , mask_5d, mask_6d, mask_7d, name )
234
235  END SUBROUTINE xios(get_gridgroup_attr)
236
237  SUBROUTINE xios(get_gridgroup_attr_hdl)  &
238    ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
239    , mask_5d, mask_6d, mask_7d, name )
240
241    IMPLICIT NONE
242      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
243      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
244      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
245      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
246      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:)
247      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
248      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
249      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
250      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
251      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
252      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
253      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
254      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:)
255      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
256      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:)
257      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
258      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:)
259      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
260      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:)
261      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
262      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
263
264      CALL xios(get_gridgroup_attr_hdl_)  &
265      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
266      , mask_5d, mask_6d, mask_7d, name )
267
268  END SUBROUTINE xios(get_gridgroup_attr_hdl)
269
270  SUBROUTINE xios(get_gridgroup_attr_hdl_)   &
271    ( gridgroup_hdl, comment_, description_, group_ref_, mask_0d_, mask_1d_, mask_2d_, mask_3d_  &
272    , mask_4d_, mask_5d_, mask_6d_, mask_7d_, name_ )
273
274    IMPLICIT NONE
275      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
276      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_
277      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
278      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_
279      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d_(:)
280      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:)
281      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:)
282      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
283      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:)
284      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
285      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:)
286      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
287      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d_(:,:,:,:)
288      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:)
289      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d_(:,:,:,:,:)
290      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:)
291      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d_(:,:,:,:,:,:)
292      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:)
293      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d_(:,:,:,:,:,:,:)
294      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:)
295      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
296
297      IF (PRESENT(comment_)) THEN
298        CALL cxios_get_gridgroup_comment &
299      (gridgroup_hdl%daddr, comment_, len(comment_))
300      ENDIF
301
302      IF (PRESENT(description_)) THEN
303        CALL cxios_get_gridgroup_description &
304      (gridgroup_hdl%daddr, description_, len(description_))
305      ENDIF
306
307      IF (PRESENT(group_ref_)) THEN
308        CALL cxios_get_gridgroup_group_ref &
309      (gridgroup_hdl%daddr, group_ref_, len(group_ref_))
310      ENDIF
311
312      IF (PRESENT(mask_0d_)) THEN
313        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1)))
314        CALL cxios_get_gridgroup_mask_0d &
315      (gridgroup_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_))
316        CALL xios_bool_to_logical_1d(mask_0d__tmp, SHAPE(mask_0d__tmp))
317        mask_0d_ = mask_0d__tmp
318      ENDIF
319
320      IF (PRESENT(mask_1d_)) THEN
321        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
322        CALL cxios_get_gridgroup_mask_1d &
323      (gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
324        CALL xios_bool_to_logical_1d(mask_1d__tmp, SHAPE(mask_1d__tmp))
325        mask_1d_ = mask_1d__tmp
326      ENDIF
327
328      IF (PRESENT(mask_2d_)) THEN
329        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
330        CALL cxios_get_gridgroup_mask_2d &
331      (gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
332        CALL xios_bool_to_logical_2d(mask_2d__tmp, SHAPE(mask_2d__tmp))
333        mask_2d_ = mask_2d__tmp
334      ENDIF
335
336      IF (PRESENT(mask_3d_)) THEN
337        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
338        CALL cxios_get_gridgroup_mask_3d &
339      (gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
340        CALL xios_bool_to_logical_3d(mask_3d__tmp, SHAPE(mask_3d__tmp))
341        mask_3d_ = mask_3d__tmp
342      ENDIF
343
344      IF (PRESENT(mask_4d_)) THEN
345        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), &
346       SIZE(mask_4d_,4)))
347        CALL cxios_get_gridgroup_mask_4d &
348      (gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_))
349        CALL xios_bool_to_logical_4d(mask_4d__tmp, SHAPE(mask_4d__tmp))
350        mask_4d_ = mask_4d__tmp
351      ENDIF
352
353      IF (PRESENT(mask_5d_)) THEN
354        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), &
355       SIZE(mask_5d_,4), SIZE(mask_5d_,5)))
356        CALL cxios_get_gridgroup_mask_5d &
357      (gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_))
358        CALL xios_bool_to_logical_5d(mask_5d__tmp, SHAPE(mask_5d__tmp))
359        mask_5d_ = mask_5d__tmp
360      ENDIF
361
362      IF (PRESENT(mask_6d_)) THEN
363        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), &
364       SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6)))
365        CALL cxios_get_gridgroup_mask_6d &
366      (gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_))
367        CALL xios_bool_to_logical_6d(mask_6d__tmp, SHAPE(mask_6d__tmp))
368        mask_6d_ = mask_6d__tmp
369      ENDIF
370
371      IF (PRESENT(mask_7d_)) THEN
372        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), &
373       SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), &
374       SIZE(mask_7d_,7)))
375        CALL cxios_get_gridgroup_mask_7d &
376      (gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_))
377        CALL xios_bool_to_logical_7d(mask_7d__tmp, SHAPE(mask_7d__tmp))
378        mask_7d_ = mask_7d__tmp
379      ENDIF
380
381      IF (PRESENT(name_)) THEN
382        CALL cxios_get_gridgroup_name &
383      (gridgroup_hdl%daddr, name_, len(name_))
384      ENDIF
385
386  END SUBROUTINE xios(get_gridgroup_attr_hdl_)
387
388  SUBROUTINE xios(is_defined_gridgroup_attr)  &
389    ( gridgroup_id, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
390    , mask_5d, mask_6d, mask_7d, name )
391
392    IMPLICIT NONE
393      TYPE(txios(gridgroup))  :: gridgroup_hdl
394      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
395      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
396      LOGICAL(KIND=C_BOOL) :: comment_tmp
397      LOGICAL, OPTIONAL, INTENT(OUT) :: description
398      LOGICAL(KIND=C_BOOL) :: description_tmp
399      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
400      LOGICAL(KIND=C_BOOL) :: group_ref_tmp
401      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d
402      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp
403      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
404      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
405      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
406      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
407      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
408      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
409      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d
410      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp
411      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d
412      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp
413      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d
414      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp
415      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d
416      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp
417      LOGICAL, OPTIONAL, INTENT(OUT) :: name
418      LOGICAL(KIND=C_BOOL) :: name_tmp
419
420      CALL xios(get_gridgroup_handle) &
421      (gridgroup_id,gridgroup_hdl)
422      CALL xios(is_defined_gridgroup_attr_hdl_)   &
423      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
424      , mask_5d, mask_6d, mask_7d, name )
425
426  END SUBROUTINE xios(is_defined_gridgroup_attr)
427
428  SUBROUTINE xios(is_defined_gridgroup_attr_hdl)  &
429    ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
430    , mask_5d, mask_6d, mask_7d, name )
431
432    IMPLICIT NONE
433      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
434      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
435      LOGICAL(KIND=C_BOOL) :: comment_tmp
436      LOGICAL, OPTIONAL, INTENT(OUT) :: description
437      LOGICAL(KIND=C_BOOL) :: description_tmp
438      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
439      LOGICAL(KIND=C_BOOL) :: group_ref_tmp
440      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d
441      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp
442      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
443      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
444      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
445      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
446      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
447      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
448      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d
449      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp
450      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d
451      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp
452      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d
453      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp
454      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d
455      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp
456      LOGICAL, OPTIONAL, INTENT(OUT) :: name
457      LOGICAL(KIND=C_BOOL) :: name_tmp
458
459      CALL xios(is_defined_gridgroup_attr_hdl_)  &
460      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  &
461      , mask_5d, mask_6d, mask_7d, name )
462
463  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl)
464
465  SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)   &
466    ( gridgroup_hdl, comment_, description_, group_ref_, mask_0d_, mask_1d_, mask_2d_, mask_3d_  &
467    , mask_4d_, mask_5d_, mask_6d_, mask_7d_, name_ )
468
469    IMPLICIT NONE
470      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
471      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_
472      LOGICAL(KIND=C_BOOL) :: comment__tmp
473      LOGICAL, OPTIONAL, INTENT(OUT) :: description_
474      LOGICAL(KIND=C_BOOL) :: description__tmp
475      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_
476      LOGICAL(KIND=C_BOOL) :: group_ref__tmp
477      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d_
478      LOGICAL(KIND=C_BOOL) :: mask_0d__tmp
479      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_
480      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp
481      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_
482      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp
483      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_
484      LOGICAL(KIND=C_BOOL) :: mask_3d__tmp
485      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d_
486      LOGICAL(KIND=C_BOOL) :: mask_4d__tmp
487      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d_
488      LOGICAL(KIND=C_BOOL) :: mask_5d__tmp
489      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d_
490      LOGICAL(KIND=C_BOOL) :: mask_6d__tmp
491      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d_
492      LOGICAL(KIND=C_BOOL) :: mask_7d__tmp
493      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
494      LOGICAL(KIND=C_BOOL) :: name__tmp
495
496      IF (PRESENT(comment_)) THEN
497        comment__tmp = cxios_is_defined_gridgroup_comment &
498      (gridgroup_hdl%daddr)
499        comment_ = comment__tmp
500      ENDIF
501
502      IF (PRESENT(description_)) THEN
503        description__tmp = cxios_is_defined_gridgroup_description &
504      (gridgroup_hdl%daddr)
505        description_ = description__tmp
506      ENDIF
507
508      IF (PRESENT(group_ref_)) THEN
509        group_ref__tmp = cxios_is_defined_gridgroup_group_ref &
510      (gridgroup_hdl%daddr)
511        group_ref_ = group_ref__tmp
512      ENDIF
513
514      IF (PRESENT(mask_0d_)) THEN
515        mask_0d__tmp = cxios_is_defined_gridgroup_mask_0d &
516      (gridgroup_hdl%daddr)
517        mask_0d_ = mask_0d__tmp
518      ENDIF
519
520      IF (PRESENT(mask_1d_)) THEN
521        mask_1d__tmp = cxios_is_defined_gridgroup_mask_1d &
522      (gridgroup_hdl%daddr)
523        mask_1d_ = mask_1d__tmp
524      ENDIF
525
526      IF (PRESENT(mask_2d_)) THEN
527        mask_2d__tmp = cxios_is_defined_gridgroup_mask_2d &
528      (gridgroup_hdl%daddr)
529        mask_2d_ = mask_2d__tmp
530      ENDIF
531
532      IF (PRESENT(mask_3d_)) THEN
533        mask_3d__tmp = cxios_is_defined_gridgroup_mask_3d &
534      (gridgroup_hdl%daddr)
535        mask_3d_ = mask_3d__tmp
536      ENDIF
537
538      IF (PRESENT(mask_4d_)) THEN
539        mask_4d__tmp = cxios_is_defined_gridgroup_mask_4d &
540      (gridgroup_hdl%daddr)
541        mask_4d_ = mask_4d__tmp
542      ENDIF
543
544      IF (PRESENT(mask_5d_)) THEN
545        mask_5d__tmp = cxios_is_defined_gridgroup_mask_5d &
546      (gridgroup_hdl%daddr)
547        mask_5d_ = mask_5d__tmp
548      ENDIF
549
550      IF (PRESENT(mask_6d_)) THEN
551        mask_6d__tmp = cxios_is_defined_gridgroup_mask_6d &
552      (gridgroup_hdl%daddr)
553        mask_6d_ = mask_6d__tmp
554      ENDIF
555
556      IF (PRESENT(mask_7d_)) THEN
557        mask_7d__tmp = cxios_is_defined_gridgroup_mask_7d &
558      (gridgroup_hdl%daddr)
559        mask_7d_ = mask_7d__tmp
560      ENDIF
561
562      IF (PRESENT(name_)) THEN
563        name__tmp = cxios_is_defined_gridgroup_name &
564      (gridgroup_hdl%daddr)
565        name_ = name__tmp
566      ENDIF
567
568  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)
569
570END MODULE igridgroup_attr
Note: See TracBrowser for help on using the repository browser.