2 Copyright (C) 2008-2015 EDF R&D
4 This file is part of SALOME ADAO module.
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
24 .. index:: single: ASSIMILATION_STUDY
25 .. _section_ref_assimilation_keywords:
27 Liste des commandes et mots-clés pour un cas d'assimilation de données ou d'optimisation
28 ----------------------------------------------------------------------------------------
30 .. index:: single: Algorithm
31 .. index:: single: AlgorithmParameters
32 .. index:: single: Background
33 .. index:: single: BackgroundError
34 .. index:: single: ControlInput
35 .. index:: single: Debug
36 .. index:: single: EvolutionError
37 .. index:: single: EvolutionModel
38 .. index:: single: InputVariables
39 .. index:: single: Observation
40 .. index:: single: ObservationError
41 .. index:: single: ObservationOperator
42 .. index:: single: Observer
43 .. index:: single: Observers
44 .. index:: single: Observer Template
45 .. index:: single: OutputVariables
46 .. index:: single: StudyName
47 .. index:: single: StudyRepertory
48 .. index:: single: UserDataInit
49 .. index:: single: UserPostAnalysis
50 .. index:: single: UserPostAnalysis Template
52 Ce jeu de commandes est lié à la description d'un cas de calcul, qui est une
53 procédure d'*Assimilation de Données* ou d'*Optimisation*. Les termes sont
54 classés par ordre alphabétique, sauf le premier, qui décrit le choix entre le
55 calcul ou la vérification.
57 Les différentes commandes sont les suivantes:
59 **ASSIMILATION_STUDY**
60 *Commande obligatoire*. C'est la commande générale qui décrit le cas
61 d'assimilation de données ou d'optimisation. Elle contient hiérarchiquement
62 toutes les autres commandes.
65 *Commande obligatoire*. Elle définit l'algorithme d'assimilation de données
66 ou d'optimisation choisi par le mot-clé "*Algorithm*", et ses éventuels
67 paramètres optionnels. Les choix d'algorithmes sont disponibles à travers
68 l'interface graphique. Il existe par exemple le "3DVAR", le "Blue"... Chaque
69 algorithme est défini, plus loin, par une sous-section spécifique. De
70 manière facultative, la commande permet aussi d'ajouter des paramètres pour
71 contrôler l'algorithme. Leurs valeurs sont définies explicitement ou dans un
72 objet de type "*Dict*". On se reportera à la
73 :ref:`section_ref_options_Algorithm_Parameters` pour l'usage détaillé de
74 cette partie de la commande.
77 *Commande obligatoire*. Elle définit le vecteur d'ébauche ou
78 d'initialisation, noté précédemment :math:`\mathbf{x}^b`. Sa valeur est
79 définie comme un objet de type "*Vector*".
82 *Commande obligatoire*. Elle définit la matrice de covariance des erreurs
83 d'ébauche, notée précédemment :math:`\mathbf{B}`. Sa valeur est définie
84 comme un objet de type "*Matrix*", de type "*ScalarSparseMatrix*", ou de
85 type "*DiagonalSparseMatrix*".
88 *Commande optionnelle*. Elle indique le vecteur de contrôle utilisé pour
89 forcer le modèle d'évolution à chaque pas, usuellement noté
90 :math:`\mathbf{U}`. Sa valeur est définie comme un objet de type "*Vector*"
91 ou de type "*VectorSerie*". Lorsqu'il n'y a pas de contrôle, sa valeur doit
92 être une chaîne vide ''.
95 *Commande optionnelle*. Elle définit le niveau de sorties et d'informations
96 intermédiaires de débogage. Les choix sont limités entre 0 (pour False) et
100 *Commande optionnelle*. Elle définit la matrice de covariance des erreurs
101 d'évolution, usuellement notée :math:`\mathbf{Q}`. Sa valeur est définie
102 comme un objet de type "*Matrix*", de type "*ScalarSparseMatrix*", ou de
103 type "*DiagonalSparseMatrix*".
106 *Commande optionnelle*. Elle indique l'opérateur d'évolution du modèle,
107 usuellement noté :math:`M`, qui décrit un pas élémentaire d'évolution. Sa
108 valeur est définie comme un objet de type "*Function*" ou de type
109 "*Matrix*". Dans le cas du type "*Function*", différentes formes
110 fonctionnelles peuvent être utilisées, comme décrit dans la section
111 :ref:`section_ref_operator_requirements`. Si un contrôle :math:`U` est
112 inclus dans le modèle d'évolution, l'opérateur doit être appliqué à une
116 *Commande optionnelle*. Elle permet d'indiquer le nom et la taille des
117 variables physiques qui sont rassemblées dans le vecteur d'état. Cette
118 information est destinée à être utilisée dans le traitement algorithmique
122 *Commande obligatoire*. Elle définit le vecteur d'observation utilisé en
123 assimilation de données ou en optimisation, et noté précédemment
124 :math:`\mathbf{y}^o`. Sa valeur est définie comme un objet de type "*Vector*"
125 ou de type "*VectorSerie*".
128 *Commande obligatoire*. Elle définit la matrice de covariance des erreurs
129 d'ébauche, notée précédemment :math:`\mathbf{R}`. Sa valeur est définie
130 comme un objet de type "*Matrix*", de type "*ScalarSparseMatrix*", ou de
131 type "*DiagonalSparseMatrix*".
134 *Commande obligatoire*. Elle indique l'opérateur d'observation, noté
135 précédemment :math:`H`, qui transforme les paramètres d'entrée
136 :math:`\mathbf{x}` en résultats :math:`\mathbf{y}` qui sont à comparer aux
137 observations :math:`\mathbf{y}^o`. Sa valeur est définie comme un objet de
138 type "*Function*" ou de type "*Matrix*". Dans le cas du type "*Function*",
139 différentes formes fonctionnelles peuvent être utilisées, comme décrit dans
140 la section :ref:`section_ref_operator_requirements`. Si un contrôle
141 :math:`U` est inclus dans le modèle d'observation, l'opérateur doit être
142 appliqué à une paire :math:`(X,U)`.
145 *Commande optionnelle*. Elle permet de définir des observateurs internes,
146 qui sont des fonctions liées à une variable particulière, qui sont exécutées
147 chaque fois que cette variable est modifiée. C'est une manière pratique de
148 suivre des variables d'intérêt durant le processus d'assimilation de données
149 ou d'optimisation, en l'affichant ou en la traçant, etc. Des exemples
150 courants (squelettes) sont fournis pour aider l'utilisateur ou pour
151 faciliter l'élaboration d'un cas.
154 *Commande optionnelle*. Elle permet d'indiquer le nom et la taille des
155 variables physiques qui sont rassemblées dans le vecteur d'observation.
156 Cette information est destinée à être utilisée dans le traitement
157 algorithmique interne des données.
160 *Commande obligatoire*. C'est une chaîne de caractères quelconque pour
161 décrire l'étude ADAO par un nom ou une déclaration.
164 *Commande optionnelle*. S'il existe, ce répertoire est utilisé comme base
165 pour les calculs, et il est utilisé pour trouver les fichiers de script,
166 donnés par nom sans répertoire, qui peuvent être utilisés pour définir
170 *Commande optionnelle*. Elle permet d'initialiser certains paramètres ou
171 certaines données automatiquement avant le traitement de données d'entrée
172 pour l'assimilation de données ou l'optimisation. Pour cela, elle indique un
173 nom de fichier de script à exécuter avant d'entrer dans l'initialisation des
177 *Commande optionnelle*. Elle permet de traiter des paramètres ou des
178 résultats après le déroulement de l'algorithme d'assimilation de données ou
179 d'optimisation. Sa valeur est définie comme un fichier script ou une chaîne
180 de caractères, permettant de produire directement du code de post-processing
181 dans un cas ADAO. Des exemples courants (squelettes) sont fournis pour aider
182 l'utilisateur ou pour faciliter l'élaboration d'un cas.