source: XIOS/trunk/src/interface/fortran_attr/file_interface_attr.F90 @ 778

Last change on this file since 778 was 711, checked in by rlacroix, 9 years ago

Support creating the timeseries automatically.

Fields which should be outputted as timeseries must have the ts_enabled attribute set to true.

Files have a new attribute timeseries which must be one of:

  • none: no timeseries are outputted, only the regular file (default behavior when the attribute is ommited).
  • only: only the timeseries are outputted, the regular file is not created.
  • both: both the timeseries and the regular files are outputted.
  • exclusive: the timeseries are outputted and a regular file is created with only the fields which were not marked for output as a timeserie (if any).

The name of the files created for the timeseries is composed of a prefix followed by the name of the variable. The file attribute ts_prefix can be used to control the prefix used (by default, the name of the regular file is used).

All the attributes of the regular file are inherited by the files created for the timeseries. The field attribute ts_split_freq can be used to configure the splitting for each timeseries (by default, the splitting frequency of the regular file is used).

  • 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: 16.3 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "../fortran/xios_fortran_prefix.hpp"
5
6MODULE file_interface_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8
9  INTERFACE
10    ! Do not call directly / interface FORTRAN 2003 <-> C99
11
12    SUBROUTINE cxios_set_file_append(file_hdl, append) BIND(C)
13      USE ISO_C_BINDING
14      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
15      LOGICAL (KIND=C_BOOL)      , VALUE :: append
16    END SUBROUTINE cxios_set_file_append
17
18    SUBROUTINE cxios_get_file_append(file_hdl, append) BIND(C)
19      USE ISO_C_BINDING
20      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
21      LOGICAL (KIND=C_BOOL)             :: append
22    END SUBROUTINE cxios_get_file_append
23
24    FUNCTION cxios_is_defined_file_append(file_hdl) BIND(C)
25      USE ISO_C_BINDING
26      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_append
27      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
28    END FUNCTION cxios_is_defined_file_append
29
30
31    SUBROUTINE cxios_set_file_compression_level(file_hdl, compression_level) BIND(C)
32      USE ISO_C_BINDING
33      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
34      INTEGER (KIND=C_INT)      , VALUE :: compression_level
35    END SUBROUTINE cxios_set_file_compression_level
36
37    SUBROUTINE cxios_get_file_compression_level(file_hdl, compression_level) BIND(C)
38      USE ISO_C_BINDING
39      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
40      INTEGER (KIND=C_INT)             :: compression_level
41    END SUBROUTINE cxios_get_file_compression_level
42
43    FUNCTION cxios_is_defined_file_compression_level(file_hdl) BIND(C)
44      USE ISO_C_BINDING
45      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_compression_level
46      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
47    END FUNCTION cxios_is_defined_file_compression_level
48
49
50    SUBROUTINE cxios_set_file_description(file_hdl, description, description_size) BIND(C)
51      USE ISO_C_BINDING
52      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
53      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: description
54      INTEGER  (kind = C_INT)     , VALUE        :: description_size
55    END SUBROUTINE cxios_set_file_description
56
57    SUBROUTINE cxios_get_file_description(file_hdl, description, description_size) BIND(C)
58      USE ISO_C_BINDING
59      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
60      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: description
61      INTEGER  (kind = C_INT)     , VALUE        :: description_size
62    END SUBROUTINE cxios_get_file_description
63
64    FUNCTION cxios_is_defined_file_description(file_hdl) BIND(C)
65      USE ISO_C_BINDING
66      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_description
67      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
68    END FUNCTION cxios_is_defined_file_description
69
70
71    SUBROUTINE cxios_set_file_enabled(file_hdl, enabled) BIND(C)
72      USE ISO_C_BINDING
73      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
74      LOGICAL (KIND=C_BOOL)      , VALUE :: enabled
75    END SUBROUTINE cxios_set_file_enabled
76
77    SUBROUTINE cxios_get_file_enabled(file_hdl, enabled) BIND(C)
78      USE ISO_C_BINDING
79      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
80      LOGICAL (KIND=C_BOOL)             :: enabled
81    END SUBROUTINE cxios_get_file_enabled
82
83    FUNCTION cxios_is_defined_file_enabled(file_hdl) BIND(C)
84      USE ISO_C_BINDING
85      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_enabled
86      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
87    END FUNCTION cxios_is_defined_file_enabled
88
89
90    SUBROUTINE cxios_set_file_format(file_hdl, format, format_size) BIND(C)
91      USE ISO_C_BINDING
92      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
93      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: format
94      INTEGER  (kind = C_INT)     , VALUE        :: format_size
95    END SUBROUTINE cxios_set_file_format
96
97    SUBROUTINE cxios_get_file_format(file_hdl, format, format_size) BIND(C)
98      USE ISO_C_BINDING
99      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
100      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: format
101      INTEGER  (kind = C_INT)     , VALUE        :: format_size
102    END SUBROUTINE cxios_get_file_format
103
104    FUNCTION cxios_is_defined_file_format(file_hdl) BIND(C)
105      USE ISO_C_BINDING
106      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_format
107      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
108    END FUNCTION cxios_is_defined_file_format
109
110
111    SUBROUTINE cxios_set_file_min_digits(file_hdl, min_digits) BIND(C)
112      USE ISO_C_BINDING
113      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
114      INTEGER (KIND=C_INT)      , VALUE :: min_digits
115    END SUBROUTINE cxios_set_file_min_digits
116
117    SUBROUTINE cxios_get_file_min_digits(file_hdl, min_digits) BIND(C)
118      USE ISO_C_BINDING
119      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
120      INTEGER (KIND=C_INT)             :: min_digits
121    END SUBROUTINE cxios_get_file_min_digits
122
123    FUNCTION cxios_is_defined_file_min_digits(file_hdl) BIND(C)
124      USE ISO_C_BINDING
125      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_min_digits
126      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
127    END FUNCTION cxios_is_defined_file_min_digits
128
129
130    SUBROUTINE cxios_set_file_mode(file_hdl, mode, mode_size) BIND(C)
131      USE ISO_C_BINDING
132      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
133      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: mode
134      INTEGER  (kind = C_INT)     , VALUE        :: mode_size
135    END SUBROUTINE cxios_set_file_mode
136
137    SUBROUTINE cxios_get_file_mode(file_hdl, mode, mode_size) BIND(C)
138      USE ISO_C_BINDING
139      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
140      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: mode
141      INTEGER  (kind = C_INT)     , VALUE        :: mode_size
142    END SUBROUTINE cxios_get_file_mode
143
144    FUNCTION cxios_is_defined_file_mode(file_hdl) BIND(C)
145      USE ISO_C_BINDING
146      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_mode
147      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
148    END FUNCTION cxios_is_defined_file_mode
149
150
151    SUBROUTINE cxios_set_file_name(file_hdl, name, name_size) BIND(C)
152      USE ISO_C_BINDING
153      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
154      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
155      INTEGER  (kind = C_INT)     , VALUE        :: name_size
156    END SUBROUTINE cxios_set_file_name
157
158    SUBROUTINE cxios_get_file_name(file_hdl, name, name_size) BIND(C)
159      USE ISO_C_BINDING
160      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
161      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
162      INTEGER  (kind = C_INT)     , VALUE        :: name_size
163    END SUBROUTINE cxios_get_file_name
164
165    FUNCTION cxios_is_defined_file_name(file_hdl) BIND(C)
166      USE ISO_C_BINDING
167      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_name
168      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
169    END FUNCTION cxios_is_defined_file_name
170
171
172    SUBROUTINE cxios_set_file_name_suffix(file_hdl, name_suffix, name_suffix_size) BIND(C)
173      USE ISO_C_BINDING
174      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
175      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name_suffix
176      INTEGER  (kind = C_INT)     , VALUE        :: name_suffix_size
177    END SUBROUTINE cxios_set_file_name_suffix
178
179    SUBROUTINE cxios_get_file_name_suffix(file_hdl, name_suffix, name_suffix_size) BIND(C)
180      USE ISO_C_BINDING
181      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
182      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name_suffix
183      INTEGER  (kind = C_INT)     , VALUE        :: name_suffix_size
184    END SUBROUTINE cxios_get_file_name_suffix
185
186    FUNCTION cxios_is_defined_file_name_suffix(file_hdl) BIND(C)
187      USE ISO_C_BINDING
188      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_name_suffix
189      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
190    END FUNCTION cxios_is_defined_file_name_suffix
191
192
193    SUBROUTINE cxios_set_file_output_freq(file_hdl, output_freq) BIND(C)
194      USE ISO_C_BINDING
195      USE IDURATION
196      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
197      TYPE(txios(duration)), VALUE :: output_freq
198    END SUBROUTINE cxios_set_file_output_freq
199
200    SUBROUTINE cxios_get_file_output_freq(file_hdl, output_freq) BIND(C)
201      USE ISO_C_BINDING
202      USE IDURATION
203      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
204      TYPE(txios(duration)) :: output_freq
205    END SUBROUTINE cxios_get_file_output_freq
206
207    FUNCTION cxios_is_defined_file_output_freq(file_hdl) BIND(C)
208      USE ISO_C_BINDING
209      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_output_freq
210      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
211    END FUNCTION cxios_is_defined_file_output_freq
212
213
214    SUBROUTINE cxios_set_file_output_level(file_hdl, output_level) BIND(C)
215      USE ISO_C_BINDING
216      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
217      INTEGER (KIND=C_INT)      , VALUE :: output_level
218    END SUBROUTINE cxios_set_file_output_level
219
220    SUBROUTINE cxios_get_file_output_level(file_hdl, output_level) BIND(C)
221      USE ISO_C_BINDING
222      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
223      INTEGER (KIND=C_INT)             :: output_level
224    END SUBROUTINE cxios_get_file_output_level
225
226    FUNCTION cxios_is_defined_file_output_level(file_hdl) BIND(C)
227      USE ISO_C_BINDING
228      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_output_level
229      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
230    END FUNCTION cxios_is_defined_file_output_level
231
232
233    SUBROUTINE cxios_set_file_par_access(file_hdl, par_access, par_access_size) BIND(C)
234      USE ISO_C_BINDING
235      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
236      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: par_access
237      INTEGER  (kind = C_INT)     , VALUE        :: par_access_size
238    END SUBROUTINE cxios_set_file_par_access
239
240    SUBROUTINE cxios_get_file_par_access(file_hdl, par_access, par_access_size) BIND(C)
241      USE ISO_C_BINDING
242      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
243      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: par_access
244      INTEGER  (kind = C_INT)     , VALUE        :: par_access_size
245    END SUBROUTINE cxios_get_file_par_access
246
247    FUNCTION cxios_is_defined_file_par_access(file_hdl) BIND(C)
248      USE ISO_C_BINDING
249      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_par_access
250      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
251    END FUNCTION cxios_is_defined_file_par_access
252
253
254    SUBROUTINE cxios_set_file_split_freq(file_hdl, split_freq) BIND(C)
255      USE ISO_C_BINDING
256      USE IDURATION
257      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
258      TYPE(txios(duration)), VALUE :: split_freq
259    END SUBROUTINE cxios_set_file_split_freq
260
261    SUBROUTINE cxios_get_file_split_freq(file_hdl, split_freq) BIND(C)
262      USE ISO_C_BINDING
263      USE IDURATION
264      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
265      TYPE(txios(duration)) :: split_freq
266    END SUBROUTINE cxios_get_file_split_freq
267
268    FUNCTION cxios_is_defined_file_split_freq(file_hdl) BIND(C)
269      USE ISO_C_BINDING
270      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_split_freq
271      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
272    END FUNCTION cxios_is_defined_file_split_freq
273
274
275    SUBROUTINE cxios_set_file_split_freq_format(file_hdl, split_freq_format, split_freq_format_size) BIND(C)
276      USE ISO_C_BINDING
277      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
278      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq_format
279      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_format_size
280    END SUBROUTINE cxios_set_file_split_freq_format
281
282    SUBROUTINE cxios_get_file_split_freq_format(file_hdl, split_freq_format, split_freq_format_size) BIND(C)
283      USE ISO_C_BINDING
284      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
285      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq_format
286      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_format_size
287    END SUBROUTINE cxios_get_file_split_freq_format
288
289    FUNCTION cxios_is_defined_file_split_freq_format(file_hdl) BIND(C)
290      USE ISO_C_BINDING
291      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_split_freq_format
292      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
293    END FUNCTION cxios_is_defined_file_split_freq_format
294
295
296    SUBROUTINE cxios_set_file_sync_freq(file_hdl, sync_freq) BIND(C)
297      USE ISO_C_BINDING
298      USE IDURATION
299      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
300      TYPE(txios(duration)), VALUE :: sync_freq
301    END SUBROUTINE cxios_set_file_sync_freq
302
303    SUBROUTINE cxios_get_file_sync_freq(file_hdl, sync_freq) BIND(C)
304      USE ISO_C_BINDING
305      USE IDURATION
306      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
307      TYPE(txios(duration)) :: sync_freq
308    END SUBROUTINE cxios_get_file_sync_freq
309
310    FUNCTION cxios_is_defined_file_sync_freq(file_hdl) BIND(C)
311      USE ISO_C_BINDING
312      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_sync_freq
313      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
314    END FUNCTION cxios_is_defined_file_sync_freq
315
316
317    SUBROUTINE cxios_set_file_time_counter(file_hdl, time_counter, time_counter_size) BIND(C)
318      USE ISO_C_BINDING
319      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
320      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: time_counter
321      INTEGER  (kind = C_INT)     , VALUE        :: time_counter_size
322    END SUBROUTINE cxios_set_file_time_counter
323
324    SUBROUTINE cxios_get_file_time_counter(file_hdl, time_counter, time_counter_size) BIND(C)
325      USE ISO_C_BINDING
326      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
327      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: time_counter
328      INTEGER  (kind = C_INT)     , VALUE        :: time_counter_size
329    END SUBROUTINE cxios_get_file_time_counter
330
331    FUNCTION cxios_is_defined_file_time_counter(file_hdl) BIND(C)
332      USE ISO_C_BINDING
333      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_time_counter
334      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
335    END FUNCTION cxios_is_defined_file_time_counter
336
337
338    SUBROUTINE cxios_set_file_timeseries(file_hdl, timeseries, timeseries_size) BIND(C)
339      USE ISO_C_BINDING
340      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
341      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: timeseries
342      INTEGER  (kind = C_INT)     , VALUE        :: timeseries_size
343    END SUBROUTINE cxios_set_file_timeseries
344
345    SUBROUTINE cxios_get_file_timeseries(file_hdl, timeseries, timeseries_size) BIND(C)
346      USE ISO_C_BINDING
347      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
348      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: timeseries
349      INTEGER  (kind = C_INT)     , VALUE        :: timeseries_size
350    END SUBROUTINE cxios_get_file_timeseries
351
352    FUNCTION cxios_is_defined_file_timeseries(file_hdl) BIND(C)
353      USE ISO_C_BINDING
354      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_timeseries
355      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
356    END FUNCTION cxios_is_defined_file_timeseries
357
358
359    SUBROUTINE cxios_set_file_ts_prefix(file_hdl, ts_prefix, ts_prefix_size) BIND(C)
360      USE ISO_C_BINDING
361      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
362      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: ts_prefix
363      INTEGER  (kind = C_INT)     , VALUE        :: ts_prefix_size
364    END SUBROUTINE cxios_set_file_ts_prefix
365
366    SUBROUTINE cxios_get_file_ts_prefix(file_hdl, ts_prefix, ts_prefix_size) BIND(C)
367      USE ISO_C_BINDING
368      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
369      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: ts_prefix
370      INTEGER  (kind = C_INT)     , VALUE        :: ts_prefix_size
371    END SUBROUTINE cxios_get_file_ts_prefix
372
373    FUNCTION cxios_is_defined_file_ts_prefix(file_hdl) BIND(C)
374      USE ISO_C_BINDING
375      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_ts_prefix
376      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
377    END FUNCTION cxios_is_defined_file_ts_prefix
378
379
380    SUBROUTINE cxios_set_file_type(file_hdl, type, type_size) BIND(C)
381      USE ISO_C_BINDING
382      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
383      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type
384      INTEGER  (kind = C_INT)     , VALUE        :: type_size
385    END SUBROUTINE cxios_set_file_type
386
387    SUBROUTINE cxios_get_file_type(file_hdl, type, type_size) BIND(C)
388      USE ISO_C_BINDING
389      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
390      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type
391      INTEGER  (kind = C_INT)     , VALUE        :: type_size
392    END SUBROUTINE cxios_get_file_type
393
394    FUNCTION cxios_is_defined_file_type(file_hdl) BIND(C)
395      USE ISO_C_BINDING
396      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_type
397      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
398    END FUNCTION cxios_is_defined_file_type
399
400  END INTERFACE
401
402END MODULE file_interface_attr
Note: See TracBrowser for help on using the repository browser.