Changes between Initial Version and Version 1 of U_g2l_obs

Jan 21, 2016, 5:01:08 PM (5 years ago)



  • U_g2l_obs

    v1 v1  
     1= U_g2l_obs =
     3The page document the user-supplied call-back routine `U_g2l_obs`.
     5The routine `U_g2l_obs` is a call-back routine that has to be provided by the user. In the simplified interface the predefined name of the routine is `g2l_obs_pdaf`, but in the full interface, the user can choose the name of the routine.
     6The routine is used with all filter algorithms using domain-localization (LSEIK, LETKF, LESTKF) and is independent of the particular algorithm.
     7The routine is called during the loop over the local analysis domains in the analysis step. It has to provide a local observation vector `mstate_l` for the observation domain that corresponds to the local analysis domain with index `domain_p`. Provided to the routine is the full observation vector `mstate_f` from which the local part has to be extracted.
     9The interface is the following:
     11SUBROUTINE g2l_obs(domain_p, step, dim_obs_f, dim_obs_l, mstate_f, mstate_l)
     14 * `domain_p` : `integer, intent(in)`[[BR]] Index of current local analysis domain
     15 * `step` : `integer, intent(in)`[[BR]] Current time step
     16 * `dim_obs_f` : `integer, intent(in)`[[BR]] Size of full observation vector for model sub-domain
     17 * `dim_obs_l` : `integer, intent(in)`[[BR]] Size of observation vector for local analysis domain
     18 * `mstate_f` : `integer, intent(in), dimension(dim_p)`[[BR]] Full observation vector for model sub-domain
     19 * `mstate_l` : `integer, intent(out), dimension(dim_l)`[[BR]] Observation vector for local analysis domain
     22 * The  vector `mstate_f` that is provided to the routine is one of the observed state vectors that are produced by `U_obs_op_f`.
     23 * Some operations performed here are analogous to those required to initialize a local vector of observations in `U_init_obs_l`. If that routine reads first a full vector of observations (e.g. in `U_init_dim_obs_f`), this vector has to be restricted to the relevant observations for the current local analysis domain. For this operation, one can for example initialize an index array when `U_init_dim_obs_l` is executed. (Which happens before `U_g2l_obs`)