wiki:U_l2g_state

Version 2 (modified by lnerger, 8 years ago) (diff)

--

U_l2g_state

The page document the user-supplied call-back routine U_l2g_state.

The routine U_l2g_state is a call-back routine that has to be provided by the user. In the simplified interface the predefined name of the routine is l2g_state_pdaf, but in the full interface, the user can choose the name of the routine. The routine is used with all filter algorithms using domain-localization (LSEIK, LETKF, LESTKF) and is independent of the particular algorithm. The routine is called during the loop over the local analysis domains in the analysis step. It has to initialize the part of the global state vector state_p that corresponds to the local analysis domain with index domain_p. Provided to the routine is the state vector state_l for the local analysis domain.

The interface is the following:

SUBROUTINE U_l2g_state(step, domain_p, dim_l, state_l, dim_p, state_p)

with

  • step : integer, intent(in)
    Current time step
  • domain_p : integer, intent(in)
    Index of current local analysis domain
  • dim_p : integer, intent(in)
    Dimension of state vector for parallel model sub-domain
  • dim_l : integer, intent(in)
    Dimension of state vector in local analysis domain
  • state_l : integer, intent(in), dimension(dim_l)
    State vector on local analysis domain
  • state_p : integer, intent(out), dimension(dim_p)
    State vector for parallel model sub-domain

Hints:

  • In the simple case that a local analysis domain is a single point of the model grid, the operation in this routine would be to write into state_p the data (i.e. the different model fields) for the grid point corresponding to the index domain_p.