# 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`

.