source: XIOS/trunk/src/fortran/ixios.F90 @ 313

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

Fortran attribut interface are now automaticaly generated.
Add get attribut fonctionnality from fortran.

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.