source: XIOS3/trunk/src/interface/fortran_attr/iexpand_domain_attr.F90 @ 2620

Last change on this file since 2620 was 2620, checked in by jderouillat, 4 months ago

Modify fortran-C interfaces to manage logical-bool conversion, the optimizations of OneAPI could produce bugs regarding the logical-bool encodings.

File size: 8.8 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE iexpand_domain_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE iexpand_domain
9  USE expand_domain_interface_attr
10  USE LOGICAL_BOOL_CONVERSION
11
12CONTAINS
13
14  SUBROUTINE xios(set_expand_domain_attr)  &
15    ( expand_domain_id, i_periodic, j_periodic, order, type )
16
17    IMPLICIT NONE
18      TYPE(txios(expand_domain))  :: expand_domain_hdl
19      CHARACTER(LEN=*), INTENT(IN) ::expand_domain_id
20      LOGICAL  , OPTIONAL, INTENT(IN) :: i_periodic
21      LOGICAL (KIND=C_BOOL) :: i_periodic_tmp
22      LOGICAL  , OPTIONAL, INTENT(IN) :: j_periodic
23      LOGICAL (KIND=C_BOOL) :: j_periodic_tmp
24      INTEGER  , OPTIONAL, INTENT(IN) :: order
25      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
26
27      CALL xios(get_expand_domain_handle) &
28      (expand_domain_id,expand_domain_hdl)
29      CALL xios(set_expand_domain_attr_hdl_)   &
30      ( expand_domain_hdl, i_periodic, j_periodic, order, type )
31
32  END SUBROUTINE xios(set_expand_domain_attr)
33
34  SUBROUTINE xios(set_expand_domain_attr_hdl)  &
35    ( expand_domain_hdl, i_periodic, j_periodic, order, type )
36
37    IMPLICIT NONE
38      TYPE(txios(expand_domain)) , INTENT(IN) :: expand_domain_hdl
39      LOGICAL  , OPTIONAL, INTENT(IN) :: i_periodic
40      LOGICAL (KIND=C_BOOL) :: i_periodic_tmp
41      LOGICAL  , OPTIONAL, INTENT(IN) :: j_periodic
42      LOGICAL (KIND=C_BOOL) :: j_periodic_tmp
43      INTEGER  , OPTIONAL, INTENT(IN) :: order
44      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
45
46      CALL xios(set_expand_domain_attr_hdl_)  &
47      ( expand_domain_hdl, i_periodic, j_periodic, order, type )
48
49  END SUBROUTINE xios(set_expand_domain_attr_hdl)
50
51  SUBROUTINE xios(set_expand_domain_attr_hdl_)   &
52    ( expand_domain_hdl, i_periodic_, j_periodic_, order_, type_ )
53
54    IMPLICIT NONE
55      TYPE(txios(expand_domain)) , INTENT(IN) :: expand_domain_hdl
56      LOGICAL  , OPTIONAL, INTENT(IN) :: i_periodic_
57      LOGICAL (KIND=C_BOOL) :: i_periodic__tmp
58      LOGICAL  , OPTIONAL, INTENT(IN) :: j_periodic_
59      LOGICAL (KIND=C_BOOL) :: j_periodic__tmp
60      INTEGER  , OPTIONAL, INTENT(IN) :: order_
61      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
62
63      IF (PRESENT(i_periodic_)) THEN
64        i_periodic__tmp = i_periodic_
65        CALL xios_logical_to_bool_0d(i_periodic__tmp)
66        CALL cxios_set_expand_domain_i_periodic &
67      (expand_domain_hdl%daddr, i_periodic__tmp)
68      ENDIF
69
70      IF (PRESENT(j_periodic_)) THEN
71        j_periodic__tmp = j_periodic_
72        CALL xios_logical_to_bool_0d(j_periodic__tmp)
73        CALL cxios_set_expand_domain_j_periodic &
74      (expand_domain_hdl%daddr, j_periodic__tmp)
75      ENDIF
76
77      IF (PRESENT(order_)) THEN
78        CALL cxios_set_expand_domain_order &
79      (expand_domain_hdl%daddr, order_)
80      ENDIF
81
82      IF (PRESENT(type_)) THEN
83        CALL cxios_set_expand_domain_type &
84      (expand_domain_hdl%daddr, type_, len(type_))
85      ENDIF
86
87  END SUBROUTINE xios(set_expand_domain_attr_hdl_)
88
89  SUBROUTINE xios(get_expand_domain_attr)  &
90    ( expand_domain_id, i_periodic, j_periodic, order, type )
91
92    IMPLICIT NONE
93      TYPE(txios(expand_domain))  :: expand_domain_hdl
94      CHARACTER(LEN=*), INTENT(IN) ::expand_domain_id
95      LOGICAL  , OPTIONAL, INTENT(OUT) :: i_periodic
96      LOGICAL (KIND=C_BOOL) :: i_periodic_tmp
97      LOGICAL  , OPTIONAL, INTENT(OUT) :: j_periodic
98      LOGICAL (KIND=C_BOOL) :: j_periodic_tmp
99      INTEGER  , OPTIONAL, INTENT(OUT) :: order
100      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
101
102      CALL xios(get_expand_domain_handle) &
103      (expand_domain_id,expand_domain_hdl)
104      CALL xios(get_expand_domain_attr_hdl_)   &
105      ( expand_domain_hdl, i_periodic, j_periodic, order, type )
106
107  END SUBROUTINE xios(get_expand_domain_attr)
108
109  SUBROUTINE xios(get_expand_domain_attr_hdl)  &
110    ( expand_domain_hdl, i_periodic, j_periodic, order, type )
111
112    IMPLICIT NONE
113      TYPE(txios(expand_domain)) , INTENT(IN) :: expand_domain_hdl
114      LOGICAL  , OPTIONAL, INTENT(OUT) :: i_periodic
115      LOGICAL (KIND=C_BOOL) :: i_periodic_tmp
116      LOGICAL  , OPTIONAL, INTENT(OUT) :: j_periodic
117      LOGICAL (KIND=C_BOOL) :: j_periodic_tmp
118      INTEGER  , OPTIONAL, INTENT(OUT) :: order
119      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
120
121      CALL xios(get_expand_domain_attr_hdl_)  &
122      ( expand_domain_hdl, i_periodic, j_periodic, order, type )
123
124  END SUBROUTINE xios(get_expand_domain_attr_hdl)
125
126  SUBROUTINE xios(get_expand_domain_attr_hdl_)   &
127    ( expand_domain_hdl, i_periodic_, j_periodic_, order_, type_ )
128
129    IMPLICIT NONE
130      TYPE(txios(expand_domain)) , INTENT(IN) :: expand_domain_hdl
131      LOGICAL  , OPTIONAL, INTENT(OUT) :: i_periodic_
132      LOGICAL (KIND=C_BOOL) :: i_periodic__tmp
133      LOGICAL  , OPTIONAL, INTENT(OUT) :: j_periodic_
134      LOGICAL (KIND=C_BOOL) :: j_periodic__tmp
135      INTEGER  , OPTIONAL, INTENT(OUT) :: order_
136      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
137
138      IF (PRESENT(i_periodic_)) THEN
139        CALL cxios_get_expand_domain_i_periodic &
140      (expand_domain_hdl%daddr, i_periodic__tmp)
141        CALL xios_bool_to_logical_0d(i_periodic__tmp)
142        i_periodic_ = i_periodic__tmp
143      ENDIF
144
145      IF (PRESENT(j_periodic_)) THEN
146        CALL cxios_get_expand_domain_j_periodic &
147      (expand_domain_hdl%daddr, j_periodic__tmp)
148        CALL xios_bool_to_logical_0d(j_periodic__tmp)
149        j_periodic_ = j_periodic__tmp
150      ENDIF
151
152      IF (PRESENT(order_)) THEN
153        CALL cxios_get_expand_domain_order &
154      (expand_domain_hdl%daddr, order_)
155      ENDIF
156
157      IF (PRESENT(type_)) THEN
158        CALL cxios_get_expand_domain_type &
159      (expand_domain_hdl%daddr, type_, len(type_))
160      ENDIF
161
162  END SUBROUTINE xios(get_expand_domain_attr_hdl_)
163
164  SUBROUTINE xios(is_defined_expand_domain_attr)  &
165    ( expand_domain_id, i_periodic, j_periodic, order, type )
166
167    IMPLICIT NONE
168      TYPE(txios(expand_domain))  :: expand_domain_hdl
169      CHARACTER(LEN=*), INTENT(IN) ::expand_domain_id
170      LOGICAL, OPTIONAL, INTENT(OUT) :: i_periodic
171      LOGICAL(KIND=C_BOOL) :: i_periodic_tmp
172      LOGICAL, OPTIONAL, INTENT(OUT) :: j_periodic
173      LOGICAL(KIND=C_BOOL) :: j_periodic_tmp
174      LOGICAL, OPTIONAL, INTENT(OUT) :: order
175      LOGICAL(KIND=C_BOOL) :: order_tmp
176      LOGICAL, OPTIONAL, INTENT(OUT) :: type
177      LOGICAL(KIND=C_BOOL) :: type_tmp
178
179      CALL xios(get_expand_domain_handle) &
180      (expand_domain_id,expand_domain_hdl)
181      CALL xios(is_defined_expand_domain_attr_hdl_)   &
182      ( expand_domain_hdl, i_periodic, j_periodic, order, type )
183
184  END SUBROUTINE xios(is_defined_expand_domain_attr)
185
186  SUBROUTINE xios(is_defined_expand_domain_attr_hdl)  &
187    ( expand_domain_hdl, i_periodic, j_periodic, order, type )
188
189    IMPLICIT NONE
190      TYPE(txios(expand_domain)) , INTENT(IN) :: expand_domain_hdl
191      LOGICAL, OPTIONAL, INTENT(OUT) :: i_periodic
192      LOGICAL(KIND=C_BOOL) :: i_periodic_tmp
193      LOGICAL, OPTIONAL, INTENT(OUT) :: j_periodic
194      LOGICAL(KIND=C_BOOL) :: j_periodic_tmp
195      LOGICAL, OPTIONAL, INTENT(OUT) :: order
196      LOGICAL(KIND=C_BOOL) :: order_tmp
197      LOGICAL, OPTIONAL, INTENT(OUT) :: type
198      LOGICAL(KIND=C_BOOL) :: type_tmp
199
200      CALL xios(is_defined_expand_domain_attr_hdl_)  &
201      ( expand_domain_hdl, i_periodic, j_periodic, order, type )
202
203  END SUBROUTINE xios(is_defined_expand_domain_attr_hdl)
204
205  SUBROUTINE xios(is_defined_expand_domain_attr_hdl_)   &
206    ( expand_domain_hdl, i_periodic_, j_periodic_, order_, type_ )
207
208    IMPLICIT NONE
209      TYPE(txios(expand_domain)) , INTENT(IN) :: expand_domain_hdl
210      LOGICAL, OPTIONAL, INTENT(OUT) :: i_periodic_
211      LOGICAL(KIND=C_BOOL) :: i_periodic__tmp
212      LOGICAL, OPTIONAL, INTENT(OUT) :: j_periodic_
213      LOGICAL(KIND=C_BOOL) :: j_periodic__tmp
214      LOGICAL, OPTIONAL, INTENT(OUT) :: order_
215      LOGICAL(KIND=C_BOOL) :: order__tmp
216      LOGICAL, OPTIONAL, INTENT(OUT) :: type_
217      LOGICAL(KIND=C_BOOL) :: type__tmp
218
219      IF (PRESENT(i_periodic_)) THEN
220        i_periodic__tmp = cxios_is_defined_expand_domain_i_periodic &
221      (expand_domain_hdl%daddr)
222        i_periodic_ = i_periodic__tmp
223      ENDIF
224
225      IF (PRESENT(j_periodic_)) THEN
226        j_periodic__tmp = cxios_is_defined_expand_domain_j_periodic &
227      (expand_domain_hdl%daddr)
228        j_periodic_ = j_periodic__tmp
229      ENDIF
230
231      IF (PRESENT(order_)) THEN
232        order__tmp = cxios_is_defined_expand_domain_order &
233      (expand_domain_hdl%daddr)
234        order_ = order__tmp
235      ENDIF
236
237      IF (PRESENT(type_)) THEN
238        type__tmp = cxios_is_defined_expand_domain_type &
239      (expand_domain_hdl%daddr)
240        type_ = type__tmp
241      ENDIF
242
243  END SUBROUTINE xios(is_defined_expand_domain_attr_hdl_)
244
245END MODULE iexpand_domain_attr
Note: See TracBrowser for help on using the repository browser.