OOPS
qg_obsvec_interface Module Reference

Functions/Subroutines

subroutine qg_obsvec_setup_c (c_key_self, nlev, nobs)
 Setup observation vector. More...
 
subroutine qg_obsvec_clone_c (c_key_self, c_key_other)
 Clone observation vector. More...
 
subroutine qg_obsvec_delete_c (c_key_self)
 Delete observation vector. More...
 
subroutine qg_obsvec_copy_c (c_key_self, c_key_other)
 Copy observation vector. More...
 
subroutine qg_obsvec_copy_local_c (c_key_self, c_key_other, c_idxsize, c_idx)
 Copy a local subset of the observation vector. More...
 
subroutine qg_obsvec_zero_c (c_key_self)
 Set observation vector to zero. More...
 
subroutine qg_obsvec_mul_scal_c (c_key_self, zz)
 Multiply observation vector with a scalar. More...
 
subroutine qg_obsvec_add_c (c_key_self, c_key_other)
 Add observation vector. More...
 
subroutine qg_obsvec_sub_c (c_key_self, c_key_other)
 Subtract observation vector. More...
 
subroutine qg_obsvec_mul_c (c_key_self, c_key_other)
 Multiply observation vector. More...
 
subroutine qg_obsvec_div_c (c_key_self, c_key_other)
 Divide observation vector. More...
 
subroutine qg_obsvec_axpy_c (c_key_self, zz, c_key_other)
 Apply axpy on observation vector. More...
 
subroutine qg_obsvec_invert_c (c_key_self)
 Invert observation vector. More...
 
subroutine qg_obsvec_random_c (c_odb, c_self)
 Generate random observation vector. More...
 
subroutine qg_obsvec_dotprod_c (c_key_obsvec1, c_key_obsvec2, zz)
 Compute dot product between observation vectors. More...
 
subroutine qg_obsvec_stats_c (c_key_self, scaling, zmin, zmax, zavg)
 Compute observation vector statistics. More...
 
subroutine qg_obsvec_nobs_c (c_key_self, kobs)
 Get observation vector size. More...
 
subroutine qg_obsvec_getat_c (c_key_self, iob, val)
 Get observation value at iob location. More...
 

Function/Subroutine Documentation

◆ qg_obsvec_add_c()

subroutine qg_obsvec_interface::qg_obsvec_add_c ( integer(c_int), intent(in)  c_key_self,
integer(c_int), intent(in)  c_key_other 
)
private

Add observation vector.

Parameters
[in]c_key_selfObservation vector
[in]c_key_otherOther observation vector

Definition at line 173 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_axpy_c()

subroutine qg_obsvec_interface::qg_obsvec_axpy_c ( integer(c_int), intent(in)  c_key_self,
real(c_double), intent(in)  zz,
integer(c_int), intent(in)  c_key_other 
)
private

Apply axpy on observation vector.

Parameters
[in]c_key_selfObservation vector
[in]zzMultiplier
[in]c_key_otherOther observation vector

Definition at line 257 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_clone_c()

subroutine qg_obsvec_interface::qg_obsvec_clone_c ( integer(c_int), intent(inout)  c_key_self,
integer(c_int), intent(in)  c_key_other 
)
private

Clone observation vector.

Parameters
[in,out]c_key_selfObservation vector
[in]c_key_otherOther observation vector

Definition at line 45 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_copy_c()

subroutine qg_obsvec_interface::qg_obsvec_copy_c ( integer(c_int), intent(in)  c_key_self,
integer(c_int), intent(in)  c_key_other 
)
private

Copy observation vector.

Parameters
[in]c_key_selfObservation vector
[in]c_key_otherOther observation vector

Definition at line 90 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_copy_local_c()

subroutine qg_obsvec_interface::qg_obsvec_copy_local_c ( integer(c_int), intent(in)  c_key_self,
integer(c_int), intent(in)  c_key_other,
integer(c_int), intent(in)  c_idxsize,
integer(c_int), dimension(c_idxsize), intent(in)  c_idx 
)
private

Copy a local subset of the observation vector.

Parameters
[in]c_key_selfObservation vector
[in]c_key_otherOther observation vector

Definition at line 111 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_delete_c()

subroutine qg_obsvec_interface::qg_obsvec_delete_c ( integer(c_int), intent(inout)  c_key_self)
private

Delete observation vector.

Parameters
[in,out]c_key_selfObservation vector

Definition at line 68 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_div_c()

