source: XIOS/trunk/src/interface/fortran/idata.F90 @ 2131

Last change on this file since 2131 was 2131, checked in by oabramkina, 3 years ago

Merging branch dev_oa with tiling into trunk

  • 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: 83.3 KB
RevLine 
[325]1#include "xios_fortran_prefix.hpp"
2
3MODULE IDATA
4   USE, INTRINSIC :: ISO_C_BINDING
5   USE ICONTEXT
[2025]6   USE IFIELD
[489]7
[325]8   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99
9
[1054]10      SUBROUTINE  cxios_init_server() BIND(C)
[325]11      END SUBROUTINE cxios_init_server
12
13     SUBROUTINE cxios_init_client(client_id, len_client_id, f_local_comm, f_return_comm) BIND(C)
14         USE ISO_C_BINDING
15         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: client_id
16         INTEGER  (kind = C_INT)     , VALUE        :: len_client_id
17         INTEGER  (kind = C_INT)                    :: f_local_comm
18         INTEGER  (kind = C_INT)                    :: f_return_comm
19      END SUBROUTINE cxios_init_client
[489]20
[325]21      SUBROUTINE  cxios_context_initialize(context_id,len_context_id,f_comm) BIND(C)
22         USE ISO_C_BINDING
23         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: context_id
24         INTEGER  (kind = C_INT)     , VALUE        :: len_context_id
25         INTEGER  (kind = C_INT)                    :: f_comm
26      END SUBROUTINE cxios_context_initialize
27
[461]28      SUBROUTINE cxios_context_is_initialized(context_id,len_context_id,initialized) BIND(C)
29         USE ISO_C_BINDING
30         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: context_id
31         INTEGER  (kind = C_INT)     , VALUE        :: len_context_id
32         LOGICAL  (kind = C_BOOL)                   :: initialized
33      END SUBROUTINE cxios_context_is_initialized
[489]34
35
[325]36       SUBROUTINE  cxios_context_close_definition() BIND(C)
37         USE ISO_C_BINDING
38      END SUBROUTINE cxios_context_close_definition
39
[489]40
[325]41       SUBROUTINE  cxios_context_finalize() BIND(C)
42         USE ISO_C_BINDING
43      END SUBROUTINE cxios_context_finalize
[489]44
[1587]45      SUBROUTINE  cxios_oasis_enddef() BIND(C)
46         USE ISO_C_BINDING
47      END SUBROUTINE cxios_oasis_enddef
48     
[325]49      SUBROUTINE  cxios_finalize() BIND(C)
50      END SUBROUTINE cxios_finalize
51
[445]52      SUBROUTINE  cxios_solve_inheritance() BIND(C)
53      END SUBROUTINE cxios_solve_inheritance
54
[2025]55      SUBROUTINE cxios_write_data_k80_hdl(field_hdl, data_k8, data_Xsize) BIND(C)
56         USE ISO_C_BINDING
57         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
58         REAL     (kind = C_DOUBLE)               :: data_k8
59         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
60      END SUBROUTINE cxios_write_data_k80_hdl
61
[586]62      SUBROUTINE cxios_write_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C)
63         USE ISO_C_BINDING
64         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
65         REAL     (kind = C_DOUBLE)               :: data_k8
66         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
67         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
68      END SUBROUTINE cxios_write_data_k80
[489]69
[2131]70      SUBROUTINE cxios_write_data_k81_hdl(field_hdl, data_k8, data_Xsize, tileid) BIND(C)
[2025]71         USE ISO_C_BINDING
72         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
73         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
74         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
[2131]75         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]76      END SUBROUTINE cxios_write_data_k81_hdl
77
[2131]78      SUBROUTINE cxios_write_data_k81(fieldid, fieldid_size, data_k8, data_Xsize, tileid) BIND(C)
[325]79         USE ISO_C_BINDING
80         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
81         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
82         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
83         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
[2131]84         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[325]85      END SUBROUTINE cxios_write_data_k81
[489]86
[2131]87      SUBROUTINE cxios_write_data_k82_hdl(field_hdl, data_k8, data_Xsize, data_Ysize, tileid) BIND(C)
[2025]88         USE ISO_C_BINDING
89         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
90         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
91         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize
[2131]92         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]93      END SUBROUTINE cxios_write_data_k82_hdl
94
[2131]95      SUBROUTINE cxios_write_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, tileid) BIND(C)
[325]96         USE ISO_C_BINDING
97         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
98         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
99         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
100         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize
[2131]101         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[325]102      END SUBROUTINE cxios_write_data_k82
[489]103
[2131]104      SUBROUTINE cxios_write_data_k83_hdl(field_hdl, data_k8, data_Xsize, data_Ysize, data_Zsize, tileid) BIND(C)
[2025]105         USE ISO_C_BINDING
106         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
107         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
108         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize
[2131]109         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]110      END SUBROUTINE cxios_write_data_k83_hdl
111
[2131]112      SUBROUTINE cxios_write_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize, &
113                                      tileid) BIND(C)
[325]114         USE ISO_C_BINDING
115         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
116         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
117         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
118         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize
[2131]119         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[325]120      END SUBROUTINE cxios_write_data_k83
[489]121
[2025]122      SUBROUTINE cxios_write_data_k84_hdl(field_hdl, data_k8, &
123                                      data_0size, data_1size, data_2size, &
[2131]124                                      data_3size, tileid) BIND(C)
[2025]125         USE ISO_C_BINDING
126         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
127         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
128         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
129         INTEGER  (kind = C_INT)   , VALUE        :: data_3size
[2131]130         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]131      END SUBROUTINE cxios_write_data_k84_hdl
132
[932]133      SUBROUTINE cxios_write_data_k84(fieldid, fieldid_size, data_k8, &
134                                      data_0size, data_1size, data_2size, &
[2131]135                                      data_3size, tileid) BIND(C)
[932]136         USE ISO_C_BINDING
137         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
138         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
139         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
140         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
141         INTEGER  (kind = C_INT)   , VALUE        :: data_3size
[2131]142         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[932]143      END SUBROUTINE cxios_write_data_k84
144
[2025]145      SUBROUTINE cxios_write_data_k85_hdl(field_hdl, data_k8, &
146                                      data_0size, data_1size, data_2size, &
[2131]147                                      data_3size, data_4size, tileid) BIND(C)
[2025]148         USE ISO_C_BINDING
149         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
150         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
151         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
152         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size
[2131]153         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]154      END SUBROUTINE cxios_write_data_k85_hdl
155
[932]156      SUBROUTINE cxios_write_data_k85(fieldid, fieldid_size, data_k8, &
157                                      data_0size, data_1size, data_2size, &
[2131]158                                      data_3size, data_4size, tileid) BIND(C)
[932]159         USE ISO_C_BINDING
160         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
161         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
162         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
163         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
164         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size
[2131]165         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[932]166      END SUBROUTINE cxios_write_data_k85
167
[2025]168      SUBROUTINE cxios_write_data_k86_hdl(field_hdl, data_k8, &
169                                      data_0size, data_1size, data_2size, &
[2131]170                                      data_3size, data_4size, data_5size, tileid) BIND(C)
[2025]171         USE ISO_C_BINDING
172         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
173         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
174         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
175         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
[2131]176         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]177      END SUBROUTINE cxios_write_data_k86_hdl
178
[932]179      SUBROUTINE cxios_write_data_k86(fieldid, fieldid_size, data_k8, &
180                                      data_0size, data_1size, data_2size, &
[2131]181                                      data_3size, data_4size, data_5size, tileid) BIND(C)
[932]182         USE ISO_C_BINDING
183         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
184         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
185         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
186         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
187         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
[2131]188         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[932]189      END SUBROUTINE cxios_write_data_k86
190
[2025]191      SUBROUTINE cxios_write_data_k87_hdl(field_hdl, data_k8, &
192                                      data_0size, data_1size, data_2size, &
193                                      data_3size, data_4size, data_5size, &
[2131]194                                      data_6size, tileid) BIND(C)
[2025]195         USE ISO_C_BINDING
196         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
197         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
198         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
199         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
200         INTEGER  (kind = C_INT)   , VALUE        :: data_6size
[2131]201         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]202      END SUBROUTINE cxios_write_data_k87_hdl
203
[932]204      SUBROUTINE cxios_write_data_k87(fieldid, fieldid_size, data_k8, &
205                                      data_0size, data_1size, data_2size, &
206                                      data_3size, data_4size, data_5size, &
[2131]207                                      data_6size, tileid) BIND(C)
[932]208         USE ISO_C_BINDING
209         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
210         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
211         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
212         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
213         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
214         INTEGER  (kind = C_INT)   , VALUE        :: data_6size
[2131]215         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[932]216      END SUBROUTINE cxios_write_data_k87
217
[2025]218      SUBROUTINE cxios_write_data_k40_hdl(field_hdl, data_k4, data_Xsize) BIND(C)
219         USE ISO_C_BINDING
220         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
221         REAL     (kind = C_FLOAT)                :: data_k4
222         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
223      END SUBROUTINE cxios_write_data_k40_hdl
224
[932]225      SUBROUTINE cxios_write_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C)
226         USE ISO_C_BINDING
227         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
228         REAL     (kind = C_FLOAT)                :: data_k4
229         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
230         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
231      END SUBROUTINE cxios_write_data_k40
232
[2131]233      SUBROUTINE cxios_write_data_k41_hdl(field_hdl, data_k4, data_Xsize, tileid) BIND(C)
[2025]234         USE ISO_C_BINDING
235         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
236         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
237         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
[2131]238         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]239      END SUBROUTINE cxios_write_data_k41_hdl
240
[2131]241      SUBROUTINE cxios_write_data_k41(fieldid, fieldid_size, data_k4, data_Xsize, tileid) BIND(C)
[325]242         USE ISO_C_BINDING
243         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
244         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
245         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
246         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
[2131]247         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[325]248      END SUBROUTINE cxios_write_data_k41
[489]249
[2131]250      SUBROUTINE cxios_write_data_k42_hdl(field_hdl, data_k4, data_Xsize, data_Ysize, tileid) BIND(C)
[2025]251         USE ISO_C_BINDING
252         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
253         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
254         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize
[2131]255         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]256      END SUBROUTINE cxios_write_data_k42_hdl
257 
[2131]258      SUBROUTINE cxios_write_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, tileid) BIND(C)
[325]259         USE ISO_C_BINDING
260         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
261         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
262         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
263         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize
[2131]264         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[325]265      END SUBROUTINE cxios_write_data_k42
[489]266
[2131]267      SUBROUTINE cxios_write_data_k43_hdl(field_hdl, data_k4, data_Xsize, data_Ysize, data_Zsize, tileid) BIND(C)
[2025]268         USE ISO_C_BINDING
269         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
270         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
271         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize
[2131]272         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]273      END SUBROUTINE cxios_write_data_k43_hdl
274
[2131]275      SUBROUTINE cxios_write_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize, tileid) BIND(C)
[325]276         USE ISO_C_BINDING
277         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
278         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
279         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
280         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize
[2131]281         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[325]282      END SUBROUTINE cxios_write_data_k43
[489]283
[2025]284      SUBROUTINE cxios_write_data_k44_hdl(field_hdl, data_k4, &
285                                      data_0size, data_1size, data_2size, &
[2131]286                                      data_3size, tileid) BIND(C)
[2025]287         USE ISO_C_BINDING
288         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
289         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
290         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
291         INTEGER  (kind = C_INT)   , VALUE        :: data_3size
[2131]292         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]293      END SUBROUTINE cxios_write_data_k44_hdl
294
[932]295      SUBROUTINE cxios_write_data_k44(fieldid, fieldid_size, data_k4, &
296                                      data_0size, data_1size, data_2size, &
[2131]297                                      data_3size, tileid) BIND(C)
[932]298         USE ISO_C_BINDING
299         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
300         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
301         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
302         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
303         INTEGER  (kind = C_INT)   , VALUE        :: data_3size
[2131]304         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[932]305      END SUBROUTINE cxios_write_data_k44
306
[2025]307      SUBROUTINE cxios_write_data_k45_hdl(field_hdl, data_k4, &
308                                      data_0size, data_1size, data_2size, &
[2131]309                                      data_3size, data_4size, tileid) BIND(C)
[2025]310         USE ISO_C_BINDING
311         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
312         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
313         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
314         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size
[2131]315         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]316      END SUBROUTINE cxios_write_data_k45_hdl
317
[932]318      SUBROUTINE cxios_write_data_k45(fieldid, fieldid_size, data_k4, &
319                                      data_0size, data_1size, data_2size, &
[2131]320                                      data_3size, data_4size, tileid) BIND(C)
[932]321         USE ISO_C_BINDING
322         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
323         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
324         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
325         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
326         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size
[2131]327         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[932]328      END SUBROUTINE cxios_write_data_k45
329
[2025]330      SUBROUTINE cxios_write_data_k46_hdl(field_hdl, data_k4, &
331                                      data_0size, data_1size, data_2size, &
[2131]332                                      data_3size, data_4size, data_5size, tileid) BIND(C)
[2025]333         USE ISO_C_BINDING
334         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
335         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
336         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
337         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
[2131]338         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]339      END SUBROUTINE cxios_write_data_k46_hdl
340 
[932]341      SUBROUTINE cxios_write_data_k46(fieldid, fieldid_size, data_k4, &
342                                      data_0size, data_1size, data_2size, &
[2131]343                                      data_3size, data_4size, data_5size, tileid) BIND(C)
[932]344         USE ISO_C_BINDING
345         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
346         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
347         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
348         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
349         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
[2131]350         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[932]351      END SUBROUTINE cxios_write_data_k46
352
[2025]353      SUBROUTINE cxios_write_data_k47_hdl(field_hdl, data_k4, &
354                                      data_0size, data_1size, data_2size, &
355                                      data_3size, data_4size, data_5size, &
[2131]356                                      data_6size, tileid) BIND(C)
[2025]357         USE ISO_C_BINDING
358         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
359         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
360         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
361         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
362         INTEGER  (kind = C_INT)   , VALUE        :: data_6size
[2131]363         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[2025]364      END SUBROUTINE cxios_write_data_k47_hdl
365
[932]366      SUBROUTINE cxios_write_data_k47(fieldid, fieldid_size, data_k4, &
367                                      data_0size, data_1size, data_2size, &
368                                      data_3size, data_4size, data_5size, &
[2131]369                                      data_6size, tileid) BIND(C)
[932]370         USE ISO_C_BINDING
371         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
372         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
373         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
374         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
375         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
376         INTEGER  (kind = C_INT)   , VALUE        :: data_6size
[2131]377         INTEGER  (kind = C_INT)   , VALUE        :: tileid
[932]378      END SUBROUTINE cxios_write_data_k47
379
[2025]380
[932]381      ! Read data
[2025]382      SUBROUTINE cxios_read_data_k80_hdl(field_hdl, data_k8, data_Xsize) BIND(C)
383         USE ISO_C_BINDING
384         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
385         REAL     (kind = C_DOUBLE)               :: data_k8
386         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
387      END SUBROUTINE cxios_read_data_k80_hdl
388
[961]389      SUBROUTINE cxios_read_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C)
390         USE ISO_C_BINDING
391         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
[965]392         REAL     (kind = C_DOUBLE)               :: data_k8
[961]393         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
394         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
395      END SUBROUTINE cxios_read_data_k80
396
[2025]397      SUBROUTINE cxios_read_data_k81_hdl(field_hdl, data_k8, data_Xsize) BIND(C)
398         USE ISO_C_BINDING
399         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
400         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
401         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
402      END SUBROUTINE cxios_read_data_k81_hdl
403
[593]404      SUBROUTINE cxios_read_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C)
405         USE ISO_C_BINDING
406         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
407         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
408         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
409         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
410      END SUBROUTINE cxios_read_data_k81
411
[2025]412      SUBROUTINE cxios_read_data_k82_hdl(field_hdl, data_k8, data_Xsize, data_Ysize) BIND(C)
413         USE ISO_C_BINDING
414         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
415         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
416         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize
417      END SUBROUTINE cxios_read_data_k82_hdl
418
[593]419      SUBROUTINE cxios_read_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C)
420         USE ISO_C_BINDING
421         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
422         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
423         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
424         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize
425      END SUBROUTINE cxios_read_data_k82
426
[2025]427      SUBROUTINE cxios_read_data_k83_hdl(field_hdl, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C)
[593]428         USE ISO_C_BINDING
[2025]429         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
430         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
431         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize
432      END SUBROUTINE cxios_read_data_k83_hdl
433
434       SUBROUTINE cxios_read_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C)
435         USE ISO_C_BINDING
[593]436         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
437         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
438         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
439         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize
440      END SUBROUTINE cxios_read_data_k83
441
[2025]442     SUBROUTINE cxios_read_data_k84_hdl(field_hdl, data_k8, &
[932]443                                      data_0size, data_1size, data_2size, &
444                                      data_3size) BIND(C)
445         USE ISO_C_BINDING
[2025]446         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
447         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
448         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
449         INTEGER  (kind = C_INT)   , VALUE        :: data_3size
450      END SUBROUTINE cxios_read_data_k84_hdl
451
452     SUBROUTINE cxios_read_data_k84(fieldid, fieldid_size, data_k8, &
453                                      data_0size, data_1size, data_2size, &
454                                      data_3size) BIND(C)
455         USE ISO_C_BINDING
[932]456         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
457         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
458         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
459         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
460         INTEGER  (kind = C_INT)   , VALUE        :: data_3size
461      END SUBROUTINE cxios_read_data_k84
462
[2025]463      SUBROUTINE cxios_read_data_k85_hdl(field_hdl, data_k8, &
464                                      data_0size, data_1size, data_2size, &
465                                      data_3size, data_4size) BIND(C)
466         USE ISO_C_BINDING
467         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
468         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
469         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
470         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size
471      END SUBROUTINE cxios_read_data_k85_hdl
472
[932]473      SUBROUTINE cxios_read_data_k85(fieldid, fieldid_size, data_k8, &
474                                      data_0size, data_1size, data_2size, &
475                                      data_3size, data_4size) BIND(C)
476         USE ISO_C_BINDING
477         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
478         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
479         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
480         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
481         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size
482      END SUBROUTINE cxios_read_data_k85
483
[2025]484      SUBROUTINE cxios_read_data_k86_hdl(field_hdl, data_k8, &
485                                      data_0size, data_1size, data_2size, &
486                                      data_3size, data_4size, data_5size) BIND(C)
487         USE ISO_C_BINDING
488         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
489         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
490         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
491         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
492      END SUBROUTINE cxios_read_data_k86_hdl
493 
[932]494      SUBROUTINE cxios_read_data_k86(fieldid, fieldid_size, data_k8, &
495                                      data_0size, data_1size, data_2size, &
496                                      data_3size, data_4size, data_5size) BIND(C)
497         USE ISO_C_BINDING
498         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
499         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
500         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
501         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
502         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
503      END SUBROUTINE cxios_read_data_k86
504
[2025]505      SUBROUTINE cxios_read_data_k87_hdl(field_hdl, data_k8, &
506                                      data_0size, data_1size, data_2size, &
507                                      data_3size, data_4size, data_5size, &
508                                      data_6size) BIND(C)
509         USE ISO_C_BINDING
510         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
511         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
512         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
513         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
514         INTEGER  (kind = C_INT)   , VALUE        :: data_6size
515      END SUBROUTINE cxios_read_data_k87_hdl
516
[932]517      SUBROUTINE cxios_read_data_k87(fieldid, fieldid_size, data_k8, &
518                                      data_0size, data_1size, data_2size, &
519                                      data_3size, data_4size, data_5size, &
520                                      data_6size) BIND(C)
521         USE ISO_C_BINDING
522         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
523         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8
524         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
525         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
526         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
527         INTEGER  (kind = C_INT)   , VALUE        :: data_6size
528      END SUBROUTINE cxios_read_data_k87
529
[2025]530      SUBROUTINE cxios_read_data_k40_hdl(field_hdl, data_k4, data_Xsize) BIND(C)
531         USE ISO_C_BINDING
532         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
533         REAL     (kind = C_FLOAT)                :: data_k4
534         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
535      END SUBROUTINE cxios_read_data_k40_hdl
536
[961]537      SUBROUTINE cxios_read_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C)
538         USE ISO_C_BINDING
539         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
[965]540         REAL     (kind = C_FLOAT)                :: data_k4
[961]541         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
542         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
543      END SUBROUTINE cxios_read_data_k40
544
[2025]545      SUBROUTINE cxios_read_data_k41_hdl(field_hdl, data_k4, data_Xsize) BIND(C)
546         USE ISO_C_BINDING
547         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
548         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
549         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
550      END SUBROUTINE cxios_read_data_k41_hdl
551
[593]552      SUBROUTINE cxios_read_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C)
553         USE ISO_C_BINDING
554         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
555         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
556         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
557         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize
558      END SUBROUTINE cxios_read_data_k41
559
[2025]560      SUBROUTINE cxios_read_data_k42_hdl(field_hdl, data_k4, data_Xsize, data_Ysize) BIND(C)
561         USE ISO_C_BINDING
562         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
563         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
564         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize
565      END SUBROUTINE cxios_read_data_k42_hdl
566
[593]567      SUBROUTINE cxios_read_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C)
568         USE ISO_C_BINDING
569         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
570         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
571         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
572         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize
573      END SUBROUTINE cxios_read_data_k42
574
[2025]575      SUBROUTINE cxios_read_data_k43_hdl(field_hdl, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C)
576         USE ISO_C_BINDING
577         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
578         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
579         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize
580      END SUBROUTINE cxios_read_data_k43_hdl
581
[593]582      SUBROUTINE cxios_read_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C)
583         USE ISO_C_BINDING
584         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
585         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
586         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
587         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize
588      END SUBROUTINE cxios_read_data_k43
589
[2025]590      SUBROUTINE cxios_read_data_k44_hdl(field_hdl, data_k4, &
591                                      data_0size, data_1size, data_2size, &
592                                      data_3size) BIND(C)
593         USE ISO_C_BINDING
594         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
595         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
596         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
597         INTEGER  (kind = C_INT)   , VALUE        :: data_3size
598      END SUBROUTINE cxios_read_data_k44_hdl
599 
[932]600      SUBROUTINE cxios_read_data_k44(fieldid, fieldid_size, data_k4, &
601                                      data_0size, data_1size, data_2size, &
602                                      data_3size) BIND(C)
603         USE ISO_C_BINDING
604         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
605         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
606         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
607         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
608         INTEGER  (kind = C_INT)   , VALUE        :: data_3size
609      END SUBROUTINE cxios_read_data_k44
610
[2025]611      SUBROUTINE cxios_read_data_k45_hdl(field_hdl, data_k4, &
612                                      data_0size, data_1size, data_2size, &
613                                      data_3size, data_4size) BIND(C)
614         USE ISO_C_BINDING
615         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
616         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
617         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
618         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size
619      END SUBROUTINE cxios_read_data_k45_hdl
620
[932]621      SUBROUTINE cxios_read_data_k45(fieldid, fieldid_size, data_k4, &
622                                      data_0size, data_1size, data_2size, &
623                                      data_3size, data_4size) BIND(C)
624         USE ISO_C_BINDING
625         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
626         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
627         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
628         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
629         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size
630      END SUBROUTINE cxios_read_data_k45
631
[2025]632      SUBROUTINE cxios_read_data_k46_hdl(field_hdl, data_k4, &
633                                      data_0size, data_1size, data_2size, &
634                                      data_3size, data_4size, data_5size) BIND(C)
635         USE ISO_C_BINDING
636         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
637         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
638         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
639         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
640      END SUBROUTINE cxios_read_data_k46_hdl
641 
[932]642      SUBROUTINE cxios_read_data_k46(fieldid, fieldid_size, data_k4, &
643                                      data_0size, data_1size, data_2size, &
644                                      data_3size, data_4size, data_5size) BIND(C)
645         USE ISO_C_BINDING
646         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
647         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
648         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
649         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
650         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
651      END SUBROUTINE cxios_read_data_k46
652
[2025]653      SUBROUTINE cxios_read_data_k47_hdl(field_hdl, data_k4, &
654                                      data_0size, data_1size, data_2size, &
655                                      data_3size, data_4size, data_5size, &
656                                      data_6size) BIND(C)
657         USE ISO_C_BINDING
658         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl
659         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
660         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
661         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
662         INTEGER  (kind = C_INT)   , VALUE        :: data_6size
663      END SUBROUTINE cxios_read_data_k47_hdl
664
[932]665      SUBROUTINE cxios_read_data_k47(fieldid, fieldid_size, data_k4, &
666                                      data_0size, data_1size, data_2size, &
667                                      data_3size, data_4size, data_5size, &
668                                      data_6size) BIND(C)
669         USE ISO_C_BINDING
670         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid
671         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4
672         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size
673         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size
674         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size
675         INTEGER  (kind = C_INT)   , VALUE        :: data_6size
676      END SUBROUTINE cxios_read_data_k47
677
[489]678      ! Binding C and Fortran interface of get_variable (icdata.cpp)
679      SUBROUTINE cxios_get_variable_data_k8(vardid, varid_size, data_k8, is_var_existed) BIND(C)
680         USE ISO_C_BINDING
681         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
682         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
683         REAL     (kind = C_DOUBLE)               :: data_k8
684         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
685      END SUBROUTINE cxios_get_variable_data_k8
686
687      SUBROUTINE cxios_get_variable_data_k4(vardid, varid_size, data_k4, is_var_existed) BIND(C)
688         USE ISO_C_BINDING
689         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
690         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
691         REAL     (kind = C_FLOAT)                :: data_k4
692         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
693      END SUBROUTINE cxios_get_variable_data_k4
694
695      SUBROUTINE cxios_get_variable_data_int(vardid, varid_size, data_int, is_var_existed) BIND(C)
696         USE ISO_C_BINDING
697         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
698         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
699         INTEGER  (kind = C_INT)                  :: data_int
700         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
701      END SUBROUTINE cxios_get_variable_data_int
702
703      SUBROUTINE cxios_get_variable_data_logic(vardid, varid_size, data_logic, is_var_existed) BIND(C)
704         USE ISO_C_BINDING
705         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
706         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
[2099]707         LOGICAL  (kind = C_BOOL)                 :: data_logic
[489]708         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
709      END SUBROUTINE cxios_get_variable_data_logic
710
711      SUBROUTINE cxios_get_variable_data_char(vardid, varid_size, data_char, data_size_in, is_var_existed) BIND(C)
712         USE ISO_C_BINDING
713         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
714         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
715         INTEGER  (kind = C_INT)   , VALUE        :: data_size_in
716         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: data_char
717         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
718      END SUBROUTINE cxios_get_variable_data_char
719
720      ! Binding C and Fortran interface of set_variable (icdata.cpp)
721      SUBROUTINE cxios_set_variable_data_k8(vardid, varid_size, data_k8, is_var_existed) BIND(C)
722         USE ISO_C_BINDING
723         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
724         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
725         REAL     (kind = C_DOUBLE), VALUE        :: data_k8
726         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
727      END SUBROUTINE cxios_set_variable_data_k8
728
729      SUBROUTINE cxios_set_variable_data_k4(vardid, varid_size, data_k4, is_var_existed) BIND(C)
730         USE ISO_C_BINDING
731         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
732         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
733         REAL     (kind = C_FLOAT) , VALUE        :: data_k4
734         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
735      END SUBROUTINE cxios_set_variable_data_k4
736
737      SUBROUTINE cxios_set_variable_data_int(vardid, varid_size, data_int, is_var_existed) BIND(C)
738         USE ISO_C_BINDING
739         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
740         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
741         INTEGER  (kind = C_INT)   , VALUE        :: data_int
742         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
743      END SUBROUTINE cxios_set_variable_data_int
744
745      SUBROUTINE cxios_set_variable_data_logic(vardid, varid_size, data_logic, is_var_existed) BIND(C)
746         USE ISO_C_BINDING
747         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
748         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
[2099]749         LOGICAL  (kind = C_BOOL)       , VALUE   :: data_logic
[489]750         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
751      END SUBROUTINE cxios_set_variable_data_logic
752
753      SUBROUTINE cxios_set_variable_data_char(vardid, varid_size, data_char, data_size_in, is_var_existed) BIND(C)
754         USE ISO_C_BINDING
755         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid
756         INTEGER  (kind = C_INT)   , VALUE        :: varid_size
757         INTEGER  (kind = C_INT)   , VALUE        :: data_size_in
758         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: data_char
759         LOGICAL  (kind = C_BOOL)                 :: is_var_existed
760      END SUBROUTINE cxios_set_variable_data_char
761
[325]762   END INTERFACE
[489]763
764
[325]765   CONTAINS ! Fonctions disponibles pour les utilisateurs.
766
[1054]767   SUBROUTINE  xios(init_server)()
[325]768   IMPLICIT NONE
[1158]769     CALL cxios_init_server()
[325]770   END SUBROUTINE xios(init_server)
[489]771
[325]772   SUBROUTINE  xios(initialize)(client_id, local_comm, return_comm)
773   IMPLICIT NONE
774   INCLUDE 'mpif.h'
775   CHARACTER(LEN=*),INTENT(IN) :: client_id
[489]776   INTEGER,INTENT(IN),OPTIONAL         :: local_comm
[325]777   INTEGER,INTENT(OUT),OPTIONAL        :: return_comm
778   INTEGER :: f_local_comm
779   INTEGER :: f_return_comm
[489]780
[325]781      IF (PRESENT(local_comm)) THEN
[489]782        f_local_comm=local_comm
[325]783      ELSE
[489]784        f_local_comm = MPI_COMM_NULL
[325]785      ENDIF
[489]786
[325]787      CALL cxios_init_client(client_id,LEN(client_id),f_local_comm,f_return_comm)
[489]788
[325]789      IF (PRESENT(return_comm)) return_comm=f_return_comm
790
791   END SUBROUTINE  xios(initialize)
792
793
794   SUBROUTINE  xios(context_initialize)(context_id,comm)
795   IMPLICIT NONE
796   CHARACTER(LEN=*),INTENT(IN)  :: context_id
797   INTEGER, INTENT(IN)          :: comm
[489]798
[325]799      CALL cxios_context_initialize(context_id,LEN(context_id),comm)
[489]800
[325]801    END SUBROUTINE  xios(context_initialize)
[461]802
803
804   LOGICAL FUNCTION  xios(context_is_initialized)(context_id)
805   USE ISO_C_BINDING
806   IMPLICIT NONE
807   CHARACTER(LEN=*),INTENT(IN)  :: context_id
808   LOGICAL(KIND=C_BOOL) :: is_init
[489]809
[461]810      CALL cxios_context_is_initialized(context_id, LEN(context_id), is_init)
811      xios(context_is_initialized) = is_init
812
[489]813    END FUNCTION xios(context_is_initialized)
814
815
[325]816   SUBROUTINE  xios(finalize)
817   IMPLICIT NONE
818
819      CALL cxios_finalize
820
821    END SUBROUTINE  xios(finalize)
822
[1587]823   SUBROUTINE  xios(oasis_enddef)
824   IMPLICIT NONE
[489]825
[1587]826      CALL cxios_oasis_enddef
827
828    END SUBROUTINE  xios(oasis_enddef)
829
[325]830   SUBROUTINE xios(close_context_definition)()
831   IMPLICIT NONE
832      CALL cxios_context_close_definition()
833   END SUBROUTINE xios(close_context_definition)
834
[489]835
[325]836   SUBROUTINE xios(context_finalize)()
837   IMPLICIT NONE
838      CALL cxios_context_finalize()
839   END SUBROUTINE xios(context_finalize)
[489]840
[445]841   SUBROUTINE xios(solve_inheritance)()
842   IMPLICIT NONE
843      CALL cxios_solve_inheritance()
844   END SUBROUTINE xios(solve_inheritance)
[489]845
[593]846   ! Send field functions
[2025]847   SUBROUTINE xios(send_field_r8_0d_hdl)(field_hdl, data_k8)
848   IMPLICIT NONE
849      TYPE(txios(field))              :: field_hdl
850      REAL     (kind = 8), INTENT(IN) :: data_k8
851      CALL cxios_write_data_k80_hdl(field_hdl%daddr, data_k8, 1)
852   END SUBROUTINE xios(send_field_r8_0d_hdl)
853
[886]854   SUBROUTINE xios(send_field_r8_0d)(fieldid, data_k8)
[586]855   IMPLICIT NONE
856      CHARACTER(len = *) , INTENT(IN) :: fieldid
857      REAL     (kind = 8), INTENT(IN) :: data_k8
858      CALL cxios_write_data_k80(fieldid, len(fieldid), data_k8, 1)
[886]859   END SUBROUTINE xios(send_field_r8_0d)
[586]860
[2025]861   SUBROUTINE xios(send_field_r8_1d_hdl)(field_hdl, data1d_k8)
862   IMPLICIT NONE
863      TYPE(txios(field))              :: field_hdl
864      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:)
[2131]865      INTEGER, PARAMETER                            :: tileid = -1
866      CALL cxios_write_data_k81_hdl(field_hdl%daddr, data1d_k8, size(data1d_k8, 1), tileid)
[2025]867   END SUBROUTINE xios(send_field_r8_1d_hdl)
868
[325]869   SUBROUTINE xios(send_field_r8_1d)(fieldid, data1d_k8)
870   IMPLICIT NONE
871      CHARACTER(len = *)               , INTENT(IN) :: fieldid
872      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:)
[2131]873      INTEGER, PARAMETER                            :: tileid = -1
874      CALL cxios_write_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1), tileid)
[325]875   END SUBROUTINE xios(send_field_r8_1d)
[489]876
[2131]877   SUBROUTINE xios(send_field_tiled_r8_1d)(fieldid, data1d_k8, tileid)
878   IMPLICIT NONE
879      CHARACTER(len = *)               , INTENT(IN) :: fieldid
880      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:)
881      INTEGER                          , INTENT(IN) :: tileid
882      CALL cxios_write_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1), tileid)
883   END SUBROUTINE xios(send_field_tiled_r8_1d)
884
[2025]885   SUBROUTINE  xios(send_field_r8_2d_hdl)(field_hdl, data2d_k8)
886   IMPLICIT NONE
887      TYPE(txios(field))              :: field_hdl
888      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:)
[2131]889      INTEGER, PARAMETER                            :: tileid = -1
890      CALL cxios_write_data_k82_hdl(field_hdl%daddr, data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2), tileid)
[2025]891   END SUBROUTINE  xios(send_field_r8_2d_hdl)
892
[325]893   SUBROUTINE  xios(send_field_r8_2d)(fieldid, data2d_k8)
894   IMPLICIT NONE
895      CHARACTER(len = *)               , INTENT(IN) :: fieldid
896      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:)
[2131]897      INTEGER, PARAMETER                            :: tileid = -1
898      CALL cxios_write_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), &
899                                size(data2d_k8, 2), tileid)
[325]900   END SUBROUTINE  xios(send_field_r8_2d)
[489]901
[2131]902   SUBROUTINE  xios(send_field_tiled_r8_2d)(fieldid, data2d_k8, tileid)
903   IMPLICIT NONE
904      CHARACTER(len = *)               , INTENT(IN) :: fieldid
905      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:)
906      INTEGER                          , INTENT(IN) :: tileid
907      CALL cxios_write_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), &
908                                size(data2d_k8, 2), tileid)
909   END SUBROUTINE  xios(send_field_tiled_r8_2d)
910
[2025]911   SUBROUTINE  xios(send_field_r8_3d_hdl)(field_hdl, data3d_k8)
912   IMPLICIT NONE
913      TYPE(txios(field))              :: field_hdl
914      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:)
[2131]915      INTEGER, PARAMETER                            :: tileid = -1
916      CALL cxios_write_data_k83_hdl(field_hdl%daddr, data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3), &
917                                    tileid)
[2025]918   END SUBROUTINE  xios(send_field_r8_3d_hdl)
919
[325]920   SUBROUTINE  xios(send_field_r8_3d)(fieldid, data3d_k8)
921   IMPLICIT NONE
922      CHARACTER(len = *)               , INTENT(IN) :: fieldid
923      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:)
[2131]924      INTEGER, PARAMETER                            :: tileid = -1
925      CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3), &
926                                tileid)
[325]927   END SUBROUTINE  xios(send_field_r8_3d)
[489]928
[2131]929   SUBROUTINE  xios(send_field_tiled_r8_3d)(fieldid, data3d_k8, tileid)
930   IMPLICIT NONE
931      CHARACTER(len = *)               , INTENT(IN) :: fieldid
932      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:)
933      INTEGER                          , INTENT(IN) :: tileid
934      CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), &
935                                      size(data3d_k8, 2), size(data3d_k8, 3), tileid)
936   END SUBROUTINE  xios(send_field_tiled_r8_3d)
937
[2025]938   SUBROUTINE  xios(send_field_r8_4d_hdl)(field_hdl, data4d_k8)
939   IMPLICIT NONE
940      TYPE(txios(field))              :: field_hdl
941      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data4d_k8(:,:,:,:)
[2131]942      INTEGER, PARAMETER                            :: tileid = -1
[2025]943      CALL cxios_write_data_k84_hdl(field_hdl%daddr, data4d_k8, &
944                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), &
[2131]945                                size(data4d_k8, 4), tileid)
[2025]946   END SUBROUTINE  xios(send_field_r8_4d_hdl)
947
[932]948   SUBROUTINE  xios(send_field_r8_4d)(fieldid, data4d_k8)
949   IMPLICIT NONE
950      CHARACTER(len = *)               , INTENT(IN) :: fieldid
951      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data4d_k8(:,:,:,:)
[2131]952      INTEGER, PARAMETER                            :: tileid = -1
[932]953      CALL cxios_write_data_k84(fieldid, len(fieldid), data4d_k8, &
954                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), &
[2131]955                                size(data4d_k8, 4), tileid)
[932]956   END SUBROUTINE  xios(send_field_r8_4d)
957
[2131]958   SUBROUTINE  xios(send_field_tiled_r8_4d)(fieldid, data4d_k8, tileid)
959   IMPLICIT NONE
960      CHARACTER(len = *)               , INTENT(IN) :: fieldid
961      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data4d_k8(:,:,:,:)
962      INTEGER                          , INTENT(IN) :: tileid
963      CALL cxios_write_data_k84(fieldid, len(fieldid), data4d_k8, &
964                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), &
965                                size(data4d_k8, 4), tileid)
966   END SUBROUTINE  xios(send_field_tiled_r8_4d)
967
[2025]968   SUBROUTINE  xios(send_field_r8_5d_hdl)(field_hdl, data5d_k8)
969   IMPLICIT NONE
970      TYPE(txios(field))              :: field_hdl
971      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data5d_k8(:,:,:,:,:)
[2131]972      INTEGER, PARAMETER                            :: tileid = -1
[2025]973      CALL cxios_write_data_k85_hdl(field_hdl%daddr, data5d_k8, &
974                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), &
[2131]975                                size(data5d_k8, 4), size(data5d_k8, 5), tileid)
[2025]976   END SUBROUTINE  xios(send_field_r8_5d_hdl)
977
[932]978   SUBROUTINE  xios(send_field_r8_5d)(fieldid, data5d_k8)
979   IMPLICIT NONE
980      CHARACTER(len = *)               , INTENT(IN) :: fieldid
981      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data5d_k8(:,:,:,:,:)
[2131]982      INTEGER, PARAMETER                            :: tileid = -1
[932]983      CALL cxios_write_data_k85(fieldid, len(fieldid), data5d_k8, &
984                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), &
[2131]985                                size(data5d_k8, 4), size(data5d_k8, 5), tileid)
[932]986   END SUBROUTINE  xios(send_field_r8_5d)
987
[2131]988   SUBROUTINE  xios(send_field_tiled_r8_5d)(fieldid, data5d_k8, tileid)
989   IMPLICIT NONE
990      CHARACTER(len = *)               , INTENT(IN) :: fieldid
991      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data5d_k8(:,:,:,:,:)
992      INTEGER                          , INTENT(IN) :: tileid
993      CALL cxios_write_data_k85(fieldid, len(fieldid), data5d_k8, &
994                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), &
995                                size(data5d_k8, 4), size(data5d_k8, 5), tileid)
996   END SUBROUTINE  xios(send_field_tiled_r8_5d)
997
[2025]998   SUBROUTINE  xios(send_field_r8_6d_hdl)(field_hdl, data6d_k8)
999   IMPLICIT NONE
1000      TYPE(txios(field))              :: field_hdl
1001      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data6d_k8(:,:,:,:,:,:)
[2131]1002      INTEGER, PARAMETER                            :: tileid = -1
[2025]1003      CALL cxios_write_data_k86_hdl(field_hdl%daddr, data6d_k8, &
1004                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), &
[2131]1005                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6), tileid)
[2025]1006   END SUBROUTINE  xios(send_field_r8_6d_hdl)
1007
[932]1008   SUBROUTINE  xios(send_field_r8_6d)(fieldid, data6d_k8)
1009   IMPLICIT NONE
1010      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1011      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data6d_k8(:,:,:,:,:,:)
[2131]1012      INTEGER, PARAMETER                            :: tileid = -1
[932]1013      CALL cxios_write_data_k86(fieldid, len(fieldid), data6d_k8, &
1014                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), &
[2131]1015                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6), tileid)
[932]1016   END SUBROUTINE  xios(send_field_r8_6d)
1017
[2131]1018   SUBROUTINE  xios(send_field_tiled_r8_6d)(fieldid, data6d_k8, tileid)
1019   IMPLICIT NONE
1020      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1021      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data6d_k8(:,:,:,:,:,:)
1022      INTEGER                          , INTENT(IN) :: tileid
1023      CALL cxios_write_data_k86(fieldid, len(fieldid), data6d_k8, &
1024                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), &
1025                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6), tileid)
1026   END SUBROUTINE  xios(send_field_tiled_r8_6d)
1027
[2025]1028   SUBROUTINE  xios(send_field_r8_7d_hdl)(field_hdl, data7d_k8)
1029   IMPLICIT NONE
1030      TYPE(txios(field))              :: field_hdl
1031      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data7d_k8(:,:,:,:,:,:,:)
[2131]1032      INTEGER, PARAMETER                            :: tileid = -1
[2025]1033      CALL cxios_write_data_k87_hdl(field_hdl%daddr, data7d_k8, &
1034                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), &
1035                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), &
[2131]1036                                size(data7d_k8, 7), tileid)
[2025]1037   END SUBROUTINE  xios(send_field_r8_7d_hdl)
1038
[932]1039   SUBROUTINE  xios(send_field_r8_7d)(fieldid, data7d_k8)
1040   IMPLICIT NONE
1041      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1042      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data7d_k8(:,:,:,:,:,:,:)
[2131]1043      INTEGER, PARAMETER                            :: tileid = -1
[932]1044      CALL cxios_write_data_k87(fieldid, len(fieldid), data7d_k8, &
1045                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), &
1046                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), &
[2131]1047                                size(data7d_k8, 7), tileid)
[932]1048   END SUBROUTINE  xios(send_field_r8_7d)
1049
[2131]1050   SUBROUTINE  xios(send_field_tiled_r8_7d)(fieldid, data7d_k8, tileid)
1051   IMPLICIT NONE
1052      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1053      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data7d_k8(:,:,:,:,:,:,:)
1054      INTEGER                          , INTENT(IN) :: tileid
1055      CALL cxios_write_data_k87(fieldid, len(fieldid), data7d_k8, &
1056                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), &
1057                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), &
1058                                size(data7d_k8, 7), tileid)
1059   END SUBROUTINE  xios(send_field_tiled_r8_7d)
1060
[2025]1061   SUBROUTINE xios(send_field_r4_0d_hdl)(field_hdl, data_k4)
1062   IMPLICIT NONE
1063      TYPE(txios(field))              :: field_hdl
1064      REAL     (kind = 4), INTENT(IN) :: data_k4
1065      CALL cxios_write_data_k40_hdl(field_hdl%daddr, data_k4, 1)
1066   END SUBROUTINE xios(send_field_r4_0d_hdl)
1067
[932]1068   SUBROUTINE xios(send_field_r4_0d)(fieldid, data_k4)
1069   IMPLICIT NONE
1070      CHARACTER(len = *) , INTENT(IN) :: fieldid
1071      REAL     (kind = 4), INTENT(IN) :: data_k4
1072      CALL cxios_write_data_k40(fieldid, len(fieldid), data_k4, 1)
1073   END SUBROUTINE xios(send_field_r4_0d)
1074
[2025]1075   SUBROUTINE xios(send_field_r4_1d_hdl)(field_hdl, data1d_k4)
1076   IMPLICIT NONE
1077      TYPE(txios(field))              :: field_hdl
1078      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data1d_k4(:)
[2131]1079      INTEGER, PARAMETER                            :: tileid = -1
1080      CALL cxios_write_data_k41_hdl(field_hdl%daddr, data1d_k4, size(data1d_k4, 1), tileid)
[2025]1081   END SUBROUTINE xios(send_field_r4_1d_hdl)
1082
[325]1083   SUBROUTINE xios(send_field_r4_1d)(fieldid, data1d_k4)
1084   IMPLICIT NONE
1085      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1086      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data1d_k4(:)
[2131]1087      INTEGER, PARAMETER                            :: tileid = -1
1088      CALL cxios_write_data_k41(fieldid, len(fieldid), data1d_k4, size(data1d_k4, 1), tileid)
[325]1089   END SUBROUTINE xios(send_field_r4_1d)
[489]1090
[2131]1091   SUBROUTINE xios(send_field_tiled_r4_1d)(fieldid, data1d_k4, tileid)
1092   IMPLICIT NONE
1093      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1094      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data1d_k4(:)
1095      INTEGER                          , INTENT(IN) :: tileid
1096      CALL cxios_write_data_k41(fieldid, len(fieldid), data1d_k4, size(data1d_k4, 1), tileid)
1097   END SUBROUTINE xios(send_field_tiled_r4_1d)
1098
[2025]1099   SUBROUTINE xios(send_field_r4_2d_hdl)(field_hdl, data2d_k4)
1100   IMPLICIT NONE
1101      TYPE(txios(field))              :: field_hdl
1102      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data2d_k4(:,:)
[2131]1103      INTEGER, PARAMETER                            :: tileid = -1
1104      CALL cxios_write_data_k42_hdl(field_hdl%daddr, data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2), tileid)
[2025]1105   END SUBROUTINE xios(send_field_r4_2d_hdl)
1106
[325]1107   SUBROUTINE xios(send_field_r4_2d)(fieldid, data2d_k4)
1108   IMPLICIT NONE
1109      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1110      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data2d_k4(:,:)
[2131]1111      INTEGER, PARAMETER                            :: tileid = -1
1112      CALL cxios_write_data_k42(fieldid, len(fieldid), data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2), tileid)
[325]1113   END SUBROUTINE xios(send_field_r4_2d)
[489]1114
[2131]1115   SUBROUTINE xios(send_field_tiled_r4_2d)(fieldid, data2d_k4, tileid)
1116   IMPLICIT NONE
1117      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1118      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data2d_k4(:,:)
1119      INTEGER                          , INTENT(IN) :: tileid
1120      CALL cxios_write_data_k42(fieldid, len(fieldid), data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2), tileid)
1121   END SUBROUTINE xios(send_field_tiled_r4_2d)
1122
[2025]1123   SUBROUTINE xios(send_field_r4_3d_hdl)(field_hdl, data3d_k4)
1124   IMPLICIT NONE
1125      TYPE(txios(field))              :: field_hdl
1126      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data3d_k4(:,:,:)
[2131]1127      INTEGER, PARAMETER                            :: tileid = -1
1128      CALL cxios_write_data_k43_hdl(field_hdl%daddr, data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3), &
1129                                    tileid)
[2025]1130   END SUBROUTINE xios(send_field_r4_3d_hdl)
1131
[325]1132   SUBROUTINE xios(send_field_r4_3d)(fieldid, data3d_k4)
1133   IMPLICIT NONE
1134      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1135      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data3d_k4(:,:,:)
[2131]1136      INTEGER, PARAMETER                            :: tileid = -1
1137      CALL cxios_write_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3), &
1138                                tileid)
[325]1139   END SUBROUTINE xios(send_field_r4_3d)
[489]1140
[2131]1141   SUBROUTINE xios(send_field_tiled_r4_3d)(fieldid, data3d_k4, tileid)
1142   IMPLICIT NONE
1143      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1144      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data3d_k4(:,:,:)
1145      INTEGER                          , INTENT(IN) :: tileid
1146      CALL cxios_write_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3), &
1147                                tileid)
1148   END SUBROUTINE xios(send_field_tiled_r4_3d)
1149
[2025]1150   SUBROUTINE  xios(send_field_r4_4d_hdl)(field_hdl, data4d_k4)
1151   IMPLICIT NONE
1152      TYPE(txios(field))              :: field_hdl
1153      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data4d_k4(:,:,:,:)
[2131]1154      INTEGER, PARAMETER                            :: tileid = -1
[2025]1155      CALL cxios_write_data_k44_hdl(field_hdl%daddr, data4d_k4, &
1156                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), &
[2131]1157                                size(data4d_k4, 4), tileid)
[2025]1158   END SUBROUTINE  xios(send_field_r4_4d_hdl)
[2131]1159
[932]1160   SUBROUTINE  xios(send_field_r4_4d)(fieldid, data4d_k4)
1161   IMPLICIT NONE
1162      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1163      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data4d_k4(:,:,:,:)
[2131]1164      INTEGER, PARAMETER                            :: tileid = -1
[932]1165      CALL cxios_write_data_k44(fieldid, len(fieldid), data4d_k4, &
1166                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), &
[2131]1167                                size(data4d_k4, 4), tileid)
[932]1168   END SUBROUTINE  xios(send_field_r4_4d)
1169
[2131]1170   SUBROUTINE  xios(send_field_tiled_r4_4d)(fieldid, data4d_k4, tileid)
1171   IMPLICIT NONE
1172      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1173      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data4d_k4(:,:,:,:)
1174      INTEGER                          , INTENT(IN) :: tileid
1175      CALL cxios_write_data_k44(fieldid, len(fieldid), data4d_k4, &
1176                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), &
1177                                size(data4d_k4, 4), tileid)
1178   END SUBROUTINE  xios(send_field_tiled_r4_4d)
1179
[2025]1180   SUBROUTINE  xios(send_field_r4_5d_hdl)(field_hdl, data5d_k4)
1181   IMPLICIT NONE
1182      TYPE(txios(field))              :: field_hdl
1183      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data5d_k4(:,:,:,:,:)
[2131]1184      INTEGER, PARAMETER                            :: tileid = -1
[2025]1185      CALL cxios_write_data_k45_hdl(field_hdl%daddr, data5d_k4, &
1186                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), &
[2131]1187                                size(data5d_k4, 4), size(data5d_k4, 5), tileid)
[2025]1188   END SUBROUTINE  xios(send_field_r4_5d_hdl)
1189
[932]1190   SUBROUTINE  xios(send_field_r4_5d)(fieldid, data5d_k4)
1191   IMPLICIT NONE
1192      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1193      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data5d_k4(:,:,:,:,:)
[2131]1194      INTEGER, PARAMETER                            :: tileid = -1
[932]1195      CALL cxios_write_data_k45(fieldid, len(fieldid), data5d_k4, &
1196                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), &
[2131]1197                                size(data5d_k4, 4), size(data5d_k4, 5), tileid)
[932]1198   END SUBROUTINE  xios(send_field_r4_5d)
1199
[2131]1200   SUBROUTINE  xios(send_field_tiled_r4_5d)(fieldid, data5d_k4, tileid)
1201   IMPLICIT NONE
1202      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1203      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data5d_k4(:,:,:,:,:)
1204      INTEGER                          , INTENT(IN) :: tileid
1205      CALL cxios_write_data_k45(fieldid, len(fieldid), data5d_k4, &
1206                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), &
1207                                size(data5d_k4, 4), size(data5d_k4, 5), tileid)
1208   END SUBROUTINE  xios(send_field_tiled_r4_5d)
1209
[2025]1210   SUBROUTINE  xios(send_field_r4_6d_hdl)(field_hdl, data6d_k4)
1211   IMPLICIT NONE
1212      TYPE(txios(field))              :: field_hdl
1213      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data6d_k4(:,:,:,:,:,:)
[2131]1214      INTEGER, PARAMETER                            :: tileid = -1
[2025]1215      CALL cxios_write_data_k46_hdl(field_hdl%daddr, data6d_k4, &
1216                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), &
[2131]1217                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6), tileid)
[2025]1218   END SUBROUTINE  xios(send_field_r4_6d_hdl)
1219   
[932]1220   SUBROUTINE  xios(send_field_r4_6d)(fieldid, data6d_k4)
1221   IMPLICIT NONE
1222      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1223      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data6d_k4(:,:,:,:,:,:)
[2131]1224      INTEGER, PARAMETER                            :: tileid = -1
[932]1225      CALL cxios_write_data_k46(fieldid, len(fieldid), data6d_k4, &
1226                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), &
[2131]1227                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6), tileid)
[932]1228   END SUBROUTINE  xios(send_field_r4_6d)
1229
[2131]1230   SUBROUTINE  xios(send_field_tiled_r4_6d)(fieldid, data6d_k4, tileid)
1231   IMPLICIT NONE
1232      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1233      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data6d_k4(:,:,:,:,:,:)
1234      INTEGER                          , INTENT(IN) :: tileid
1235      CALL cxios_write_data_k46(fieldid, len(fieldid), data6d_k4, &
1236                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), &
1237                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6), tileid)
1238   END SUBROUTINE  xios(send_field_tiled_r4_6d)
1239
[2025]1240   SUBROUTINE  xios(send_field_r4_7d_hdl)(field_hdl, data7d_k4)
1241   IMPLICIT NONE
1242      TYPE(txios(field))              :: field_hdl
1243      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data7d_k4(:,:,:,:,:,:,:)
[2131]1244      INTEGER, PARAMETER                            :: tileid = -1
[2025]1245      CALL cxios_write_data_k47_hdl(field_hdl%daddr, data7d_k4, &
1246                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), &
1247                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), &
[2131]1248                                size(data7d_k4, 7), tileid)
[2025]1249   END SUBROUTINE  xios(send_field_r4_7d_hdl)
1250   
[932]1251   SUBROUTINE  xios(send_field_r4_7d)(fieldid, data7d_k4)
1252   IMPLICIT NONE
1253      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1254      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data7d_k4(:,:,:,:,:,:,:)
[2131]1255      INTEGER, PARAMETER                            :: tileid = -1
[932]1256      CALL cxios_write_data_k47(fieldid, len(fieldid), data7d_k4, &
1257                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), &
1258                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), &
[2131]1259                                size(data7d_k4, 7), tileid)
[932]1260   END SUBROUTINE  xios(send_field_r4_7d)
1261
[2131]1262   SUBROUTINE  xios(send_field_tiled_r4_7d)(fieldid, data7d_k4, tileid)
1263   IMPLICIT NONE
1264      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1265      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data7d_k4(:,:,:,:,:,:,:)
1266      INTEGER                          , INTENT(IN) :: tileid
1267      CALL cxios_write_data_k47(fieldid, len(fieldid), data7d_k4, &
1268                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), &
1269                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), &
1270                                size(data7d_k4, 7), tileid)
1271   END SUBROUTINE  xios(send_field_tiled_r4_7d)
1272
[593]1273   ! Receive field functions
[2025]1274   SUBROUTINE xios(recv_field_r8_0d_hdl)(field_hdl, data0d_k8)
1275   IMPLICIT NONE
1276      TYPE(txios(field))              :: field_hdl
1277      REAL     (kind = 8)              , INTENT(OUT):: data0d_k8
1278      CALL cxios_read_data_k80_hdl(field_hdl%daddr, data0d_k8, 1)
1279   END SUBROUTINE xios(recv_field_r8_0d_hdl)
1280
[965]1281   SUBROUTINE xios(recv_field_r8_0d)(fieldid, data0d_k8)
[961]1282   IMPLICIT NONE
1283      CHARACTER(len = *)               , INTENT(IN) :: fieldid
[965]1284      REAL     (kind = 8)              , INTENT(OUT):: data0d_k8
1285      CALL cxios_read_data_k80(fieldid, len(fieldid), data0d_k8, 1)
[961]1286   END SUBROUTINE xios(recv_field_r8_0d)
1287
[2025]1288   SUBROUTINE xios(recv_field_r8_1d_hdl)(field_hdl, data1d_k8)
1289   IMPLICIT NONE
1290      TYPE(txios(field))              :: field_hdl
1291      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data1d_k8(:)
1292      CALL cxios_read_data_k81_hdl(field_hdl%daddr, data1d_k8, size(data1d_k8, 1))
1293   END SUBROUTINE xios(recv_field_r8_1d_hdl)
1294
[593]1295   SUBROUTINE xios(recv_field_r8_1d)(fieldid, data1d_k8)
1296   IMPLICIT NONE
1297      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1298      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data1d_k8(:)
1299      CALL cxios_read_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1))
1300   END SUBROUTINE xios(recv_field_r8_1d)
1301
[2025]1302   SUBROUTINE  xios(recv_field_r8_2d_hdl)(field_hdl, data2d_k8)
1303   IMPLICIT NONE
1304      TYPE(txios(field))              :: field_hdl
1305      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data2d_k8(:,:)
1306      CALL cxios_read_data_k82_hdl(field_hdl%daddr, data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2))
1307   END SUBROUTINE  xios(recv_field_r8_2d_hdl)
1308
[593]1309   SUBROUTINE  xios(recv_field_r8_2d)(fieldid, data2d_k8)
1310   IMPLICIT NONE
1311      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1312      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data2d_k8(:,:)
1313      CALL cxios_read_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2))
1314   END SUBROUTINE  xios(recv_field_r8_2d)
1315
[2025]1316   SUBROUTINE  xios(recv_field_r8_3d_hdl)(field_hdl, data3d_k8)
1317   IMPLICIT NONE
1318      TYPE(txios(field))              :: field_hdl
1319      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data3d_k8(:,:,:)
1320      CALL cxios_read_data_k83_hdl(field_hdl%daddr, data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3))
1321   END SUBROUTINE  xios(recv_field_r8_3d_hdl)
1322
[593]1323   SUBROUTINE  xios(recv_field_r8_3d)(fieldid, data3d_k8)
1324   IMPLICIT NONE
1325      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1326      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data3d_k8(:,:,:)
1327      CALL cxios_read_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3))
1328   END SUBROUTINE  xios(recv_field_r8_3d)
1329
[2025]1330   SUBROUTINE  xios(recv_field_r8_4d_hdl)(field_hdl, data4d_k8)
1331   IMPLICIT NONE
1332      TYPE(txios(field))              :: field_hdl
1333      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data4d_k8(:,:,:,:)
1334      CALL cxios_read_data_k84_hdl(field_hdl%daddr, data4d_k8, &
1335                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), &
1336                                size(data4d_k8, 4))
1337   END SUBROUTINE  xios(recv_field_r8_4d_hdl)
1338
[932]1339   SUBROUTINE  xios(recv_field_r8_4d)(fieldid, data4d_k8)
1340   IMPLICIT NONE
1341      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1342      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data4d_k8(:,:,:,:)
1343      CALL cxios_read_data_k84(fieldid, len(fieldid), data4d_k8, &
1344                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), &
1345                                size(data4d_k8, 4))
1346   END SUBROUTINE  xios(recv_field_r8_4d)
1347
[2025]1348   SUBROUTINE  xios(recv_field_r8_5d_hdl)(field_hdl, data5d_k8)
1349   IMPLICIT NONE
1350      TYPE(txios(field))              :: field_hdl
1351      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data5d_k8(:,:,:,:,:)
1352      CALL cxios_read_data_k85_hdl(field_hdl%daddr, data5d_k8, &
1353                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), &
1354                                size(data5d_k8, 4), size(data5d_k8, 5))
1355   END SUBROUTINE  xios(recv_field_r8_5d_hdl)
1356
[932]1357   SUBROUTINE  xios(recv_field_r8_5d)(fieldid, data5d_k8)
1358   IMPLICIT NONE
1359      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1360      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data5d_k8(:,:,:,:,:)
1361      CALL cxios_read_data_k85(fieldid, len(fieldid), data5d_k8, &
1362                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), &
1363                                size(data5d_k8, 4), size(data5d_k8, 5))
1364   END SUBROUTINE  xios(recv_field_r8_5d)
1365
[2025]1366   SUBROUTINE  xios(recv_field_r8_6d_hdl)(field_hdl, data6d_k8)
1367   IMPLICIT NONE
1368      TYPE(txios(field))              :: field_hdl
1369      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data6d_k8(:,:,:,:,:,:)
1370      CALL cxios_read_data_k86_hdl(field_hdl%daddr, data6d_k8, &
1371                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), &
1372                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6))
1373   END SUBROUTINE  xios(recv_field_r8_6d_hdl)
1374
[932]1375   SUBROUTINE  xios(recv_field_r8_6d)(fieldid, data6d_k8)
1376   IMPLICIT NONE
1377      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1378      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data6d_k8(:,:,:,:,:,:)
1379      CALL cxios_read_data_k86(fieldid, len(fieldid), data6d_k8, &
1380                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), &
1381                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6))
1382   END SUBROUTINE  xios(recv_field_r8_6d)
1383
[2025]1384  SUBROUTINE  xios(recv_field_r8_7d_hdl)(field_hdl, data7d_k8)
[932]1385   IMPLICIT NONE
[2025]1386      TYPE(txios(field))              :: field_hdl
1387      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data7d_k8(:,:,:,:,:,:,:)
1388      CALL cxios_read_data_k87_hdl(field_hdl%daddr, data7d_k8, &
1389                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), &
1390                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), &
1391                                size(data7d_k8, 7))
1392   END SUBROUTINE  xios(recv_field_r8_7d_hdl)
1393
1394  SUBROUTINE  xios(recv_field_r8_7d)(fieldid, data7d_k8)
1395   IMPLICIT NONE
[932]1396      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1397      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data7d_k8(:,:,:,:,:,:,:)
1398      CALL cxios_read_data_k87(fieldid, len(fieldid), data7d_k8, &
1399                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), &
1400                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), &
1401                                size(data7d_k8, 7))
1402   END SUBROUTINE  xios(recv_field_r8_7d)
1403
[2025]1404   SUBROUTINE xios(recv_field_r4_0d_hdl)(field_hdl, data0d_k4)
1405   IMPLICIT NONE
1406      TYPE(txios(field))              :: field_hdl
1407      REAL     (kind = 4)              , INTENT(OUT):: data0d_k4
1408      CALL cxios_read_data_k40_hdl(field_hdl%daddr, data0d_k4, 1)
1409   END SUBROUTINE xios(recv_field_r4_0d_hdl)
1410
[961]1411   SUBROUTINE xios(recv_field_r4_0d)(fieldid, data0d_k4)
1412   IMPLICIT NONE
1413      CHARACTER(len = *)               , INTENT(IN) :: fieldid
[965]1414      REAL     (kind = 4)              , INTENT(OUT):: data0d_k4
1415      CALL cxios_read_data_k40(fieldid, len(fieldid), data0d_k4, 1)
[961]1416   END SUBROUTINE xios(recv_field_r4_0d)
1417
[2025]1418   SUBROUTINE xios(recv_field_r4_1d_hdl)(field_hdl, data1d_k4)
1419   IMPLICIT NONE
1420      TYPE(txios(field))              :: field_hdl
1421      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data1d_k4(:)
1422      CALL cxios_read_data_k41_hdl(field_hdl%daddr, data1d_k4, size(data1d_k4, 1))
1423   END SUBROUTINE xios(recv_field_r4_1d_hdl)
1424
[593]1425   SUBROUTINE xios(recv_field_r4_1d)(fieldid, data1d_k4)
1426   IMPLICIT NONE
1427      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1428      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data1d_k4(:)
1429      CALL cxios_read_data_k41(fieldid, len(fieldid), data1d_k4, size(data1d_k4, 1))
1430   END SUBROUTINE xios(recv_field_r4_1d)
1431
[2025]1432   SUBROUTINE xios(recv_field_r4_2d_hdl)(field_hdl, data2d_k4)
1433   IMPLICIT NONE
1434      TYPE(txios(field))              :: field_hdl
1435      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data2d_k4(:,:)
1436      CALL cxios_read_data_k42_hdl(field_hdl%daddr, data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2))
1437   END SUBROUTINE xios(recv_field_r4_2d_hdl)
1438
[593]1439   SUBROUTINE xios(recv_field_r4_2d)(fieldid, data2d_k4)
1440   IMPLICIT NONE
1441      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1442      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data2d_k4(:,:)
1443      CALL cxios_read_data_k42(fieldid, len(fieldid), data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2))
1444   END SUBROUTINE xios(recv_field_r4_2d)
1445
[2025]1446   SUBROUTINE xios(recv_field_r4_3d_hdl)(field_hdl, data3d_k4)
1447   IMPLICIT NONE
1448      TYPE(txios(field))              :: field_hdl
1449      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data3d_k4(:,:,:)
1450      CALL cxios_read_data_k43_hdl(field_hdl%daddr, data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3))
1451   END SUBROUTINE xios(recv_field_r4_3d_hdl)
1452
[593]1453   SUBROUTINE xios(recv_field_r4_3d)(fieldid, data3d_k4)
1454   IMPLICIT NONE
1455      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1456      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data3d_k4(:,:,:)
1457      CALL cxios_read_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3))
1458   END SUBROUTINE xios(recv_field_r4_3d)
1459
[2025]1460   SUBROUTINE  xios(recv_field_r4_4d_hdl)(field_hdl, data4d_k4)
1461   IMPLICIT NONE
1462      TYPE(txios(field))              :: field_hdl
1463      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data4d_k4(:,:,:,:)
1464      CALL cxios_read_data_k44_hdl(field_hdl%daddr, data4d_k4, &
1465                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), &
1466                                size(data4d_k4, 4))
1467   END SUBROUTINE  xios(recv_field_r4_4d_hdl)
1468
[932]1469   SUBROUTINE  xios(recv_field_r4_4d)(fieldid, data4d_k4)
1470   IMPLICIT NONE
1471      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1472      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data4d_k4(:,:,:,:)
1473      CALL cxios_read_data_k44(fieldid, len(fieldid), data4d_k4, &
1474                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), &
1475                                size(data4d_k4, 4))
1476   END SUBROUTINE  xios(recv_field_r4_4d)
1477
[2025]1478   SUBROUTINE  xios(recv_field_r4_5d_hdl)(field_hdl, data5d_k4)
1479   IMPLICIT NONE
1480      TYPE(txios(field))              :: field_hdl
1481      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data5d_k4(:,:,:,:,:)
1482      CALL cxios_read_data_k45_hdl(field_hdl%daddr, data5d_k4, &
1483                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), &
1484                                size(data5d_k4, 4), size(data5d_k4, 5))
1485   END SUBROUTINE  xios(recv_field_r4_5d_hdl)
1486
[932]1487   SUBROUTINE  xios(recv_field_r4_5d)(fieldid, data5d_k4)
1488   IMPLICIT NONE
1489      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1490      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data5d_k4(:,:,:,:,:)
1491      CALL cxios_read_data_k45(fieldid, len(fieldid), data5d_k4, &
1492                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), &
1493                                size(data5d_k4, 4), size(data5d_k4, 5))
1494   END SUBROUTINE  xios(recv_field_r4_5d)
1495
[2025]1496   SUBROUTINE  xios(recv_field_r4_6d_hdl)(field_hdl, data6d_k4)
1497   IMPLICIT NONE
1498      TYPE(txios(field))              :: field_hdl
1499      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data6d_k4(:,:,:,:,:,:)
1500      CALL cxios_read_data_k46_hdl(field_hdl%daddr, data6d_k4, &
1501                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), &
1502                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6))
1503   END SUBROUTINE  xios(recv_field_r4_6d_hdl)
1504
[932]1505   SUBROUTINE  xios(recv_field_r4_6d)(fieldid, data6d_k4)
1506   IMPLICIT NONE
1507      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1508      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data6d_k4(:,:,:,:,:,:)
1509      CALL cxios_read_data_k46(fieldid, len(fieldid), data6d_k4, &
1510                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), &
1511                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6))
1512   END SUBROUTINE  xios(recv_field_r4_6d)
1513
[2025]1514   SUBROUTINE  xios(recv_field_r4_7d_hdl)(field_hdl, data7d_k4)
1515   IMPLICIT NONE
1516      TYPE(txios(field))              :: field_hdl
1517      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data7d_k4(:,:,:,:,:,:,:)
1518      CALL cxios_read_data_k47_hdl(field_hdl%daddr, data7d_k4, &
1519                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), &
1520                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), &
1521                                size(data7d_k4, 7))
1522   END SUBROUTINE  xios(recv_field_r4_7d_hdl)
1523
[932]1524   SUBROUTINE  xios(recv_field_r4_7d)(fieldid, data7d_k4)
1525   IMPLICIT NONE
1526      CHARACTER(len = *)               , INTENT(IN) :: fieldid
1527      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data7d_k4(:,:,:,:,:,:,:)
1528      CALL cxios_read_data_k47(fieldid, len(fieldid), data7d_k4, &
1529                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), &
1530                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), &
1531                                size(data7d_k4, 7))
1532   END SUBROUTINE  xios(recv_field_r4_7d)
1533
[489]1534   ! Get variable functions
1535   LOGICAL FUNCTION xios(getVar_k8)(varId, data_k8)
[2099]1536   USE ISO_C_BINDING
[489]1537   IMPLICIT NONE
[2099]1538      LOGICAL  (kind = C_BOOL)                      :: val
[489]1539      CHARACTER(len = *)               , INTENT(IN) :: varId
1540      REAL     (kind = 8)              , INTENT(OUT):: data_k8
1541
1542      CALL cxios_get_variable_data_k8(varId, len(varId), data_k8, val)
1543
1544      xios(getVar_k8) = val
1545   END FUNCTION xios(getVar_k8)
1546
1547   LOGICAL FUNCTION xios(getVar_k4)(varId, data_k4)
[2099]1548   USE ISO_C_BINDING
[489]1549   IMPLICIT NONE
[2099]1550      LOGICAL  (kind = C_BOOL)                      :: val
[489]1551      CHARACTER(len = *)               , INTENT(IN) :: varId
1552      REAL     (kind = 4)              , INTENT(OUT):: data_k4
1553
1554      CALL cxios_get_variable_data_k4(varId, len(varId), data_k4, val)
1555
1556      xios(getVar_k4) = val
1557   END FUNCTION xios(getVar_k4)
1558
1559   LOGICAL FUNCTION xios(getVar_int)(varId, data_int)
[2099]1560   USE ISO_C_BINDING
[489]1561   IMPLICIT NONE
[2099]1562      LOGICAL  (kind = C_BOOL)                      :: val
[489]1563      CHARACTER(len = *)               , INTENT(IN) :: varId
1564      INTEGER                          , INTENT(OUT):: data_int
1565
1566      CALL cxios_get_variable_data_int(varId, len(varId), data_int, val)
1567
1568      xios(getVar_int) = val
1569   END FUNCTION xios(getVar_int)
1570
1571   LOGICAL FUNCTION xios(getVar_logic)(varId, data_logic)
[2099]1572   USE ISO_C_BINDING
[489]1573   IMPLICIT NONE
[2099]1574      LOGICAL  (kind = C_BOOL)                      :: val
[489]1575      CHARACTER(len  = *)              , INTENT(IN) :: varId
[2099]1576      LOGICAL  ,INTENT(OUT)                         :: data_logic
1577      LOGICAL (C_BOOL)                              :: data_tmp
[489]1578
[2099]1579      CALL cxios_get_variable_data_logic(varId, len(varId), data_tmp, val)
[489]1580      xios(getVar_logic) = val
[2099]1581      IF (val) data_logic = data_tmp
[489]1582   END FUNCTION xios(getVar_logic)
1583
1584   LOGICAL FUNCTION xios(getVar_char)(varId, data_char)
[2099]1585   USE ISO_C_BINDING
[489]1586   IMPLICIT NONE
[2099]1587      LOGICAL  (kind = C_BOOL)                      :: val
[489]1588      CHARACTER(len  = *)              , INTENT(IN) :: varId
1589      CHARACTER(len  = *)              , INTENT(OUT):: data_char
1590
1591      CALL cxios_get_variable_data_char(varId, len(varId), data_char, len(data_char), val)
1592
1593      xios(getVar_char) = val
1594   END FUNCTION xios(getVar_char)
1595
1596   ! Set variable functions
1597   LOGICAL FUNCTION xios(setVar_k8)(varId, data_k8)
[2099]1598   USE ISO_C_BINDING
[489]1599   IMPLICIT NONE
[2099]1600      LOGICAL  (kind = C_BOOL)                      :: val
[489]1601      CHARACTER(len = *)               , INTENT(IN) :: varId
1602      REAL     (kind = 8)              , INTENT(IN) :: data_k8
1603
1604      CALL cxios_set_variable_data_k8(varId, len(varId), data_k8, val)
1605
1606      xios(setVar_k8) = val
1607   END FUNCTION xios(setVar_k8)
1608
1609   LOGICAL FUNCTION xios(setVar_k4)(varId, data_k4)
[2099]1610   USE ISO_C_BINDING
[489]1611   IMPLICIT NONE
[2099]1612      LOGICAL  (kind = C_BOOL)                      :: val
[489]1613      CHARACTER(len = *)               , INTENT(IN) :: varId
1614      REAL     (kind = 4)              , INTENT(IN) :: data_k4
1615
1616      CALL cxios_set_variable_data_k4(varId, len(varId), data_k4, val)
1617
1618      xios(setVar_k4) = val
1619   END FUNCTION xios(setVar_k4)
1620
1621   LOGICAL FUNCTION xios(setVar_int)(varId, data_int)
[2099]1622   USE ISO_C_BINDING
[489]1623   IMPLICIT NONE
[2099]1624      LOGICAL  (kind = C_BOOL)                           :: val
[489]1625      CHARACTER(len = *)               , INTENT(IN) :: varId
1626      INTEGER                          , INTENT(IN) :: data_int
1627
1628      CALL cxios_set_variable_data_int(varId, len(varId), data_int, val)
1629
1630      xios(setVar_int) = val
1631   END FUNCTION xios(setVar_int)
1632
1633   LOGICAL FUNCTION xios(setVar_logic)(varId, data_logic)
[2099]1634   USE ISO_C_BINDING
[489]1635   IMPLICIT NONE
[2099]1636      LOGICAL(kind = C_BOOL)                        :: val
[489]1637      CHARACTER(len  = *)              , INTENT(IN) :: varId
[2099]1638      LOGICAL                          , INTENT(IN) :: data_logic
1639      LOGICAL  (kind = C_BOOL)                      :: data_tmp
[489]1640
[2099]1641      data_tmp = data_logic
1642      CALL cxios_set_variable_data_logic(varId, len(varId), data_tmp, val)
[489]1643
1644      xios(setVar_logic) = val
1645   END FUNCTION xios(setVar_logic)
1646
1647   LOGICAL FUNCTION xios(setVar_char)(varId, data_char)
[2099]1648   USE ISO_C_BINDING
[489]1649   IMPLICIT NONE
[2099]1650      LOGICAL  (kind = C_BOOL)                      :: val
[489]1651      CHARACTER(len  = *)              , INTENT(IN) :: varId
1652      CHARACTER(len  = *)              , INTENT(IN) :: data_char
1653
1654      CALL cxios_set_variable_data_char(varId, len(varId), data_char, len(data_char), val)
1655
1656      xios(setVar_char) = val
1657   END FUNCTION xios(setVar_char)
1658
[325]1659END MODULE IDATA
Note: See TracBrowser for help on using the repository browser.