Version 2 (modified by 5 years ago) (diff) | ,
---|

# init_obsvar_pdaf

The page documents the user-supplied call-back routine `init_obsvar_pdaf`

.

The routine `init_obsvar_pdaf`

(called `U_init_obsvar`

inside the PDAF core routines) is a call-back routine that has to be provided by the user. 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 impementation). When the routine is called it has to return the mean observation error variance.

The interface is the following:

SUBROUTINE init_obsvar_pdaf(step, dim_obs_p, obs_p, meanvar)

with

`step`

:`integer, intent(in)`

Current time step`dim_obs_p`

:`integer, intent(in)`

Size of observation vector`obs_p`

:`real, intent(in), dimension(dim_obs_p)`

Vector of observations`meanvar`

:`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.