= PDAFomi_diag_obs_rmsd = This page documents the routine `PDAFomi_diag_obs_rmsd` 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 a vector of the root-mean square difference (RMSD) between the observations and the observed ensemble mean for each observation type. 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_obs_rmsd(nobs, rmsd_pointer, verbose) INTEGER, INTENT(inout) :: nobs ! Number of observation types REAL, POINTER, INTENT(inout) :: rmsd_pointer(:) ! Vector of RMSD values INTEGER, INTENT(in) :: verbose ! Verbosity flag; >0 for screen output }}} For verbose>0 a list of the RMSD for each observation type is printed like {{{ PDAFomi obs-ID RMSD PDAFomi 1 7.097E-01 PDAFomi 2 1.312E-02 }}} **Note:** * The computed RMSD is for the global model domain. Thus, in case of a parallelized model, all process sub-domains are taken into account and calling `PDAFomi_diag_obs_rmsd` will return the same value for all processes. * In Fortran user code the pointer should be declared in the form[[BR]] `REAL, POINTER :: rmsd_ptr(:)`[[BR]] It does not need to be allocated. The target vector has the length `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 returned. One can check this value before assessing the pointer array. * A more extensive set of statistics can be obtained using the routine [wiki:PDAFomi_diag_stats].