Version 1 (modified by 18 months ago) (diff) | ,
---|

# U_init_obserr_f

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

.

The routine `U_init_obserr_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_obserr_f_pdaf`

, but in the full interface, the user can choose the name of the routine.
This routine is used for generating synthetic observations with PDAF using PDAF_generate_obs or PDAF_put_state_generate_obs.
The routine is called by PDAF during the observation generation. Its purpose is to fill the provided vector of observation error standard deviations.

The interface is the following:

SUBROUTINE U_init_obserr_f(step, dim_obs_f, obs_f, rms_obs)

with

`step`

:`integer, intent(in)`

Current time step`dim_obs_f`

:`integer, intent(in)`

Size of full observation vector`obs_f`

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

Full vector of observations`rms_obs`

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

Full vector of observation error standard deviations

Notes:

- The routines handles the 'full' observation vector as in localizated filters. As described for the observation generation functionality one can also use it for global filters. In this case the 'full' vector would just contain the observations local to a process sub-domain.
- The observation vector
`obs_f`

is provided to the routine for the case that the observation error is relative to the value of the observations.