Nouvelles fonctionnalités, évolutions et optimisations du logiciel l'assimilation variationnelle Yao
Abstract
The Yao software is a source code generator which aims to perform variational assimilation runs. One of its fonctionnalities is to help the user to conceive numeric simulations by using the notion of a modular graph for model representation. It gives an integrated development environment which provides the user with the ability to make standard and incremental variational assimilation sessions. Furthermore, it supplies a number of test and control functions. In this dissertation, we present the evolutions developed in the Yao software during the internship of Guillaume Rosinosky. A refactoring of the source code of the generated project has been done in order to simplify the maintenance and the readability of the source code, by using oriented object representations of the internal concepts of Yao. Two new algorithms have been incorporated and tested. The implementation of the quasi-static algorithm open the possibility to assimilate more complex models. The variational assimilation in weak constraint algorithm allows to take into consideration the model errors by switching in dual form the variational assimilation equations. In addition to those major modifications, general optimisation of the performances have been applied.
Le logiciel Yao est un générateur de code source dont le but est d'effectuer des sessions d'assimilation variationnelle. Une de ses fonctionnalités est l'aide à l'utilisateur à la mise au point de simulations numériques en s'appuyant sur la notion de graphe modulaire pour la représentation d'un modèle. Il fournit un environnement de développement permettant à l'utilisateur d'effectuer des sessions d'assimilation à l'aide de l'algorithme standard et de l'algorithme incrémental. Il fournit également des fonctions de test et de contrôle. Ce mémoire présente les évolutions ayant été apportées à Yao durant le stage de Guillaume Rosinosky. Une refactorisation du code source des projets générés a été effectuée dans le but de simplifier la maintenance et la lisibilité du code, ce à l'aide de représentations objet des différents concepts en présence. Deux nouveaux algorithmes ont été ajoutés, et testés. L'implémentation de l'algorithme quasi-statique permet d'assimiler des modèles de nature plus complexe. L'algorithme d'assimilation à contrainte faible permet à l'utilisateur de tenir compte des erreurs modèle par le passage en forme duale des équations de l'assimilation variationnelle. En plus de ces modifications majeures, une optimisation des performances des programmes générés a été également réalisée.
Loading...