source: XIOS/trunk/src/interface/fortran_attr/filegroup_interface_attr.F90 @ 546

Last change on this file since 546 was 545, checked in by rlacroix, 9 years ago

Expose the calendar operations through the Fortran interface.

  • Add arithmetic operations on the xios_duration and xios_date types:
    • xios_duration + xios_duration = xios_duration
    • xios_duration - xios_duration = xios_duration
    • scalar * xios_duration = xios_duration * scalar = xios_duration
    • - xios_duration = xios_duration
    • xios_date + xios_duration = xios_date
    • xios_date - xios_duration = xios_date
    • xios_date - xios_date = xios_duration
  • Add comparison operations on the xios_duration and xios_date types:
    • xios_duration: ==, /=
    • xios_date: ==, /=, <, <=, >, >=
  • Add a new function "xios_date_convert_to_seconds" to convert a date into the number of seconds since the time origin of the calendar
  • Define some constant durations "xios_second", "xios_minute", "xios_hour", "xios_day", "xios_month", "xios_year" et "xios_timestep" to ease the definition of new durations (for example, 10h is just 10 * xios_hour)
  • Add a new function "xios_set_calendar" so that one can manually create the calendar attached to the current context and thus use the calendar operations before calling "xios_close_context_definition". This function can accept optional parameters so that the calendar attributes (calendar_type, start_date, time_origin and timestep) can be easily overwritten. Note that you cannot define a new calendar after one was already created (either because "xios_set_calendar" or "xios_close_context_definition" was used)
  • Readd the function "xios_set_timestep" as a simplified alias of "xios_set_context_attr(context, timestep)" for the current context
  • 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: 14.1 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "../fortran/xios_fortran_prefix.hpp"
