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

Last change on this file since 286 was 286, checked in by ymipsl, 10 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: 5.3 KB
Line 
1MODULE FIELD_INTERFACE
2   USE, INTRINSIC :: ISO_C_BINDING
3   
4   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99
5   
6      SUBROUTINE cxios_set_field_name(field_hdl, name ,name_size) BIND(C)
7         USE ISO_C_BINDING
8         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
9         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
10         INTEGER  (kind = C_INT)     , VALUE        :: name_size
11      END SUBROUTINE cxios_set_field_name
12
13      SUBROUTINE cxios_set_field_standard_name(field_hdl, standard_name ,standard_name_size) BIND(C)
14         USE ISO_C_BINDING
15         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
16         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: standard_name
17         INTEGER  (kind = C_INT)     , VALUE        :: standard_name_size
18      END SUBROUTINE cxios_set_field_standard_name
19
20      SUBROUTINE cxios_set_field_long_name(field_hdl, long_name ,long_name_size) BIND(C)
21         USE ISO_C_BINDING
22         INTEGER (kind = C_INTPTR_T), VALUE        :: field_hdl
23         CHARACTER(kind = C_CHAR)   , DIMENSION(*) :: long_name
24         INTEGER (kind = C_INT)     , VALUE        :: long_name_size
25      END SUBROUTINE cxios_set_field_long_name
26
27      SUBROUTINE cxios_set_field_unit(field_hdl, unit ,unit_size) BIND(C)
28         USE ISO_C_BINDING
29         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
30         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: unit
31         INTEGER  (kind = C_INT)     , VALUE        :: unit_size
32      END SUBROUTINE cxios_set_field_unit
33
34      SUBROUTINE cxios_set_field_operation(field_hdl, operation ,operation_size) BIND(C)
35         USE ISO_C_BINDING
36         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
37         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: operation
38         INTEGER  (kind = C_INT)     , VALUE        :: operation_size
39      END SUBROUTINE cxios_set_field_operation
40
41      SUBROUTINE cxios_set_field_freq_op(field_hdl, freq_op ,freq_op_size) BIND(C)
42         USE ISO_C_BINDING
43         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
44         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: freq_op
45         INTEGER  (kind = C_INT)     , VALUE        :: freq_op_size
46      END SUBROUTINE cxios_set_field_freq_op
47
48      SUBROUTINE cxios_set_field_level(field_hdl, level) BIND(C)
49         USE ISO_C_BINDING
50         INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
51         INTEGER (kind = C_INT)     , VALUE :: level
52      END SUBROUTINE cxios_set_field_level
53
54      SUBROUTINE cxios_set_field_prec(field_hdl, prec) BIND(C)
55         USE ISO_C_BINDING
56         INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
57         INTEGER (kind = C_INT)     , VALUE :: prec
58      END SUBROUTINE cxios_set_field_prec
59
60      SUBROUTINE cxios_set_field_enabled(field_hdl, enabled) BIND(C)
61         USE ISO_C_BINDING
62         INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
63         LOGICAL (kind = C_BOOL)    , VALUE :: enabled
64         END SUBROUTINE cxios_set_field_enabled
65
66      SUBROUTINE cxios_set_field_domain_ref(field_hdl, domain_ref ,domain_ref_size) BIND(C)
67         USE ISO_C_BINDING
68         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
69         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
70         INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
71      END SUBROUTINE cxios_set_field_domain_ref
72
73      SUBROUTINE cxios_set_field_axis_ref(field_hdl, axis_ref ,axis_ref_size) BIND(C)
74         USE ISO_C_BINDING
75         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
76         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
77         INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
78      END SUBROUTINE cxios_set_field_axis_ref
79
80      SUBROUTINE cxios_set_field_grid_ref(field_hdl, grid_ref ,grid_ref_size) BIND(C)
81         USE ISO_C_BINDING
82         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
83         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: grid_ref
84         INTEGER  (kind = C_INT)     , VALUE        :: grid_ref_size
85      END SUBROUTINE cxios_set_field_grid_ref
86
87      SUBROUTINE cxios_set_field_field_ref(field_hdl, field_ref ,field_ref_size) BIND(C)
88         USE ISO_C_BINDING
89         INTEGER  (kind = C_INTPTR_T), VALUE        :: field_hdl
90         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: field_ref
91         INTEGER  (kind = C_INT)     , VALUE        :: field_ref_size
92      END SUBROUTINE cxios_set_field_field_ref
93
94      SUBROUTINE cxios_set_field_default_value(field_hdl, default_value) BIND(C)
95         USE ISO_C_BINDING
96         INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
97         REAL    (kind = C_DOUBLE)  , VALUE :: default_value
98      END SUBROUTINE cxios_set_field_default_value
99   
100      SUBROUTINE cxios_field_handle_create(ret, idt, idt_size) BIND(C)
101         USE ISO_C_BINDING
102         INTEGER  (kind = C_INTPTR_T)               :: ret
103         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
104         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
105      END SUBROUTINE cxios_field_handle_create
106
107      SUBROUTINE cxios_field_valid_id(ret, idt, idt_size) BIND(C)
108         USE ISO_C_BINDING
109         LOGICAL  (kind = C_BOOL)                   :: ret
110         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
111         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
112      END SUBROUTINE cxios_field_valid_id
113
114   END INTERFACE
115   
116END MODULE FIELD_INTERFACE
Note: See TracBrowser for help on using the repository browser.