source: XMLIO_V2/dev/common/src/xmlio/fortran/domain_interface.f90 @ 286

Last change on this file since 286 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: 9.8 KB
Line 
1MODULE DOMAIN_INTERFACE
2   USE, INTRINSIC :: ISO_C_BINDING
3       
4   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99
5       
6      SUBROUTINE cxios_set_domain_name(domain_hdl, name, name_size) BIND(C)
7         USE ISO_C_BINDING
8         INTEGER  (kind = C_INTPTR_T), VALUE        :: domain_hdl
9         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
10         INTEGER  (kind = C_INT)     , VALUE        :: name_size
11      END SUBROUTINE cxios_set_domain_name
12
13      SUBROUTINE cxios_set_domain_standard_name(domain_hdl, standard_name, standard_name_size) BIND(C)
14         USE ISO_C_BINDING
15         INTEGER  (kind = C_INTPTR_T), VALUE        :: domain_hdl
16         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: standard_name
17         INTEGER  (kind = C_INT)     , VALUE        :: standard_name_size
18      END SUBROUTINE cxios_set_domain_standard_name
19
20      SUBROUTINE cxios_set_domain_long_name(domain_hdl, long_name, long_name_size) BIND(C)
21         USE ISO_C_BINDING
22         INTEGER  (kind = C_INTPTR_T), VALUE        :: domain_hdl
23         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: long_name
24         INTEGER  (kind = C_INT)     , VALUE        :: long_name_size
25      END SUBROUTINE cxios_set_domain_long_name
26
27      SUBROUTINE cxios_set_domain_domain_group_ref(domain_hdl, domain_group_ref, domain_group_ref_size) BIND(C)
28         USE ISO_C_BINDING
29         INTEGER  (kind = C_INTPTR_T), VALUE        :: domain_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_domain_domain_group_ref
33
34      SUBROUTINE cxios_set_domain_ni_glo(domain_hdl, ni_glo) BIND(C)
35         USE ISO_C_BINDING
36         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
37         INTEGER (kind = C_INT)     , VALUE :: ni_glo
38      END SUBROUTINE cxios_set_domain_ni_glo
39
40      SUBROUTINE cxios_set_domain_nj_glo(domain_hdl, nj_glo) BIND(C)
41         USE ISO_C_BINDING
42         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
43         INTEGER (kind = C_INT)     , VALUE :: nj_glo
44      END SUBROUTINE cxios_set_domain_nj_glo
45
46      SUBROUTINE cxios_set_domain_ibegin(domain_hdl, ibegin) BIND(C)
47         USE ISO_C_BINDING
48         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
49         INTEGER (kind = C_INT)     , VALUE :: ibegin
50      END SUBROUTINE cxios_set_domain_ibegin
51
52      SUBROUTINE cxios_set_domain_iend(domain_hdl, iend) BIND(C)
53         USE ISO_C_BINDING
54         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
55         INTEGER (kind = C_INT)     , VALUE :: iend
56      END SUBROUTINE cxios_set_domain_iend
57
58      SUBROUTINE cxios_set_domain_ni(domain_hdl, ni) BIND(C)
59         USE ISO_C_BINDING
60         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
61         INTEGER (kind = C_INT)     , VALUE :: ni
62      END SUBROUTINE cxios_set_domain_ni
63
64      SUBROUTINE cxios_set_domain_jbegin(domain_hdl, jbegin) BIND(C)
65         USE ISO_C_BINDING
66         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
67         INTEGER (kind = C_INT)     , VALUE :: jbegin
68      END SUBROUTINE cxios_set_domain_jbegin
69
70      SUBROUTINE cxios_set_domain_jend(domain_hdl, jend) BIND(C)
71         USE ISO_C_BINDING
72         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
73         INTEGER (kind = C_INT)     , VALUE :: jend
74      END SUBROUTINE cxios_set_domain_jend
75
76      SUBROUTINE cxios_set_domain_nj(domain_hdl, nj) BIND(C)
77         USE ISO_C_BINDING
78         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
79         INTEGER (kind = C_INT)     , VALUE :: nj
80      END SUBROUTINE cxios_set_domain_nj
81
82      SUBROUTINE cxios_set_domain_mask(domain_hdl, mask, mask_extent1, mask_extent2) BIND(C)
83         USE ISO_C_BINDING
84         INTEGER (kind = C_INTPTR_T), VALUE        :: domain_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_domain_mask
89
90      SUBROUTINE cxios_set_domain_data_dim(domain_hdl, data_dim) BIND(C)
91         USE ISO_C_BINDING
92         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
93         INTEGER (kind = C_INT)     , VALUE :: data_dim
94      END SUBROUTINE cxios_set_domain_data_dim
95
96      SUBROUTINE cxios_set_domain_data_ni(domain_hdl, data_ni) BIND(C)
97         USE ISO_C_BINDING
98         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
99         INTEGER (kind = C_INT)     , VALUE :: data_ni
100      END SUBROUTINE cxios_set_domain_data_ni
101
102      SUBROUTINE cxios_set_domain_data_nj(domain_hdl, data_nj) BIND(C)
103         USE ISO_C_BINDING
104         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
105         INTEGER (kind = C_INT)     , VALUE :: data_nj
106      END SUBROUTINE cxios_set_domain_data_nj
107
108      SUBROUTINE cxios_set_domain_data_ibegin(domain_hdl, data_ibegin) BIND(C)
109         USE ISO_C_BINDING
110         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
111         INTEGER (kind = C_INT)     , VALUE :: data_ibegin
112      END SUBROUTINE cxios_set_domain_data_ibegin
113
114      SUBROUTINE cxios_set_domain_data_jbegin(domain_hdl, data_jbegin) BIND(C)
115         USE ISO_C_BINDING
116         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
117         INTEGER (kind = C_INT)     , VALUE :: data_jbegin
118      END SUBROUTINE cxios_set_domain_data_jbegin
119
120      SUBROUTINE cxios_set_domain_zoom_ni(domain_hdl, zoom_ni) BIND(C)
121         USE ISO_C_BINDING
122         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
123         INTEGER (kind = C_INT)     , VALUE :: zoom_ni
124      END SUBROUTINE cxios_set_domain_zoom_ni
125
126      SUBROUTINE cxios_set_domain_zoom_nj(domain_hdl, zoom_nj) BIND(C)
127         USE ISO_C_BINDING
128         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
129         INTEGER (kind = C_INT)     , VALUE :: zoom_nj
130      END SUBROUTINE cxios_set_domain_zoom_nj
131
132      SUBROUTINE cxios_set_domain_zoom_ibegin(domain_hdl, zoom_ibegin) BIND(C)
133         USE ISO_C_BINDING
134         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
135         INTEGER (kind = C_INT)     , VALUE :: zoom_ibegin
136      END SUBROUTINE cxios_set_domain_zoom_ibegin
137
138      SUBROUTINE cxios_set_domain_zoom_jbegin(domain_hdl, zoom_jbegin) BIND(C)
139         USE ISO_C_BINDING
140         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
141         INTEGER (kind = C_INT)     , VALUE :: zoom_jbegin
142      END SUBROUTINE cxios_set_domain_zoom_jbegin
143
144      SUBROUTINE cxios_set_domain_zoom_ni_loc(domain_hdl, zoom_ni_loc) BIND(C)
145         USE ISO_C_BINDING
146         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
147         INTEGER (kind = C_INT)     , VALUE :: zoom_ni_loc
148      END SUBROUTINE cxios_set_domain_zoom_ni_loc
149
150      SUBROUTINE cxios_set_domain_zoom_nj_loc(domain_hdl, zoom_nj_loc) BIND(C)
151         USE ISO_C_BINDING
152         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
153         INTEGER (kind = C_INT)     , VALUE :: zoom_nj_loc
154      END SUBROUTINE cxios_set_domain_zoom_nj_loc
155
156      SUBROUTINE cxios_set_domain_zoom_ibegin_loc(domain_hdl, zoom_ibegin_loc) BIND(C)
157         USE ISO_C_BINDING
158         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
159         INTEGER (kind = C_INT)     , VALUE :: zoom_ibegin_loc
160      END SUBROUTINE cxios_set_domain_zoom_ibegin_loc
161
162      SUBROUTINE cxios_set_domain_zoom_jbegin_loc(domain_hdl, zoom_jbegin_loc) BIND(C)
163         USE ISO_C_BINDING
164         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
165         INTEGER (kind = C_INT)     , VALUE :: zoom_jbegin_loc
166      END SUBROUTINE cxios_set_domain_zoom_jbegin_loc
167
168      SUBROUTINE cxios_set_domain_data_n_index(domain_hdl, data_n_index) BIND(C)
169         USE ISO_C_BINDING
170         INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
171         INTEGER (kind = C_INT)     , VALUE :: data_n_index
172      END SUBROUTINE cxios_set_domain_data_n_index
173
174      SUBROUTINE cxios_set_domain_data_i_index(domain_hdl, data_i_index, data_i_index_extent1) BIND(C)
175         USE ISO_C_BINDING
176         INTEGER (kind = C_INTPTR_T), VALUE        :: domain_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_domain_data_i_index
180
181      SUBROUTINE cxios_set_domain_data_j_index(domain_hdl, data_j_index, data_j_index_extent1) BIND(C)
182         USE ISO_C_BINDING
183         INTEGER (kind = C_INTPTR_T), VALUE        :: domain_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_domain_data_j_index
187
188      SUBROUTINE cxios_set_domain_lonvalue(domain_hdl, lonvalue, lonvalue_extent1) BIND(C)
189         USE ISO_C_BINDING
190         INTEGER (kind = C_INTPTR_T), VALUE        :: domain_hdl
191         REAL    (kind = C_DOUBLE)  , DIMENSION(*) :: lonvalue
192         INTEGER (kind = C_INT)     , VALUE        :: lonvalue_extent1
193      END SUBROUTINE cxios_set_domain_lonvalue
194
195      SUBROUTINE cxios_set_domain_latvalue(domain_hdl, latvalue, latvalue_extent1) BIND(C)
196         USE ISO_C_BINDING
197         INTEGER (kind = C_INTPTR_T), VALUE        :: domain_hdl
198         REAL    (kind = C_DOUBLE)  , DIMENSION(*) :: latvalue
199         INTEGER (kind = C_INT)     , VALUE        :: latvalue_extent1
200      END SUBROUTINE cxios_set_domain_latvalue
201       
202      SUBROUTINE cxios_domain_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_domain_handle_create
208
209      SUBROUTINE cxios_domain_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_domain_valid_id
215
216   END INTERFACE
217       
218END MODULE DOMAIN_INTERFACE
Note: See TracBrowser for help on using the repository browser.