Version 1 (modified by lnerger, 5 years ago) (diff)



The page documents the user-supplied call-back routine init_obscovar_pdaf.

The routine init_obscovar_pdaf (called U_init_obs_covar inside the PDAF core routines) is a call-back routine that has to be provided by the user. The routine is used only with the EnKF. The routine is called during the analysis step and is required for the generation of an ensemble of observations. It has to initialize the global observation error covariance matrix. In addition, a flag has to be initialized to provide the information, whether the observation error covariance matrix is diagonal.

The interface is the following:

SUBROUTINE init_obscovar_pdaf(step, dim_obs, dim_obs_p, covar, obs_p, isdiag)


  • step : integer, intent(in)
    Current time step
  • dim_obs : integer, intent(in)
    Global size of observation vector
  • dim_obs_p : integer, intent(in)
    Size of process-local observation vector
  • covar : real, intent(out)
    Observation error covariance matrix
  • obs_p : real, intent(in), dimension(dim_obs_p)
    Process-local vector of observations
  • isdiag : logical, intent(out)
    Flag whether the observation error covar. matrix is diagonal

The initialization of covar is for the global observation space. Thus, it is independent of whether the filter is executed with or without parallelization.


  • The local observation vector obs_p is provided to the routine for the case that the observation errors are relative to the value of the observation.