source: XMLIO_V2/dev/dev_rv/src4/xmlio/fortran/domain_interface.f90 @ 249

Last change on this file since 249 was 249, checked in by hozdoba, 13 years ago

Ajout d'une partie d'Interface fortran pour la version 4
Ajout des sorties netcdf4 pour la version 4

File size: 9.5 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 xios_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)                    :: name_size
11      END SUBROUTINE xios_set_domain_name
12
13      SUBROUTINE xios_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)                    :: standard_name_size
18      END SUBROUTINE xios_set_domain_standard_name
19
20      SUBROUTINE xios_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)                    :: long_name_size
25      END SUBROUTINE xios_set_domain_long_name
26
27      SUBROUTINE xios_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)                    :: domain_group_ref_size
32      END SUBROUTINE xios_set_domain_domain_group_ref
33
34      SUBROUTINE xios_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)             :: ni_glo
38      END SUBROUTINE xios_set_domain_ni_glo
39
40      SUBROUTINE xios_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)             :: nj_glo
44      END SUBROUTINE xios_set_domain_nj_glo
45
46      SUBROUTINE xios_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)             :: ibegin
50      END SUBROUTINE xios_set_domain_ibegin
51
52      SUBROUTINE xios_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)             :: iend
56      END SUBROUTINE xios_set_domain_iend
57
58      SUBROUTINE xios_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)             :: ni
62      END SUBROUTINE xios_set_domain_ni
63
64      SUBROUTINE xios_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)             :: jbegin
68      END SUBROUTINE xios_set_domain_jbegin
69
70      SUBROUTINE xios_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)             :: jend
74      END SUBROUTINE xios_set_domain_jend
75
76      SUBROUTINE xios_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)             :: nj
80      END SUBROUTINE xios_set_domain_nj
81
82      SUBROUTINE xios_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)                    :: mask_extent1
87         INTEGER (kind = C_INT)                    :: mask_extent2
88      END SUBROUTINE xios_set_domain_mask
89
90      SUBROUTINE xios_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)             :: data_dim
94      END SUBROUTINE xios_set_domain_data_dim
95
96      SUBROUTINE xios_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)             :: data_ni
100      END SUBROUTINE xios_set_domain_data_ni
101
102      SUBROUTINE xios_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)             :: data_nj
106      END SUBROUTINE xios_set_domain_data_nj
107
108      SUBROUTINE xios_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)             :: data_ibegin
112      END SUBROUTINE xios_set_domain_data_ibegin
113
114      SUBROUTINE xios_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)             :: data_jbegin
118      END SUBROUTINE xios_set_domain_data_jbegin
119
120      SUBROUTINE xios_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)             :: zoom_ni
124      END SUBROUTINE xios_set_domain_zoom_ni
125
126      SUBROUTINE xios_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)             :: zoom_nj
130      END SUBROUTINE xios_set_domain_zoom_nj
131
132      SUBROUTINE xios_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)             :: zoom_ibegin
136      END SUBROUTINE xios_set_domain_zoom_ibegin
137
138      SUBROUTINE xios_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)             :: zoom_jbegin
142      END SUBROUTINE xios_set_domain_zoom_jbegin
143
144      SUBROUTINE xios_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)             :: zoom_ni_loc
148      END SUBROUTINE xios_set_domain_zoom_ni_loc
149
150      SUBROUTINE xios_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)             :: zoom_nj_loc
154      END SUBROUTINE xios_set_domain_zoom_nj_loc
155
156      SUBROUTINE xios_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)             :: zoom_ibegin_loc
160      END SUBROUTINE xios_set_domain_zoom_ibegin_loc
161
162      SUBROUTINE xios_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)             :: zoom_jbegin_loc
166      END SUBROUTINE xios_set_domain_zoom_jbegin_loc
167
168      SUBROUTINE xios_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)             :: data_n_index
172      END SUBROUTINE xios_set_domain_data_n_index
173
174      SUBROUTINE xios_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)                     :: data_i_index_extent1
179      END SUBROUTINE xios_set_domain_data_i_index
180
181      SUBROUTINE xios_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)                    :: data_j_index_extent1
186      END SUBROUTINE xios_set_domain_data_j_index
187
188      SUBROUTINE xios_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)                    :: lonvalue_extent1
193      END SUBROUTINE xios_set_domain_lonvalue
194
195      SUBROUTINE xios_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)                    :: latvalue_extent1
200      END SUBROUTINE xios_set_domain_latvalue
201       
202      SUBROUTINE xios_domain_handle_create(ret, idt, idt_size) BIND(C)
203         import C_CHAR, C_INTPTR_T, C_INT
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 xios_domain_handle_create
208       
209   END INTERFACE
210       
211END MODULE DOMAIN_INTERFACE
Note: See TracBrowser for help on using the repository browser.