Version 1 (modified by lnerger, 21 months ago) (diff)



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)


  • 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


  • 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.