Version 3 (modified by 9 years ago) (diff) | ,
---|
U_init_obsvar
The page documents the user-supplied call-back routine U_init_obsvar
.
The routine U_init_obsvar
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_obsvar_pdaf
, but in the full interface, the user can choose the name of the routine.
The routine is used with the global filters ESTKF, ETKF, and SEIK as well as the local filters LESTKF, LETKF, and LSEIK. The routine is called during the filter analysis step. The routine is only called if the adaptive forgetting factor is used (type_forget=1
in the example implementation). When the routine is called it has to return the mean observation error variance.
The interface is the following:
SUBROUTINE U_init_obsvar(step, dim_obs_p, obs_p, meanvar)
with
step
:integer, intent(in)
Current time stepdim_obs_p
:integer, intent(in)
Size of observation vectorobs_p
:real, intent(in), dimension(dim_obs_p)
Vector of observationsmeanvar
:real, intent(out)
Mean observation error variance
Notes:
- For a model with domain-decomposition one might use the mean variance for the model sub-domain of the calling process. Alternatively one can compute a mean variance for the full model domain using MPI communication (e.g. the function
MPI_allreduce
). - The observation vector
obs_p
is provided to the routine for the case that the observation error variance is relative to the value of the observations.