Changes between Initial Version and Version 1 of PDAFomi_diag_diffstats


Ignore:
Timestamp:
Mar 27, 2026, 6:03:01 PM (4 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAFomi_diag_diffstats

    v1 v1  
     1= PDAFomi_diag_diffstats =
     2
     3This page documents the routine `PDAFomi_diag_stats` of PDAF, which was introduced with PDAF V3.1. This is part of the [wiki:OMI_observation_diagnostics_PDAF3 PDAF-OMI observation diagnostics module].
     4
     5The 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.
     6
     7Usually all PDAFomi_diag routines are called in `prepoststep_pdaf` where the observation information can be retrieved and analyzed.
     8
     9The interface is:
     10{{{
     11  SUBROUTINE PDAFomi_diag_diffstats(nobs, obsstats_ptr, verbose)
     12
     13    INTEGER, INTENT(inout) :: nobs                     ! Number of observation types
     14    REAL, POINTER, INTENT(inout) :: obsstats_ptr(:,:)  ! Array of observation statistics
     15          ! Included statistics are:
     16          !  (1,:) correlations between observation and observed ensemble mean (corr)
     17          !  (2,:) centered RMS difference between observation and observed ensemble mean (cRMSD)
     18          !  (3,:) mean bias (observation minus observed ensemble mean, 'bias y-Hx')
     19          !  (4,:) mean absolute difference between observation and observed ensemble mean (MAD)
     20          !  (5,:) variance of observations (STDDEV(y))
     21          !  (6,:) variance of observed ensemble mean (STDDEV(Hx))
     22    INTEGER, INTENT(in) :: verbose                     ! Verbosity flag, >0 to write screen output
     23}}}
     24
     25For verbose>0 a list of statistics is printed for each observation type in the form
     26{{{
     27PDAFomi   obs-ID   corr      cRMSD     bias y-Hx      MAD      STDDEV(y)   STDDEV(Hx)
     28PDAFomi      1     0.611   7.084E-01   4.376E-02   5.774E-01   8.787E-01   7.179E-01
     29}}}
     30
     31**Note:**
     32 * 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.
     33 * 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)`.
     34 * 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
     35 * The routine returns the centered RMSD as displayed in Taylor diagrams. The non-centered RMSD can be computed using [wiki:PDAFomi_diag_rmsd].
     36
     37