# U_init_obs_f

The page document the user-supplied call-back routine `U_init_obs_f`

.

The routine `U_init_obs_f`

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_obs_f_pdaf`

, but in the full interface, the user can choose the name of the routine.
This routine is used by all filter algorithms with domain-localization (LSEIK, LETKF, LESTKF) and is independent of the particular algorithm.
The routine is called during the analysis step before the loop over the local analysis domains is entered. It has to provide the full vector of observations for the current time step. The caller is the routine that computes an adaptive forgetting factor (PDAF_set_forget).

The routine is only called if the globally adaptive forgetting factor is used (`type_forget=1`

in the example implementation). For the local filters there is also the alternative to use locally adaptive forgetting factors (`type_forget=2`

in the example implementation).

The interface is the following:

SUBROUTINE U_init_obs_f(step, dim_obs_f, observation_f)

with

`step`

:`integer, intent(in)`

Current time step`dim_obs_f`

:`integer, intent(in)`

Size of the full observation vector`observation_f`

:`real, intent(out), dimension(dim_obs_f)`

Full vector of observations

Hints:

- As for the other 'full' routines: While the global counterpart of this routine (
`U_init_obs`

) has to initialize the observation vector only for the local model sub-domain, the 'full' routine has to include observations that spatially belong to neighboring model sub-domains. As an easy choice one can simply initialize a vector of all globally available observations. - If the adaptive forgetting factor is not used, this routine only has to exist. However, no functionality is required.