source: XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90 @ 932

Last change on this file since 932 was 932, checked in by mhnguyen, 8 years ago

Adding Fortran interface for high-dimension grid (up to 7)

+) Add check mask for high-dimension grid
+) Add Fortran interface for send_field, recv_field

Test
+) On Curie
+) Work

  • 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: 17.5 KB
Line 
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
10
11CONTAINS
12
13  SUBROUTINE xios(set_grid_attr)  &
14    ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
15     )
16
17    IMPLICIT NONE
18      TYPE(txios(grid))  :: grid_hdl
19      CHARACTER(LEN=*), INTENT(IN) ::grid_id
20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
21      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
22      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
23      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
24      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
25      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
26      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
27      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:)
28      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
29      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:)
30      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
31      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:)
32      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
33      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:)
34      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
35      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
36
37      CALL xios(get_grid_handle)(grid_id,grid_hdl)
38      CALL xios(set_grid_attr_hdl_)   &
39      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
40       )
41
42  END SUBROUTINE xios(set_grid_attr)
43
44  SUBROUTINE xios(set_grid_attr_hdl)  &
45    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
46     )
47
48    IMPLICIT NONE
49      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
50      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
51      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
52      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
53      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
54      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
55      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
56      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
57      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:)
58      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
59      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:)
60      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
61      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:)
62      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
63      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:)
64      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
65      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
66
67      CALL xios(set_grid_attr_hdl_)  &
68      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
69       )
70
71  END SUBROUTINE xios(set_grid_attr_hdl)
72
73  SUBROUTINE xios(set_grid_attr_hdl_)   &
74    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  &
75    , name_ )
76
77    IMPLICIT NONE
78      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
79      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
80      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:)
81      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
82      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:)
83      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
84      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:)
85      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
86      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d_(:,:,:,:)
87      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:)
88      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d_(:,:,:,:,:)
89      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:)
90      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d_(:,:,:,:,:,:)
91      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:)
92      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d_(:,:,:,:,:,:,:)
93      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:)
94      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
95
96      IF (PRESENT(description_)) THEN
97        CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_))
98      ENDIF
99
100      IF (PRESENT(mask_1d_)) THEN
101        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
102        mask_1d__tmp = mask_1d_
103        CALL cxios_set_grid_mask_1d(grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
104      ENDIF
105
106      IF (PRESENT(mask_2d_)) THEN
107        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
108        mask_2d__tmp = mask_2d_
109        CALL cxios_set_grid_mask_2d(grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
110      ENDIF
111
112      IF (PRESENT(mask_3d_)) THEN
113        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
114        mask_3d__tmp = mask_3d_
115        CALL cxios_set_grid_mask_3d(grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
116      ENDIF
117
118      IF (PRESENT(mask_4d_)) THEN
119        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4)))
120        mask_4d__tmp = mask_4d_
121        CALL cxios_set_grid_mask_4d(grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_))
122      ENDIF
123
124      IF (PRESENT(mask_5d_)) THEN
125        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5)))
126        mask_5d__tmp = mask_5d_
127        CALL cxios_set_grid_mask_5d(grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_))
128      ENDIF
129
130      IF (PRESENT(mask_6d_)) THEN
131        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6)))
132        mask_6d__tmp = mask_6d_
133        CALL cxios_set_grid_mask_6d(grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_))
134      ENDIF
135
136      IF (PRESENT(mask_7d_)) THEN
137        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), SIZE(mask_7d_,7)))
138        mask_7d__tmp = mask_7d_
139        CALL cxios_set_grid_mask_7d(grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_))
140      ENDIF
141
142      IF (PRESENT(name_)) THEN
143        CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_))
144      ENDIF
145
146  END SUBROUTINE xios(set_grid_attr_hdl_)
147
148  SUBROUTINE xios(get_grid_attr)  &
149    ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
150     )
151
152    IMPLICIT NONE
153      TYPE(txios(grid))  :: grid_hdl
154      CHARACTER(LEN=*), INTENT(IN) ::grid_id
155      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
156      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
157      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
158      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
159      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
160      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
161      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
162      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:)
163      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
164      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:)
165      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
166      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:)
167      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
168      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:)
169      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
170      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
171
172      CALL xios(get_grid_handle)(grid_id,grid_hdl)
173      CALL xios(get_grid_attr_hdl_)   &
174      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
175       )
176
177  END SUBROUTINE xios(get_grid_attr)
178
179  SUBROUTINE xios(get_grid_attr_hdl)  &
180    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
181     )
182
183    IMPLICIT NONE
184      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
185      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
186      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
187      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
188      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
189      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
190      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
191      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
192      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:)
193      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:)
194      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:)
195      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:)
196      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:)
197      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:)
198      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:)
199      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:)
200      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
201
202      CALL xios(get_grid_attr_hdl_)  &
203      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
204       )
205
206  END SUBROUTINE xios(get_grid_attr_hdl)
207
208  SUBROUTINE xios(get_grid_attr_hdl_)   &
209    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  &
210    , name_ )
211
212    IMPLICIT NONE
213      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
214      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
215      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:)
216      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
217      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:)
218      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
219      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:)
220      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
221      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d_(:,:,:,:)
222      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:)
223      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d_(:,:,:,:,:)
224      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:)
225      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d_(:,:,:,:,:,:)
226      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:)
227      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d_(:,:,:,:,:,:,:)
228      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:)
229      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
230
231      IF (PRESENT(description_)) THEN
232        CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_))
233      ENDIF
234
235      IF (PRESENT(mask_1d_)) THEN
236        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
237        CALL cxios_get_grid_mask_1d(grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
238        mask_1d_ = mask_1d__tmp
239      ENDIF
240
241      IF (PRESENT(mask_2d_)) THEN
242        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
243        CALL cxios_get_grid_mask_2d(grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
244        mask_2d_ = mask_2d__tmp
245      ENDIF
246
247      IF (PRESENT(mask_3d_)) THEN
248        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
249        CALL cxios_get_grid_mask_3d(grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
250        mask_3d_ = mask_3d__tmp
251      ENDIF
252
253      IF (PRESENT(mask_4d_)) THEN
254        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4)))
255        CALL cxios_get_grid_mask_4d(grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_))
256        mask_4d_ = mask_4d__tmp
257      ENDIF
258
259      IF (PRESENT(mask_5d_)) THEN
260        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5)))
261        CALL cxios_get_grid_mask_5d(grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_))
262        mask_5d_ = mask_5d__tmp
263      ENDIF
264
265      IF (PRESENT(mask_6d_)) THEN
266        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6)))
267        CALL cxios_get_grid_mask_6d(grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_))
268        mask_6d_ = mask_6d__tmp
269      ENDIF
270
271      IF (PRESENT(mask_7d_)) THEN
272        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), SIZE(mask_7d_,7)))
273        CALL cxios_get_grid_mask_7d(grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_))
274        mask_7d_ = mask_7d__tmp
275      ENDIF
276
277      IF (PRESENT(name_)) THEN
278        CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_))
279      ENDIF
280
281  END SUBROUTINE xios(get_grid_attr_hdl_)
282
283  SUBROUTINE xios(is_defined_grid_attr)  &
284    ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
285     )
286
287    IMPLICIT NONE
288      TYPE(txios(grid))  :: grid_hdl
289      CHARACTER(LEN=*), INTENT(IN) ::grid_id
290      LOGICAL, OPTIONAL, INTENT(OUT) :: description
291      LOGICAL(KIND=C_BOOL) :: description_tmp
292      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
293      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
294      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
295      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
296      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
297      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
298      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d
299      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp
300      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d
301      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp
302      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d
303      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp
304      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d
305      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp
306      LOGICAL, OPTIONAL, INTENT(OUT) :: name
307      LOGICAL(KIND=C_BOOL) :: name_tmp
308
309      CALL xios(get_grid_handle)(grid_id,grid_hdl)
310      CALL xios(is_defined_grid_attr_hdl_)   &
311      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
312       )
313
314  END SUBROUTINE xios(is_defined_grid_attr)
315
316  SUBROUTINE xios(is_defined_grid_attr_hdl)  &
317    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
318     )
319
320    IMPLICIT NONE
321      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
322      LOGICAL, OPTIONAL, INTENT(OUT) :: description
323      LOGICAL(KIND=C_BOOL) :: description_tmp
324      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
325      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
326      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
327      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
328      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
329      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
330      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d
331      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp
332      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d
333      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp
334      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d
335      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp
336      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d
337      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp
338      LOGICAL, OPTIONAL, INTENT(OUT) :: name
339      LOGICAL(KIND=C_BOOL) :: name_tmp
340
341      CALL xios(is_defined_grid_attr_hdl_)  &
342      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  &
343       )
344
345  END SUBROUTINE xios(is_defined_grid_attr_hdl)
346
347  SUBROUTINE xios(is_defined_grid_attr_hdl_)   &
348    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  &
349    , name_ )
350
351    IMPLICIT NONE
352      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
353      LOGICAL, OPTIONAL, INTENT(OUT) :: description_
354      LOGICAL(KIND=C_BOOL) :: description__tmp
355      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_
356      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp
357      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_
358      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp
359      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_
360      LOGICAL(KIND=C_BOOL) :: mask_3d__tmp
361      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d_
362      LOGICAL(KIND=C_BOOL) :: mask_4d__tmp
363      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d_
364      LOGICAL(KIND=C_BOOL) :: mask_5d__tmp
365      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d_
366      LOGICAL(KIND=C_BOOL) :: mask_6d__tmp
367      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d_
368      LOGICAL(KIND=C_BOOL) :: mask_7d__tmp
369      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
370      LOGICAL(KIND=C_BOOL) :: name__tmp
371
372      IF (PRESENT(description_)) THEN
373        description__tmp = cxios_is_defined_grid_description(grid_hdl%daddr)
374        description_ = description__tmp
375      ENDIF
376
377      IF (PRESENT(mask_1d_)) THEN
378        mask_1d__tmp = cxios_is_defined_grid_mask_1d(grid_hdl%daddr)
379        mask_1d_ = mask_1d__tmp
380      ENDIF
381
382      IF (PRESENT(mask_2d_)) THEN
383        mask_2d__tmp = cxios_is_defined_grid_mask_2d(grid_hdl%daddr)
384        mask_2d_ = mask_2d__tmp
385      ENDIF
386
387      IF (PRESENT(mask_3d_)) THEN
388        mask_3d__tmp = cxios_is_defined_grid_mask_3d(grid_hdl%daddr)
389        mask_3d_ = mask_3d__tmp
390      ENDIF
391
392      IF (PRESENT(mask_4d_)) THEN
393        mask_4d__tmp = cxios_is_defined_grid_mask_4d(grid_hdl%daddr)
394        mask_4d_ = mask_4d__tmp
395      ENDIF
396
397      IF (PRESENT(mask_5d_)) THEN
398        mask_5d__tmp = cxios_is_defined_grid_mask_5d(grid_hdl%daddr)
399        mask_5d_ = mask_5d__tmp
400      ENDIF
401
402      IF (PRESENT(mask_6d_)) THEN
403        mask_6d__tmp = cxios_is_defined_grid_mask_6d(grid_hdl%daddr)
404        mask_6d_ = mask_6d__tmp
405      ENDIF
406
407      IF (PRESENT(mask_7d_)) THEN
408        mask_7d__tmp = cxios_is_defined_grid_mask_7d(grid_hdl%daddr)
409        mask_7d_ = mask_7d__tmp
410      ENDIF
411
412      IF (PRESENT(name_)) THEN
413        name__tmp = cxios_is_defined_grid_name(grid_hdl%daddr)
414        name_ = name__tmp
415      ENDIF
416
417  END SUBROUTINE xios(is_defined_grid_attr_hdl_)
418
419END MODULE igrid_attr
Note: See TracBrowser for help on using the repository browser.