FV3 Bundle
qg_covariance_mod Module Reference

Structure holding configuration variables for the 3d error covariance matrices of the QG analysis. More...

Data Types

type  qg_3d_covar_config
 Fortran derived type to hold configuration data for the QG background/model covariance. More...
 

Functions/Subroutines

subroutine qg_3d_covar_setup (c_model, geom, config)
 Linked list implementation. More...
 
subroutine qg_3d_covar_delete (self)
 Delete for the QG model's 3d error covariance matrices. More...
 
subroutine qg_3d_covar_sqrt_inv_mult (kx, ky, xctl, xincr, config)
 Multiply streamfunction by inverse(sqrt(C)), where C is 3d covariance matrix. More...
 
subroutine qg_3d_covar_sqrt_inv_mult_ad (kx, ky, xctl, xincr, config)
 Multiply streamfunction by inverse(sqrt(C)) - Adjoint. More...
 
subroutine qg_3d_covar_sqrt_mult (kx, ky, xincr, xctl, config)
 Multiply streamfunction by sqrt(C), where C is a 3d covariance matrix. More...
 
subroutine qg_3d_covar_sqrt_mult_ad (kx, ky, xincr, xctl, config)
 Multiply streamfunction by sqrt(C) - Adjoint. More...
 

Variables

type(registry_t) qg_3d_cov_registry
 Linked list interface - defines registry_t type. More...
 

Detailed Description

Structure holding configuration variables for the 3d error covariance matrices of the QG analysis.

Function/Subroutine Documentation

◆ qg_3d_covar_delete()

subroutine qg_covariance_mod::qg_3d_covar_delete ( type(qg_3d_covar_config self)

Delete for the QG model's 3d error covariance matrices.

Definition at line 195 of file qg_covariance_mod.F90.

Here is the caller graph for this function:

◆ qg_3d_covar_setup()

subroutine qg_covariance_mod::qg_3d_covar_setup ( type(c_ptr), intent(in)  c_model,
type(qg_geom), intent(in)  geom,
type(qg_3d_covar_config), intent(inout)  config 
)

Linked list implementation.

Setup for the QG model's 3d error covariance matrices (B and Q_i) This routine queries the configuration for the parameters that define the covariance matrix, and stores the relevant values in the error covariance structure.

Parameters
[in]c_modelThe configuration
[in]geomGeometry
[in,out]configThe covariance structure

Definition at line 52 of file qg_covariance_mod.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qg_3d_covar_sqrt_inv_mult()

subroutine qg_covariance_mod::qg_3d_covar_sqrt_inv_mult ( integer(c_int), intent(in)  kx,
integer(c_int), intent(in)  ky,
real(c_double), dimension(kx,ky,2), intent(inout)  xctl,
type(qg_field), intent(in)  xincr,
type(qg_3d_covar_config), intent(in)  config 
)

Multiply streamfunction by inverse(sqrt(C)), where C is 3d covariance matrix.

Parameters
[in]kxZonal grid dimension
[in]kyMeridional grid dimension
[in,out]xctlinv(sqrt(C)) times psi
[in]xincrStreamfunction: psi
[in]configcovar config structure

Definition at line 209 of file qg_covariance_mod.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qg_3d_covar_sqrt_inv_mult_ad()

subroutine qg_covariance_mod::qg_3d_covar_sqrt_inv_mult_ad ( integer(c_int), intent(in)  kx,
integer(c_int), intent(in)  ky,
real(c_double), dimension(kx,ky,2), intent(in)  xctl,
type(qg_field), intent(inout)  xincr,
type(qg_3d_covar_config), intent(in)  config 
)

Multiply streamfunction by inverse(sqrt(C)) - Adjoint.

Parameters
[in]kxZonal grid dimension
[in]kyMeridional grid dimension
[in,out]xincrsqrt(C) times streamfunction
[in]xctlStreamfunction
[in]configcovariance config structure

Definition at line 279 of file qg_covariance_mod.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qg_3d_covar_sqrt_mult()

subroutine qg_covariance_mod::qg_3d_covar_sqrt_mult ( integer(c_int), intent(in)  kx,
integer(c_int), intent(in)  ky,
type(qg_field), intent(inout)  xincr,
real(c_double), dimension(kx,ky,2), intent(in)  xctl,
type(qg_3d_covar_config), intent(in)  config 
)

Multiply streamfunction by sqrt(C), where C is a 3d covariance matrix.

Parameters
[in]kxZonal grid dimension
[in]kyMeridional grid dimension
[in,out]xincrsqrt(C) times streamfunction
[in]xctlStreamfunction
[in]configcovariance config structure

Definition at line 358 of file qg_covariance_mod.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qg_3d_covar_sqrt_mult_ad()

subroutine qg_covariance_mod::qg_3d_covar_sqrt_mult_ad ( integer(c_int), intent(in)  kx,
integer(c_int), intent(in)  ky,
type(qg_field), intent(in)  xincr,
real(c_double), dimension(kx,ky,2), intent(inout)  xctl,
type(qg_3d_covar_config), intent(in)  config 
)

Multiply streamfunction by sqrt(C) - Adjoint.

Parameters
[in]kxZonal grid spacing
[in]kyMeridional grid spacing
[in,out]xctlResult
[in]xincrStreamfunction: psi
[in]configcovar config structure

Definition at line 428 of file qg_covariance_mod.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ qg_3d_cov_registry

type(registry_t) qg_covariance_mod::qg_3d_cov_registry

Linked list interface - defines registry_t type.

Global registry

Definition at line 34 of file qg_covariance_mod.F90.