Besides this analysis that has to be done for each Data Assimilation or
Optimization study, it can be worth to exploit the optimization results as part
of a more complete study of the physical system of interest.
+
+.. _section_methodology_twin:
+
+To test a data assimilation chain: the twin experiments
+-------------------------------------------------------
+
+.. index:: single: data assimilation chain
+.. index:: single: twin experiments
+
+When developing an assimilation study, the various steps described above form
+what is known as a "data assimilation chain". The testing and analysis of this
+chain are critical to assess the confidence in the overall approach of the
+study.
+
+For this purpose, twin experiments are a classical and very useful tool, which
+allows to place oneself in a particular environment where simulations and
+expected errors can be controlled. Thus, methodological or numerical
+difficulties can be separated and identified, then corrected.
+
+The twin experiment approach can be schematized by the following figure, which
+presents the objective and the means of the approach:
+
+ .. _meth_twin_experiments:
+ .. image:: images/meth_twin_experiments.png
+ :align: center
+ :width: 75%
+ .. centered::
+ **The twin experiment approach to test and analyze a data assimilation (DA) chain**
+
+To simplify, the general approach to using the twin experiments methodology can
+be described as follows:
+
+- we choose in an arbitrary way a state called "true", which must be valid for the simulation ;
+- we then elaborate "pseudo-observations" from the simulation of the true state, by sampling the simulation in a similar way to real observations ;
+- we eventually incorporate noise, either in the true state, or in the pseudo-observations, or in the computational chain, and this in a coherent way with the hypotheses of elaboration of the chain, to see its effect on a specific part of the chain ;
+- we then analyze, according to the noise assumptions applied, the ability of the chain to recover the true state or expected differences.
+
+Thus, the methodology of twin experiments, applied several times and with
+different controlled hypotheses of noise or error, allows to verify step by
+step each component of the complete data assimilation chain.
In order to try in a simple way this example of TUI calculation case, we choose
for example the following entries, perfectly arbitrary, by building the
-observations by simulation in order to set a twin experiments case::
+observations by simulation in order to set a twin experiments case (for
+information, see the approach :ref:`section_methodology_twin`)::
#
# Artificial building of an example of user data
the size of numerical object shown in the scripts, but the problem is
not dependent of the dimension.
-We choose a twin experiment context, using a known true state
-:math:`\mathbf{x}^t` but of arbitrary value:
+We choose a twin experiment context (see the approach
+:ref:`section_methodology_twin`), using a known true state :math:`\mathbf{x}^t`
+but of arbitrary value:
::
Xt = [1 2 3]
de Données ou d'Optimisation, il est très utile d'exploiter les résultats
d'optimisation comme une partie intégrée dans une étude plus complète du système
physique d'intérêt.
+
+.. _section_methodology_twin:
+
+Pour tester une chaîne d'assimilation de données : les expériences jumelles
+---------------------------------------------------------------------------
+
+.. index:: single: chaîne d'assimilation de données
+.. index:: single: expériences jumelles
+
+Lors de la mise au point d'une étude d'assimilation, les différentes étapes
+décrites ci-dessus forment ce que l'on appelle une "chaîne d'assimilation de
+données". Les tests et l'analyse de cette chaîne sont essentiels pour évaluer
+la confiance que l'on peut avoir dans la démarche globale de l'étude.
+
+Pour cela, les expériences jumelles forment un outil classique et très utile,
+qui permet de se placer dans un environnement particulier où les simulations et
+les erreurs attendues peuvent être contrôlées. Ainsi, les difficultés
+méthodologiques ou numériques peuvent être séparées et identifiées, puis
+corrigées.
+
+On peut schématiser l'approche par expériences jumelles par la figure qui suit,
+qui présente l'objectif et les moyens de la démarche :
+
+ .. _meth_twin_experiments:
+ .. image:: images/meth_twin_experiments.png
+ :align: center
+ :width: 75%
+ .. centered::
+ **La démarche d'expériences jumelles pour tester et analyser une chaîne d'assimilation de données (AD)**
+
+Pour simplifier, on peut décrire l'approche générale pour appliquer la
+méthodologie d'expériences jumelles de la manière suivante :
+
+- on choisit de manière arbitraire un état dit "vrai", qui doit être valide pour la simulation ;
+- on élabore ensuite des "pseudo-observations" à partir de la simulation de l'état vrai, en échantillonnant la simulation de manière similaire à de vraies observations ;
+- on incorpore éventuellement du bruit, soit dans l'état vrai, soit dans les pseudo-observations, soit dans la chaîne de calcul, et cela de manière cohérente avec les hypothèses d'élaboration de la chaîne, pour voir son effet sur une partie spécifique de la chaîne ;
+- on analyse ensuite, selon les hypothèses de bruit appliquées, la capacité de la chaîne à retrouver l'état vrai ou des différences attendues.
+
+Ainsi, la méthodologie d'expériences jumelles, appliquée plusieurs fois et avec
+des hypothèses contrôlées de bruit ou d'erreur différentes, permet alors de
+vérifier étape par étape chacune des composantes de la chaîne complète
+d'assimilation de données.
#. que l'utilisateur dispose en Python d'une fonction de simulation physique appelée ``simulation``, préalablement (bien) testée, qui transforme les 3 paramètres en résultats similaires aux observations,
#. que l'exploitation indépendante, que l'utilisateur veut faire, est représentée ici par l'affichage simple de l'état initial, de l'état optimal, de la simulation en ce point, des états intermédiaires et du nombre d'itérations d'optimisation.
-Pour effectuer de manière simple cet essai de cas de calcul TUI, on se donne par
-exemple les entrées suivantes, parfaitement arbitraires, en construisant les
-observations par simulation pour se placer dans un cas d'expériences jumelles::
+Pour effectuer de manière simple cet essai de cas de calcul TUI, on se donne
+par exemple les entrées suivantes, parfaitement arbitraires, en construisant
+les observations par simulation pour se placer dans un cas d'expériences
+jumelles (pour mémoire, voir la démarche :ref:`section_methodology_twin`)::
#
# Construction artificielle d'un exemple de données utilisateur
l'objet numérique indiqué dans les scripts, mais le problème ne dépend pas de la
dimension.
-On choisit un contexte d'expériences jumelles, en utilisant un état vrai
+On choisit un contexte d'expériences jumelles (voir la démarche
+:ref:`section_methodology_twin`), en utilisant un état vrai
:math:`\mathbf{x}^t` connu, mais de valeur arbitraire :
::