wiki:PDAF_diag_variance

Version 2 (modified by lnerger, 11 days ago) ( diff )

--

PDAF_diag_variance

This page documents the routine PDAF_diag_variance of PDAF, which was introduced with PDAF V3.0.

This routine computes the standard deviation of the ensemble and returns it in the form of a state vector. In addition the mean standard deviation is computed. taking into account domain-decomposition for parallelized models.

The routine can be called in the pre/poststep routine of PDAF both before and after the analysis step to compute the ensemble statistics. This variant computes the standard deviation for the provided ensemble over the full decomposed domain of a parallel model. The variant without parallelization is PDAF_diag_variance_nompi.

The interface is the following:

SUBROUTINE PDAF_diag_variance(dim_p, dim_ens, state_p, ens_p, variance_p, &
     stddev_g, do_mean, do_stddev, COMM_filter, status)

with the following arguments:

  INTEGER, INTENT(in) :: dim_p                 !< state dimension
  INTEGER, INTENT(in) :: dim_ens               !< Ensemble size
  REAL, INTENT(inout) :: state_p(dim_p)        !< State vector
  REAL, INTENT(in)    :: ens_p(dim_p, dim_ens) !< State ensemble
  REAL, INTENT(out)   :: variance_p(dim_p)     !< Variance state vector
  REAL, INTENT(out)   :: stddev_g              !< Global standard deviation of ensemble
  INTEGER, INTENT(in) :: do_mean               !< 1 to compute ensemble mean; 0 take values froem state_p as ensemble mean
  INTEGER, INTENT(in) :: do_stddev             !< 1 to compute the ensemble mean standard deviation; 0 no computation of ensemble standard deviation
  INTEGER, INTENT(in) :: COMM_filter           !< Filter communicator
  INTEGER, INTENT(out) :: status               !< Status flag (0=success)

Note:

  • The ensemble standard deviation is a common measure of the estimate model root mean square error. It is typically computed in prepoststep_pdaf to monitor the assimilation process.
  • The option do_mean exists mainly for performance reasons. If state_p contains is ensmeble mean state it does not need to be computed again.
  • The routine compute the unbiased variance, i.e. the normalization is 1/(dim_ens-1)
Note: See TracWiki for help on using the wiki.