source: XIOS/trunk/src/interface/fortran_attr/file_interface_attr.f90 @ 517

Last change on this file since 517 was 517, checked in by rlacroix, 10 years ago

Add a new attribute to the file definition so that the output format can be controlled.

Currently the supported formats are "netcdf4" and "netcdf4_classic". The "format" attribute is optional. The "netcdf4" format will be used when no format is explicitly defined. Since "netcdf4" is the format which was previously used by XIOS, existing configuration files will not be affected by this change.

If "netcdf4_classic" is used, the output file(s) will be created using the classic NetCDF format. This format can be used with the attribute "type" set to "one_file" if the NetCDF4 library was compiled with Parallel NetCDF support (--enable-pnetcdf).

  • 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: 11.9 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4
5MODULE file_interface_attr
6  USE, INTRINSIC :: ISO_C_BINDING
7 
8  INTERFACE ! Do not call directly / interface FORTRAN 2003 <-> C99
9   
10   
11    SUBROUTINE cxios_set_file_description(file_hdl, description, description_size) BIND(C)
12      USE ISO_C_BINDING
13      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
14      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: description
15      INTEGER  (kind = C_INT)     , VALUE        :: description_size
16    END SUBROUTINE cxios_set_file_description
17   
18    SUBROUTINE cxios_get_file_description(file_hdl, description, description_size) BIND(C)
19      USE ISO_C_BINDING
20      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
21      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: description
22      INTEGER  (kind = C_INT)     , VALUE        :: description_size
23    END SUBROUTINE cxios_get_file_description
24   
25    FUNCTION cxios_is_defined_file_description(file_hdl ) BIND(C)
26      USE ISO_C_BINDING
27      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_description
28      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
29    END FUNCTION cxios_is_defined_file_description
30   
31   
32    SUBROUTINE cxios_set_file_enabled(file_hdl, enabled) BIND(C)
33      USE ISO_C_BINDING
34      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
35      LOGICAL (KIND=C_BOOL)      , VALUE :: enabled
36    END SUBROUTINE cxios_set_file_enabled
37   
38    SUBROUTINE cxios_get_file_enabled(file_hdl, enabled) BIND(C)
39      USE ISO_C_BINDING
40      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
41      LOGICAL (KIND=C_BOOL)             :: enabled
42    END SUBROUTINE cxios_get_file_enabled
43   
44    FUNCTION cxios_is_defined_file_enabled(file_hdl ) BIND(C)
45      USE ISO_C_BINDING
46      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_enabled
47      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
48    END FUNCTION cxios_is_defined_file_enabled
49   
50   
51    SUBROUTINE cxios_set_file_format(file_hdl, format, format_size) BIND(C)
52      USE ISO_C_BINDING
53      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
54      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: format
55      INTEGER  (kind = C_INT)     , VALUE        :: format_size
56    END SUBROUTINE cxios_set_file_format
57   
58    SUBROUTINE cxios_get_file_format(file_hdl, format, format_size) BIND(C)
59      USE ISO_C_BINDING
60      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
61      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: format
62      INTEGER  (kind = C_INT)     , VALUE        :: format_size
63    END SUBROUTINE cxios_get_file_format
64   
65    FUNCTION cxios_is_defined_file_format(file_hdl ) BIND(C)
66      USE ISO_C_BINDING
67      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_format
68      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
69    END FUNCTION cxios_is_defined_file_format
70   
71   
72    SUBROUTINE cxios_set_file_min_digits(file_hdl, min_digits) BIND(C)
73      USE ISO_C_BINDING
74      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
75      INTEGER (KIND=C_INT)      , VALUE :: min_digits
76    END SUBROUTINE cxios_set_file_min_digits
77   
78    SUBROUTINE cxios_get_file_min_digits(file_hdl, min_digits) BIND(C)
79      USE ISO_C_BINDING
80      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
81      INTEGER (KIND=C_INT)             :: min_digits
82    END SUBROUTINE cxios_get_file_min_digits
83   
84    FUNCTION cxios_is_defined_file_min_digits(file_hdl ) BIND(C)
85      USE ISO_C_BINDING
86      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_min_digits
87      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
88    END FUNCTION cxios_is_defined_file_min_digits
89   
90   
91    SUBROUTINE cxios_set_file_name(file_hdl, name, name_size) BIND(C)
92      USE ISO_C_BINDING
93      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
94      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
95      INTEGER  (kind = C_INT)     , VALUE        :: name_size
96    END SUBROUTINE cxios_set_file_name
97   
98    SUBROUTINE cxios_get_file_name(file_hdl, name, name_size) BIND(C)
99      USE ISO_C_BINDING
100      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
101      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
102      INTEGER  (kind = C_INT)     , VALUE        :: name_size
103    END SUBROUTINE cxios_get_file_name
104   
105    FUNCTION cxios_is_defined_file_name(file_hdl ) BIND(C)
106      USE ISO_C_BINDING
107      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_name
108      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
109    END FUNCTION cxios_is_defined_file_name
110   
111   
112    SUBROUTINE cxios_set_file_name_suffix(file_hdl, name_suffix, name_suffix_size) BIND(C)
113      USE ISO_C_BINDING
114      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
115      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name_suffix
116      INTEGER  (kind = C_INT)     , VALUE        :: name_suffix_size
117    END SUBROUTINE cxios_set_file_name_suffix
118   
119    SUBROUTINE cxios_get_file_name_suffix(file_hdl, name_suffix, name_suffix_size) BIND(C)
120      USE ISO_C_BINDING
121      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
122      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name_suffix
123      INTEGER  (kind = C_INT)     , VALUE        :: name_suffix_size
124    END SUBROUTINE cxios_get_file_name_suffix
125   
126    FUNCTION cxios_is_defined_file_name_suffix(file_hdl ) BIND(C)
127      USE ISO_C_BINDING
128      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_name_suffix
129      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
130    END FUNCTION cxios_is_defined_file_name_suffix
131   
132   
133    SUBROUTINE cxios_set_file_output_freq(file_hdl, output_freq, output_freq_size) BIND(C)
134      USE ISO_C_BINDING
135      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
136      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: output_freq
137      INTEGER  (kind = C_INT)     , VALUE        :: output_freq_size
138    END SUBROUTINE cxios_set_file_output_freq
139   
140    SUBROUTINE cxios_get_file_output_freq(file_hdl, output_freq, output_freq_size) BIND(C)
141      USE ISO_C_BINDING
142      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
143      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: output_freq
144      INTEGER  (kind = C_INT)     , VALUE        :: output_freq_size
145    END SUBROUTINE cxios_get_file_output_freq
146   
147    FUNCTION cxios_is_defined_file_output_freq(file_hdl ) BIND(C)
148      USE ISO_C_BINDING
149      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_output_freq
150      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
151    END FUNCTION cxios_is_defined_file_output_freq
152   
153   
154    SUBROUTINE cxios_set_file_output_level(file_hdl, output_level) BIND(C)
155      USE ISO_C_BINDING
156      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
157      INTEGER (KIND=C_INT)      , VALUE :: output_level
158    END SUBROUTINE cxios_set_file_output_level
159   
160    SUBROUTINE cxios_get_file_output_level(file_hdl, output_level) BIND(C)
161      USE ISO_C_BINDING
162      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
163      INTEGER (KIND=C_INT)             :: output_level
164    END SUBROUTINE cxios_get_file_output_level
165   
166    FUNCTION cxios_is_defined_file_output_level(file_hdl ) BIND(C)
167      USE ISO_C_BINDING
168      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_output_level
169      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
170    END FUNCTION cxios_is_defined_file_output_level
171   
172   
173    SUBROUTINE cxios_set_file_par_access(file_hdl, par_access, par_access_size) BIND(C)
174      USE ISO_C_BINDING
175      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
176      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: par_access
177      INTEGER  (kind = C_INT)     , VALUE        :: par_access_size
178    END SUBROUTINE cxios_set_file_par_access
179   
180    SUBROUTINE cxios_get_file_par_access(file_hdl, par_access, par_access_size) BIND(C)
181      USE ISO_C_BINDING
182      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
183      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: par_access
184      INTEGER  (kind = C_INT)     , VALUE        :: par_access_size
185    END SUBROUTINE cxios_get_file_par_access
186   
187    FUNCTION cxios_is_defined_file_par_access(file_hdl ) BIND(C)
188      USE ISO_C_BINDING
189      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_par_access
190      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
191    END FUNCTION cxios_is_defined_file_par_access
192   
193   
194    SUBROUTINE cxios_set_file_split_freq(file_hdl, split_freq, split_freq_size) BIND(C)
195      USE ISO_C_BINDING
196      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
197      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq
198      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_size
199    END SUBROUTINE cxios_set_file_split_freq
200   
201    SUBROUTINE cxios_get_file_split_freq(file_hdl, split_freq, split_freq_size) BIND(C)
202      USE ISO_C_BINDING
203      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
204      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq
205      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_size
206    END SUBROUTINE cxios_get_file_split_freq
207   
208    FUNCTION cxios_is_defined_file_split_freq(file_hdl ) BIND(C)
209      USE ISO_C_BINDING
210      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_split_freq
211      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
212    END FUNCTION cxios_is_defined_file_split_freq
213   
214   
215    SUBROUTINE cxios_set_file_split_freq_format(file_hdl, split_freq_format, split_freq_format_size) BIND(C)
216      USE ISO_C_BINDING
217      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
218      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq_format
219      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_format_size
220    END SUBROUTINE cxios_set_file_split_freq_format
221   
222    SUBROUTINE cxios_get_file_split_freq_format(file_hdl, split_freq_format, split_freq_format_size) BIND(C)
223      USE ISO_C_BINDING
224      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
225      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq_format
226      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_format_size
227    END SUBROUTINE cxios_get_file_split_freq_format
228   
229    FUNCTION cxios_is_defined_file_split_freq_format(file_hdl ) BIND(C)
230      USE ISO_C_BINDING
231      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_split_freq_format
232      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
233    END FUNCTION cxios_is_defined_file_split_freq_format
234   
235   
236    SUBROUTINE cxios_set_file_sync_freq(file_hdl, sync_freq, sync_freq_size) BIND(C)
237      USE ISO_C_BINDING
238      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
239      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: sync_freq
240      INTEGER  (kind = C_INT)     , VALUE        :: sync_freq_size
241    END SUBROUTINE cxios_set_file_sync_freq
242   
243    SUBROUTINE cxios_get_file_sync_freq(file_hdl, sync_freq, sync_freq_size) BIND(C)
244      USE ISO_C_BINDING
245      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
246      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: sync_freq
247      INTEGER  (kind = C_INT)     , VALUE        :: sync_freq_size
248    END SUBROUTINE cxios_get_file_sync_freq
249   
250    FUNCTION cxios_is_defined_file_sync_freq(file_hdl ) BIND(C)
251      USE ISO_C_BINDING
252      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_sync_freq
253      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
254    END FUNCTION cxios_is_defined_file_sync_freq
255   
256   
257    SUBROUTINE cxios_set_file_type(file_hdl, type, type_size) BIND(C)
258      USE ISO_C_BINDING
259      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
260      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type
261      INTEGER  (kind = C_INT)     , VALUE        :: type_size
262    END SUBROUTINE cxios_set_file_type
263   
264    SUBROUTINE cxios_get_file_type(file_hdl, type, type_size) BIND(C)
265      USE ISO_C_BINDING
266      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
267      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type
268      INTEGER  (kind = C_INT)     , VALUE        :: type_size
269    END SUBROUTINE cxios_get_file_type
270   
271    FUNCTION cxios_is_defined_file_type(file_hdl ) BIND(C)
272      USE ISO_C_BINDING
273      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_type
274      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
275    END FUNCTION cxios_is_defined_file_type
276   
277   
278    END INTERFACE
279 
280END MODULE file_interface_attr
Note: See TracBrowser for help on using the repository browser.