14 use,
intrinsic :: iso_c_binding
17 type(c_ptr),
value :: dom
21 use,
intrinsic :: iso_c_binding
24 type(c_ptr),
value :: dom
31 & bind(c,name=
'obsspace_get_int32_f')
32 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int32_t
34 type(c_ptr),
value :: obss
35 character(kind=c_char, len=1),
intent(in) :: group(*)
36 character(kind=c_char, len=1),
intent(in) :: vname(*)
37 integer(c_size_t),
intent(in) :: length
38 integer(c_int32_t),
intent(inout) :: vect(length)
42 & bind(c,name=
'obsspace_get_int64_f')
43 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int64_t
45 type(c_ptr),
value :: obss
46 character(kind=c_char, len=1),
intent(in) :: group(*)
47 character(kind=c_char, len=1),
intent(in) :: vname(*)
48 integer(c_size_t),
intent(in) :: length
49 integer(c_int64_t),
intent(inout) :: vect(length)
53 & bind(c,name=
'obsspace_get_real32_f')
54 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_float
56 type(c_ptr),
value :: obss
57 character(kind=c_char, len=1),
intent(in) :: group(*)
58 character(kind=c_char, len=1),
intent(in) :: vname(*)
59 integer(c_size_t),
intent(in) :: length
60 real(c_float),
intent(inout) :: vect(length)
64 & bind(c,name=
'obsspace_get_real64_f')
65 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_double
67 type(c_ptr),
value :: obss
68 character(kind=c_char, len=1),
intent(in) :: group(*)
69 character(kind=c_char, len=1),
intent(in) :: vname(*)
70 integer(c_size_t),
intent(in) :: length
71 real(c_double),
intent(inout) :: vect(length)
78 & bind(c,name=
'obsspace_put_int32_f')
79 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int32_t
81 type(c_ptr),
value :: obss
82 character(kind=c_char, len=1),
intent(in) :: group(*)
83 character(kind=c_char, len=1),
intent(in) :: vname(*)
84 integer(c_size_t),
intent(in) :: length
85 integer(c_int32_t),
intent(in) :: vect(length)
89 & bind(c,name=
'obsspace_put_int64_f')
90 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_int64_t
92 type(c_ptr),
value :: obss
93 character(kind=c_char, len=1),
intent(in) :: group(*)
94 character(kind=c_char, len=1),
intent(in) :: vname(*)
95 integer(c_size_t),
intent(in) :: length
96 integer(c_int64_t),
intent(in) :: vect(length)
100 & bind(c,name=
'obsspace_put_real32_f')
101 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_float
103 type(c_ptr),
value :: obss
104 character(kind=c_char, len=1),
intent(in) :: group(*)
105 character(kind=c_char, len=1),
intent(in) :: vname(*)
106 integer(c_size_t),
intent(in) :: length
107 real(c_float),
intent(in) :: vect(length)
111 & bind(c,name=
'obsspace_put_real64_f')
112 use,
intrinsic :: iso_c_binding, only : c_ptr,c_char,c_size_t,c_double
114 type(c_ptr),
value :: obss
115 character(kind=c_char, len=1),
intent(in) :: group(*)
116 character(kind=c_char, len=1),
intent(in) :: vname(*)
117 integer(c_size_t),
intent(in) :: length
118 real(c_double),
intent(in) :: vect(length)
Define interface for C++ ObsSpace code called from Fortran.