wiki:l2g_state_pdaf

Version 1 (modified by lnerger, 5 years ago) (diff)

--

l2g_state_pdaf

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

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