PDAFomi_prodRinvA_hyb_l Subroutine

public subroutine PDAFomi_prodRinvA_hyb_l(thisobs_l, thisobs, nobs_all, ncols, gamma, A_l, C_l, verbose)

Compute product of inverse of R with some matrix and hybrid weight

The routine is called during the analysis step on each local analysis domain. It has to compute the product of the inverse of the local observation error covariance matrix with the matrix of locally observed ensemble perturbations.

Next to computing the product, a localizing weighting ("observation localization") can be applied to matrix A. In addition the hybrid weight alpha is applied.

This implementation assumes a diagonal observation error covariance matrix, and supports varying observation error variances.

The routine can be applied with either all observations of different types at once, or separately for each observation type.

Revision history: * 2022-03 - Lars Nerger - Initial code * Later revisions - see repository log

Arguments

Type IntentOptional Attributes Name
type(obs_l), intent(inout) :: thisobs_l
type(obs_f), intent(inout) :: thisobs
integer, intent(in) :: nobs_all
integer, intent(in) :: ncols
real, intent(in) :: gamma
real, intent(inout) :: A_l(:,:)
real, intent(out) :: C_l(:,:)
integer, intent(in) :: verbose