Go to the documentation of this file.
27 integer(c_int),
intent(inout) :: c_key_self
28 integer(c_int),
intent(in) :: nlev
29 integer(c_int),
intent(in) :: nobs
50 integer(c_int),
intent(inout) :: c_key_self
51 integer(c_int),
intent(in) :: c_key_other
73 integer(c_int),
intent(inout) :: c_key_self
95 integer(c_int),
intent(in) :: c_key_self
96 integer(c_int),
intent(in) :: c_key_other
116 integer(c_int),
intent(in) :: c_key_self
117 integer(c_int),
intent(in) :: c_key_other
118 integer(c_int),
intent(in) :: c_idxsize
119 integer(c_int),
intent(in) :: c_idx(c_idxsize)
139 integer(c_int),
intent(in) :: c_key_self
158 integer(c_int),
intent(in) :: c_key_self
159 real(c_double),
intent(in) :: zz
178 integer(c_int),
intent(in) :: c_key_self
179 integer(c_int),
intent(in) :: c_key_other
199 integer(c_int),
intent(in) :: c_key_self
200 integer(c_int),
intent(in) :: c_key_other
220 integer(c_int),
intent(in) :: c_key_self
221 integer(c_int),
intent(in) :: c_key_other
241 integer(c_int),
intent(in) :: c_key_self
242 integer(c_int),
intent(in) :: c_key_other
262 integer(c_int),
intent(in) :: c_key_self
263 real(c_double),
intent(in) :: zz
264 integer(c_int),
intent(in) :: c_key_other
284 integer(c_int),
intent(in) :: c_key_self
303 type(c_ptr),
intent(in) :: c_odb
304 integer(c_int),
intent(in) :: c_self
323 integer(c_int),
intent(in) :: c_key_obsvec1
324 integer(c_int),
intent(in) :: c_key_obsvec2
325 real(c_double),
intent(inout) :: zz
328 type(
qg_obsvec),
pointer :: obsvec1,obsvec2
340 subroutine qg_obsvec_stats_c(c_key_self,scaling,zmin,zmax,zavg) bind(c,name='qg_obsvec_stats_f90')
345 integer(c_int),
intent(in) :: c_key_self
346 real(c_double),
intent(inout) :: scaling
347 real(c_double),
intent(inout) :: zmin
348 real(c_double),
intent(inout) :: zmax
349 real(c_double),
intent(inout) :: zavg
368 integer(c_int),
intent(in) :: c_key_self
369 integer(c_int),
intent(inout) :: kobs
389 integer(c_int),
intent(in) :: c_key_self
390 integer(c_int),
intent(in) :: iob
391 real(c_double),
intent(out):: val
subroutine qg_obsvec_setup_c(c_key_self, nlev, nobs)
Setup observation vector.
subroutine, public qg_obsvec_copy(self, other)
Copy observation vector.
subroutine, public qg_obsvec_mul_scal(self, zz)
Multiply observation vector with a scalar.
subroutine qg_obsvec_dotprod_c(c_key_obsvec1, c_key_obsvec2, zz)
Compute dot product between observation vectors.
subroutine qg_obsvec_mul_scal_c(c_key_self, zz)
Multiply observation vector with a scalar.
subroutine, public qg_obsvec_dotprod(obsvec1, obsvec2, zz)
Compute dot product between observation vectors.
subroutine, public qg_obsvec_axpy(self, zz, other)
Apply axpy on observation vector.
subroutine, public qg_obsvec_nobs(self, kobs)
Get observation vector size.
subroutine qg_obsvec_delete_c(c_key_self)
Delete observation vector.
subroutine, public qg_obsvec_sub(self, other)
Subtract observation vector.
subroutine qg_obsvec_mul_c(c_key_self, c_key_other)
Multiply observation vector.
subroutine qg_obsvec_random_c(c_odb, c_self)
Generate random observation vector.
subroutine qg_obsvec_zero_c(c_key_self)
Set observation vector to zero.
subroutine, public qg_obsvec_zero(self)
Set observation vector to zero.
subroutine, public qg_obsvec_delete(self)
Delete observation vector.
subroutine qg_obsvec_axpy_c(c_key_self, zz, c_key_other)
Apply axpy on observation vector.
subroutine qg_obsvec_stats_c(c_key_self, scaling, zmin, zmax, zavg)
Compute observation vector statistics.
subroutine qg_obsvec_sub_c(c_key_self, c_key_other)
Subtract observation vector.
subroutine qg_obsvec_copy_local_c(c_key_self, c_key_other, c_idxsize, c_idx)
Copy a local subset of the observation vector.
subroutine, public qg_obsvec_clone(self, other)
Clone observation vector.
subroutine, public qg_obsvec_mul(self, other)
Multiply observation vector.
subroutine qg_obsvec_nobs_c(c_key_self, kobs)
Get observation vector size.
subroutine qg_obsvec_copy_c(c_key_self, c_key_other)
Copy observation vector.
type(registry_t), public qg_obsvec_registry
Linked list interface - defines registry_t type.
subroutine, public qg_obsvec_random(c_odb, self)
Generate random observation vector.
subroutine qg_obsvec_div_c(c_key_self, c_key_other)
Divide observation vector.
subroutine, public qg_obsvec_copy_local(self, other, idx)
Copy a local subset of the observation vector.
subroutine qg_obsvec_getat_c(c_key_self, iob, val)
Get observation value at iob location.
subroutine qg_obsvec_invert_c(c_key_self)
Invert observation vector.
subroutine, public qg_obsvec_setup(self, nlev, nobs)
Linked list implementation.
subroutine, public qg_obsvec_div(self, other)
Divide observation vector.
subroutine, public qg_obsvec_stats(self, scaling, zmin, zmax, zavg)
Compute observation vector statistics.
subroutine qg_obsvec_add_c(c_key_self, c_key_other)
Add observation vector.
subroutine, public qg_obsvec_getat(self, iob, val)
Get value from observation vector at location (iob)
subroutine qg_obsvec_clone_c(c_key_self, c_key_other)
Clone observation vector.
subroutine, public qg_obsvec_add(self, other)
Add observation vector.
subroutine, public qg_obsvec_invert(self)
Invert observation vector.