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

# init_obserr_f_pdaf

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

.

The routine `init_obserr_f_pdaf`

(called `U_init_obserr`

inside the PDAF core routines) is a call-back routine that has to be provided by the user.
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 init_obserr_f_pdaf(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.