source: XIOS/trunk/src/interface/fortran_attr/igrid_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: 9.1 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_ref, description, domain_ref, mask, name )
15   
16    IMPLICIT NONE
17      TYPE(txios(grid))  :: grid_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::grid_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      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
23      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
24      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
25     
26      CALL xios(get_grid_handle)(grid_id,grid_hdl)
27      CALL xios(set_grid_attr_hdl_)   &
28      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
29   
30  END SUBROUTINE xios(set_grid_attr)
31 
32  SUBROUTINE xios(set_grid_attr_hdl)  &
33    ( grid_hdl, axis_ref, description, domain_ref, mask, name )
34   
35    IMPLICIT NONE
36      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
37      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
38      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
39      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
40      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
41      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
42      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
43     
44      CALL xios(set_grid_attr_hdl_)  &
45      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
46   
47  END SUBROUTINE xios(set_grid_attr_hdl)
48 
49  SUBROUTINE xios(set_grid_attr_hdl_)   &
50    ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ )
51   
52    IMPLICIT NONE
53      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
54      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
55      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
56      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
57      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:,:)
58      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:)
59      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
60     
61      IF (PRESENT(axis_ref_)) THEN
62        CALL cxios_set_grid_axis_ref(grid_hdl%daddr, axis_ref_, len(axis_ref_))
63      ENDIF
64     
65      IF (PRESENT(description_)) THEN
66        CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_))
67      ENDIF
68     
69      IF (PRESENT(domain_ref_)) THEN
70        CALL cxios_set_grid_domain_ref(grid_hdl%daddr, domain_ref_, len(domain_ref_))
71      ENDIF
72     
73      IF (PRESENT(mask_)) THEN
74        ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3)))
75        mask__tmp=mask_
76        CALL cxios_set_grid_mask(grid_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3))
77      ENDIF
78     
79      IF (PRESENT(name_)) THEN
80        CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_))
81      ENDIF
82     
83     
84   
85  END SUBROUTINE xios(set_grid_attr_hdl_)
86 
87  SUBROUTINE xios(get_grid_attr)  &
88    ( grid_id, axis_ref, description, domain_ref, mask, name )
89   
90    IMPLICIT NONE
91      TYPE(txios(grid))  :: grid_hdl
92      CHARACTER(LEN=*), INTENT(IN) ::grid_id
93      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
94      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
95      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
96      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
97      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
98      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
99     
100      CALL xios(get_grid_handle)(grid_id,grid_hdl)
101      CALL xios(get_grid_attr_hdl_)   &
102      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
103   
104  END SUBROUTINE xios(get_grid_attr)
105 
106  SUBROUTINE xios(get_grid_attr_hdl)  &
107    ( grid_hdl, axis_ref, description, domain_ref, mask, name )
108   
109    IMPLICIT NONE
110      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
111      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
112      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
113      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
114      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
115      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
116      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
117     
118      CALL xios(get_grid_attr_hdl_)  &
119      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
120   
121  END SUBROUTINE xios(get_grid_attr_hdl)
122 
123  SUBROUTINE xios(get_grid_attr_hdl_)   &
124    ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ )
125   
126    IMPLICIT NONE
127      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
128      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
129      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
130      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
131      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:,:)
132      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:)
133      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
134     
135      IF (PRESENT(axis_ref_)) THEN
136        CALL cxios_get_grid_axis_ref(grid_hdl%daddr, axis_ref_, len(axis_ref_))
137      ENDIF
138     
139      IF (PRESENT(description_)) THEN
140        CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_))
141      ENDIF
142     
143      IF (PRESENT(domain_ref_)) THEN
144        CALL cxios_get_grid_domain_ref(grid_hdl%daddr, domain_ref_, len(domain_ref_))
145      ENDIF
146     
147      IF (PRESENT(mask_)) THEN
148        ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3)))
149        CALL cxios_get_grid_mask(grid_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3))
150        mask_=mask__tmp
151      ENDIF
152     
153      IF (PRESENT(name_)) THEN
154        CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_))
155      ENDIF
156     
157     
158   
159  END SUBROUTINE xios(get_grid_attr_hdl_)
160 
161  SUBROUTINE xios(is_defined_grid_attr)  &
162    ( grid_id, axis_ref, description, domain_ref, mask, name )
163   
164    IMPLICIT NONE
165      TYPE(txios(grid))  :: grid_hdl
166      CHARACTER(LEN=*), INTENT(IN) ::grid_id
167      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
168      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
169      LOGICAL, OPTIONAL, INTENT(OUT) :: description
170      LOGICAL(KIND=C_BOOL) :: description_tmp
171      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
172      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
173      LOGICAL, OPTIONAL, INTENT(OUT) :: mask
174      LOGICAL(KIND=C_BOOL) :: mask_tmp
175      LOGICAL, OPTIONAL, INTENT(OUT) :: name
176      LOGICAL(KIND=C_BOOL) :: name_tmp
177     
178      CALL xios(get_grid_handle)(grid_id,grid_hdl)
179      CALL xios(is_defined_grid_attr_hdl_)   &
180      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
181   
182  END SUBROUTINE xios(is_defined_grid_attr)
183 
184  SUBROUTINE xios(is_defined_grid_attr_hdl)  &
185    ( grid_hdl, axis_ref, description, domain_ref, mask, name )
186   
187    IMPLICIT NONE
188      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
189      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
190      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
191      LOGICAL, OPTIONAL, INTENT(OUT) :: description
192      LOGICAL(KIND=C_BOOL) :: description_tmp
193      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
194      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
195      LOGICAL, OPTIONAL, INTENT(OUT) :: mask
196      LOGICAL(KIND=C_BOOL) :: mask_tmp
197      LOGICAL, OPTIONAL, INTENT(OUT) :: name
198      LOGICAL(KIND=C_BOOL) :: name_tmp
199     
200      CALL xios(is_defined_grid_attr_hdl_)  &
201      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
202   
203  END SUBROUTINE xios(is_defined_grid_attr_hdl)
204 
205  SUBROUTINE xios(is_defined_grid_attr_hdl_)   &
206    ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ )
207   
208    IMPLICIT NONE
209      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
210      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
211      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
212      LOGICAL, OPTIONAL, INTENT(OUT) :: description_
213      LOGICAL(KIND=C_BOOL) :: description__tmp
214      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
215      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
216      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_
217      LOGICAL(KIND=C_BOOL) :: mask__tmp
218      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
219      LOGICAL(KIND=C_BOOL) :: name__tmp
220     
221      IF (PRESENT(axis_ref_)) THEN
222        axis_ref__tmp=cxios_is_defined_grid_axis_ref(grid_hdl%daddr)
223        axis_ref_=axis_ref__tmp
224      ENDIF
225     
226      IF (PRESENT(description_)) THEN
227        description__tmp=cxios_is_defined_grid_description(grid_hdl%daddr)
228        description_=description__tmp
229      ENDIF
230     
231      IF (PRESENT(domain_ref_)) THEN
232        domain_ref__tmp=cxios_is_defined_grid_domain_ref(grid_hdl%daddr)
233        domain_ref_=domain_ref__tmp
234      ENDIF
235     
236      IF (PRESENT(mask_)) THEN
237        mask__tmp=cxios_is_defined_grid_mask(grid_hdl%daddr)
238        mask_=mask__tmp
239      ENDIF
240     
241      IF (PRESENT(name_)) THEN
242        name__tmp=cxios_is_defined_grid_name(grid_hdl%daddr)
243        name_=name__tmp
244      ENDIF
245     
246     
247   
248  END SUBROUTINE xios(is_defined_grid_attr_hdl_)
249 
250END MODULE igrid_attr
Note: See TracBrowser for help on using the repository browser.