5
6MODULE filegroup_interface_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8 
9  INTERFACE ! Do not call directly / interface FORTRAN 2003 <-> C99
10   
11   
12    SUBROUTINE cxios_set_filegroup_append(filegroup_hdl, append) BIND(C)
13      USE ISO_C_BINDING
14      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
15      LOGICAL (KIND=C_BOOL)      , VALUE :: append
16    END SUBROUTINE cxios_set_filegroup_append
17   
18    SUBROUTINE cxios_get_filegroup_append(filegroup_hdl, append) BIND(C)
19      USE ISO_C_BINDING
20      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
21      LOGICAL (KIND=C_BOOL)             :: append
22    END SUBROUTINE cxios_get_filegroup_append
23   
24    FUNCTION cxios_is_defined_filegroup_append(filegroup_hdl ) BIND(C)
25      USE ISO_C_BINDING
26      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_append
27      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
28    END FUNCTION cxios_is_defined_filegroup_append
29   
30   
31    SUBROUTINE cxios_set_filegroup_description(filegroup_hdl, description, description_size) BIND(C)
32      USE ISO_C_BINDING
33      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
34      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: description
35      INTEGER  (kind = C_INT)     , VALUE        :: description_size
36    END SUBROUTINE cxios_set_filegroup_description
37   
38    SUBROUTINE cxios_get_filegroup_description(filegroup_hdl, description, description_size) BIND(C)
39      USE ISO_C_BINDING
40      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
41      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: description
42      INTEGER  (kind = C_INT)     , VALUE        :: description_size
43    END SUBROUTINE cxios_get_filegroup_description
44   
45    FUNCTION cxios_is_defined_filegroup_description(filegroup_hdl ) BIND(C)
46      USE ISO_C_BINDING
47      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_description
48      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
49    END FUNCTION cxios_is_defined_filegroup_description
50   
51   
52    SUBROUTINE cxios_set_filegroup_enabled(filegroup_hdl, enabled) BIND(C)
53      USE ISO_C_BINDING
54      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
55      LOGICAL (KIND=C_BOOL)      , VALUE :: enabled
56    END SUBROUTINE cxios_set_filegroup_enabled
57   
58    SUBROUTINE cxios_get_filegroup_enabled(filegroup_hdl, enabled) BIND(C)
59      USE ISO_C_BINDING
60      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
61      LOGICAL (KIND=C_BOOL)             :: enabled
62    END SUBROUTINE cxios_get_filegroup_enabled
63   
64    FUNCTION cxios_is_defined_filegroup_enabled(filegroup_hdl ) BIND(C)
65      USE ISO_C_BINDING
66      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_enabled
67      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
68    END FUNCTION cxios_is_defined_filegroup_enabled
69   
70   
71    SUBROUTINE cxios_set_filegroup_format(filegroup_hdl, format, format_size) BIND(C)
72      USE ISO_C_BINDING
73      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
74      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: format
75      INTEGER  (kind = C_INT)     , VALUE        :: format_size
76    END SUBROUTINE cxios_set_filegroup_format
77   
78    SUBROUTINE cxios_get_filegroup_format(filegroup_hdl, format, format_size) BIND(C)
79      USE ISO_C_BINDING
80      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
81      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: format
82      INTEGER  (kind = C_INT)     , VALUE        :: format_size
83    END SUBROUTINE cxios_get_filegroup_format
84   
85    FUNCTION cxios_is_defined_filegroup_format(filegroup_hdl ) BIND(C)
86      USE ISO_C_BINDING
87      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_format
88      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
89    END FUNCTION cxios_is_defined_filegroup_format
90   
91   
92    SUBROUTINE cxios_set_filegroup_group_ref(filegroup_hdl, group_ref, group_ref_size) BIND(C)
93      USE ISO_C_BINDING
94      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
95      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: group_ref
96      INTEGER  (kind = C_INT)     , VALUE        :: group_ref_size
97    END SUBROUTINE cxios_set_filegroup_group_ref
98   
99    SUBROUTINE cxios_get_filegroup_group_ref(filegroup_hdl, group_ref, group_ref_size) BIND(C)
100      USE ISO_C_BINDING
101      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
102      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: group_ref
103      INTEGER  (kind = C_INT)     , VALUE        :: group_ref_size
104    END SUBROUTINE cxios_get_filegroup_group_ref
105   
106    FUNCTION cxios_is_defined_filegroup_group_ref(filegroup_hdl ) BIND(C)
107      USE ISO_C_BINDING
108      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_group_ref
109      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
110    END FUNCTION cxios_is_defined_filegroup_group_ref
111   
112   
113    SUBROUTINE cxios_set_filegroup_min_digits(filegroup_hdl, min_digits) BIND(C)
114      USE ISO_C_BINDING
115      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
116      INTEGER (KIND=C_INT)      , VALUE :: min_digits
117    END SUBROUTINE cxios_set_filegroup_min_digits
118   
119    SUBROUTINE cxios_get_filegroup_min_digits(filegroup_hdl, min_digits) BIND(C)
120      USE ISO_C_BINDING
121      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
122      INTEGER (KIND=C_INT)             :: min_digits
123    END SUBROUTINE cxios_get_filegroup_min_digits
124   
125    FUNCTION cxios_is_defined_filegroup_min_digits(filegroup_hdl ) BIND(C)
126      USE ISO_C_BINDING
127      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_min_digits
128      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
129    END FUNCTION cxios_is_defined_filegroup_min_digits
130   
131   
132    SUBROUTINE cxios_set_filegroup_name(filegroup_hdl, name, name_size) BIND(C)
133      USE ISO_C_BINDING
134      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
135      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
136      INTEGER  (kind = C_INT)     , VALUE        :: name_size
137    END SUBROUTINE cxios_set_filegroup_name
138   
139    SUBROUTINE cxios_get_filegroup_name(filegroup_hdl, name, name_size) BIND(C)
140      USE ISO_C_BINDING
141      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
142      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
143      INTEGER  (kind = C_INT)     , VALUE        :: name_size
144    END SUBROUTINE cxios_get_filegroup_name
145   
146    FUNCTION cxios_is_defined_filegroup_name(filegroup_hdl ) BIND(C)
147      USE ISO_C_BINDING
148      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_name
149      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
150    END FUNCTION cxios_is_defined_filegroup_name
151   
152   
153    SUBROUTINE cxios_set_filegroup_name_suffix(filegroup_hdl, name_suffix, name_suffix_size) BIND(C)
154      USE ISO_C_BINDING
155      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
156      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name_suffix
157      INTEGER  (kind = C_INT)     , VALUE        :: name_suffix_size
158    END SUBROUTINE cxios_set_filegroup_name_suffix
159   
160    SUBROUTINE cxios_get_filegroup_name_suffix(filegroup_hdl, name_suffix, name_suffix_size) BIND(C)
161      USE ISO_C_BINDING
162      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
163      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name_suffix
164      INTEGER  (kind = C_INT)     , VALUE        :: name_suffix_size
165    END SUBROUTINE cxios_get_filegroup_name_suffix
166   
167    FUNCTION cxios_is_defined_filegroup_name_suffix(filegroup_hdl ) BIND(C)
168      USE ISO_C_BINDING
169      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_name_suffix
170      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
171    END FUNCTION cxios_is_defined_filegroup_name_suffix
172   
173   
174    SUBROUTINE cxios_set_filegroup_output_freq(filegroup_hdl, output_freq) BIND(C)
175      USE ISO_C_BINDING
176      USE IDURATION
177      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
178      TYPE(txios(duration)), VALUE :: output_freq
179    END SUBROUTINE cxios_set_filegroup_output_freq
180   
181    SUBROUTINE cxios_get_filegroup_output_freq(filegroup_hdl, output_freq) BIND(C)
182      USE ISO_C_BINDING
183      USE IDURATION
184      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
185      TYPE(txios(duration)) :: output_freq
186    END SUBROUTINE cxios_get_filegroup_output_freq
187   
188    FUNCTION cxios_is_defined_filegroup_output_freq(filegroup_hdl ) BIND(C)
189      USE ISO_C_BINDING
190      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_output_freq
191      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
192    END FUNCTION cxios_is_defined_filegroup_output_freq
193   
194   
195    SUBROUTINE cxios_set_filegroup_output_level(filegroup_hdl, output_level) BIND(C)
196      USE ISO_C_BINDING
197      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
198      INTEGER (KIND=C_INT)      , VALUE :: output_level
199    END SUBROUTINE cxios_set_filegroup_output_level
200   
201    SUBROUTINE cxios_get_filegroup_output_level(filegroup_hdl, output_level) BIND(C)
202      USE ISO_C_BINDING
203      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
204      INTEGER (KIND=C_INT)             :: output_level
205    END SUBROUTINE cxios_get_filegroup_output_level
206   
207    FUNCTION cxios_is_defined_filegroup_output_level(filegroup_hdl ) BIND(C)
208      USE ISO_C_BINDING
209      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_output_level
210      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
211    END FUNCTION cxios_is_defined_filegroup_output_level
212   
213   
214    SUBROUTINE cxios_set_filegroup_par_access(filegroup_hdl, par_access, par_access_size) BIND(C)
215      USE ISO_C_BINDING
216      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
217      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: par_access
218      INTEGER  (kind = C_INT)     , VALUE        :: par_access_size
219    END SUBROUTINE cxios_set_filegroup_par_access
220   
221    SUBROUTINE cxios_get_filegroup_par_access(filegroup_hdl, par_access, par_access_size) BIND(C)
222      USE ISO_C_BINDING
223      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
224      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: par_access
225      INTEGER  (kind = C_INT)     , VALUE        :: par_access_size
226    END SUBROUTINE cxios_get_filegroup_par_access
227   
228    FUNCTION cxios_is_defined_filegroup_par_access(filegroup_hdl ) BIND(C)
229      USE ISO_C_BINDING
230      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_par_access
231      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
232    END FUNCTION cxios_is_defined_filegroup_par_access
233   
234   
235    SUBROUTINE cxios_set_filegroup_split_freq(filegroup_hdl, split_freq) BIND(C)
236      USE ISO_C_BINDING
237      USE IDURATION
238      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
239      TYPE(txios(duration)), VALUE :: split_freq
240    END SUBROUTINE cxios_set_filegroup_split_freq
241   
242    SUBROUTINE cxios_get_filegroup_split_freq(filegroup_hdl, split_freq) BIND(C)
243      USE ISO_C_BINDING
244      USE IDURATION
245      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
246      TYPE(txios(duration)) :: split_freq
247    END SUBROUTINE cxios_get_filegroup_split_freq
248   
249    FUNCTION cxios_is_defined_filegroup_split_freq(filegroup_hdl ) BIND(C)
250      USE ISO_C_BINDING
251      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_split_freq
252      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
253    END FUNCTION cxios_is_defined_filegroup_split_freq
254   
255   
256    SUBROUTINE cxios_set_filegroup_split_freq_format(filegroup_hdl, split_freq_format, split_freq_format_size) BIND(C)
257      USE ISO_C_BINDING
258      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
259      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq_format
260      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_format_size
261    END SUBROUTINE cxios_set_filegroup_split_freq_format
262   
263    SUBROUTINE cxios_get_filegroup_split_freq_format(filegroup_hdl, split_freq_format, split_freq_format_size) BIND(C)
264      USE ISO_C_BINDING
265      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
266      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq_format
267      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_format_size
268    END SUBROUTINE cxios_get_filegroup_split_freq_format
269   
270    FUNCTION cxios_is_defined_filegroup_split_freq_format(filegroup_hdl ) BIND(C)
271      USE ISO_C_BINDING
272      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_split_freq_format
273      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
274    END FUNCTION cxios_is_defined_filegroup_split_freq_format
275   
276   
277    SUBROUTINE cxios_set_filegroup_sync_freq(filegroup_hdl, sync_freq) BIND(C)
278      USE ISO_C_BINDING
279      USE IDURATION
280      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
281      TYPE(txios(duration)), VALUE :: sync_freq
282    END SUBROUTINE cxios_set_filegroup_sync_freq
283   
284    SUBROUTINE cxios_get_filegroup_sync_freq(filegroup_hdl, sync_freq) BIND(C)
285      USE ISO_C_BINDING
286      USE IDURATION
287      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
288      TYPE(txios(duration)) :: sync_freq
289    END SUBROUTINE cxios_get_filegroup_sync_freq
290   
291    FUNCTION cxios_is_defined_filegroup_sync_freq(filegroup_hdl ) BIND(C)
292      USE ISO_C_BINDING
293      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_sync_freq
294      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
295    END FUNCTION cxios_is_defined_filegroup_sync_freq
296   
297   
298    SUBROUTINE cxios_set_filegroup_type(filegroup_hdl, type, type_size) BIND(C)
299      USE ISO_C_BINDING
300      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
301      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type
302      INTEGER  (kind = C_INT)     , VALUE        :: type_size
303    END SUBROUTINE cxios_set_filegroup_type
304   
305    SUBROUTINE cxios_get_filegroup_type(filegroup_hdl, type, type_size) BIND(C)
306      USE ISO_C_BINDING
307      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
308      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type
309      INTEGER  (kind = C_INT)     , VALUE        :: type_size
310    END SUBROUTINE cxios_get_filegroup_type
311   
312    FUNCTION cxios_is_defined_filegroup_type(filegroup_hdl ) BIND(C)
313      USE ISO_C_BINDING
314      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_type
315      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
316    END FUNCTION cxios_is_defined_filegroup_type
317   
318   
319    END INTERFACE
320 
321END MODULE filegroup_interface_attr
Note: See TracBrowser for help on using the repository browser.