| 1 | = PDAFomi_diag_stats = |
| 2 | |
| 3 | This page documents the routine `PDAFomi_diag_stats` of PDAF, which was introduced with PDAF V3.0. This is part of the PDAF-OMI observation diagnostics module. |
| 4 | |
| 5 | The routine returns |
| 6 | a pointer to an array of a selection of 6 statistics comparing the observations and the observed ensemble mean for each observation type. |
| 7 | |
| 8 | Usually all PDAFomi_diag routines are called in `prepoststep_pdaf` where the observation information can be retrieved and analyzed. These statistics can, for exmaple, be used to plot a Taylor diagram. |
| 9 | |
| 10 | The interface is the following: |
| 11 | {{{ |
| 12 | SUBROUTINE PDAFomi_diag_stats(nobs, obsstats_ptr, verbose) |
| 13 | }}} |
| 14 | with the following arguments: |
| 15 | {{{ |
| 16 | INTEGER, INTENT(inout) :: nobs ! Number of observation types |
| 17 | REAL, POINTER, INTENT(inout) :: obsstats_ptr(:,:) ! Array of observation statistics; content: |
| 18 | ! (1,:) correlations between observation and observed ensemble mean |
| 19 | ! (2,:) centered RMSD between observation and observed ensemble mean |
| 20 | ! (3,:) mean bias for observation minus observed ensemble mean |
| 21 | ! (4,:) mean absolute difference between observation and observed ensemble mean |
| 22 | ! (5,:) variance of observations |
| 23 | ! (6,:) variance of observed ensemble mean |
| 24 | INTEGER, INTENT(in) :: verbose ! Verbosity flag |
| 25 | }}} |
| 26 | |
| 27 | **Note:** |
| 28 | * 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. |
| 29 | * 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)`. |
| 30 | * 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 |
| 31 | * The routine returns the centered RMSD as displayed in Taylor diagrams. The non-centered RMSD can be computed using [wiki:PDAFomi_diag_obs_rmsd]. |
| 32 | |
| 33 | |