| | 1 | = PDAF_diag_variance_nompi = |
| | 2 | |
| | 3 | This page documents the routine `PDAF_diag_variance_nompi` of PDAF, which was introduced with PDAF V3.0. |
| | 4 | |
| | 5 | This routine computes the unbiased standard deviation of the ensemble and returns it in the form of a state vector. In addition the mean standard deviation is computed. This variant only compute 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 [wiki:PDAF_diag_variance]. |
| | 6 | |
| | 7 | The interface is the following: |
| | 8 | {{{ |
| | 9 | SUBROUTINE PDAF_diag_variance(dim_p, dim_ens, state_p, ens_p, variance_p, & |
| | 10 | stddev_g, do_mean, do_stddev, status) |
| | 11 | }}} |
| | 12 | with the following arguments: |
| | 13 | {{{ |
| | 14 | INTEGER, INTENT(in) :: dim_p !< state dimension |
| | 15 | INTEGER, INTENT(in) :: dim_ens !< Ensemble size |
| | 16 | REAL, INTENT(inout) :: state_p(dim_p) !< State vector |
| | 17 | REAL, INTENT(in) :: ens_p(dim_p, dim_ens) !< State ensemble |
| | 18 | REAL, INTENT(out) :: variance_p(dim_p) !< Variance state vector |
| | 19 | REAL, INTENT(out) :: stddev_g !< Global standard deviation of ensemble |
| | 20 | INTEGER, INTENT(in) :: do_mean !< 1 to compute ensemble mean; 0 take values froem state_p as ensemble mean |
| | 21 | INTEGER, INTENT(in) :: do_stddev !< 1 to compute the ensemble mean standard deviation; 0 no computation of ensemble standard deviation |
| | 22 | INTEGER, INTENT(out) :: status !< Status flag (0=success) |
| | 23 | }}} |
| | 24 | |
| | 25 | **Note:** |
| | 26 | * 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. |
| | 27 | * The option `do_mean` exists mainly for performance reasons. If `state_p` contains is ensemble mean state it does not need to be computed again. |
| | 28 | * The routine compute the unbiased variance, i.e. the normalization is 1/(dim_ens-1) |