source: XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90 @ 817

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

Adding some attributes for axis and grid (ticket 71, 78)

+) Add index attribute for axis
+) Change mask?d to mask_?d for grid

Test
+) On Curie
+) Test passes

  • 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: 11.6 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
11CONTAINS
12
13  SUBROUTINE xios(set_gridgroup_attr)  &
14    ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name )
15
16    IMPLICIT NONE
17      TYPE(txios(gridgroup))  :: gridgroup_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
19      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
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      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
28
29      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl)
30      CALL xios(set_gridgroup_attr_hdl_)   &
31      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
32
33  END SUBROUTINE xios(set_gridgroup_attr)
34
35  SUBROUTINE xios(set_gridgroup_attr_hdl)  &
36    ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
37
38    IMPLICIT NONE
39      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
40      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
41      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
42      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
43      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
44      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
45      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
46      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
47      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
48      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
49
50      CALL xios(set_gridgroup_attr_hdl_)  &
51      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
52
53  END SUBROUTINE xios(set_gridgroup_attr_hdl)
54
55  SUBROUTINE xios(set_gridgroup_attr_hdl_)   &
56    ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ )
57
58    IMPLICIT NONE
59      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
60      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
61      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_
62      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:)
63      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
64      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:)
65      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
66      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:)
67      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
68      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
69
70      IF (PRESENT(description_)) THEN
71        CALL cxios_set_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_))
72      ENDIF
73
74      IF (PRESENT(group_ref_)) THEN
75        CALL cxios_set_gridgroup_group_ref(gridgroup_hdl%daddr, group_ref_, len(group_ref_))
76      ENDIF
77
78      IF (PRESENT(mask_1d_)) THEN
79        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
80        mask_1d__tmp = mask_1d_
81        CALL cxios_set_gridgroup_mask_1d(gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
82      ENDIF
83
84      IF (PRESENT(mask_2d_)) THEN
85        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
86        mask_2d__tmp = mask_2d_
87        CALL cxios_set_gridgroup_mask_2d(gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
88      ENDIF
89
90      IF (PRESENT(mask_3d_)) THEN
91        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
92        mask_3d__tmp = mask_3d_
93        CALL cxios_set_gridgroup_mask_3d(gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
94      ENDIF
95
96      IF (PRESENT(name_)) THEN
97        CALL cxios_set_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_))
98      ENDIF
99
100  END SUBROUTINE xios(set_gridgroup_attr_hdl_)
101
102  SUBROUTINE xios(get_gridgroup_attr)  &
103    ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name )
104
105    IMPLICIT NONE
106      TYPE(txios(gridgroup))  :: gridgroup_hdl
107      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
108      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
109      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
110      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
111      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
112      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
113      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
114      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
115      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
116      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
117
118      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl)
119      CALL xios(get_gridgroup_attr_hdl_)   &
120      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
121
122  END SUBROUTINE xios(get_gridgroup_attr)
123
124  SUBROUTINE xios(get_gridgroup_attr_hdl)  &
125    ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
126
127    IMPLICIT NONE
128      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
129      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
130      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
131      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
132      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
133      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
134      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
135      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
136      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
137      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
138
139      CALL xios(get_gridgroup_attr_hdl_)  &
140      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
141
142  END SUBROUTINE xios(get_gridgroup_attr_hdl)
143
144  SUBROUTINE xios(get_gridgroup_attr_hdl_)   &
145    ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ )
146
147    IMPLICIT NONE
148      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
149      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
150      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_
151      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:)
152      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
153      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:)
154      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
155      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:)
156      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
157      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
158
159      IF (PRESENT(description_)) THEN
160        CALL cxios_get_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_))
161      ENDIF
162
163      IF (PRESENT(group_ref_)) THEN
164        CALL cxios_get_gridgroup_group_ref(gridgroup_hdl%daddr, group_ref_, len(group_ref_))
165      ENDIF
166
167      IF (PRESENT(mask_1d_)) THEN
168        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
169        CALL cxios_get_gridgroup_mask_1d(gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
170        mask_1d_ = mask_1d__tmp
171      ENDIF
172
173      IF (PRESENT(mask_2d_)) THEN
174        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
175        CALL cxios_get_gridgroup_mask_2d(gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
176        mask_2d_ = mask_2d__tmp
177      ENDIF
178
179      IF (PRESENT(mask_3d_)) THEN
180        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
181        CALL cxios_get_gridgroup_mask_3d(gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
182        mask_3d_ = mask_3d__tmp
183      ENDIF
184
185      IF (PRESENT(name_)) THEN
186        CALL cxios_get_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_))
187      ENDIF
188
189  END SUBROUTINE xios(get_gridgroup_attr_hdl_)
190
191  SUBROUTINE xios(is_defined_gridgroup_attr)  &
192    ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name )
193
194    IMPLICIT NONE
195      TYPE(txios(gridgroup))  :: gridgroup_hdl
196      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
197      LOGICAL, OPTIONAL, INTENT(OUT) :: description
198      LOGICAL(KIND=C_BOOL) :: description_tmp
199      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
200      LOGICAL(KIND=C_BOOL) :: group_ref_tmp
201      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
202      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
203      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
204      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
205      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
206      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
207      LOGICAL, OPTIONAL, INTENT(OUT) :: name
208      LOGICAL(KIND=C_BOOL) :: name_tmp
209
210      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl)
211      CALL xios(is_defined_gridgroup_attr_hdl_)   &
212      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
213
214  END SUBROUTINE xios(is_defined_gridgroup_attr)
215
216  SUBROUTINE xios(is_defined_gridgroup_attr_hdl)  &
217    ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
218
219    IMPLICIT NONE
220      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
221      LOGICAL, OPTIONAL, INTENT(OUT) :: description
222      LOGICAL(KIND=C_BOOL) :: description_tmp
223      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
224      LOGICAL(KIND=C_BOOL) :: group_ref_tmp
225      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
226      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
227      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
228      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
229      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
230      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
231      LOGICAL, OPTIONAL, INTENT(OUT) :: name
232      LOGICAL(KIND=C_BOOL) :: name_tmp
233
234      CALL xios(is_defined_gridgroup_attr_hdl_)  &
235      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name )
236
237  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl)
238
239  SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)   &
240    ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ )
241
242    IMPLICIT NONE
243      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
244      LOGICAL, OPTIONAL, INTENT(OUT) :: description_
245      LOGICAL(KIND=C_BOOL) :: description__tmp
246      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_
247      LOGICAL(KIND=C_BOOL) :: group_ref__tmp
248      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_
249      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp
250      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_
251      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp
252      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_
253      LOGICAL(KIND=C_BOOL) :: mask_3d__tmp
254      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
255      LOGICAL(KIND=C_BOOL) :: name__tmp
256
257      IF (PRESENT(description_)) THEN
258        description__tmp = cxios_is_defined_gridgroup_description(gridgroup_hdl%daddr)
259        description_ = description__tmp
260      ENDIF
261
262      IF (PRESENT(group_ref_)) THEN
263        group_ref__tmp = cxios_is_defined_gridgroup_group_ref(gridgroup_hdl%daddr)
264        group_ref_ = group_ref__tmp
265      ENDIF
266
267      IF (PRESENT(mask_1d_)) THEN
268        mask_1d__tmp = cxios_is_defined_gridgroup_mask_1d(gridgroup_hdl%daddr)
269        mask_1d_ = mask_1d__tmp
270      ENDIF
271
272      IF (PRESENT(mask_2d_)) THEN
273        mask_2d__tmp = cxios_is_defined_gridgroup_mask_2d(gridgroup_hdl%daddr)
274        mask_2d_ = mask_2d__tmp
275      ENDIF
276
277      IF (PRESENT(mask_3d_)) THEN
278        mask_3d__tmp = cxios_is_defined_gridgroup_mask_3d(gridgroup_hdl%daddr)
279        mask_3d_ = mask_3d__tmp
280      ENDIF
281
282      IF (PRESENT(name_)) THEN
283        name__tmp = cxios_is_defined_gridgroup_name(gridgroup_hdl%daddr)
284        name_ = name__tmp
285      ENDIF
286
287  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)
288
289END MODULE igridgroup_attr
Note: See TracBrowser for help on using the repository browser.