source: XIOS/trunk/src/interface/fortran/ixios_interfaces.F90 @ 587

Last change on this file since 587 was 587, checked in by mhnguyen, 7 years ago

Correcting some issues because of merging code

+) Correct Fortran interface
+) Make a new interface for function sending a scalar

Test
+) On Curie:
+) Mode attached and connected
+) test_client and test_complete are correct

File size: 6.9 KB
Line 
1#include "xios_fortran_prefix.hpp"
2
3MODULE XIOS_INTERFACES
4
5USE icontext, ONLY : xios(get_context_handle)
6
7USE icontext_attr, ONLY : xios(set_context_attr_hdl), xios(get_context_attr_hdl), xios(is_defined_context_attr_hdl)
8
9USE idata, ONLY : xios(send_scalar_r8), xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d),                    &
10                  xios(send_scalar_r4), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d),                    &
11                  xios(getVar_k8), xios(getVar_k4), xios(getVar_int), xios(getVar_logic), xios(getVar_char), &
12                  xios(setVar_k8), xios(setVar_k4), xios(setVar_int), xios(setVar_logic), xios(setVar_char)
13
14USE idomain, ONLY : xios(get_domain_handle), xios(get_domaingroup_handle)
15
16USE idomain_attr, ONLY : xios(set_domain_attr_hdl), xios(get_domain_attr_hdl), xios(is_defined_domain_attr_hdl)
17
18USE idomaingroup_attr, ONLY : xios(set_domaingroup_attr_hdl), xios(get_domaingroup_attr_hdl), xios(is_defined_domaingroup_attr_hdl)
19
20USE ifield, ONLY : xios(get_field_handle), xios(get_fieldgroup_handle), xios(field_is_active_id), xios(field_is_active_hdl)
21
22USE ifield_attr, ONLY : xios(set_field_attr_hdl), xios(get_field_attr_hdl), xios(is_defined_field_attr_hdl)
23
24USE ifieldgroup_attr, ONLY : xios(set_fieldgroup_attr_hdl), xios(get_fieldgroup_attr_hdl), xios(is_defined_fieldgroup_attr_hdl)
25
26USE ivariable, ONLY : xios(get_variable_handle), xios(get_variablegroup_handle)
27
28USE ivariable_attr, ONLY : xios(set_variable_attr_hdl), xios(get_variable_attr_hdl), xios(is_defined_variable_attr_hdl)
29
30USE ivariablegroup_attr, ONLY : xios(set_variablegroup_attr_hdl), xios(get_variablegroup_attr_hdl), &
31                                xios(is_defined_variablegroup_attr_hdl)
32
33USE ifile, ONLY : xios(get_file_handle), xios(get_filegroup_handle)
34
35USE ifile_attr, ONLY : xios(set_file_attr_hdl), xios(get_file_attr_hdl), xios(is_defined_file_attr_hdl)
36
37USE ifilegroup_attr, ONLY : xios(set_filegroup_attr_hdl), xios(get_filegroup_attr_hdl), xios(is_defined_filegroup_attr_hdl)
38
39USE igrid, ONLY : xios(get_grid_handle), xios(get_gridgroup_handle)
40
41USE igrid_attr, ONLY : xios(set_grid_attr_hdl), xios(get_grid_attr_hdl), xios(is_defined_grid_attr_hdl)
42
43USE igridgroup_attr, ONLY : xios(set_gridgroup_attr_hdl), xios(get_gridgroup_attr_hdl), xios(is_defined_gridgroup_attr_hdl)
44
45USE iaxis, ONLY : xios(get_axis_handle), xios(get_axisgroup_handle)
46
47USE iaxis_attr, ONLY : xios(set_axis_attr_hdl), xios(get_axis_attr_hdl), xios(is_defined_axis_attr_hdl)
48
49USE iaxisgroup_attr, ONLY : xios(set_axisgroup_attr_hdl), xios(get_axisgroup_attr_hdl), xios(is_defined_axisgroup_attr_hdl)
50
51USE ixml_tree, ONLY : xios(add_axis), xios(add_file), xios(add_grid), xios(add_field), xios(add_domain),   &
52                      xios(add_fieldtofile), xios(add_variabletofile), xios(add_variabletofield),          &
53                      xios(add_axisgroup), xios(add_filegroup), xios(add_gridgroup), xios(add_fieldgroup), &
54                      xios(add_domaingroup), xios(add_fieldgrouptofile), xios(add_variablegrouptofile),    &
55                      xios(add_variablegrouptofield)
56
57PRIVATE
58
59INTERFACE xios(set_attr)
60  MODULE PROCEDURE xios(set_domaingroup_attr_hdl), xios(set_domain_attr_hdl), xios(set_fieldgroup_attr_hdl), &
61                   xios(set_field_attr_hdl),xios(set_variable_attr_hdl), xios(set_variablegroup_attr_hdl),   &
62                   xios(set_file_attr_hdl), xios(set_filegroup_attr_hdl),                                    &
63                   xios(set_grid_attr_hdl), xios(set_gridgroup_attr_hdl), xios(set_axis_attr_hdl) ,          &
64                   xios(set_axisgroup_attr_hdl), xios(set_context_attr_hdl)
65END INTERFACE xios(set_attr)
66
67INTERFACE xios(get_attr)
68  MODULE PROCEDURE xios(get_domaingroup_attr_hdl), xios(get_domain_attr_hdl), xios(get_fieldgroup_attr_hdl), &
69                   xios(get_field_attr_hdl), xios(get_variable_attr_hdl), xios(get_variablegroup_attr_hdl),  &
70                   xios(get_file_attr_hdl), xios(get_filegroup_attr_hdl),                                    &
71                   xios(get_grid_attr_hdl), xios(get_gridgroup_attr_hdl), xios(get_axis_attr_hdl) ,          &
72                   xios(get_axisgroup_attr_hdl), xios(get_context_attr_hdl)
73END INTERFACE xios(get_attr)
74
75INTERFACE xios(is_defined_attr)
76  MODULE PROCEDURE xios(is_defined_domaingroup_attr_hdl), xios(is_defined_domain_attr_hdl), xios(is_defined_fieldgroup_attr_hdl), &
77                   xios(is_defined_field_attr_hdl), xios(is_defined_variable_attr_hdl), xios(is_defined_variablegroup_attr_hdl),  &
78                   xios(is_defined_file_attr_hdl), xios(is_defined_filegroup_attr_hdl),                                           &
79                   xios(is_defined_grid_attr_hdl), xios(is_defined_gridgroup_attr_hdl), xios(is_defined_axis_attr_hdl) ,          &
80                   xios(is_defined_axisgroup_attr_hdl), xios(is_defined_context_attr_hdl)
81END INTERFACE xios(is_defined_attr)
82
83INTERFACE xios(get_handle)
84  MODULE PROCEDURE xios(get_context_handle), xios(get_domain_handle), xios(get_domaingroup_handle), &
85                   xios(get_file_handle), xios(get_filegroup_handle), xios(get_grid_handle),        &
86                   xios(get_gridgroup_handle), xios(get_axis_handle), xios(get_axisgroup_handle),   &
87                   xios(get_field_handle), xios(get_fieldgroup_handle),xios(get_variable_handle),   &
88                   xios(get_variablegroup_handle)
89END INTERFACE xios(get_handle)
90
91INTERFACE xios(add_child)
92  MODULE PROCEDURE xios(add_axis), xios(add_file), xios(add_grid), xios(add_field), xios(add_domain),                &
93                   xios(add_fieldtofile), xios(add_variabletofile), xios(add_variabletofield), xios(add_axisgroup),  &
94                   xios(add_filegroup), xios(add_gridgroup), xios(add_fieldgroup), xios(add_domaingroup),            &
95                   xios(add_fieldgrouptofile), xios(add_variablegrouptofile),xios(add_variablegrouptofield)
96END INTERFACE xios(add_child)
97
98
99INTERFACE xios(send_field)
100  MODULE PROCEDURE xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d), &
101                   xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d)
102END INTERFACE xios(send_field)
103
104INTERFACE xios(send_scalar)
105  MODULE PROCEDURE xios(send_scalar_r8), xios(send_scalar_r4)
106END INTERFACE xios(send_scalar)
107
108INTERFACE xios(field_is_active)
109  MODULE PROCEDURE xios(field_is_active_id),xios(field_is_active_hdl)
110END INTERFACE xios(field_is_active)
111
112INTERFACE xios(getVar)
113  MODULE PROCEDURE xios(getVar_k8), xios(getVar_k4), xios(getVar_int), xios(getVar_logic), xios(getVar_char)
114END INTERFACE xios(getVar)
115
116INTERFACE xios(setVar)
117  MODULE PROCEDURE xios(setVar_k8), xios(setVar_k4), xios(setVar_int), xios(setVar_logic), xios(setVar_char)
118END INTERFACE xios(setVar)
119
120PUBLIC :: xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), &
121          xios(add_child), xios(send_field), xios(field_is_active), xios(getVar), xios(setVar), xios(send_scalar)
122
123END MODULE XIOS_INTERFACES
Note: See TracBrowser for help on using the repository browser.