wiki:PDAFomi_diag_obs_rmsd

Version 4 (modified by lnerger, 6 days ago) ( diff )

--

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 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

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
    REAL, POINTER :: rmsd_ptr(:)
    It does not need to be allocated. The target vector has the length nobs.
  • If the observation diagnostics have not be activated by using 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 PDAFomi_diag_stats.
Note: See TracWiki for help on using the wiki.