source: XIOS/trunk/src/interface/fortran/ixios.F90 @ 1849

Last change on this file since 1849 was 1849, checked in by ymipsl, 4 years ago

Export xios timers throw the fortran interface

YM

  • 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: 9.1 KB
Line 
1#include "xios_fortran_prefix.hpp"
2
3MODULE XIOS
4
5USE icalendar, ONLY : xios(define_calendar), xios(set_timestep), xios(set_start_date), xios(set_time_origin),   &
6                      xios(get_calendar_type), xios(get_timestep), xios(get_start_date), xios(get_time_origin), &
7                      xios(update_calendar), xios(get_current_date),                                            &
8                      xios(get_year_length_in_seconds), xios(get_day_length_in_seconds)
9
10USE icontext, ONLY : txios(context), xios(set_current_context), xios(get_current_context), xios(is_valid_context)
11
12USE icontext_attr, ONLY : xios(set_context_attr), xios(get_context_attr), xios(is_defined_context_attr)
13
14USE idata, ONLY : xios(initialize), xios(init_server), xios(finalize), xios(context_initialize), xios(context_is_initialized), &
15                  xios(close_context_definition), xios(context_finalize), xios(solve_inheritance), xios(oasis_enddef)
16
17USE idomain, ONLY : txios(domain), txios(domaingroup), xios(is_valid_domain), xios(is_valid_domaingroup)
18
19USE idomain_attr, ONLY : xios(set_domain_attr), xios(get_domain_attr), xios(is_defined_domain_attr)
20
21USE idomaingroup_attr, ONLY : xios(set_domaingroup_attr), xios(get_domaingroup_attr), xios(is_defined_domaingroup_attr)
22
23USE iduration, ONLY: txios(duration),                                                                            &
24                     xios(year), xios(month), xios(day), xios(hour), xios(minute), xios(second), xios(timestep), &
25                     xios(duration_convert_to_string), xios(duration_convert_from_string),                       &
26                     xios(duration_add), xios(duration_sub), xios(duration_mult), xios(duration_neg),            &
27                     xios(duration_eq), xios(duration_neq),                                                      &
28                     OPERATOR(+), OPERATOR(-), OPERATOR(*)
29
30USE idate, ONLY : txios(date),                                                                                 &
31                  xios(date_convert_to_seconds), xios(date_convert_to_string), xios(date_convert_from_string), &
32                  xios(date_add_duration), xios(date_sub_duration), xios(date_sub),                            &
33                  xios(date_eq), xios(date_neq), xios(date_lt), xios(date_le), xios(date_gt), xios(date_ge),   &
34                  xios(date_get_second_of_year), xios(date_get_day_of_year), xios(date_get_fraction_of_year),  &
35                  xios(date_get_second_of_day), xios(date_get_fraction_of_day),                                &
36                  OPERATOR(+), OPERATOR(-),                                                                    &
37                  OPERATOR(==), OPERATOR(/=), OPERATOR(<), OPERATOR(<=), OPERATOR(>), OPERATOR(>=),            &
38                  ASSIGNMENT(=)
39USE itimer, ONLY : xios(timer_resume), xios(timer_suspend), xios(timer_reset), xios(timer_get_time)
40
41USE ifield, ONLY : txios(field), txios(fieldgroup), xios(is_valid_field), xios(is_valid_fieldgroup)
42
43USE ifield_attr, ONLY : xios(set_field_attr), xios(get_field_attr), xios(is_defined_field_attr)
44
45USE ifieldgroup_attr, ONLY : xios(set_fieldgroup_attr), xios(get_fieldgroup_attr), xios(is_defined_fieldgroup_attr)
46
47USE ivariable, ONLY : txios(variable), txios(variablegroup), xios(is_valid_variable), xios(is_valid_variablegroup)
48
49USE ivariable_attr, ONLY : xios(set_variable_attr), xios(get_variable_attr), xios(is_defined_variable_attr)
50
51USE ivariablegroup_attr, ONLY : xios(set_variablegroup_attr), xios(get_variablegroup_attr), xios(is_defined_variablegroup_attr)
52
53USE ifile, ONLY : txios(file), txios(filegroup), xios(is_valid_file), xios(is_valid_filegroup)
54
55USE ifile_attr, ONLY : xios(set_file_attr), xios(get_file_attr), xios(is_defined_file_attr)
56
57USE ifilegroup_attr, ONLY : xios(set_filegroup_attr), xios(get_filegroup_attr), xios(is_defined_filegroup_attr)
58
59USE igrid, ONLY : txios(grid), txios(gridgroup), xios(is_valid_grid), xios(is_valid_gridgroup)
60
61USE igrid_attr, ONLY : xios(set_grid_attr), xios(get_grid_attr), xios(is_defined_grid_attr)
62
63USE igridgroup_attr, ONLY : xios(set_gridgroup_attr), xios(get_gridgroup_attr), xios(is_defined_gridgroup_attr)
64
65USE iaxis, ONLY : txios(axis), txios(axisgroup), xios(is_valid_axis), xios(is_valid_axisgroup)
66
67USE iaxis_attr, ONLY : xios(set_axis_attr), xios(get_axis_attr), xios(is_defined_axis_attr)
68
69USE iaxisgroup_attr, ONLY : xios(set_axisgroup_attr), xios(get_axisgroup_attr), xios(is_defined_axisgroup_attr)
70
71USE iscalar, ONLY : txios(scalar), txios(scalargroup), xios(is_valid_scalar), xios(is_valid_scalargroup)
72
73USE iscalar_attr, ONLY : xios(set_scalar_attr), xios(get_scalar_attr), xios(is_defined_scalar_attr)
74
75USE iscalargroup_attr, ONLY : xios(set_scalargroup_attr), xios(get_scalargroup_attr), xios(is_defined_scalargroup_attr)
76
77!-------------------------------------------------------------------------------
78!!! Transformation INTERFACES
79!-------------------------------------------------------------------------------
80!!! DOMAIN TRANSFORMATIONS
81USE izoom_domain, ONLY : txios(zoom_domain), xios(is_valid_zoom_domain)
82
83USE izoom_domain_attr, ONLY : xios(set_zoom_domain_attr), xios(get_zoom_domain_attr), xios(is_defined_zoom_domain_attr)
84
85USE iinterpolate_domain, ONLY : txios(interpolate_domain), xios(is_valid_interpolate_domain)
86
87USE iinterpolate_domain_attr, ONLY : xios(set_interpolate_domain_attr), xios(get_interpolate_domain_attr), &
88                                     xios(is_defined_interpolate_domain_attr)
89
90USE igenerate_rectilinear_domain, ONLY : txios(generate_rectilinear_domain), xios(is_valid_generate_rectilinear_domain)
91
92USE igenerate_rectilinear_domain_attr, ONLY : xios(set_generate_rectilinear_domain_attr), &
93                                              xios(get_generate_rectilinear_domain_attr), &
94                                              xios(is_defined_generate_rectilinear_domain_attr)
95
96USE icompute_connectivity_domain, ONLY : txios(compute_connectivity_domain), xios(is_valid_compute_connectivity_domain)
97
98USE icompute_connectivity_domain_attr, ONLY : xios(set_compute_connectivity_domain_attr), &
99                                              xios(get_compute_connectivity_domain_attr), &
100                                              xios(is_defined_compute_connectivity_domain_attr)
101
102USE iexpand_domain, ONLY : txios(expand_domain), xios(is_valid_expand_domain)
103
104USE iexpand_domain_attr, ONLY : xios(set_expand_domain_attr), &
105                                xios(get_expand_domain_attr), &
106                                xios(is_defined_expand_domain_attr)
107
108!!! AXIS TRANSFORMATIONS
109USE izoom_axis, ONLY : txios(zoom_axis), xios(is_valid_zoom_axis)
110
111USE izoom_axis_attr, ONLY : xios(set_zoom_axis_attr), xios(get_zoom_axis_attr), xios(is_defined_zoom_axis_attr)
112
113
114USE iinterpolate_axis, ONLY : txios(interpolate_axis), xios(is_valid_interpolate_axis)
115
116USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr), xios(get_interpolate_axis_attr), &
117                                   xios(is_defined_interpolate_axis_attr)
118
119USE iinverse_axis, ONLY : txios(inverse_axis), xios(is_valid_inverse_axis)
120
121USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr), xios(get_inverse_axis_attr), xios(is_defined_inverse_axis_attr)
122
123USE ireduce_domain_to_axis, ONLY : txios(reduce_domain_to_axis), xios(is_valid_reduce_domain_to_axis)
124
125USE ireduce_domain_to_axis_attr, ONLY : xios(set_reduce_domain_to_axis_attr), &
126                                        xios(get_reduce_domain_to_axis_attr), &
127                                        xios(is_defined_reduce_domain_to_axis_attr)
128
129USE iextract_domain_to_axis, ONLY : txios(extract_domain_to_axis), xios(is_valid_extract_domain_to_axis)
130
131USE iextract_domain_to_axis_attr, ONLY : xios(set_extract_domain_to_axis_attr), &
132                                         xios(get_extract_domain_to_axis_attr), &
133                                         xios(is_defined_extract_domain_to_axis_attr)
134
135!!! SCALAR TRANSFORMATIONS
136USE ireduce_domain_to_scalar, ONLY : txios(reduce_domain_to_scalar), xios(is_valid_reduce_domain_to_scalar)
137
138USE ireduce_domain_to_scalar_attr, ONLY : xios(set_reduce_domain_to_scalar_attr), xios(get_reduce_domain_to_scalar_attr), &
139                                          xios(is_defined_reduce_domain_to_scalar_attr)
140
141USE ireduce_axis_to_scalar, ONLY : txios(reduce_axis_to_scalar), xios(is_valid_reduce_axis_to_scalar)
142
143USE ireduce_axis_to_scalar_attr, ONLY : xios(set_reduce_axis_to_scalar_attr), xios(get_reduce_axis_to_scalar_attr), &
144                                        xios(is_defined_reduce_axis_to_scalar_attr)
145
146USE iextract_axis_to_scalar, ONLY : txios(extract_axis_to_scalar), xios(is_valid_extract_axis_to_scalar)
147
148USE iextract_axis_to_scalar_attr, ONLY : xios(set_extract_axis_to_scalar_attr), &
149                                         xios(get_extract_axis_to_scalar_attr), &
150                                         xios(is_defined_extract_axis_to_scalar_attr)
151
152USE XIOS_INTERFACES, ONLY : xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), xios(add_child), &
153                            xios(send_field), xios(recv_field), xios(field_is_active), xios(getVar), xios(setVar), &
154                            xios(field_get_domain),xios(field_get_axis),xios(field_get_scalar)
155
156END MODULE XIOS
Note: See TracBrowser for help on using the repository browser.