Version 8 (modified by 6 days ago) ( diff ) | ,
---|
PDAF_diag_stddev_nompi
This page documents the routine PDAF_diag_stddev_nompi
of PDAF, which was introduced with PDAF V3.0.
This routine computes mean ensemble standard deviation as the square root of the spatial mean variance.
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 only computes the standard deviation for the provided ensemble array ens
. Thus, with a domain-decomposed parallel model, the value of of the standard deviation does not consider the full domain. The variant taking into account parallelization is PDAF_diag_stddev.
The interface is:
SUBROUTINE PDAF_diag_stddev_nompi(dim, dim_ens, & state, ens, stddev, do_mean, status) INTEGER, INTENT(in) :: dim ! state dimension INTEGER, INTENT(in) :: dim_ens ! Ensemble size REAL, INTENT(inout) :: state(dim) ! State vector REAL, INTENT(in) :: ens(dim, dim_ens) ! State ensemble REAL, INTENT(out) :: stddev ! Standard deviation of ensemble INTEGER, INTENT(in) :: do_mean ! 1 to also compute ensemble mean; ! 0 for no computation of mean 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. - We recommend to use this routine only in cases where the MPI parallelization is not initialized, e.g. in separate post-analysis programs. In assimilation programs, where the parallelization is initialized for PDAF, we recommend to use the routine PDAF_diag_stddev for better overall compatibility.
- The option
do_mean
exists mainly for performance reasons. Ifstate_p
contains alrady the ensemble mean state it does not need to be computed again. - The routine does not perform any MPI operations and can also be used if PDAF was not initialized by calling
PDAF_init
.