U_init_obs_covar
The page documents the user-supplied call-back routine U_init_obs_covar
.
The routine U_init_obs_covar
is a call-back routine that has to be provided by the user. In the simplified interface the predefined name of the routine is init_obscovar_pdaf
, but in the full interface, the user can choose the name of the routine.
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 U_init_obs_covar(step, dim_obs, dim_obs_p, covar, obs_p, isdiag)
with
step
:integer, intent(in)
Current time stepdim_obs
:integer, intent(in)
Global size of observation vectordim_obs_p
:integer, intent(in)
Size of process-local observation vectorcovar
:real, intent(out)
Observation error covariance matrixobs_p
:real, intent(in), dimension(dim_obs_p)
Process-local vector of observationsisdiag
: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.
Hints:
- 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.