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

Last change on this file since 674 was 674, checked in by rlacroix, 6 years ago

Fix Fortran interface generation to avoid generating long lines.

Long lines can cause compilation issues with some compilers.

  • 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.7 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, axis_domain_order, description, mask1, mask2, mask3, name )
15
16    IMPLICIT NONE
17      TYPE(txios(grid))  :: grid_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::grid_id
19      LOGICAL  , OPTIONAL, INTENT(IN) :: axis_domain_order(:)
20      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)
21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
22      LOGICAL  , OPTIONAL, INTENT(IN) :: mask1(:)
23      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:)
24      LOGICAL  , OPTIONAL, INTENT(IN) :: mask2(:,:)
25      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:)
26      LOGICAL  , OPTIONAL, INTENT(IN) :: mask3(:,:,:)
27      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:)
28      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
29
30      CALL xios(get_grid_handle)(grid_id,grid_hdl)
31      CALL xios(set_grid_attr_hdl_)   &
32      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
33
34  END SUBROUTINE xios(set_grid_attr)
35
36  SUBROUTINE xios(set_grid_attr_hdl)  &
37    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
38
39    IMPLICIT NONE
40      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
41      LOGICAL  , OPTIONAL, INTENT(IN) :: axis_domain_order(:)
42      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)
43      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
44      LOGICAL  , OPTIONAL, INTENT(IN) :: mask1(:)
45      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:)
46      LOGICAL  , OPTIONAL, INTENT(IN) :: mask2(:,:)
47      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:)
48      LOGICAL  , OPTIONAL, INTENT(IN) :: mask3(:,:,:)
49      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:)
50      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
51
52      CALL xios(set_grid_attr_hdl_)  &
53      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
54
55  END SUBROUTINE xios(set_grid_attr_hdl)
56
57  SUBROUTINE xios(set_grid_attr_hdl_)   &
58    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ )
59
60    IMPLICIT NONE
61      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
62      LOGICAL  , OPTIONAL, INTENT(IN) :: axis_domain_order_(:)
63      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:)
64      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
65      LOGICAL  , OPTIONAL, INTENT(IN) :: mask1_(:)
66      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:)
67      LOGICAL  , OPTIONAL, INTENT(IN) :: mask2_(:,:)
68      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:)
69      LOGICAL  , OPTIONAL, INTENT(IN) :: mask3_(:,:,:)
70      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:)
71      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
72
73      IF (PRESENT(axis_domain_order_)) THEN
74        ALLOCATE(axis_domain_order__tmp(SIZE(axis_domain_order_,1)))
75        axis_domain_order__tmp = axis_domain_order_
76        CALL cxios_set_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp, SHAPE(axis_domain_order_))
77      ENDIF
78
79      IF (PRESENT(description_)) THEN
80        CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_))
81      ENDIF
82
83      IF (PRESENT(mask1_)) THEN
84        ALLOCATE(mask1__tmp(SIZE(mask1_,1)))
85        mask1__tmp = mask1_
86        CALL cxios_set_grid_mask1(grid_hdl%daddr, mask1__tmp, SHAPE(mask1_))
87      ENDIF
88
89      IF (PRESENT(mask2_)) THEN
90        ALLOCATE(mask2__tmp(SIZE(mask2_,1), SIZE(mask2_,2)))
91        mask2__tmp = mask2_
92        CALL cxios_set_grid_mask2(grid_hdl%daddr, mask2__tmp, SHAPE(mask2_))
93      ENDIF
94
95      IF (PRESENT(mask3_)) THEN
96        ALLOCATE(mask3__tmp(SIZE(mask3_,1), SIZE(mask3_,2), SIZE(mask3_,3)))
97        mask3__tmp = mask3_
98        CALL cxios_set_grid_mask3(grid_hdl%daddr, mask3__tmp, SHAPE(mask3_))
99      ENDIF
100
101      IF (PRESENT(name_)) THEN
102        CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_))
103      ENDIF
104
105  END SUBROUTINE xios(set_grid_attr_hdl_)
106
107  SUBROUTINE xios(get_grid_attr)  &
108    ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name )
109
110    IMPLICIT NONE
111      TYPE(txios(grid))  :: grid_hdl
112      CHARACTER(LEN=*), INTENT(IN) ::grid_id
113      LOGICAL  , OPTIONAL, INTENT(OUT) :: axis_domain_order(:)
114      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)
115      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
116      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask1(:)
117      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:)
118      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask2(:,:)
119      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:)
120      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask3(:,:,:)
121      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:)
122      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
123
124      CALL xios(get_grid_handle)(grid_id,grid_hdl)
125      CALL xios(get_grid_attr_hdl_)   &
126      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
127
128  END SUBROUTINE xios(get_grid_attr)
129
130  SUBROUTINE xios(get_grid_attr_hdl)  &
131    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
132
133    IMPLICIT NONE
134      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
135      LOGICAL  , OPTIONAL, INTENT(OUT) :: axis_domain_order(:)
136      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)
137      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
138      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask1(:)
139      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:)
140      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask2(:,:)
141      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:)
142      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask3(:,:,:)
143      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:)
144      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
145
146      CALL xios(get_grid_attr_hdl_)  &
147      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
148
149  END SUBROUTINE xios(get_grid_attr_hdl)
150
151  SUBROUTINE xios(get_grid_attr_hdl_)   &
152    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ )
153
154    IMPLICIT NONE
155      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
156      LOGICAL  , OPTIONAL, INTENT(OUT) :: axis_domain_order_(:)
157      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:)
158      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
159      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask1_(:)
160      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:)
161      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask2_(:,:)
162      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:)
163      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask3_(:,:,:)
164      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:)
165      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
166
167      IF (PRESENT(axis_domain_order_)) THEN
168        ALLOCATE(axis_domain_order__tmp(SIZE(axis_domain_order_,1)))
169        CALL cxios_get_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp, SHAPE(axis_domain_order_))
170        axis_domain_order_ = axis_domain_order__tmp
171      ENDIF
172
173      IF (PRESENT(description_)) THEN
174        CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_))
175      ENDIF
176
177      IF (PRESENT(mask1_)) THEN
178        ALLOCATE(mask1__tmp(SIZE(mask1_,1)))
179        CALL cxios_get_grid_mask1(grid_hdl%daddr, mask1__tmp, SHAPE(mask1_))
180        mask1_ = mask1__tmp
181      ENDIF
182
183      IF (PRESENT(mask2_)) THEN
184        ALLOCATE(mask2__tmp(SIZE(mask2_,1), SIZE(mask2_,2)))
185        CALL cxios_get_grid_mask2(grid_hdl%daddr, mask2__tmp, SHAPE(mask2_))
186        mask2_ = mask2__tmp
187      ENDIF
188
189      IF (PRESENT(mask3_)) THEN
190        ALLOCATE(mask3__tmp(SIZE(mask3_,1), SIZE(mask3_,2), SIZE(mask3_,3)))
191        CALL cxios_get_grid_mask3(grid_hdl%daddr, mask3__tmp, SHAPE(mask3_))
192        mask3_ = mask3__tmp
193      ENDIF
194
195      IF (PRESENT(name_)) THEN
196        CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_))
197      ENDIF
198
199  END SUBROUTINE xios(get_grid_attr_hdl_)
200
201  SUBROUTINE xios(is_defined_grid_attr)  &
202    ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name )
203
204    IMPLICIT NONE
205      TYPE(txios(grid))  :: grid_hdl
206      CHARACTER(LEN=*), INTENT(IN) ::grid_id
207      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order
208      LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp
209      LOGICAL, OPTIONAL, INTENT(OUT) :: description
210      LOGICAL(KIND=C_BOOL) :: description_tmp
211      LOGICAL, OPTIONAL, INTENT(OUT) :: mask1
212      LOGICAL(KIND=C_BOOL) :: mask1_tmp
213      LOGICAL, OPTIONAL, INTENT(OUT) :: mask2
214      LOGICAL(KIND=C_BOOL) :: mask2_tmp
215      LOGICAL, OPTIONAL, INTENT(OUT) :: mask3
216      LOGICAL(KIND=C_BOOL) :: mask3_tmp
217      LOGICAL, OPTIONAL, INTENT(OUT) :: name
218      LOGICAL(KIND=C_BOOL) :: name_tmp
219
220      CALL xios(get_grid_handle)(grid_id,grid_hdl)
221      CALL xios(is_defined_grid_attr_hdl_)   &
222      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
223
224  END SUBROUTINE xios(is_defined_grid_attr)
225
226  SUBROUTINE xios(is_defined_grid_attr_hdl)  &
227    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
228
229    IMPLICIT NONE
230      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
231      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order
232      LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp
233      LOGICAL, OPTIONAL, INTENT(OUT) :: description
234      LOGICAL(KIND=C_BOOL) :: description_tmp
235      LOGICAL, OPTIONAL, INTENT(OUT) :: mask1
236      LOGICAL(KIND=C_BOOL) :: mask1_tmp
237      LOGICAL, OPTIONAL, INTENT(OUT) :: mask2
238      LOGICAL(KIND=C_BOOL) :: mask2_tmp
239      LOGICAL, OPTIONAL, INTENT(OUT) :: mask3
240      LOGICAL(KIND=C_BOOL) :: mask3_tmp
241      LOGICAL, OPTIONAL, INTENT(OUT) :: name
242      LOGICAL(KIND=C_BOOL) :: name_tmp
243
244      CALL xios(is_defined_grid_attr_hdl_)  &
245      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
246
247  END SUBROUTINE xios(is_defined_grid_attr_hdl)
248
249  SUBROUTINE xios(is_defined_grid_attr_hdl_)   &
250    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ )
251
252    IMPLICIT NONE
253      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
254      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order_
255      LOGICAL(KIND=C_BOOL) :: axis_domain_order__tmp
256      LOGICAL, OPTIONAL, INTENT(OUT) :: description_
257      LOGICAL(KIND=C_BOOL) :: description__tmp
258      LOGICAL, OPTIONAL, INTENT(OUT) :: mask1_
259      LOGICAL(KIND=C_BOOL) :: mask1__tmp
260      LOGICAL, OPTIONAL, INTENT(OUT) :: mask2_
261      LOGICAL(KIND=C_BOOL) :: mask2__tmp
262      LOGICAL, OPTIONAL, INTENT(OUT) :: mask3_
263      LOGICAL(KIND=C_BOOL) :: mask3__tmp
264      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
265      LOGICAL(KIND=C_BOOL) :: name__tmp
266
267      IF (PRESENT(axis_domain_order_)) THEN
268        axis_domain_order__tmp = cxios_is_defined_grid_axis_domain_order(grid_hdl%daddr)
269        axis_domain_order_ = axis_domain_order__tmp
270      ENDIF
271
272      IF (PRESENT(description_)) THEN
273        description__tmp = cxios_is_defined_grid_description(grid_hdl%daddr)
274        description_ = description__tmp
275      ENDIF
276
277      IF (PRESENT(mask1_)) THEN
278        mask1__tmp = cxios_is_defined_grid_mask1(grid_hdl%daddr)
279        mask1_ = mask1__tmp
280      ENDIF
281
282      IF (PRESENT(mask2_)) THEN
283        mask2__tmp = cxios_is_defined_grid_mask2(grid_hdl%daddr)
284        mask2_ = mask2__tmp
285      ENDIF
286
287      IF (PRESENT(mask3_)) THEN
288        mask3__tmp = cxios_is_defined_grid_mask3(grid_hdl%daddr)
289        mask3_ = mask3__tmp
290      ENDIF
291
292      IF (PRESENT(name_)) THEN
293        name__tmp = cxios_is_defined_grid_name(grid_hdl%daddr)
294        name_ = name__tmp
295      ENDIF
296
297  END SUBROUTINE xios(is_defined_grid_attr_hdl_)
298
299END MODULE igrid_attr
Note: See TracBrowser for help on using the repository browser.