1 | #include "xios_fortran_prefix.hpp" |
---|
2 | |
---|
3 | MODULE XIOS |
---|
4 | |
---|
5 | USE 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 | |
---|
10 | USE icontext, ONLY : txios(context), xios(set_current_context), xios(get_current_context), xios(is_valid_context) |
---|
11 | |
---|
12 | USE icontext_attr, ONLY : xios(set_context_attr), xios(get_context_attr), xios(is_defined_context_attr) |
---|
13 | |
---|
14 | USE 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 | |
---|
17 | USE idomain, ONLY : txios(domain), txios(domaingroup), xios(is_valid_domain), xios(is_valid_domaingroup) |
---|
18 | |
---|
19 | USE idomain_attr, ONLY : xios(set_domain_attr), xios(get_domain_attr), xios(is_defined_domain_attr) |
---|
20 | |
---|
21 | USE idomaingroup_attr, ONLY : xios(set_domaingroup_attr), xios(get_domaingroup_attr), xios(is_defined_domaingroup_attr) |
---|
22 | |
---|
23 | USE 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 | |
---|
30 | USE 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(=) |
---|
39 | |
---|
40 | USE ifield, ONLY : txios(field), txios(fieldgroup), xios(is_valid_field), xios(is_valid_fieldgroup) |
---|
41 | |
---|
42 | USE ifield_attr, ONLY : xios(set_field_attr), xios(get_field_attr), xios(is_defined_field_attr) |
---|
43 | |
---|
44 | USE ifieldgroup_attr, ONLY : xios(set_fieldgroup_attr), xios(get_fieldgroup_attr), xios(is_defined_fieldgroup_attr) |
---|
45 | |
---|
46 | USE ivariable, ONLY : txios(variable), txios(variablegroup), xios(is_valid_variable), xios(is_valid_variablegroup) |
---|
47 | |
---|
48 | USE ivariable_attr, ONLY : xios(set_variable_attr), xios(get_variable_attr), xios(is_defined_variable_attr) |
---|
49 | |
---|
50 | USE ivariablegroup_attr, ONLY : xios(set_variablegroup_attr), xios(get_variablegroup_attr), xios(is_defined_variablegroup_attr) |
---|
51 | |
---|
52 | USE ifile, ONLY : txios(file), txios(filegroup), xios(is_valid_file), xios(is_valid_filegroup) |
---|
53 | |
---|
54 | USE ifile_attr, ONLY : xios(set_file_attr), xios(get_file_attr), xios(is_defined_file_attr) |
---|
55 | |
---|
56 | USE ifilegroup_attr, ONLY : xios(set_filegroup_attr), xios(get_filegroup_attr), xios(is_defined_filegroup_attr) |
---|
57 | |
---|
58 | USE igrid, ONLY : txios(grid), txios(gridgroup), xios(is_valid_grid), xios(is_valid_gridgroup) |
---|
59 | |
---|
60 | USE igrid_attr, ONLY : xios(set_grid_attr), xios(get_grid_attr), xios(is_defined_grid_attr) |
---|
61 | |
---|
62 | USE igridgroup_attr, ONLY : xios(set_gridgroup_attr), xios(get_gridgroup_attr), xios(is_defined_gridgroup_attr) |
---|
63 | |
---|
64 | USE iaxis, ONLY : txios(axis), txios(axisgroup), xios(is_valid_axis), xios(is_valid_axisgroup) |
---|
65 | |
---|
66 | USE iaxis_attr, ONLY : xios(set_axis_attr), xios(get_axis_attr), xios(is_defined_axis_attr) |
---|
67 | |
---|
68 | USE iaxisgroup_attr, ONLY : xios(set_axisgroup_attr), xios(get_axisgroup_attr), xios(is_defined_axisgroup_attr) |
---|
69 | |
---|
70 | USE iscalar, ONLY : txios(scalar), txios(scalargroup), xios(is_valid_scalar), xios(is_valid_scalargroup) |
---|
71 | |
---|
72 | USE iscalar_attr, ONLY : xios(set_scalar_attr), xios(get_scalar_attr), xios(is_defined_scalar_attr) |
---|
73 | |
---|
74 | USE iscalargroup_attr, ONLY : xios(set_scalargroup_attr), xios(get_scalargroup_attr), xios(is_defined_scalargroup_attr) |
---|
75 | |
---|
76 | !------------------------------------------------------------------------------- |
---|
77 | !!! Transformation INTERFACES |
---|
78 | !------------------------------------------------------------------------------- |
---|
79 | !!! DOMAIN TRANSFORMATIONS |
---|
80 | USE izoom_domain, ONLY : txios(zoom_domain), xios(is_valid_zoom_domain) |
---|
81 | |
---|
82 | USE izoom_domain_attr, ONLY : xios(set_zoom_domain_attr), xios(get_zoom_domain_attr), xios(is_defined_zoom_domain_attr) |
---|
83 | |
---|
84 | USE iinterpolate_domain, ONLY : txios(interpolate_domain), xios(is_valid_interpolate_domain) |
---|
85 | |
---|
86 | USE iinterpolate_domain_attr, ONLY : xios(set_interpolate_domain_attr), xios(get_interpolate_domain_attr), & |
---|
87 | xios(is_defined_interpolate_domain_attr) |
---|
88 | |
---|
89 | USE igenerate_rectilinear_domain, ONLY : txios(generate_rectilinear_domain), xios(is_valid_generate_rectilinear_domain) |
---|
90 | |
---|
91 | USE igenerate_rectilinear_domain_attr, ONLY : xios(set_generate_rectilinear_domain_attr), & |
---|
92 | xios(get_generate_rectilinear_domain_attr), & |
---|
93 | xios(is_defined_generate_rectilinear_domain_attr) |
---|
94 | |
---|
95 | USE icompute_connectivity_domain, ONLY : txios(compute_connectivity_domain), xios(is_valid_compute_connectivity_domain) |
---|
96 | |
---|
97 | USE icompute_connectivity_domain_attr, ONLY : xios(set_compute_connectivity_domain_attr), & |
---|
98 | xios(get_compute_connectivity_domain_attr), & |
---|
99 | xios(is_defined_compute_connectivity_domain_attr) |
---|
100 | |
---|
101 | USE iexpand_domain, ONLY : txios(expand_domain), xios(is_valid_expand_domain) |
---|
102 | |
---|
103 | USE iexpand_domain_attr, ONLY : xios(set_expand_domain_attr), & |
---|
104 | xios(get_expand_domain_attr), & |
---|
105 | xios(is_defined_expand_domain_attr) |
---|
106 | |
---|
107 | !!! AXIS TRANSFORMATIONS |
---|
108 | USE izoom_axis, ONLY : txios(zoom_axis), xios(is_valid_zoom_axis) |
---|
109 | |
---|
110 | USE izoom_axis_attr, ONLY : xios(set_zoom_axis_attr), xios(get_zoom_axis_attr), xios(is_defined_zoom_axis_attr) |
---|
111 | |
---|
112 | |
---|
113 | USE iinterpolate_axis, ONLY : txios(interpolate_axis), xios(is_valid_interpolate_axis) |
---|
114 | |
---|
115 | USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr), xios(get_interpolate_axis_attr), & |
---|
116 | xios(is_defined_interpolate_axis_attr) |
---|
117 | |
---|
118 | USE iinverse_axis, ONLY : txios(inverse_axis), xios(is_valid_inverse_axis) |
---|
119 | |
---|
120 | USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr), xios(get_inverse_axis_attr), xios(is_defined_inverse_axis_attr) |
---|
121 | |
---|
122 | USE ireduce_domain_to_axis, ONLY : txios(reduce_domain_to_axis), xios(is_valid_reduce_domain_to_axis) |
---|
123 | |
---|
124 | USE ireduce_domain_to_axis_attr, ONLY : xios(set_reduce_domain_to_axis_attr), & |
---|
125 | xios(get_reduce_domain_to_axis_attr), & |
---|
126 | xios(is_defined_reduce_domain_to_axis_attr) |
---|
127 | |
---|
128 | USE iextract_domain_to_axis, ONLY : txios(extract_domain_to_axis), xios(is_valid_extract_domain_to_axis) |
---|
129 | |
---|
130 | USE iextract_domain_to_axis_attr, ONLY : xios(set_extract_domain_to_axis_attr), & |
---|
131 | xios(get_extract_domain_to_axis_attr), & |
---|
132 | xios(is_defined_extract_domain_to_axis_attr) |
---|
133 | |
---|
134 | !!! SCALAR TRANSFORMATIONS |
---|
135 | USE ireduce_domain_to_scalar, ONLY : txios(reduce_domain_to_scalar), xios(is_valid_reduce_domain_to_scalar) |
---|
136 | |
---|
137 | USE ireduce_domain_to_scalar_attr, ONLY : xios(set_reduce_domain_to_scalar_attr), xios(get_reduce_domain_to_scalar_attr), & |
---|
138 | xios(is_defined_reduce_domain_to_scalar_attr) |
---|
139 | |
---|
140 | USE ireduce_axis_to_scalar, ONLY : txios(reduce_axis_to_scalar), xios(is_valid_reduce_axis_to_scalar) |
---|
141 | |
---|
142 | USE ireduce_axis_to_scalar_attr, ONLY : xios(set_reduce_axis_to_scalar_attr), xios(get_reduce_axis_to_scalar_attr), & |
---|
143 | xios(is_defined_reduce_axis_to_scalar_attr) |
---|
144 | |
---|
145 | USE iextract_axis_to_scalar, ONLY : txios(extract_axis_to_scalar), xios(is_valid_extract_axis_to_scalar) |
---|
146 | |
---|
147 | USE iextract_axis_to_scalar_attr, ONLY : xios(set_extract_axis_to_scalar_attr), & |
---|
148 | xios(get_extract_axis_to_scalar_attr), & |
---|
149 | xios(is_defined_extract_axis_to_scalar_attr) |
---|
150 | |
---|
151 | USE XIOS_INTERFACES, ONLY : xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), xios(add_child), & |
---|
152 | xios(send_field), xios(recv_field), xios(field_is_active), xios(getVar), xios(setVar), & |
---|
153 | xios(field_get_domain),xios(field_get_axis),xios(field_get_scalar) |
---|
154 | |
---|
155 | END MODULE XIOS |
---|