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