Section: New Software and Platforms

Data assimilation library: Verdandi

Participants : Nicolas Claude, Vivien Mallet, Dominique Chapelle [M3DISIM] , Philippe Moireau [M3DISIM] .

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 study 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 2014, version 1.6 was released with a lot of new unit tests, within the Google Test framework. The extended Kalman filter now supports model error. For users of C++11, a native random perturbation manager has been added and allows to circumvent the use of Newran. The overall compatibility with Clang has been reinforced. The documentation was significantly improved, especially about the installation under Windows and Linux.