OOPS
qg_obsvec_mod Module Reference

Data Types

type  qg_obsvec
 
interface  qg_obsvec_random_i
 

Functions/Subroutines

subroutine, public qg_obsvec_setup (self, nlev, nobs)
 Linked list implementation. More...
 
subroutine, public qg_obsvec_clone (self, other)
 Clone observation vector. More...
 
subroutine, public qg_obsvec_delete (self)
 Delete observation vector. More...
 
subroutine, public qg_obsvec_copy (self, other)
 Copy observation vector. More...
 
subroutine, public qg_obsvec_copy_local (self, other, idx)
 Copy a local subset of the observation vector. More...
 
subroutine, public qg_obsvec_zero (self)
 Set observation vector to zero. More...
 
subroutine, public qg_obsvec_mul_scal (self, zz)
 Multiply observation vector with a scalar. More...
 
subroutine, public qg_obsvec_add (self, other)
 Add observation vector. More...
 
subroutine, public qg_obsvec_sub (self, other)
 Subtract observation vector. More...
 
subroutine, public qg_obsvec_mul (self, other)
 Multiply observation vector. More...
 
subroutine, public qg_obsvec_div (self, other)
 Divide observation vector. More...
 
subroutine, public qg_obsvec_axpy (self, zz, other)
 Apply axpy on observation vector. More...
 
subroutine, public qg_obsvec_invert (self)
 Invert observation vector. More...
 
subroutine, public qg_obsvec_random (c_odb, self)
 Generate random observation vector. More...
 
subroutine, public qg_obsvec_dotprod (obsvec1, obsvec2, zz)
 Compute dot product between observation vectors. More...
 
subroutine, public qg_obsvec_stats (self, scaling, zmin, zmax, zavg)
 Compute observation vector statistics. More...
 
subroutine, public qg_obsvec_nobs (self, kobs)
 Get observation vector size. More...
 
subroutine, public qg_obsvec_getat (self, iob, val)
 Get value from observation vector at location (iob) More...
 

Variables

type(registry_t), public qg_obsvec_registry
 Linked list interface - defines registry_t type. More...
 

Function/Subroutine Documentation

◆ qg_obsvec_add()

subroutine, public qg_obsvec_mod::qg_obsvec_add ( type(qg_obsvec), intent(inout)  self,
type(qg_obsvec), intent(in)  other 
)

Add observation vector.

Parameters
[in,out]selfObservation vector
[in]otherOther observation vector

Definition at line 198 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_axpy()

subroutine, public qg_obsvec_mod::qg_obsvec_axpy ( type(qg_obsvec), intent(inout)  self,
real(kind_real), intent(in)  zz,
type(qg_obsvec), intent(in)  other 
)

Apply axpy on observation vector.

Parameters
[in,out]selfObservation vector
[in]zzMultiplier
[in]otherOther observation vector

Definition at line 254 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_clone()

subroutine, public qg_obsvec_mod::qg_obsvec_clone ( type(qg_obsvec), intent(inout)  self,
type(qg_obsvec), intent(in)  other 
)

Clone observation vector.

Parameters
[in,out]selfObservation vector
[in]otherOther observation vector

Definition at line 82 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_copy()

subroutine, public qg_obsvec_mod::qg_obsvec_copy ( type(qg_obsvec), intent(inout)  self,
type(qg_obsvec), intent(in)  other 
)

Copy observation vector.

Parameters
[in,out]selfObservation vector
[in]otherOther observation vector

Definition at line 113 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_copy_local()

subroutine, public qg_obsvec_mod::qg_obsvec_copy_local ( type(qg_obsvec), intent(inout)  self,
type(qg_obsvec), intent(in)  other,
integer, dimension(:), intent(in)  idx 
)

Copy a local subset of the observation vector.

Parameters
[in,out]selfObservation vector
[in]otherOther observation vector

Definition at line 139 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_delete()

subroutine, public qg_obsvec_mod::qg_obsvec_delete ( type(qg_obsvec), intent(inout)  self)

Delete observation vector.

Parameters
[in,out]selfObservation vector

Definition at line 100 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_div()

