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
RevLine 
[326]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
[2620]10  USE LOGICAL_BOOL_CONVERSION
[581]11
[326]12CONTAINS
[581]13
[326]14  SUBROUTINE xios(set_gridgroup_attr)  &
[1492]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 )
[581]17
[326]18    IMPLICIT NONE
19      TYPE(txios(gridgroup))  :: gridgroup_hdl
20      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
[1492]21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
[326]22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
[1492]24      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:)
25      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
[817]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(:,:,:)
[932]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(:,:,:,:,:,:,:)
[326]40      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
[581]41
[966]42      CALL xios(get_gridgroup_handle) &
43      (gridgroup_id,gridgroup_hdl)
[326]44      CALL xios(set_gridgroup_attr_hdl_)   &
[1492]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 )
[581]47
[326]48  END SUBROUTINE xios(set_gridgroup_attr)
[581]49
[326]50  SUBROUTINE xios(set_gridgroup_attr_hdl)  &
[1492]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 )
[581]53
[326]54    IMPLICIT NONE
55      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
[1492]56      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
[326]57      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
58      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
[1492]59      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:)
60      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
[817]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(:,:,:)
[932]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(:,:,:,:,:,:,:)
[326]75      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
[581]76
[326]77      CALL xios(set_gridgroup_attr_hdl_)  &
[1492]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 )
[581]80
[326]81  END SUBROUTINE xios(set_gridgroup_attr_hdl)
[581]82
[326]83  SUBROUTINE xios(set_gridgroup_attr_hdl_)   &
[1492]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_ )
[581]86
[326]87    IMPLICIT NONE
88      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
[1492]89      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_
[326]90      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
91      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_
[1492]92      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d_(:)
93      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:)
[817]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(:,:,:)
[932]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(:,:,:,:,:,:,:)
[326]108      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
[581]109
[1492]110      IF (PRESENT(comment_)) THEN
111        CALL cxios_set_gridgroup_comment &
112      (gridgroup_hdl%daddr, comment_, len(comment_))
113      ENDIF
114
[326]115      IF (PRESENT(description_)) THEN
[966]116        CALL cxios_set_gridgroup_description &
117      (gridgroup_hdl%daddr, description_, len(description_))
[326]118      ENDIF
[581]119
[326]120      IF (PRESENT(group_ref_)) THEN
[966]121        CALL cxios_set_gridgroup_group_ref &
122      (gridgroup_hdl%daddr, group_ref_, len(group_ref_))
[326]123      ENDIF
[581]124
[1492]125      IF (PRESENT(mask_0d_)) THEN
126        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1)))
127        mask_0d__tmp = mask_0d_
[2620]128        CALL xios_logical_to_bool_1d(mask_0d__tmp, SHAPE(mask_0d__tmp))
[1492]129        CALL cxios_set_gridgroup_mask_0d &
130      (gridgroup_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_))
131      ENDIF
132
[817]133      IF (PRESENT(mask_1d_)) THEN
134        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
135        mask_1d__tmp = mask_1d_
[2620]136        CALL xios_logical_to_bool_1d(mask_1d__tmp, SHAPE(mask_1d__tmp))
[966]137        CALL cxios_set_gridgroup_mask_1d &
138      (gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
[415]139      ENDIF
[581]140
[817]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_
[2620]144        CALL xios_logical_to_bool_2d(mask_2d__tmp, SHAPE(mask_2d__tmp))
[966]145        CALL cxios_set_gridgroup_mask_2d &
146      (gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
[567]147      ENDIF
[581]148
[817]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_
[2620]152        CALL xios_logical_to_bool_3d(mask_3d__tmp, SHAPE(mask_3d__tmp))
[966]153        CALL cxios_set_gridgroup_mask_3d &
154      (gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
[567]155      ENDIF
[581]156
[932]157      IF (PRESENT(mask_4d_)) THEN
[966]158        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), &
159       SIZE(mask_4d_,4)))
[932]160        mask_4d__tmp = mask_4d_
[2620]161        CALL xios_logical_to_bool_4d(mask_4d__tmp, SHAPE(mask_4d__tmp))
[966]162        CALL cxios_set_gridgroup_mask_4d &
163      (gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_))
[932]164      ENDIF
165
166      IF (PRESENT(mask_5d_)) THEN
[966]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)))
[932]169        mask_5d__tmp = mask_5d_
[2620]170        CALL xios_logical_to_bool_5d(mask_5d__tmp, SHAPE(mask_5d__tmp))
[966]171        CALL cxios_set_gridgroup_mask_5d &
172      (gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_))
[932]173      ENDIF
174
175      IF (PRESENT(mask_6d_)) THEN
[966]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)))
[932]178        mask_6d__tmp = mask_6d_
[2620]179        CALL xios_logical_to_bool_6d(mask_6d__tmp, SHAPE(mask_6d__tmp))
[966]180        CALL cxios_set_gridgroup_mask_6d &
181      (gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_))
[932]182      ENDIF
183
184      IF (PRESENT(mask_7d_)) THEN
[966]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)))
[932]188        mask_7d__tmp = mask_7d_
[2620]189        CALL xios_logical_to_bool_7d(mask_7d__tmp, SHAPE(mask_7d__tmp))
[966]190        CALL cxios_set_gridgroup_mask_7d &
191      (gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_))
[932]192      ENDIF
193
[326]194      IF (PRESENT(name_)) THEN
[966]195        CALL cxios_set_gridgroup_name &
196      (gridgroup_hdl%daddr, name_, len(name_))
[326]197      ENDIF
[581]198
[326]199  END SUBROUTINE xios(set_gridgroup_attr_hdl_)
[581]200
[326]201  SUBROUTINE xios(get_gridgroup_attr)  &
[1492]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 )
[581]204
[326]205    IMPLICIT NONE
206      TYPE(txios(gridgroup))  :: gridgroup_hdl
207      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
[1492]208      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
[326]209      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
210      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
[1492]211      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:)
212      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
[817]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(:,:,:)
[932]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(:,:,:,:,:,:,:)
[326]227      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
[581]228
[966]229      CALL xios(get_gridgroup_handle) &
230      (gridgroup_id,gridgroup_hdl)
[326]231      CALL xios(get_gridgroup_attr_hdl_)   &
[1492]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 )
[581]234
[326]235  END SUBROUTINE xios(get_gridgroup_attr)
[581]236
[326]237  SUBROUTINE xios(get_gridgroup_attr_hdl)  &
[1492]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 )
[581]240
[326]241    IMPLICIT NONE
242      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
[1492]243      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
[326]244      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
245      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
[1492]246      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:)
247      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
[817]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(:,:,:)
[932]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(:,:,:,:,:,:,:)
[326]262      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
[581]263
[326]264      CALL xios(get_gridgroup_attr_hdl_)  &
[1492]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 )
[581]267
[326]268  END SUBROUTINE xios(get_gridgroup_attr_hdl)
[581]269
[326]270  SUBROUTINE xios(get_gridgroup_attr_hdl_)   &
[1492]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_ )
[581]273
[326]274    IMPLICIT NONE
275      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
[1492]276      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_
[326]277      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
278      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_
[1492]279      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d_(:)
280      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:)
[817]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(:,:,:)
[932]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(:,:,:,:,:,:,:)
[326]295      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
[581]296
[1492]297      IF (PRESENT(comment_)) THEN
298        CALL cxios_get_gridgroup_comment &
299      (gridgroup_hdl%daddr, comment_, len(comment_))
300      ENDIF
301
[326]302      IF (PRESENT(description_)) THEN
[966]303        CALL cxios_get_gridgroup_description &
304      (gridgroup_hdl%daddr, description_, len(description_))
[326]305      ENDIF
[581]306
[326]307      IF (PRESENT(group_ref_)) THEN
[966]308        CALL cxios_get_gridgroup_group_ref &
309      (gridgroup_hdl%daddr, group_ref_, len(group_ref_))
[326]310      ENDIF
[581]311
[1492]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_))
[2620]316        CALL xios_bool_to_logical_1d(mask_0d__tmp, SHAPE(mask_0d__tmp))
[1492]317        mask_0d_ = mask_0d__tmp
318      ENDIF
319
[817]320      IF (PRESENT(mask_1d_)) THEN
321        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
[966]322        CALL cxios_get_gridgroup_mask_1d &
323      (gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
[2620]324        CALL xios_bool_to_logical_1d(mask_1d__tmp, SHAPE(mask_1d__tmp))
[817]325        mask_1d_ = mask_1d__tmp
[415]326      ENDIF
[581]327
[817]328      IF (PRESENT(mask_2d_)) THEN
329        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
[966]330        CALL cxios_get_gridgroup_mask_2d &
331      (gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
[2620]332        CALL xios_bool_to_logical_2d(mask_2d__tmp, SHAPE(mask_2d__tmp))
[817]333        mask_2d_ = mask_2d__tmp
[567]334      ENDIF
[581]335
[817]336      IF (PRESENT(mask_3d_)) THEN
337        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
[966]338        CALL cxios_get_gridgroup_mask_3d &
339      (gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
[2620]340        CALL xios_bool_to_logical_3d(mask_3d__tmp, SHAPE(mask_3d__tmp))
[817]341        mask_3d_ = mask_3d__tmp
[567]342      ENDIF
[581]343
[932]344      IF (PRESENT(mask_4d_)) THEN
[966]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_))
[2620]349        CALL xios_bool_to_logical_4d(mask_4d__tmp, SHAPE(mask_4d__tmp))
[932]350        mask_4d_ = mask_4d__tmp
351      ENDIF
352
353      IF (PRESENT(mask_5d_)) THEN
[966]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_))
[2620]358        CALL xios_bool_to_logical_5d(mask_5d__tmp, SHAPE(mask_5d__tmp))
[932]359        mask_5d_ = mask_5d__tmp
360      ENDIF
361
362      IF (PRESENT(mask_6d_)) THEN
[966]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_))
[2620]367        CALL xios_bool_to_logical_6d(mask_6d__tmp, SHAPE(mask_6d__tmp))
[932]368        mask_6d_ = mask_6d__tmp
369      ENDIF
370
371      IF (PRESENT(mask_7d_)) THEN
[966]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_))
[2620]377        CALL xios_bool_to_logical_7d(mask_7d__tmp, SHAPE(mask_7d__tmp))
[932]378        mask_7d_ = mask_7d__tmp
379      ENDIF
380
[326]381      IF (PRESENT(name_)) THEN
[966]382        CALL cxios_get_gridgroup_name &
383      (gridgroup_hdl%daddr, name_, len(name_))
[326]384      ENDIF
[581]385
[326]386  END SUBROUTINE xios(get_gridgroup_attr_hdl_)
[581]387
[432]388  SUBROUTINE xios(is_defined_gridgroup_attr)  &
[1492]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 )
[581]391
[432]392    IMPLICIT NONE
393      TYPE(txios(gridgroup))  :: gridgroup_hdl
394      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
[1492]395      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
396      LOGICAL(KIND=C_BOOL) :: comment_tmp
[432]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
[1492]401      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d
402      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp
[817]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
[932]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
[432]417      LOGICAL, OPTIONAL, INTENT(OUT) :: name
418      LOGICAL(KIND=C_BOOL) :: name_tmp
[581]419
[966]420      CALL xios(get_gridgroup_handle) &
421      (gridgroup_id,gridgroup_hdl)
[432]422      CALL xios(is_defined_gridgroup_attr_hdl_)   &
[1492]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 )
[581]425
[432]426  END SUBROUTINE xios(is_defined_gridgroup_attr)
[581]427
[432]428  SUBROUTINE xios(is_defined_gridgroup_attr_hdl)  &
[1492]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 )
[581]431
[432]432    IMPLICIT NONE
433      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
[1492]434      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
435      LOGICAL(KIND=C_BOOL) :: comment_tmp
[432]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
[1492]440      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d
441      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp
[817]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
[932]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
[432]456      LOGICAL, OPTIONAL, INTENT(OUT) :: name
457      LOGICAL(KIND=C_BOOL) :: name_tmp
[581]458
[432]459      CALL xios(is_defined_gridgroup_attr_hdl_)  &
[1492]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 )
[581]462
[432]463  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl)
[581]464
[432]465  SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)   &
[1492]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_ )
[581]468
[432]469    IMPLICIT NONE
470      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
[1492]471      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_
472      LOGICAL(KIND=C_BOOL) :: comment__tmp
[432]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
[1492]477      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d_
478      LOGICAL(KIND=C_BOOL) :: mask_0d__tmp
[817]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
[932]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
[432]493      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
494      LOGICAL(KIND=C_BOOL) :: name__tmp
[581]495
[1492]496      IF (PRESENT(comment_)) THEN
497        comment__tmp = cxios_is_defined_gridgroup_comment &
498      (gridgroup_hdl%daddr)
499        comment_ = comment__tmp
500      ENDIF
501
[432]502      IF (PRESENT(description_)) THEN
[966]503        description__tmp = cxios_is_defined_gridgroup_description &
504      (gridgroup_hdl%daddr)
[581]505        description_ = description__tmp
[432]506      ENDIF
[581]507
[432]508      IF (PRESENT(group_ref_)) THEN
[966]509        group_ref__tmp = cxios_is_defined_gridgroup_group_ref &
510      (gridgroup_hdl%daddr)
[581]511        group_ref_ = group_ref__tmp
[432]512      ENDIF
[581]513
[1492]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
[817]520      IF (PRESENT(mask_1d_)) THEN
[966]521        mask_1d__tmp = cxios_is_defined_gridgroup_mask_1d &
522      (gridgroup_hdl%daddr)
[817]523        mask_1d_ = mask_1d__tmp
[432]524      ENDIF
[581]525
[817]526      IF (PRESENT(mask_2d_)) THEN
[966]527        mask_2d__tmp = cxios_is_defined_gridgroup_mask_2d &
528      (gridgroup_hdl%daddr)
[817]529        mask_2d_ = mask_2d__tmp
[567]530      ENDIF
[581]531
[817]532      IF (PRESENT(mask_3d_)) THEN
[966]533        mask_3d__tmp = cxios_is_defined_gridgroup_mask_3d &
534      (gridgroup_hdl%daddr)
[817]535        mask_3d_ = mask_3d__tmp
[567]536      ENDIF
[581]537
[932]538      IF (PRESENT(mask_4d_)) THEN
[966]539        mask_4d__tmp = cxios_is_defined_gridgroup_mask_4d &
540      (gridgroup_hdl%daddr)
[932]541        mask_4d_ = mask_4d__tmp
542      ENDIF
543
544      IF (PRESENT(mask_5d_)) THEN
[966]545        mask_5d__tmp = cxios_is_defined_gridgroup_mask_5d &
546      (gridgroup_hdl%daddr)
[932]547        mask_5d_ = mask_5d__tmp
548      ENDIF
549
550      IF (PRESENT(mask_6d_)) THEN
[966]551        mask_6d__tmp = cxios_is_defined_gridgroup_mask_6d &
552      (gridgroup_hdl%daddr)
[932]553        mask_6d_ = mask_6d__tmp
554      ENDIF
555
556      IF (PRESENT(mask_7d_)) THEN
[966]557        mask_7d__tmp = cxios_is_defined_gridgroup_mask_7d &
558      (gridgroup_hdl%daddr)
[932]559        mask_7d_ = mask_7d__tmp
560      ENDIF
561
[432]562      IF (PRESENT(name_)) THEN
[966]563        name__tmp = cxios_is_defined_gridgroup_name &
564      (gridgroup_hdl%daddr)
[581]565        name_ = name__tmp
[432]566      ENDIF
[581]567
[432]568  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)
[581]569
[326]570END MODULE igridgroup_attr
Note: See TracBrowser for help on using the repository browser.