| Version 4 (modified by , 7 months ago) ( diff ) |
|---|
PDAF_diag_stddev
This page documents the routine PDAF_diag_stddev of PDAF, which was introduced with PDAF V3.0.
This routine computes mean ensemble standard deviation taking into account domain-decomposition for parallelized models. The output is 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 computes the standard deviation for the provided ensemble over the full decomposed domain of a parallel model. The variant without parallelization is PDAF_diag_stddev_nompi.
The interface is:
SUBROUTINE PDAF_diag_stddev(dim, dim_ens, &
state, ens, stddev, do_mean, COMM_filter, status)
INTEGER, INTENT(in) :: dim_p ! process-local state dimension
INTEGER, INTENT(in) :: dim_ens ! Ensemble size
REAL, INTENT(inout) :: state_p(dim_p) ! process-local state vector
REAL, INTENT(in) :: ens_p(dim_p, dim_ens) ! process-local state ensemble
REAL, INTENT(out) :: stddev_g ! Global mean standard deviation of ensemble
INTEGER, INTENT(in) :: do_mean ! 1 to also compute ensemble mean;
! 0 for no computation of mean
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_pdafto monitor the assimilation process. - 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 performs MPI operations to obtain the global result. These operations are done within the communicator
COMM_filterz which is specified as an argument. This allows to also use the routine if PDAF was not initialized by callingPDAF_init`.
Note:
See TracWiki
for help on using the wiki.
