source: XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/igrid_attr.F90 @ 2338

Last change on this file since 2338 was 1492, checked in by oabramkina, 6 years ago

Updating fortran interface for attributes that have been recently introduced and the following filters:

duplicate_scalar_to_axis
reduce_axis_to_axis
reduce_scalar_to_scalar
reorder_domain
temporal_splitting.

  • 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: 20.7 KB
RevLine 
[326]1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE igrid_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE igrid
9  USE grid_interface_attr
[581]10
[326]11CONTAINS
[581]12
[326]13  SUBROUTINE xios(set_grid_attr)  &
[1492]14    ( grid_id, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
15    , mask_7d, name )
[581]16
[326]17    IMPLICIT NONE
18      TYPE(txios(grid))  :: grid_hdl
19      CHARACTER(LEN=*), INTENT(IN) ::grid_id
[1492]20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
[326]21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
[1492]22      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:)
23      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
[817]24      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
25      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
26      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
27      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
28      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
29      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
[932]30      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:)
31      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
32      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:)
33      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
34      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:)
35      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
36      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:)
37      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
[326]38      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
[581]39
[966]40      CALL xios(get_grid_handle) &
41      (grid_id,grid_hdl)
[326]42      CALL xios(set_grid_attr_hdl_)   &
[1492]43      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
44      , mask_7d, name )
[581]45
[326]46  END SUBROUTINE xios(set_grid_attr)
[581]47
[326]48  SUBROUTINE xios(set_grid_attr_hdl)  &
[1492]49    ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
50    , mask_7d, name )
[581]51
[326]52    IMPLICIT NONE
53      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[1492]54      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
[326]55      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
[1492]56      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:)
57      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
[817]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      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
63      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
[932]64      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:)
65      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
66      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:)
67      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
68      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:)
69      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
70      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:)
71      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
[326]72      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
[581]73
[326]74      CALL xios(set_grid_attr_hdl_)  &
[1492]75      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
76      , mask_7d, name )
[581]77
[326]78  END SUBROUTINE xios(set_grid_attr_hdl)
[581]79
[326]80  SUBROUTINE xios(set_grid_attr_hdl_)   &
[1492]81    ( grid_hdl, comment_, description_, mask_0d_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  &
82    , mask_6d_, mask_7d_, name_ )
[581]83
[326]84    IMPLICIT NONE
85      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[1492]86      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_
[326]87      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
[1492]88      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d_(:)
89      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:)
[817]90      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:)
91      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
92      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:)
93      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
94      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:)
95      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
[932]96      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d_(:,:,:,:)
97      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:)
98      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d_(:,:,:,:,:)
99      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:)
100      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d_(:,:,:,:,:,:)
101      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:)
102      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d_(:,:,:,:,:,:,:)
103      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:)
[326]104      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
[581]105
[1492]106      IF (PRESENT(comment_)) THEN
107        CALL cxios_set_grid_comment &
108      (grid_hdl%daddr, comment_, len(comment_))
109      ENDIF
110
[326]111      IF (PRESENT(description_)) THEN
[966]112        CALL cxios_set_grid_description &
113      (grid_hdl%daddr, description_, len(description_))
[326]114      ENDIF
[581]115
[1492]116      IF (PRESENT(mask_0d_)) THEN
117        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1)))
118        mask_0d__tmp = mask_0d_
119        CALL cxios_set_grid_mask_0d &
120      (grid_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_))
121      ENDIF
122
[817]123      IF (PRESENT(mask_1d_)) THEN
124        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
125        mask_1d__tmp = mask_1d_
[966]126        CALL cxios_set_grid_mask_1d &
127      (grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
[415]128      ENDIF
[581]129
[817]130      IF (PRESENT(mask_2d_)) THEN
131        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
132        mask_2d__tmp = mask_2d_
[966]133        CALL cxios_set_grid_mask_2d &
134      (grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
[567]135      ENDIF
[581]136
[817]137      IF (PRESENT(mask_3d_)) THEN
138        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
139        mask_3d__tmp = mask_3d_
[966]140        CALL cxios_set_grid_mask_3d &
141      (grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
[567]142      ENDIF
[581]143
[932]144      IF (PRESENT(mask_4d_)) THEN
[966]145        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), &
146       SIZE(mask_4d_,4)))
[932]147        mask_4d__tmp = mask_4d_
[966]148        CALL cxios_set_grid_mask_4d &
149      (grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_))
[932]150      ENDIF
151
152      IF (PRESENT(mask_5d_)) THEN
[966]153        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), &
154       SIZE(mask_5d_,4), SIZE(mask_5d_,5)))
[932]155        mask_5d__tmp = mask_5d_
[966]156        CALL cxios_set_grid_mask_5d &
157      (grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_))
[932]158      ENDIF
159
160      IF (PRESENT(mask_6d_)) THEN
[966]161        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), &
162       SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6)))
[932]163        mask_6d__tmp = mask_6d_
[966]164        CALL cxios_set_grid_mask_6d &
165      (grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_))
[932]166      ENDIF
167
168      IF (PRESENT(mask_7d_)) THEN
[966]169        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), &
170       SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), &
171       SIZE(mask_7d_,7)))
[932]172        mask_7d__tmp = mask_7d_
[966]173        CALL cxios_set_grid_mask_7d &
174      (grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_))
[932]175      ENDIF
176
[326]177      IF (PRESENT(name_)) THEN
[966]178        CALL cxios_set_grid_name &
179      (grid_hdl%daddr, name_, len(name_))
[326]180      ENDIF
[581]181
[326]182  END SUBROUTINE xios(set_grid_attr_hdl_)
[581]183
[326]184  SUBROUTINE xios(get_grid_attr)  &
[1492]185    ( grid_id, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
186    , mask_7d, name )
[581]187
[326]188    IMPLICIT NONE
189      TYPE(txios(grid))  :: grid_hdl
190      CHARACTER(LEN=*), INTENT(IN) ::grid_id
[1492]191      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
[326]192      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
[1492]193      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:)
194      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
[817]195      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
196      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
197      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
198      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
199      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
200      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
[932]201      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:)
202      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
203      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:)
204      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
205      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:)
206      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
207      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:)
208      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
[326]209      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
[581]210
[966]211      CALL xios(get_grid_handle) &
212      (grid_id,grid_hdl)
[326]213      CALL xios(get_grid_attr_hdl_)   &
[1492]214      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
215      , mask_7d, name )
[581]216
[326]217  END SUBROUTINE xios(get_grid_attr)
[581]218
[326]219  SUBROUTINE xios(get_grid_attr_hdl)  &
[1492]220    ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
221    , mask_7d, name )
[581]222
[326]223    IMPLICIT NONE
224      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[1492]225      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
[326]226      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
[1492]227      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:)
228      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:)
[817]229      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
230      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
231      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
232      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
233      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
234      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
[932]235      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:)
236      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
237      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:)
238      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
239      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:)
240      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
241      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:)
242      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
[326]243      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
[581]244
[326]245      CALL xios(get_grid_attr_hdl_)  &
[1492]246      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
247      , mask_7d, name )
[581]248
[326]249  END SUBROUTINE xios(get_grid_attr_hdl)
[581]250
[326]251  SUBROUTINE xios(get_grid_attr_hdl_)   &
[1492]252    ( grid_hdl, comment_, description_, mask_0d_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  &
253    , mask_6d_, mask_7d_, name_ )
[581]254
[326]255    IMPLICIT NONE
256      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[1492]257      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_
[326]258      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
[1492]259      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d_(:)
260      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:)
[817]261      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:)
262      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
263      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:)
264      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
265      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:)
266      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
[932]267      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d_(:,:,:,:)
268      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:)
269      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d_(:,:,:,:,:)
270      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:)
271      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d_(:,:,:,:,:,:)
272      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:)
273      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d_(:,:,:,:,:,:,:)
274      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:)
[326]275      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
[581]276
[1492]277      IF (PRESENT(comment_)) THEN
278        CALL cxios_get_grid_comment &
279      (grid_hdl%daddr, comment_, len(comment_))
280      ENDIF
281
[326]282      IF (PRESENT(description_)) THEN
[966]283        CALL cxios_get_grid_description &
284      (grid_hdl%daddr, description_, len(description_))
[326]285      ENDIF
[581]286
[1492]287      IF (PRESENT(mask_0d_)) THEN
288        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1)))
289        CALL cxios_get_grid_mask_0d &
290      (grid_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_))
291        mask_0d_ = mask_0d__tmp
292      ENDIF
293
[817]294      IF (PRESENT(mask_1d_)) THEN
295        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
[966]296        CALL cxios_get_grid_mask_1d &
297      (grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
[817]298        mask_1d_ = mask_1d__tmp
[415]299      ENDIF
[581]300
[817]301      IF (PRESENT(mask_2d_)) THEN
302        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
[966]303        CALL cxios_get_grid_mask_2d &
304      (grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
[817]305        mask_2d_ = mask_2d__tmp
[567]306      ENDIF
[581]307
[817]308      IF (PRESENT(mask_3d_)) THEN
309        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
[966]310        CALL cxios_get_grid_mask_3d &
311      (grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
[817]312        mask_3d_ = mask_3d__tmp
[567]313      ENDIF
[581]314
[932]315      IF (PRESENT(mask_4d_)) THEN
[966]316        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), &
317       SIZE(mask_4d_,4)))
318        CALL cxios_get_grid_mask_4d &
319      (grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_))
[932]320        mask_4d_ = mask_4d__tmp
321      ENDIF
322
323      IF (PRESENT(mask_5d_)) THEN
[966]324        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), &
325       SIZE(mask_5d_,4), SIZE(mask_5d_,5)))
326        CALL cxios_get_grid_mask_5d &
327      (grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_))
[932]328        mask_5d_ = mask_5d__tmp
329      ENDIF
330
331      IF (PRESENT(mask_6d_)) THEN
[966]332        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), &
333       SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6)))
334        CALL cxios_get_grid_mask_6d &
335      (grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_))
[932]336        mask_6d_ = mask_6d__tmp
337      ENDIF
338
339      IF (PRESENT(mask_7d_)) THEN
[966]340        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), &
341       SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), &
342       SIZE(mask_7d_,7)))
343        CALL cxios_get_grid_mask_7d &
344      (grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_))
[932]345        mask_7d_ = mask_7d__tmp
346      ENDIF
347
[326]348      IF (PRESENT(name_)) THEN
[966]349        CALL cxios_get_grid_name &
350      (grid_hdl%daddr, name_, len(name_))
[326]351      ENDIF
[581]352
[326]353  END SUBROUTINE xios(get_grid_attr_hdl_)
[581]354
[432]355  SUBROUTINE xios(is_defined_grid_attr)  &
[1492]356    ( grid_id, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
357    , mask_7d, name )
[581]358
[432]359    IMPLICIT NONE
360      TYPE(txios(grid))  :: grid_hdl
361      CHARACTER(LEN=*), INTENT(IN) ::grid_id
[1492]362      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
363      LOGICAL(KIND=C_BOOL) :: comment_tmp
[432]364      LOGICAL, OPTIONAL, INTENT(OUT) :: description
365      LOGICAL(KIND=C_BOOL) :: description_tmp
[1492]366      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d
367      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp
[817]368      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
369      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
370      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
371      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
372      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
373      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
[932]374      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d
375      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp
376      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d
377      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp
378      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d
379      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp
380      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d
381      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp
[432]382      LOGICAL, OPTIONAL, INTENT(OUT) :: name
383      LOGICAL(KIND=C_BOOL) :: name_tmp
[581]384
[966]385      CALL xios(get_grid_handle) &
386      (grid_id,grid_hdl)
[432]387      CALL xios(is_defined_grid_attr_hdl_)   &
[1492]388      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
389      , mask_7d, name )
[581]390
[432]391  END SUBROUTINE xios(is_defined_grid_attr)
[581]392
[432]393  SUBROUTINE xios(is_defined_grid_attr_hdl)  &
[1492]394    ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
395    , mask_7d, name )
[581]396
[432]397    IMPLICIT NONE
398      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[1492]399      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
400      LOGICAL(KIND=C_BOOL) :: comment_tmp
[432]401      LOGICAL, OPTIONAL, INTENT(OUT) :: description
402      LOGICAL(KIND=C_BOOL) :: description_tmp
[1492]403      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d
404      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp
[817]405      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
406      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
407      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
408      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
409      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
410      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
[932]411      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d
412      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp
413      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d
414      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp
415      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d
416      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp
417      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d
418      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp
[432]419      LOGICAL, OPTIONAL, INTENT(OUT) :: name
420      LOGICAL(KIND=C_BOOL) :: name_tmp
[581]421
[432]422      CALL xios(is_defined_grid_attr_hdl_)  &
[1492]423      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  &
424      , mask_7d, name )
[581]425
[432]426  END SUBROUTINE xios(is_defined_grid_attr_hdl)
[581]427
[432]428  SUBROUTINE xios(is_defined_grid_attr_hdl_)   &
[1492]429    ( grid_hdl, comment_, description_, mask_0d_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  &
430    , mask_6d_, mask_7d_, name_ )
[581]431
[432]432    IMPLICIT NONE
433      TYPE(txios(grid)) , INTENT(IN) :: grid_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
[1492]438      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d_
439      LOGICAL(KIND=C_BOOL) :: mask_0d__tmp
[817]440      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_
441      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp
442      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_
443      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp
444      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_
445      LOGICAL(KIND=C_BOOL) :: mask_3d__tmp
[932]446      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d_
447      LOGICAL(KIND=C_BOOL) :: mask_4d__tmp
448      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d_
449      LOGICAL(KIND=C_BOOL) :: mask_5d__tmp
450      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d_
451      LOGICAL(KIND=C_BOOL) :: mask_6d__tmp
452      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d_
453      LOGICAL(KIND=C_BOOL) :: mask_7d__tmp
[432]454      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
455      LOGICAL(KIND=C_BOOL) :: name__tmp
[581]456
[1492]457      IF (PRESENT(comment_)) THEN
458        comment__tmp = cxios_is_defined_grid_comment &
459      (grid_hdl%daddr)
460        comment_ = comment__tmp
461      ENDIF
462
[432]463      IF (PRESENT(description_)) THEN
[966]464        description__tmp = cxios_is_defined_grid_description &
465      (grid_hdl%daddr)
[581]466        description_ = description__tmp
[432]467      ENDIF
[581]468
[1492]469      IF (PRESENT(mask_0d_)) THEN
470        mask_0d__tmp = cxios_is_defined_grid_mask_0d &
471      (grid_hdl%daddr)
472        mask_0d_ = mask_0d__tmp
473      ENDIF
474
[817]475      IF (PRESENT(mask_1d_)) THEN
[966]476        mask_1d__tmp = cxios_is_defined_grid_mask_1d &
477      (grid_hdl%daddr)
[817]478        mask_1d_ = mask_1d__tmp
[432]479      ENDIF
[581]480
[817]481      IF (PRESENT(mask_2d_)) THEN
[966]482        mask_2d__tmp = cxios_is_defined_grid_mask_2d &
483      (grid_hdl%daddr)
[817]484        mask_2d_ = mask_2d__tmp
[567]485      ENDIF
[581]486
[817]487      IF (PRESENT(mask_3d_)) THEN
[966]488        mask_3d__tmp = cxios_is_defined_grid_mask_3d &
489      (grid_hdl%daddr)
[817]490        mask_3d_ = mask_3d__tmp
[567]491      ENDIF
[581]492
[932]493      IF (PRESENT(mask_4d_)) THEN
[966]494        mask_4d__tmp = cxios_is_defined_grid_mask_4d &
495      (grid_hdl%daddr)
[932]496        mask_4d_ = mask_4d__tmp
497      ENDIF
498
499      IF (PRESENT(mask_5d_)) THEN
[966]500        mask_5d__tmp = cxios_is_defined_grid_mask_5d &
501      (grid_hdl%daddr)
[932]502        mask_5d_ = mask_5d__tmp
503      ENDIF
504
505      IF (PRESENT(mask_6d_)) THEN
[966]506        mask_6d__tmp = cxios_is_defined_grid_mask_6d &
507      (grid_hdl%daddr)
[932]508        mask_6d_ = mask_6d__tmp
509      ENDIF
510
511      IF (PRESENT(mask_7d_)) THEN
[966]512        mask_7d__tmp = cxios_is_defined_grid_mask_7d &
513      (grid_hdl%daddr)
[932]514        mask_7d_ = mask_7d__tmp
515      ENDIF
516
[432]517      IF (PRESENT(name_)) THEN
[966]518        name__tmp = cxios_is_defined_grid_name &
519      (grid_hdl%daddr)
[581]520        name_ = name__tmp
[432]521      ENDIF
[581]522
[432]523  END SUBROUTINE xios(is_defined_grid_attr_hdl_)
[581]524
[326]525END MODULE igrid_attr
Note: See TracBrowser for help on using the repository browser.