wiki:PDAF_diag_stddev_nompi

Version 9 (modified by lnerger, 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. If state_p contains 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.
Note: See TracWiki for help on using the wiki.