Local updating with use of batches during the analyse step.
Lam (2019) -> "Local updating is a localization technique particularly used in atmospheric and oceanography applications. It allows to perform the update gridblock by gridblock by assimilating only a subset of observations located in the vicinity of the gridblock to be updated (Figure 2.7). In this manner, the contribution of distant observations which are likely to be dominated with noise are removed (Chen and Oliver, 2017). However, this range of influence requires tuning as it should be large enough to include the relevant measurements, but small enough to remove the spurious impact of remote observations."
This is however not very convenient:
- if the correlation distances are not isotope
- it requires to analyse gridblock by gridblock which can be very long with python.
The approach proposed instead is to rely on sparse matrices for the correlations (which are built outside the ESMDA operator) and to use batch of gridblocks to limit to size of C_{MD} correlation matrices -> make it tracktable for large scale problems.
The batch size (number of gridblocks assimilated at once) is given by the user that can estimate the size of correlations matrices from the number of observations (n_gridblocks x n_obs).