Section: Software

Data assimilation library: Verdandi

Participants : Kévin Charpentier, Marc Fragu [MACS] , Vivien Mallet, Dominique Chapelle [MACS] , Philippe Moireau [MACS] , Sergiy Zhuk, Anne Tilloy.

The leading idea is to develop a data assimilation library intended to be generic, at least for high-dimensional systems. Data assimilation methods, developed and used by several teams at INRIA, are generic enough to be coded independently of the system to which they are applied. Therefore these methods can be put together in a library aiming at:

  • making easier the application of methods to a great number of problems,

  • making the developments perennial and sharing them,

  • improving the broadcast of data assimilation works.

An object-oriented language (C++) has been chosen for the core of the library. A high-level interface to Python is automatically built. The design raised many questions, related to high dimensional scientific computing, the limits of the object contents and their interfaces. The chosen object-oriented design is mainly based on three class hierarchies: the methods, the observation managers and the models. Several base facilities have also been included, for message exchanges between the objects, output saves, logging capabilities, computing with sparse matrices.

In 2011, versions 0.9, 1.0 and 1.1 of Verdandi were released. These versions are advanced enough to be used by the data assimilation community. Compared to previous versions, the additions are: 4D-Var, ensemble Kalman filter, redesigned perturbation managers, sequential aggregation, improvements in the documentation and an improved support of Windows.