source: XMLIO_V2/dev/common/src/fortran/domaingroup_interface.f90 @ 290

Last change on this file since 290 was 286, checked in by ymipsl, 13 years ago

reprise en main de la version de H. Ozdoba. Correction de différentes erreurs de conception et bug.
Version NEMO operationnel en client/server, interoperabilita avec OASIS, reconstition de fichiers via netcdf4/HDF5

YM

File size: 10.5 KB
Line 
1MODULE DOMAINGROUP_INTERFACE
2   USE, INTRINSIC :: ISO_C_BINDING
3       
4   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99
5       
6      SUBROUTINE cxios_set_domaingroup_name(domaingroup_hdl, name, name_size) BIND(C)
7         USE ISO_C_BINDING
8         INTEGER  (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
9         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
10         INTEGER  (kind = C_INT)     , VALUE        :: name_size
11      END SUBROUTINE cxios_set_domaingroup_name
12
13      SUBROUTINE cxios_set_domaingroup_standard_name(domaingroup_hdl, standard_name, standard_name_size) BIND(C)
14         USE ISO_C_BINDING
15         INTEGER  (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
16         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: standard_name
17         INTEGER  (kind = C_INT)     , VALUE        :: standard_name_size
18      END SUBROUTINE cxios_set_domaingroup_standard_name
19
20      SUBROUTINE cxios_set_domaingroup_long_name(domaingroup_hdl, long_name, long_name_size) BIND(C)
21         USE ISO_C_BINDING
22         INTEGER  (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
23         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: long_name
24         INTEGER  (kind = C_INT)     , VALUE        :: long_name_size
25      END SUBROUTINE cxios_set_domaingroup_long_name
26
27      SUBROUTINE cxios_set_domaingroup_domain_group_ref(domaingroup_hdl, domain_group_ref, domain_group_ref_size) BIND(C)
28         USE ISO_C_BINDING
29         INTEGER  (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
30         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_group_ref
31         INTEGER  (kind = C_INT)     , VALUE        :: domain_group_ref_size
32      END SUBROUTINE cxios_set_domaingroup_domain_group_ref
33
34      SUBROUTINE cxios_set_domaingroup_ni_glo(domaingroup_hdl, ni_glo) BIND(C)
35         USE ISO_C_BINDING
36         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
37         INTEGER (kind = C_INT)     , VALUE :: ni_glo
38      END SUBROUTINE cxios_set_domaingroup_ni_glo
39
40      SUBROUTINE cxios_set_domaingroup_nj_glo(domaingroup_hdl, nj_glo) BIND(C)
41         USE ISO_C_BINDING
42         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
43         INTEGER (kind = C_INT)     , VALUE :: nj_glo
44      END SUBROUTINE cxios_set_domaingroup_nj_glo
45
46      SUBROUTINE cxios_set_domaingroup_ibegin(domaingroup_hdl, ibegin) BIND(C)
47         USE ISO_C_BINDING
48         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
49         INTEGER (kind = C_INT)     , VALUE :: ibegin
50      END SUBROUTINE cxios_set_domaingroup_ibegin
51
52      SUBROUTINE cxios_set_domaingroup_iend(domaingroup_hdl, iend) BIND(C)
53         USE ISO_C_BINDING
54         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
55         INTEGER (kind = C_INT)     , VALUE :: iend
56      END SUBROUTINE cxios_set_domaingroup_iend
57
58      SUBROUTINE cxios_set_domaingroup_ni(domaingroup_hdl, ni) BIND(C)
59         USE ISO_C_BINDING
60         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
61         INTEGER (kind = C_INT)     , VALUE :: ni
62      END SUBROUTINE cxios_set_domaingroup_ni
63
64      SUBROUTINE cxios_set_domaingroup_jbegin(domaingroup_hdl, jbegin) BIND(C)
65         USE ISO_C_BINDING
66         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
67         INTEGER (kind = C_INT)     , VALUE :: jbegin
68      END SUBROUTINE cxios_set_domaingroup_jbegin
69
70      SUBROUTINE cxios_set_domaingroup_jend(domaingroup_hdl, jend) BIND(C)
71         USE ISO_C_BINDING
72         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
73         INTEGER (kind = C_INT)     , VALUE :: jend
74      END SUBROUTINE cxios_set_domaingroup_jend
75
76      SUBROUTINE cxios_set_domaingroup_nj(domaingroup_hdl, nj) BIND(C)
77         USE ISO_C_BINDING
78         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
79         INTEGER (kind = C_INT)     , VALUE :: nj
80      END SUBROUTINE cxios_set_domaingroup_nj
81
82      SUBROUTINE cxios_set_domaingroup_mask(domaingroup_hdl, mask, mask_extent1, mask_extent2) BIND(C)
83         USE ISO_C_BINDING
84         INTEGER (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
85         LOGICAL(kind = C_BOOL)     , DIMENSION(*) :: mask
86         INTEGER (kind = C_INT)     , VALUE        :: mask_extent1
87         INTEGER (kind = C_INT)     , VALUE        :: mask_extent2
88      END SUBROUTINE cxios_set_domaingroup_mask
89
90      SUBROUTINE cxios_set_domaingroup_data_dim(domaingroup_hdl, data_dim) BIND(C)
91         USE ISO_C_BINDING
92         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
93         INTEGER (kind = C_INT)     , VALUE :: data_dim
94      END SUBROUTINE cxios_set_domaingroup_data_dim
95
96      SUBROUTINE cxios_set_domaingroup_data_ni(domaingroup_hdl, data_ni) BIND(C)
97         USE ISO_C_BINDING
98         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
99         INTEGER (kind = C_INT)     , VALUE :: data_ni
100      END SUBROUTINE cxios_set_domaingroup_data_ni
101
102      SUBROUTINE cxios_set_domaingroup_data_nj(domaingroup_hdl, data_nj) BIND(C)
103         USE ISO_C_BINDING
104         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
105         INTEGER (kind = C_INT)     , VALUE :: data_nj
106      END SUBROUTINE cxios_set_domaingroup_data_nj
107
108      SUBROUTINE cxios_set_domaingroup_data_ibegin(domaingroup_hdl, data_ibegin) BIND(C)
109         USE ISO_C_BINDING
110         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
111         INTEGER (kind = C_INT)     , VALUE :: data_ibegin
112      END SUBROUTINE cxios_set_domaingroup_data_ibegin
113
114      SUBROUTINE cxios_set_domaingroup_data_jbegin(domaingroup_hdl, data_jbegin) BIND(C)
115         USE ISO_C_BINDING
116         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
117         INTEGER (kind = C_INT)     , VALUE  :: data_jbegin
118      END SUBROUTINE cxios_set_domaingroup_data_jbegin
119
120      SUBROUTINE cxios_set_domaingroup_zoom_ni(domaingroup_hdl, zoom_ni) BIND(C)
121         USE ISO_C_BINDING
122         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
123         INTEGER (kind = C_INT)     , VALUE :: zoom_ni
124      END SUBROUTINE cxios_set_domaingroup_zoom_ni
125
126      SUBROUTINE cxios_set_domaingroup_zoom_nj(domaingroup_hdl, zoom_nj) BIND(C)
127         USE ISO_C_BINDING
128         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
129         INTEGER (kind = C_INT)     , VALUE :: zoom_nj
130      END SUBROUTINE cxios_set_domaingroup_zoom_nj
131
132      SUBROUTINE cxios_set_domaingroup_zoom_ibegin(domaingroup_hdl, zoom_ibegin) BIND(C)
133         USE ISO_C_BINDING
134         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
135         INTEGER (kind = C_INT)     , VALUE :: zoom_ibegin
136      END SUBROUTINE cxios_set_domaingroup_zoom_ibegin
137
138      SUBROUTINE cxios_set_domaingroup_zoom_jbegin(domaingroup_hdl, zoom_jbegin) BIND(C)
139         USE ISO_C_BINDING
140         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
141         INTEGER (kind = C_INT)     , VALUE :: zoom_jbegin
142      END SUBROUTINE cxios_set_domaingroup_zoom_jbegin
143
144      SUBROUTINE cxios_set_domaingroup_zoom_ni_loc(domaingroup_hdl, zoom_ni_loc) BIND(C)
145         USE ISO_C_BINDING
146         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
147         INTEGER (kind = C_INT)     , VALUE :: zoom_ni_loc
148      END SUBROUTINE cxios_set_domaingroup_zoom_ni_loc
149
150      SUBROUTINE cxios_set_domaingroup_zoom_nj_loc(domaingroup_hdl, zoom_nj_loc) BIND(C)
151         USE ISO_C_BINDING
152         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
153         INTEGER (kind = C_INT)     , VALUE :: zoom_nj_loc
154      END SUBROUTINE cxios_set_domaingroup_zoom_nj_loc
155
156      SUBROUTINE cxios_set_domaingroup_zoom_ibegin_loc(domaingroup_hdl, zoom_ibegin_loc) BIND(C)
157         USE ISO_C_BINDING
158         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
159         INTEGER (kind = C_INT)     , VALUE :: zoom_ibegin_loc
160      END SUBROUTINE cxios_set_domaingroup_zoom_ibegin_loc
161
162      SUBROUTINE cxios_set_domaingroup_zoom_jbegin_loc(domaingroup_hdl, zoom_jbegin_loc) BIND(C)
163         USE ISO_C_BINDING
164         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
165         INTEGER (kind = C_INT)     , VALUE :: zoom_jbegin_loc
166      END SUBROUTINE cxios_set_domaingroup_zoom_jbegin_loc
167
168      SUBROUTINE cxios_set_domaingroup_data_n_index(domaingroup_hdl, data_n_index) BIND(C)
169         USE ISO_C_BINDING
170         INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
171         INTEGER (kind = C_INT)     , VALUE :: data_n_index
172      END SUBROUTINE cxios_set_domaingroup_data_n_index
173
174      SUBROUTINE cxios_set_domaingroup_data_i_index(domaingroup_hdl, data_i_index, data_i_index_extent1) BIND(C)
175         USE ISO_C_BINDING
176         INTEGER (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
177         INTEGER (kind = C_INT)     , DIMENSION(*) :: data_i_index
178         INTEGER (kind = C_INT)     , VALUE        :: data_i_index_extent1
179      END SUBROUTINE cxios_set_domaingroup_data_i_index
180
181      SUBROUTINE cxios_set_domaingroup_data_j_index(domaingroup_hdl, data_j_index, data_j_index_extent1) BIND(C)
182         USE ISO_C_BINDING
183         INTEGER (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
184         INTEGER (kind = C_INT)     , DIMENSION(*) :: data_j_index
185         INTEGER (kind = C_INT)     , VALUE        :: data_j_index_extent1
186      END SUBROUTINE cxios_set_domaingroup_data_j_index
187
188      SUBROUTINE cxios_set_domaingroup_lonvalue(domaingroup_hdl, lonvalue, lonvalue_extent1) BIND(C)
189         USE ISO_C_BINDING
190         INTEGER (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
191         REAL    (kind = C_DOUBLE)  , DIMENSION(*) :: lonvalue
192         INTEGER (kind = C_INT)     , VALUE        :: lonvalue_extent1
193      END SUBROUTINE cxios_set_domaingroup_lonvalue
194
195      SUBROUTINE cxios_set_domaingroup_latvalue(domaingroup_hdl, latvalue, latvalue_extent1) BIND(C)
196         USE ISO_C_BINDING
197         INTEGER (kind = C_INTPTR_T), VALUE        :: domaingroup_hdl
198         REAL    (kind = C_DOUBLE)  , DIMENSION(*) :: latvalue
199         INTEGER (kind = C_INT)     , VALUE        :: latvalue_extent1
200      END SUBROUTINE cxios_set_domaingroup_latvalue
201     
202      SUBROUTINE cxios_domaingroup_handle_create(ret, idt, idt_size) BIND(C)
203         USE ISO_C_BINDING
204         INTEGER  (kind = C_INTPTR_T)               :: ret
205         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
206         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
207      END SUBROUTINE cxios_domaingroup_handle_create
208
209      SUBROUTINE cxios_domaingroup_valid_id(ret, idt, idt_size) BIND(C)
210         USE ISO_C_BINDING
211         LOGICAL  (kind = C_BOOL)                   :: ret
212         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
213         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
214      END SUBROUTINE cxios_domaingroup_valid_id
215
216   END INTERFACE
217       
218END MODULE DOMAINGROUP_INTERFACE
Note: See TracBrowser for help on using the repository browser.