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_pdafto 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_meanexists mainly for performance reasons. Ifstate_pcontains already 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.
