The PALM project aims to provide a general structure for a modular implementation of a data assimilation system. In this system,
an assimilation algorithm is split up into elementary “units” such as the observation operator, the computation of the correlation
matrix of observational errors, the forecast model, etc. This approach allows to separate the physical part of the problem
from the algebraic part. PALM performs the algebra, ensures the synchronization of the units and drives the communication
of the fields exchanged by the units. Thanks to the interface specifications, each physical unit can be implemented as an
independent executable code and can be easily replaced or reutilised for other configurations.