{'fraction_non_alphanumeric': 0.018867924528301886, 'fraction_numerical': 0.003281378178835111, 'mean_word_length': 5.666666666666667, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Parallel implementation of data assimilation

Kalman filter is a sequential estimation scheme that combines predicted and observed data to reduce the uncertainty of the next prediction. Because of its sequential nature, the algorithm cannot be efficiently implemented on modern parallel compute hardware nor can it be practically implemented on large‐scale dynamical systems because of memory issues. In this paper, we attempt to address pitfalls of the earlier low‐memory approach described in and extend it for parallel implementation. First, we describe a low‐memory method that enables one to pack covariance matrix data employed by the Kalman filter into a low‐memory form by means of certain quasi‐Newton approximation. Second, we derive parallel formulation of the filtering task, which allows to compute several filter iterations independently. Furthermore, this leads to an improvement of estimation quality as the method takes into account the cross‐correlations between consequent system states. We experimentally demonstrate this improvement by comparing the suggested algorithm with the other data assimilation methods that can benefit from parallel implementation. Copyright © 2016 John Wiley & Sons, Ltd.