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

Last change on this file since 325 was 325, checked in by ymipsl, 10 years ago

port to gfortran/g++

YM

File size: 7.4 KB
Line 
1#include "xios_fortran_prefix.hpp"
2
3MODULE XIOS
4
5
6USE icontext, ONLY : txios(context), xios(get_context_handle), xios(set_current_context),    &
7                     xios(is_valid_context)
8
9USE icontext_attr, ONLY : xios(set_context_attr), xios(set_context_attr_hdl), &
10                          xios(get_context_attr), xios(get_context_attr_hdl)
11                                               
12USE idata, ONLY : xios(initialize),xios(init_server), xios(finalize), xios(context_initialize),  &
13                  xios(close_context_definition),       &
14                  xios(context_finalize), xios(send_field_r8_1d), xios(send_field_r8_2d), &
15                  xios(send_field_r8_3d), xios(send_field_r4_1d), xios(send_field_r4_2d), &
16                  xios(send_field_r4_3d)
17
18USE idate, ONLY : txios(date),txios(time), xios(set_timestep),xios(update_calendar)
19
20USE idomain, ONLY : txios(domain), txios(domaingroup), xios(get_domain_handle),  &
21                    xios(get_domaingroup_handle),xios(is_valid_domain),     &
22                    xios(is_valid_domaingroup)
23
24USE idomain_attr, ONLY :  xios(set_domain_attr), xios(set_domain_attr_hdl),  &
25                          xios(get_domain_attr), xios(get_domain_attr_hdl)
26
27USE idomaingroup_attr, ONLY : xios(set_domaingroup_attr), xios(set_domaingroup_attr_hdl),  & 
28                              xios(get_domaingroup_attr), xios(get_domaingroup_attr_hdl) 
29                   
30USE ifield, ONLY : txios(field), txios(fieldgroup), xios(get_field_handle),  &
31                   xios(get_fieldgroup_handle), xios(is_valid_field),        &
32                   xios(is_valid_fieldgroup),xios(field_is_active_id),xios(field_is_active_hdl) 
33
34USE ifield_attr, ONLY : xios(set_field_attr),xios(set_field_attr_hdl),    &
35                        xios(get_field_attr),xios(get_field_attr_hdl)
36 
37USE ifieldgroup_attr, ONLY : xios(set_fieldgroup_attr), xios(set_fieldgroup_attr_hdl),  &
38                             xios(get_fieldgroup_attr), xios(get_fieldgroup_attr_hdl)
39
40USE ifile, ONLY : txios(file), txios(filegroup), xios(get_file_handle),    & 
41                  xios(get_filegroup_handle), xios(is_valid_file), xios(is_valid_filegroup)
42
43USE ifile_attr, ONLY : xios(set_file_attr),xios(set_file_attr_hdl), &
44                       xios(get_file_attr),xios(get_file_attr_hdl)
45
46USE ifilegroup_attr, ONLY : xios(set_filegroup_attr), xios(set_filegroup_attr_hdl), &
47                            xios(get_filegroup_attr), xios(get_filegroup_attr_hdl)
48                 
49USE igrid, ONLY : txios(grid), txios(gridgroup), xios(get_grid_handle),     &
50                  xios(get_gridgroup_handle), xios(is_valid_grid), xios(is_valid_gridgroup) 
51
52USE igrid_attr, ONLY : xios(set_grid_attr_hdl), xios(set_grid_attr), &
53                       xios(get_grid_attr_hdl), xios(get_grid_attr)
54
55USE igridgroup_attr, ONLY : xios(set_gridgroup_attr), xios(set_gridgroup_attr_hdl),  &
56                            xios(get_gridgroup_attr), xios(get_gridgroup_attr_hdl)
57
58USE iaxis, ONLY : txios(axis), txios(axisgroup), xios(get_axis_handle),     &
59                  xios(get_axisgroup_handle), xios(is_valid_axis), xios(is_valid_axisgroup) 
60
61USE iaxis_attr, ONLY :  xios(set_axis_attr), xios(set_axis_attr_hdl), &
62                        xios(get_axis_attr), xios(get_axis_attr_hdl)
63
64USE iaxisgroup_attr, ONLY : xios(set_axisgroup_attr), xios(set_axisgroup_attr_hdl), &
65                            xios(get_axisgroup_attr), xios(get_axisgroup_attr_hdl)
66
67USE ixml_tree, ONLY : xios(add_axis), xios(add_file), xios(add_grid), xios(add_field), xios(add_domain),          &
68                     xios(add_fieldtofile), xios(add_axisgroup), xios(add_filegroup), xios(add_gridgroup), &
69                     xios(add_fieldgroup), xios(add_domaingroup), xios(add_fieldgrouptofile)
70                 
71
72PRIVATE
73
74
75INTERFACE xios(set_attr)
76  MODULE PROCEDURE xios(set_domaingroup_attr_hdl), xios(set_domain_attr_hdl), xios(set_fieldgroup_attr_hdl), &
77                   xios(set_field_attr_hdl), xios(set_file_attr_hdl), xios(set_filegroup_attr_hdl),          &
78                   xios(set_grid_attr_hdl), xios(set_gridgroup_attr_hdl), xios(set_axis_attr_hdl) ,          &
79                   xios(set_axisgroup_attr_hdl), xios(set_context_attr_hdl)
80END INTERFACE xios(set_attr)
81
82INTERFACE xios(get_attr)
83  MODULE PROCEDURE xios(get_domaingroup_attr_hdl), xios(get_domain_attr_hdl), xios(get_fieldgroup_attr_hdl), &
84                   xios(get_field_attr_hdl), xios(get_file_attr_hdl), xios(get_filegroup_attr_hdl),          &
85                   xios(get_grid_attr_hdl), xios(get_gridgroup_attr_hdl), xios(get_axis_attr_hdl) ,          &
86                   xios(get_axisgroup_attr_hdl), xios(get_context_attr_hdl)
87END INTERFACE xios(get_attr)
88
89INTERFACE xios(get_handle)
90  MODULE PROCEDURE  xios(get_context_handle), xios(get_domain_handle), xios(get_domaingroup_handle),        &
91                    xios(get_file_handle), xios(get_filegroup_handle), xios(get_grid_handle),               &
92                    xios(get_gridgroup_handle), xios(get_axis_handle), xios(get_axisgroup_handle),          &
93                    xios(get_field_handle), xios(get_fieldgroup_handle)
94END INTERFACE xios(get_handle) 
95
96INTERFACE xios(add_child)
97  MODULE PROCEDURE xios(add_axis), xios(add_file), xios(add_grid), xios(add_field), xios(add_domain),    &
98                   xios(add_fieldtofile), xios(add_axisgroup), xios(add_filegroup), xios(add_gridgroup), &
99                   xios(add_fieldgroup), xios(add_domaingroup), xios(add_fieldgrouptofile)
100END INTERFACE xios(add_child)
101
102
103INTERFACE xios(send_field)
104  MODULE PROCEDURE  xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d),              &
105                    xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d)
106END INTERFACE xios(send_field)
107
108INTERFACE xios(field_is_active)
109  MODULE PROCEDURE xios(field_is_active_id),xios(field_is_active_hdl)
110END INTERFACE
111 
112 PUBLIC :: txios(domain), txios(domaingroup),txios(field), txios(fieldgroup),txios(file), txios(filegroup), &
113          txios(grid), txios(gridgroup), txios(axis), txios(axisgroup),txios(context), txios(date),txios(time) 
114
115 PUBLIC :: xios(set_attr), xios(set_domain_attr), xios(set_domaingroup_attr), xios(set_fieldgroup_attr), &
116          xios(set_field_attr), xios(set_file_attr), xios(set_filegroup_attr),          &
117          xios(set_grid_attr), xios(set_gridgroup_attr), xios(set_axis_attr) ,          &
118          xios(set_axisgroup_attr), xios(set_context_attr)
119
120 PUBLIC :: xios(get_attr), xios(get_domain_attr), xios(get_domaingroup_attr), xios(get_fieldgroup_attr), &
121          xios(get_field_attr), xios(get_file_attr), xios(get_filegroup_attr),          &
122          xios(get_grid_attr), xios(get_gridgroup_attr), xios(get_axis_attr) ,          &
123          xios(get_axisgroup_attr), xios(get_context_attr)
124
125 PUBLIC :: xios(get_handle) 
126 PUBLIC :: xios(add_child) 
127
128 PUBLIC :: xios(is_valid_context),xios(is_valid_domain), xios(is_valid_domaingroup),xios(is_valid_field),        &
129          xios(is_valid_fieldgroup), xios(is_valid_file), xios(is_valid_filegroup), xios(is_valid_grid),         &
130          xios(is_valid_gridgroup), xios(is_valid_axis), xios(is_valid_axisgroup)
131         
132 PUBLIC :: xios(set_current_context) 
133 PUBLIC :: xios(set_timestep),xios(update_calendar)
134 PUBLIC :: xios(initialize), xios(init_server), xios(finalize), xios(context_initialize),                       &
135           xios(close_context_definition), xios(context_finalize), xios(send_field),xios(field_is_active)
136
137END MODULE XIOS
Note: See TracBrowser for help on using the repository browser.