14 use,
intrinsic :: iso_c_binding
17 type(c_ptr),
value :: conf, tbegin, tend
21 use,
intrinsic :: iso_c_binding
23 type(c_ptr),
value :: obss
27 use,
intrinsic :: iso_c_binding, only : c_ptr
29 type(c_ptr),
value :: obss
33 use,
intrinsic :: iso_c_binding
36 type(c_ptr),
value :: obss
40 use,
intrinsic :: iso_c_binding
43 type(c_ptr),
value :: obss
47 use,
intrinsic :: iso_c_binding
50 type(c_ptr),
value :: obss
54 use,
intrinsic :: iso_c_binding
57 type(c_ptr),
value :: obss
61 use,
intrinsic :: iso_c_binding, only : c_ptr, c_char, c_size_t
63 type(c_ptr),
value :: obss
64 integer(c_size_t),
intent(inout) :: lcname
65 character(kind=c_char,len=1),
intent(inout) :: cname(*)
69 use,
intrinsic :: iso_c_binding
72 type(c_ptr),
value :: obss
73 integer(c_int),
intent(inout) :: lcname
74 character(kind=c_char,len=1),
intent(inout) :: cname(*)
78 & bind(c,name=
'obsspace_get_recnum_f')
79 use,
intrinsic :: iso_c_binding, only : c_ptr, c_size_t
81 type(c_ptr),
value :: obss
82 integer(c_size_t),
intent(in) :: length
83 integer(c_size_t),
intent(inout) :: recnum(length)
87 & bind(c,name=
'obsspace_get_index_f')
88 use,
intrinsic :: iso_c_binding, only : c_ptr, c_size_t
90 type(c_ptr),
value :: obss
91 integer(c_size_t),
intent(in) :: length
92 integer(c_size_t),
intent(inout) :: indx(length)
95 logical(kind=c_bool) function c_obsspace_has(obss, group, vname) bind(C,name='obsspace_has_f')
96 use,
intrinsic :: iso_c_binding
99 type(c_ptr),
value :: obss
100 character(kind=c_char, len=1),
intent(in) :: group(*)
101 character(kind=c_char, len=1),
intent(in) :: vname(*)
108 & bind(c,name=
'obsspace_get_int32_f')
109 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int32_t
111 type(c_ptr),
value :: obss
112 character(kind=c_char, len=1),
intent(in) :: group(*)
113 character(kind=c_char, len=1),
intent(in) :: vname(*)
114 integer(c_size_t),
intent(in) :: length
115 integer(c_int32_t),
intent(inout) :: vect(length)
119 & bind(c,name=
'obsspace_get_int64_f')
120 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int64_t
122 type(c_ptr),
value :: obss
123 character(kind=c_char, len=1),
intent(in) :: group(*)
124 character(kind=c_char, len=1),
intent(in) :: vname(*)
125 integer(c_size_t),
intent(in) :: length
126 integer(c_int64_t),
intent(inout) :: vect(length)
130 & bind(c,name=
'obsspace_get_real32_f')
131 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_float
133 type(c_ptr),
value :: obss
134 character(kind=c_char, len=1),
intent(in) :: group(*)
135 character(kind=c_char, len=1),
intent(in) :: vname(*)
136 integer(c_size_t),
intent(in) :: length
137 real(c_float),
intent(inout) :: vect(length)
141 & bind(c,name=
'obsspace_get_real64_f')
142 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_double
144 type(c_ptr),
value :: obss
145 character(kind=c_char, len=1),
intent(in) :: group(*)
146 character(kind=c_char, len=1),
intent(in) :: vname(*)
147 integer(c_size_t),
intent(in) :: length
148 real(c_double),
intent(inout) :: vect(length)
152 & bind(c,name=
'obsspace_get_datetime_f')
153 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int32_t
155 type(c_ptr),
value :: obss
156 character(kind=c_char, len=1),
intent(in) :: group(*)
157 character(kind=c_char, len=1),
intent(in) :: vname(*)
158 integer(c_size_t),
intent(in) :: length
159 integer(c_int32_t),
intent(inout) :: date(length)
160 integer(c_int32_t),
intent(inout) :: time(length)
167 & bind(c,name=
'obsspace_put_int32_f')
168 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int32_t
170 type(c_ptr),
value :: obss
171 character(kind=c_char, len=1),
intent(in) :: group(*)
172 character(kind=c_char, len=1),
intent(in) :: vname(*)
173 integer(c_size_t),
intent(in) :: length
174 integer(c_int32_t),
intent(in) :: vect(length)
178 & bind(c,name=
'obsspace_put_int64_f')
179 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int64_t
181 type(c_ptr),
value :: obss
182 character(kind=c_char, len=1),
intent(in) :: group(*)
183 character(kind=c_char, len=1),
intent(in) :: vname(*)
184 integer(c_size_t),
intent(in) :: length
185 integer(c_int64_t),
intent(in) :: vect(length)
189 & bind(c,name=
'obsspace_put_real32_f')
190 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_float
192 type(c_ptr),
value :: obss
193 character(kind=c_char, len=1),
intent(in) :: group(*)
194 character(kind=c_char, len=1),
intent(in) :: vname(*)
195 integer(c_size_t),
intent(in) :: length
196 real(c_float),
intent(in) :: vect(length)
200 & bind(c,name=
'obsspace_put_real64_f')
201 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_double
203 type(c_ptr),
value :: obss
204 character(kind=c_char, len=1),
intent(in) :: group(*)
205 character(kind=c_char, len=1),
intent(in) :: vname(*)
206 integer(c_size_t),
intent(in) :: length
207 real(c_double),
intent(in) :: vect(length)