subroutine, public qg_obsvec_mod::qg_obsvec_div ( type(qg_obsvec), intent(inout)  self,
type(qg_obsvec), intent(in)  other 
)

Divide observation vector.

Parameters
[in,out]selfObservation vector
[in]otherOther observation vector

Definition at line 240 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_dotprod()

subroutine, public qg_obsvec_mod::qg_obsvec_dotprod ( type(qg_obsvec), intent(in)  obsvec1,
type(qg_obsvec), intent(in)  obsvec2,
real(kind_real), intent(inout)  zz 
)

Compute dot product between observation vectors.

Parameters
[in]obsvec1Observation vector 1
[in]obsvec2Observation vector 2
[in,out]zzDot product

Definition at line 302 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_getat()

subroutine, public qg_obsvec_mod::qg_obsvec_getat ( type(qg_obsvec), intent(in)  self,
integer, intent(in)  iob,
real(kind_real), intent(out)  val 
)

Get value from observation vector at location (iob)

Parameters
[in]selfObservation vector
[in]iobindex into observation vector
[out]valreturned value

Definition at line 401 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_invert()

subroutine, public qg_obsvec_mod::qg_obsvec_invert ( type(qg_obsvec), intent(inout)  self)

Invert observation vector.

Parameters
[in,out]selfObservation vector

Definition at line 269 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_mul()

subroutine, public qg_obsvec_mod::qg_obsvec_mul ( type(qg_obsvec), intent(inout)  self,
type(qg_obsvec), intent(in)  other 
)

Multiply observation vector.

Parameters
[in,out]selfObservation vector
[in]otherOther observation vector

Definition at line 226 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_mul_scal()

subroutine, public qg_obsvec_mod::qg_obsvec_mul_scal ( type(qg_obsvec), intent(inout)  self,
real(kind_real), intent(in)  zz 
)

Multiply observation vector with a scalar.

Parameters
[in,out]selfObservation vector
[in]zzMultiplier

Definition at line 184 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_nobs()

subroutine, public qg_obsvec_mod::qg_obsvec_nobs ( type(qg_obsvec), intent(in)  self,
integer, intent(inout)  kobs 
)

Get observation vector size.

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

Definition at line 386 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_random()

subroutine, public qg_obsvec_mod::qg_obsvec_random ( type(c_ptr), intent(in)  c_odb,
type(qg_obsvec), intent(inout)  self 
)

Generate random observation vector.

Parameters
[in]c_odbObservation data base
[in,out]selfObservation vector

Definition at line 282 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_setup()

subroutine, public qg_obsvec_mod::qg_obsvec_setup ( type(qg_obsvec), intent(inout)  self,
integer, intent(in)  nlev,
integer, intent(in)  nobs 
)

Linked list implementation.

Setup observation vector

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

Definition at line 57 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_stats()

subroutine, public qg_obsvec_mod::qg_obsvec_stats ( type(qg_obsvec), intent(in)  self,
real(kind_real), intent(inout)  scaling,
real(kind_real), intent(inout)  zmin,
real(kind_real), intent(inout)  zmax,
real(kind_real), intent(inout)  zavg 
)

Compute observation vector statistics.

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

Definition at line 330 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_sub()

subroutine, public qg_obsvec_mod::qg_obsvec_sub ( type(qg_obsvec), intent(inout)  self,
type(qg_obsvec), intent(in)  other 
)

Subtract observation vector.

Parameters
[in,out]selfObservation vector
[in]otherOther observation vector

Definition at line 212 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

◆ qg_obsvec_zero()

subroutine, public qg_obsvec_mod::qg_obsvec_zero ( type(qg_obsvec), intent(inout)  self)

Set observation vector to zero.

Parameters
[in,out]selfObservation vector

Definition at line 171 of file qg_obsvec_mod.F90.

Here is the caller graph for this function:

Variable Documentation

◆ qg_obsvec_registry

type(registry_t), public qg_obsvec_mod::qg_obsvec_registry

Linked list interface - defines registry_t type.

Global registry

Definition at line 47 of file qg_obsvec_mod.F90.