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

Last change on this file since 432 was 432, checked in by ymipsl, 11 years ago

Enhancement : Add fortran interface to know if an attribute is set or not
ex : CALL xios_is_defined_field_attr("field_A",enabled=ok)

YM

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