# U_init_dim_l

The page document the user-supplied call-back routine `U_init_dim_l`

.

The routine `U_init_dim_l`

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_dim_l_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 provide the dimension of the sub-state vector for the specified local analysis domain.

The interface is the following:

SUBROUTINE U_init_dim_l(step, domain_p, dim_l)

with

`step`

:`integer, intent(in)`

Current time step`domain_p`

:`integer, intent(in)`

Index of current local analysis domain`dim_l`

:`integer, intent(out)`

Dimension of state vector in local analysis domain

Hints:

- If a local analysis domain is a single grid point, the dimension of the local state vector is the number of model fields at this grid point.
- If a local analysis domain is a single vertical column of the model grid, the size of the state in the local analysis domain will be just the number of vertical grid points at this location times the number of 3-dimensional fields, plus the number of 2D fields.