= PDAFomi_diag_stats = This page documents the routine `PDAFomi_diag_stats` of PDAF, which was introduced with PDAF V3.0. This is part of the [wiki:PDAFomi_observation_diagnostics PDAF-OMI observation diagnostics module]. The routine returns a pointer to an array of a selection of 6 statistics comparing the observations and the observed ensemble mean for each observation type. The statistics can, for example, be used to plot a Taylor diagram. Usually all PDAFomi_diag routines are called in `prepoststep_pdaf` where the observation information can be retrieved and analyzed. The interface is: {{{ SUBROUTINE PDAFomi_diag_stats(nobs, obsstats_ptr, verbose) INTEGER, INTENT(inout) :: nobs ! Number of observation types REAL, POINTER, INTENT(inout) :: obsstats_ptr(:,:) ! Array of observation statistics ! Included statistics are: ! (1,:) correlations between observation and observed ensemble mean (corr) ! (2,:) centered RMS difference between observation and observed ensemble mean (cRMSD) ! (3,:) mean bias (observation minus observed ensemble mean, 'bias y-Hx') ! (4,:) mean absolute difference between observation and observed ensemble mean (MAD) ! (5,:) variance of observations (STDDEV(y)) ! (6,:) variance of observed ensemble mean (STDDEV(Hx)) INTEGER, INTENT(in) :: verbose ! Verbosity flag, >0 to write screen output }}} For verbose>0 a list of statistics is printed for each observation type in the form {{{ PDAFomi obs-ID corr cRMSD bias y-Hx MAD STDDEV(y) STDDEV(Hx) PDAFomi 1 0.611 7.084E-01 4.376E-02 5.774E-01 8.787E-01 7.179E-01 }}} **Note:** * The computed statistics are for the global model domain. Thus, in case of a parallelized model, all process sub-domains are taken into account and calling `PDAFomi_diag_stats` will return the same value for all processes. * In Fortran user code the pointer should be declared in the form[[BR]] `REAL, POINTER :: obsstats_ptr(:)`[[BR]] It does not need to be allocated. The target array has the size `(6, nobs)`. * If the observation diagnostics have not be activated by using [wiki:PDAFomi_set_obs_diag] the pointer array will not be set and `nobs=0` is. One can check this value before assessing the pointer array * The routine returns the centered RMSD as displayed in Taylor diagrams. The non-centered RMSD can be computed using [wiki:PDAFomi_diag_obs_rmsd].