Changes between Version 21 and Version 22 of ImplementAnalysisLocal


Ignore:
Timestamp:
Mar 22, 2023, 1:01:58 PM (13 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisLocal

    v21 v22  
    166166
    167167The routine is called during the loop over the local analysis domains in the analysis step.
    168 It has to provide in `dim_l` the dimension of the state vector for the local analysis domain with index `domain_p`.
     168For PDAF it has to provide in `dim_l` the dimension of the state vector for the local analysis domain with index `domain_p`.
    169169
    170170Hints:
    171  * For sharing through the module 'mod_assimilation', we further initialize an array 'coords_l' containing the coordinates that describe the local domain. These coordinates have to describe one location in space that is used in the OMI observation modules to compute the distance from observations. This requires that the coordinates in 'coords_l' have the same units as those used for the observations. For geographic distance computations, the unit of the coordinates needs to be radian (0, 2*pi) or (-pi,pi).
    172  * Any form of local domain is possible as long as it can be describe as a single location. If observations are only horizontally distributed (a common situation with satellite data in the ocean), the local analysis domain can be a single vertical column of the model grid. In this case, the size of the state in the local analysis domain will be just the number of vertical grid points at this location and the horizontal coordinates are used in 'coords_l'
     171 * For sharing through the module `mod_assimilation`, we further initialize an array `coords_l` containing the coordinates that describe the local domain.
     172  * These coordinates have to describe one location in space that is used in the OMI observation modules to compute the distance from observations.
     173  * The coordinates in `coords_l` have the same units as those used for the observations
     174  * For geographic distance computations, the unit of the coordinates needs to be radian, thus (0, 2*pi) or (-pi,pi) for longitude and (-pi/2, pi/2) for latitude.
     175 * Any form of local domain is possible as long as it can be describe as a single location.
     176  * If the local domain is a single grid point, `dim_l` will be the number of model variables at this grid point.
     177  * The local analysis domain can also be a single vertical column of the model grid if observations are only horizontally distributed (a common situation with satellite data in the ocean).
     178   * In this case, `dim_l` will be the number of vertical grid points at this location times the number of model fields that exist in the vertical, plus possible variables at e.g. the surface.
     179   * In this case only the horizontal coordinates are used in `coords_l`.
    173180 * Further, we recommend to initialize an array containing the indices of the elements of the local state vector in the global (or domain-decomposed) state vector (`id_lstate_in_pstate` in the template files). This array is also shared through 'mod_assimilation'.
    174181
     
    199206Hints:
    200207 * In the simple case that a local analysis domain is a single vertical column of the model grid, the operation in this routine would be to take out of `state_p` the data for the vertical column indexed by `domain_p`.
    201  * Usually, one can initialize the indices of the local state vector elements in the global state vector in `U_init_dim_l` and just use these here.
     208 * Usually, one can use the index array `id_lstate_in_pstate`, which is initialized in `U_init_dim_l`. The array holds the indices of the local state vector elements in the global state vector.
    202209
    203210
     
    220227Hints:
    221228 * In the simple case that a local analysis domain is a single vertical column of the model grid, the operation in this routine would be to write into `state_p` the data for the vertical column indexed by `domain_p`.
    222  * Usually, one can initialize the indices of the local state vector elements in the global state vector in `U_init_dim_l` and just use these here.
     229 * Usually, one can use the index array `id_lstate_in_pstate`, which is initialized in `U_init_dim_l`. The array holds the indices of the local state vector elements in the global state vector.
    223230
    224231