subroutine qg_obsvec_interface::qg_obsvec_div_c ( integer(c_int), intent(in)  c_key_self,
integer(c_int), intent(in)  c_key_other 
)
private

Divide observation vector.

Parameters
[in]c_key_selfObservation vector
[in]c_key_otherOther observation vector

Definition at line 236 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_dotprod_c()

subroutine qg_obsvec_interface::qg_obsvec_dotprod_c ( integer(c_int), intent(in)  c_key_obsvec1,
integer(c_int), intent(in)  c_key_obsvec2,
real(c_double), intent(inout)  zz 
)
private

Compute dot product between observation vectors.

Parameters
[in]c_key_obsvec1Observation vector 1
[in]c_key_obsvec2Observation vector 2
[in,out]zzDot product

Definition at line 318 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_getat_c()

subroutine qg_obsvec_interface::qg_obsvec_getat_c ( integer(c_int), intent(in)  c_key_self,
integer(c_int), intent(in)  iob,
real(c_double), intent(out)  val 
)
private

Get observation value at iob location.

Parameters
[in]c_key_selfObservation vector
[in]iobObservation index
[out]valob. value

Definition at line 384 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_invert_c()

subroutine qg_obsvec_interface::qg_obsvec_invert_c ( integer(c_int), intent(in)  c_key_self)
private

Invert observation vector.

Parameters
[in]c_key_selfObservation vector

Definition at line 279 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_mul_c()

subroutine qg_obsvec_interface::qg_obsvec_mul_c ( integer(c_int), intent(in)  c_key_self,
integer(c_int), intent(in)  c_key_other 
)
private

Multiply observation vector.

Parameters
[in]c_key_selfObservation vector
[in]c_key_otherOther observation vector

Definition at line 215 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_mul_scal_c()

subroutine qg_obsvec_interface::qg_obsvec_mul_scal_c ( integer(c_int), intent(in)  c_key_self,
real(c_double), intent(in)  zz 
)
private

Multiply observation vector with a scalar.

Parameters
[in]c_key_selfObservation vector
[in]zzMultiplier

Definition at line 153 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_nobs_c()

subroutine qg_obsvec_interface::qg_obsvec_nobs_c ( integer(c_int), intent(in)  c_key_self,
integer(c_int), intent(inout)  kobs 
)
private

Get observation vector size.

Parameters
[in]c_key_selfObservation vector
[in,out]kobsObservation vector size

Definition at line 363 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_random_c()

subroutine qg_obsvec_interface::qg_obsvec_random_c ( type(c_ptr), intent(in)  c_odb,
integer(c_int), intent(in)  c_self 
)
private

Generate random observation vector.

Parameters
[in]c_odbObservation data base
[in]c_selfObservation vector

Definition at line 298 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_setup_c()

subroutine qg_obsvec_interface::qg_obsvec_setup_c ( integer(c_int), intent(inout)  c_key_self,
integer(c_int), intent(in)  nlev,
integer(c_int), intent(in)  nobs 
)
private

Setup observation vector.

Parameters
[in,out]c_key_selfObservation vector
[in]nlevNumber of levels
[in]nobsNumber of observations

Definition at line 22 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_stats_c()

subroutine qg_obsvec_interface::qg_obsvec_stats_c ( integer(c_int), intent(in)  c_key_self,
real(c_double), intent(inout)  scaling,
real(c_double), intent(inout)  zmin,
real(c_double), intent(inout)  zmax,
real(c_double), intent(inout)  zavg 
)
private

Compute observation vector statistics.

Parameters
[in]c_key_selfObservation vector
[in,out]zminMinimum
[in,out]zmaxMaximum
[in,out]zavgAverage

Definition at line 340 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_sub_c()

subroutine qg_obsvec_interface::qg_obsvec_sub_c ( integer(c_int), intent(in)  c_key_self,
integer(c_int), intent(in)  c_key_other 
)
private

Subtract observation vector.

Parameters
[in]c_key_selfObservation vector
[in]c_key_otherOther observation vector

Definition at line 194 of file qg_obsvec_interface.F90.

Here is the call graph for this function:

◆ qg_obsvec_zero_c()

subroutine qg_obsvec_interface::qg_obsvec_zero_c ( integer(c_int), intent(in)  c_key_self)
private

Set observation vector to zero.

Parameters
[in]c_key_selfObservation vector

Definition at line 134 of file qg_obsvec_interface.F90.

Here is the call graph for this function: