40 | | The interface for the routine `PDAF_put_state_lseik` contains routine names for routines that operate on the local analysis domains (marked by `_l` at then end of the routine name), as well as routines that consider all available observations required to perform local analyses with LSEIK within some sub-domain of a domain-decomposed model (marked by `_f` ('full') at then end of the routine name). In case of a serial execution of the assimilation program, this will be all globally available observation. However, if the program is executed with parallelization, this might be a smaller set of observations. For simplicity, we assume for now that 'full' equals global. |
| 40 | The interface for the routine `PDAF_put_state_lseik` contains several routine names for routines that operate on the local analysis domains (marked by `_l` at then end of the routine name). In addition, there are names for routines that consider all available observations required to perform local analyses with LSEIK within some sub-domain of a domain-decomposed model (marked by `_full` at then end of the routine name). In case of a serial execution of the assimilation program, this will be all globally available observations. However, if the program is executed with parallelization, this might be a smaller set of observations. To explain the difference it is assumed for simplicity that a local analysis domain consists of a single vertical column of the model grid. In addition, we assume that the domain decomposition splits the global model domain by vertical boundaries as is typical for ocean models and that the observations are spatially distributed observations of model fields that are part of the state vector. Under these assumptions, the situation is the following: When a model uses domain decomposition, the LSEIK filter is executed such that for each model sub-domain a loop over all local analysis domains (e.g. vertical columns) that belong to the model sub-domain is performed. For the update of each single vertical column observations from some larger domain surrounding the vertical column are considered. If the influence radius for the observations is sufficiently small there will be vertical columns for which all relevant observations reside inside the model sub-domain of the process. However, if a vertical column is considered that is located close to the boundary to the model sub-domain, there will be some observations that don't belong spatially to the local model sub-domain, but to a neighboring model sub-domain. These observations nonetheless are required on the local model sub-domain. Thus, a simple way to handle this situation is to initialize for each process all globally available observations, together with their coordinates. While this method is simple, it can also become inefficient if the assimilation program is executed using a large number of processes. As for an initial implementation, it is usually not the concern to obtain the highest parallel efficiency, the description below assumes that 'full' refers to the global model domain. |