source: XIOS2/trunk/src/interface/fortran_attr/ireorder_domain_attr.F90 @ 2623

Last change on this file since 2623 was 2623, 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.9 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE ireorder_domain_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE ireorder_domain
9  USE reorder_domain_interface_attr
10  USE LOGICAL_BOOL_CONVERSION
11
12CONTAINS
13
14  SUBROUTINE xios(set_reorder_domain_attr)  &
15    ( reorder_domain_id, invert_lat, max_lon, min_lon, shift_lon_fraction )
16
17    IMPLICIT NONE
18      TYPE(txios(reorder_domain))  :: reorder_domain_hdl
19      CHARACTER(LEN=*), INTENT(IN) ::reorder_domain_id
20      LOGICAL  , OPTIONAL, INTENT(IN) :: invert_lat
21      LOGICAL (KIND=C_BOOL) :: invert_lat_tmp
22      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: max_lon
23      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: min_lon
24      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: shift_lon_fraction
25
26      CALL xios(get_reorder_domain_handle) &
27      (reorder_domain_id,reorder_domain_hdl)
28      CALL xios(set_reorder_domain_attr_hdl_)   &
29      ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
30
31  END SUBROUTINE xios(set_reorder_domain_attr)
32
33  SUBROUTINE xios(set_reorder_domain_attr_hdl)  &
34    ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
35
36    IMPLICIT NONE
37      TYPE(txios(reorder_domain)) , INTENT(IN) :: reorder_domain_hdl
38      LOGICAL  , OPTIONAL, INTENT(IN) :: invert_lat
39      LOGICAL (KIND=C_BOOL) :: invert_lat_tmp
40      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: max_lon
41      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: min_lon
42      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: shift_lon_fraction
43
44      CALL xios(set_reorder_domain_attr_hdl_)  &
45      ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
46
47  END SUBROUTINE xios(set_reorder_domain_attr_hdl)
48
49  SUBROUTINE xios(set_reorder_domain_attr_hdl_)   &
50    ( reorder_domain_hdl, invert_lat_, max_lon_, min_lon_, shift_lon_fraction_ )
51
52    IMPLICIT NONE
53      TYPE(txios(reorder_domain)) , INTENT(IN) :: reorder_domain_hdl
54      LOGICAL  , OPTIONAL, INTENT(IN) :: invert_lat_
55      LOGICAL (KIND=C_BOOL) :: invert_lat__tmp
56      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: max_lon_
57      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: min_lon_
58      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: shift_lon_fraction_
59
60      IF (PRESENT(invert_lat_)) THEN
61        invert_lat__tmp = invert_lat_
62        CALL xios_logical_to_bool_0d(invert_lat__tmp)
63        CALL cxios_set_reorder_domain_invert_lat &
64      (reorder_domain_hdl%daddr, invert_lat__tmp)
65      ENDIF
66
67      IF (PRESENT(max_lon_)) THEN
68        CALL cxios_set_reorder_domain_max_lon &
69      (reorder_domain_hdl%daddr, max_lon_)
70      ENDIF
71
72      IF (PRESENT(min_lon_)) THEN
73        CALL cxios_set_reorder_domain_min_lon &
74      (reorder_domain_hdl%daddr, min_lon_)
75      ENDIF
76
77      IF (PRESENT(shift_lon_fraction_)) THEN
78        CALL cxios_set_reorder_domain_shift_lon_fraction &
79      (reorder_domain_hdl%daddr, shift_lon_fraction_)
80      ENDIF
81
82  END SUBROUTINE xios(set_reorder_domain_attr_hdl_)
83
84  SUBROUTINE xios(get_reorder_domain_attr)  &
85    ( reorder_domain_id, invert_lat, max_lon, min_lon, shift_lon_fraction )
86
87    IMPLICIT NONE
88      TYPE(txios(reorder_domain))  :: reorder_domain_hdl
89      CHARACTER(LEN=*), INTENT(IN) ::reorder_domain_id
90      LOGICAL  , OPTIONAL, INTENT(OUT) :: invert_lat
91      LOGICAL (KIND=C_BOOL) :: invert_lat_tmp
92      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: max_lon
93      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: min_lon
94      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: shift_lon_fraction
95
96      CALL xios(get_reorder_domain_handle) &
97      (reorder_domain_id,reorder_domain_hdl)
98      CALL xios(get_reorder_domain_attr_hdl_)   &
99      ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
100
101  END SUBROUTINE xios(get_reorder_domain_attr)
102
103  SUBROUTINE xios(get_reorder_domain_attr_hdl)  &
104    ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
105
106    IMPLICIT NONE
107      TYPE(txios(reorder_domain)) , INTENT(IN) :: reorder_domain_hdl
108      LOGICAL  , OPTIONAL, INTENT(OUT) :: invert_lat
109      LOGICAL (KIND=C_BOOL) :: invert_lat_tmp
110      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: max_lon
111      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: min_lon
112      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: shift_lon_fraction
113
114      CALL xios(get_reorder_domain_attr_hdl_)  &
115      ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
116
117  END SUBROUTINE xios(get_reorder_domain_attr_hdl)
118
119  SUBROUTINE xios(get_reorder_domain_attr_hdl_)   &
120    ( reorder_domain_hdl, invert_lat_, max_lon_, min_lon_, shift_lon_fraction_ )
121
122    IMPLICIT NONE
123      TYPE(txios(reorder_domain)) , INTENT(IN) :: reorder_domain_hdl
124      LOGICAL  , OPTIONAL, INTENT(OUT) :: invert_lat_
125      LOGICAL (KIND=C_BOOL) :: invert_lat__tmp
126      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: max_lon_
127      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: min_lon_
128      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: shift_lon_fraction_
129
130      IF (PRESENT(invert_lat_)) THEN
131        CALL cxios_get_reorder_domain_invert_lat &
132      (reorder_domain_hdl%daddr, invert_lat__tmp)
133        CALL xios_bool_to_logical_0d(invert_lat__tmp)
134        invert_lat_ = invert_lat__tmp
135      ENDIF
136
137      IF (PRESENT(max_lon_)) THEN
138        CALL cxios_get_reorder_domain_max_lon &
139      (reorder_domain_hdl%daddr, max_lon_)
140      ENDIF
141
142      IF (PRESENT(min_lon_)) THEN
143        CALL cxios_get_reorder_domain_min_lon &
144      (reorder_domain_hdl%daddr, min_lon_)
145      ENDIF
146
147      IF (PRESENT(shift_lon_fraction_)) THEN
148        CALL cxios_get_reorder_domain_shift_lon_fraction &
149      (reorder_domain_hdl%daddr, shift_lon_fraction_)
150      ENDIF
151
152  END SUBROUTINE xios(get_reorder_domain_attr_hdl_)
153
154  SUBROUTINE xios(is_defined_reorder_domain_attr)  &
155    ( reorder_domain_id, invert_lat, max_lon, min_lon, shift_lon_fraction )
156
157    IMPLICIT NONE
158      TYPE(txios(reorder_domain))  :: reorder_domain_hdl
159      CHARACTER(LEN=*), INTENT(IN) ::reorder_domain_id
160      LOGICAL, OPTIONAL, INTENT(OUT) :: invert_lat
161      LOGICAL(KIND=C_BOOL) :: invert_lat_tmp
162      LOGICAL, OPTIONAL, INTENT(OUT) :: max_lon
163      LOGICAL(KIND=C_BOOL) :: max_lon_tmp
164      LOGICAL, OPTIONAL, INTENT(OUT) :: min_lon
165      LOGICAL(KIND=C_BOOL) :: min_lon_tmp
166      LOGICAL, OPTIONAL, INTENT(OUT) :: shift_lon_fraction
167      LOGICAL(KIND=C_BOOL) :: shift_lon_fraction_tmp
168
169      CALL xios(get_reorder_domain_handle) &
170      (reorder_domain_id,reorder_domain_hdl)
171      CALL xios(is_defined_reorder_domain_attr_hdl_)   &
172      ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
173
174  END SUBROUTINE xios(is_defined_reorder_domain_attr)
175
176  SUBROUTINE xios(is_defined_reorder_domain_attr_hdl)  &
177    ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
178
179    IMPLICIT NONE
180      TYPE(txios(reorder_domain)) , INTENT(IN) :: reorder_domain_hdl
181      LOGICAL, OPTIONAL, INTENT(OUT) :: invert_lat
182      LOGICAL(KIND=C_BOOL) :: invert_lat_tmp
183      LOGICAL, OPTIONAL, INTENT(OUT) :: max_lon
184      LOGICAL(KIND=C_BOOL) :: max_lon_tmp
185      LOGICAL, OPTIONAL, INTENT(OUT) :: min_lon
186      LOGICAL(KIND=C_BOOL) :: min_lon_tmp
187      LOGICAL, OPTIONAL, INTENT(OUT) :: shift_lon_fraction
188      LOGICAL(KIND=C_BOOL) :: shift_lon_fraction_tmp
189
190      CALL xios(is_defined_reorder_domain_attr_hdl_)  &
191      ( reorder_domain_hdl, invert_lat, max_lon, min_lon, shift_lon_fraction )
192
193  END SUBROUTINE xios(is_defined_reorder_domain_attr_hdl)
194
195  SUBROUTINE xios(is_defined_reorder_domain_attr_hdl_)   &
196    ( reorder_domain_hdl, invert_lat_, max_lon_, min_lon_, shift_lon_fraction_ )
197
198    IMPLICIT NONE
199      TYPE(txios(reorder_domain)) , INTENT(IN) :: reorder_domain_hdl
200      LOGICAL, OPTIONAL, INTENT(OUT) :: invert_lat_
201      LOGICAL(KIND=C_BOOL) :: invert_lat__tmp
202      LOGICAL, OPTIONAL, INTENT(OUT) :: max_lon_
203      LOGICAL(KIND=C_BOOL) :: max_lon__tmp
204      LOGICAL, OPTIONAL, INTENT(OUT) :: min_lon_
205      LOGICAL(KIND=C_BOOL) :: min_lon__tmp
206      LOGICAL, OPTIONAL, INTENT(OUT) :: shift_lon_fraction_
207      LOGICAL(KIND=C_BOOL) :: shift_lon_fraction__tmp
208
209      IF (PRESENT(invert_lat_)) THEN
210        invert_lat__tmp = cxios_is_defined_reorder_domain_invert_lat &
211      (reorder_domain_hdl%daddr)
212        invert_lat_ = invert_lat__tmp
213      ENDIF
214
215      IF (PRESENT(max_lon_)) THEN
216        max_lon__tmp = cxios_is_defined_reorder_domain_max_lon &
217      (reorder_domain_hdl%daddr)
218        max_lon_ = max_lon__tmp
219      ENDIF
220
221      IF (PRESENT(min_lon_)) THEN
222        min_lon__tmp = cxios_is_defined_reorder_domain_min_lon &
223      (reorder_domain_hdl%daddr)
224        min_lon_ = min_lon__tmp
225      ENDIF
226
227      IF (PRESENT(shift_lon_fraction_)) THEN
228        shift_lon_fraction__tmp = cxios_is_defined_reorder_domain_shift_lon_fraction &
229      (reorder_domain_hdl%daddr)
230        shift_lon_fraction_ = shift_lon_fraction__tmp
231      ENDIF
232
233  END SUBROUTINE xios(is_defined_reorder_domain_attr_hdl_)
234
235END MODULE ireorder_domain_attr
Note: See TracBrowser for help on using the repository browser.