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

Last change on this file since 817 was 817, checked in by mhnguyen, 6 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: 9.9 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, name )
15
16    IMPLICIT NONE
17      TYPE(txios(grid))  :: grid_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::grid_id
19      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
20      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
21      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
22      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
23      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
24      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
25      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
26      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
27
28      CALL xios(get_grid_handle)(grid_id,grid_hdl)
29      CALL xios(set_grid_attr_hdl_)   &
30      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
31
32  END SUBROUTINE xios(set_grid_attr)
33
34  SUBROUTINE xios(set_grid_attr_hdl)  &
35    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
36
37    IMPLICIT NONE
38      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
39      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
40      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
41      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
42      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
43      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
44      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:)
45      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
46      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
47
48      CALL xios(set_grid_attr_hdl_)  &
49      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
50
51  END SUBROUTINE xios(set_grid_attr_hdl)
52
53  SUBROUTINE xios(set_grid_attr_hdl_)   &
54    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ )
55
56    IMPLICIT NONE
57      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
58      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
59      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:)
60      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
61      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:)
62      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
63      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:)
64      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
65      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
66
67      IF (PRESENT(description_)) THEN
68        CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_))
69      ENDIF
70
71      IF (PRESENT(mask_1d_)) THEN
72        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
73        mask_1d__tmp = mask_1d_
74        CALL cxios_set_grid_mask_1d(grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
75      ENDIF
76
77      IF (PRESENT(mask_2d_)) THEN
78        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
79        mask_2d__tmp = mask_2d_
80        CALL cxios_set_grid_mask_2d(grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
81      ENDIF
82
83      IF (PRESENT(mask_3d_)) THEN
84        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
85        mask_3d__tmp = mask_3d_
86        CALL cxios_set_grid_mask_3d(grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
87      ENDIF
88
89      IF (PRESENT(name_)) THEN
90        CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_))
91      ENDIF
92
93  END SUBROUTINE xios(set_grid_attr_hdl_)
94
95  SUBROUTINE xios(get_grid_attr)  &
96    ( grid_id, description, mask_1d, mask_2d, mask_3d, name )
97
98    IMPLICIT NONE
99      TYPE(txios(grid))  :: grid_hdl
100      CHARACTER(LEN=*), INTENT(IN) ::grid_id
101      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
102      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
103      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
104      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
105      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
106      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
107      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
108      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
109
110      CALL xios(get_grid_handle)(grid_id,grid_hdl)
111      CALL xios(get_grid_attr_hdl_)   &
112      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
113
114  END SUBROUTINE xios(get_grid_attr)
115
116  SUBROUTINE xios(get_grid_attr_hdl)  &
117    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
118
119    IMPLICIT NONE
120      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
121      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
122      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
123      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
124      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
125      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
126      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:)
127      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:)
128      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
129
130      CALL xios(get_grid_attr_hdl_)  &
131      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
132
133  END SUBROUTINE xios(get_grid_attr_hdl)
134
135  SUBROUTINE xios(get_grid_attr_hdl_)   &
136    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ )
137
138    IMPLICIT NONE
139      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
140      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
141      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:)
142      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
143      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:)
144      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
145      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:)
146      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:)
147      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
148
149      IF (PRESENT(description_)) THEN
150        CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_))
151      ENDIF
152
153      IF (PRESENT(mask_1d_)) THEN
154        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
155        CALL cxios_get_grid_mask_1d(grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
156        mask_1d_ = mask_1d__tmp
157      ENDIF
158
159      IF (PRESENT(mask_2d_)) THEN
160        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
161        CALL cxios_get_grid_mask_2d(grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
162        mask_2d_ = mask_2d__tmp
163      ENDIF
164
165      IF (PRESENT(mask_3d_)) THEN
166        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3)))
167        CALL cxios_get_grid_mask_3d(grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_))
168        mask_3d_ = mask_3d__tmp
169      ENDIF
170
171      IF (PRESENT(name_)) THEN
172        CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_))
173      ENDIF
174
175  END SUBROUTINE xios(get_grid_attr_hdl_)
176
177  SUBROUTINE xios(is_defined_grid_attr)  &
178    ( grid_id, description, mask_1d, mask_2d, mask_3d, name )
179
180    IMPLICIT NONE
181      TYPE(txios(grid))  :: grid_hdl
182      CHARACTER(LEN=*), INTENT(IN) ::grid_id
183      LOGICAL, OPTIONAL, INTENT(OUT) :: description
184      LOGICAL(KIND=C_BOOL) :: description_tmp
185      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
186      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
187      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
188      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
189      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
190      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
191      LOGICAL, OPTIONAL, INTENT(OUT) :: name
192      LOGICAL(KIND=C_BOOL) :: name_tmp
193
194      CALL xios(get_grid_handle)(grid_id,grid_hdl)
195      CALL xios(is_defined_grid_attr_hdl_)   &
196      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
197
198  END SUBROUTINE xios(is_defined_grid_attr)
199
200  SUBROUTINE xios(is_defined_grid_attr_hdl)  &
201    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
202
203    IMPLICIT NONE
204      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
205      LOGICAL, OPTIONAL, INTENT(OUT) :: description
206      LOGICAL(KIND=C_BOOL) :: description_tmp
207      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
208      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
209      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
210      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
211      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d
212      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp
213      LOGICAL, OPTIONAL, INTENT(OUT) :: name
214      LOGICAL(KIND=C_BOOL) :: name_tmp
215
216      CALL xios(is_defined_grid_attr_hdl_)  &
217      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name )
218
219  END SUBROUTINE xios(is_defined_grid_attr_hdl)
220
221  SUBROUTINE xios(is_defined_grid_attr_hdl_)   &
222    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ )
223
224    IMPLICIT NONE
225      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
226      LOGICAL, OPTIONAL, INTENT(OUT) :: description_
227      LOGICAL(KIND=C_BOOL) :: description__tmp
228      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_
229      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp
230      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_
231      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp
232      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_
233      LOGICAL(KIND=C_BOOL) :: mask_3d__tmp
234      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
235      LOGICAL(KIND=C_BOOL) :: name__tmp
236
237      IF (PRESENT(description_)) THEN
238        description__tmp = cxios_is_defined_grid_description(grid_hdl%daddr)
239        description_ = description__tmp
240      ENDIF
241
242      IF (PRESENT(mask_1d_)) THEN
243        mask_1d__tmp = cxios_is_defined_grid_mask_1d(grid_hdl%daddr)
244        mask_1d_ = mask_1d__tmp
245      ENDIF
246
247      IF (PRESENT(mask_2d_)) THEN
248        mask_2d__tmp = cxios_is_defined_grid_mask_2d(grid_hdl%daddr)
249        mask_2d_ = mask_2d__tmp
250      ENDIF
251
252      IF (PRESENT(mask_3d_)) THEN
253        mask_3d__tmp = cxios_is_defined_grid_mask_3d(grid_hdl%daddr)
254        mask_3d_ = mask_3d__tmp
255      ENDIF
256
257      IF (PRESENT(name_)) THEN
258        name__tmp = cxios_is_defined_grid_name(grid_hdl%daddr)
259        name_ = name__tmp
260      ENDIF
261
262  END SUBROUTINE xios(is_defined_grid_attr_hdl_)
263
264END MODULE igrid_attr
Note: See TracBrowser for help on using the repository browser.