Changes between Initial Version and Version 1 of PDAFomi_diag_obs_rmsd


Ignore:
Timestamp:
Mar 23, 2025, 8:44:36 AM (10 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAFomi_diag_obs_rmsd

    v1 v1  
     1= PDAFomi_diag_obs_rmsd =
     2
     3This 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.
     4
     5The 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.
     6
     7Usually all PDAFomi_diag routines are called in `prepoststep_pdaf` where the observation information can be retrieved and analyzed.
     8
     9The interface is the following:
     10{{{
     11  SUBROUTINE PDAFomi_diag_obs_rmsd(nobs, rmsd_pointer, verbose)
     12}}}
     13with the following arguments:
     14{{{
     15    INTEGER, INTENT(inout) :: nobs                   !< Number of observation types
     16    REAL, POINTER, INTENT(inout) :: rmsd_pointer(:)  !< Vector of RMSD values
     17    INTEGER, INTENT(in) :: verbose                   !< Verbosity flag
     18}}}
     19
     20**Note:**
     21 * 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.
     22 * 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`.
     23 * 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
     24
     25