Salome HOME
Documentation improvements and post analysis
[modules/adao.git] / doc / fr / ref_algorithm_3DVAR.rst
1 ..
2    Copyright (C) 2008-2021 EDF R&D
3
4    This file is part of SALOME ADAO module.
5
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.
10
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.
15
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
19
20    See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
22    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
23
24 .. index:: single: 3DVAR
25 .. index:: single: 3D-Var
26 .. _section_ref_algorithm_3DVAR:
27
28 Algorithme de calcul "*3DVAR*"
29 ------------------------------
30
31 .. ------------------------------------ ..
32 .. include:: snippets/Header2Algo01.rst
33
34 Cet algorithme réalise une estimation d'état par minimisation variationnelle de
35 la fonctionnelle :math:`J` d'écart classique en assimilation de données
36 statique:
37
38 .. math:: J(\mathbf{x})=(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+(\mathbf{y}^o-H(\mathbf{x}))^T.\mathbf{R}^{-1}.(\mathbf{y}^o-H(\mathbf{x}))
39
40 qui est usuellement désignée comme la fonctionnelle "*3D-Var*" (voir par
41 exemple [Talagrand97]_). Les dénominations "*3D-Var*", "*3D-VAR*" et "*3DVAR*"
42 sont équivalentes.
43
44 Il existe diverses variantes de cet algorithme. On propose ici les formulations
45 stables et robustes suivantes :
46
47 .. index::
48     pair: Variant ; 3DVAR
49     pair: Variant ; 3DVAR-VAN
50     pair: Variant ; 3DVAR-Incr
51     pair: Variant ; 3DVAR-PSAS
52
53 - "3DVAR" (3D Variational analysis, voir [Lorenc86]_, [LeDimet86]_, [Talagrand97]_), algorithme classique d'origine, très robuste, opérant dans l'espace du modèle,
54 - "3DVAR-VAN" (3D Variational Analysis with No inversion of B, voir [Lorenc88]_), algorithme similaire, opérant dans l'espace du modèle, mais permettant d'éviter l'inversion de la matrice de covariance B,
55 - "3DVAR-Incr" (Incremental 3DVAR, voir [Courtier94]_), algorithme plus économique que les précédents, mais impliquant une approximation des opérateurs non-linéaires,
56 - "3DVAR-PSAS" (Physical-space Statistical Analysis Scheme for 3DVAR, voir [Courtier97]_, [Cohn98]_), algorithme parfois plus économique car opérant dans l'espace des observations, mais impliquant une approximation des opérateurs non-linéaires.
57
58 On recommande fortement d'utiliser le "3DVAR" d'origine. Les algorithmes
59 "3DVAR" et "3DVAR-Incr" (et pas les autres) permettent la modification du point
60 initial de leur minimisation, mais ce n'est pas recommandé.
61
62 .. ------------------------------------ ..
63 .. include:: snippets/Header2Algo02.rst
64
65 .. include:: snippets/Background.rst
66
67 .. include:: snippets/BackgroundError.rst
68
69 .. include:: snippets/Observation.rst
70
71 .. include:: snippets/ObservationError.rst
72
73 .. include:: snippets/ObservationOperator.rst
74
75 .. ------------------------------------ ..
76 .. include:: snippets/Header2Algo03AdOp.rst
77
78 .. include:: snippets/BoundsWithNone.rst
79
80 .. include:: snippets/CostDecrementTolerance.rst
81
82 .. include:: snippets/GradientNormTolerance.rst
83
84 .. include:: snippets/InitializationPoint.rst
85
86 .. include:: snippets/MaximumNumberOfSteps.rst
87
88 .. include:: snippets/Minimizer_xDVAR.rst
89
90 .. include:: snippets/NumberOfSamplesForQuantiles.rst
91
92 .. include:: snippets/ProjectedGradientTolerance.rst
93
94 .. include:: snippets/Quantiles.rst
95
96 .. include:: snippets/SetSeed.rst
97
98 .. include:: snippets/SimulationForQuantiles.rst
99
100 .. include:: snippets/StateBoundsForQuantilesWithNone.rst
101
102 StoreSupplementaryCalculations
103   .. index:: single: StoreSupplementaryCalculations
104
105   *Liste de noms*. Cette liste indique les noms des variables supplémentaires
106   qui peuvent être disponibles au cours du déroulement ou à la fin de
107   l'algorithme, si elles sont initialement demandées par l'utilisateur. Cela
108   implique potentiellement des calculs ou du stockage coûteux. La valeur par
109   défaut est une liste vide, aucune de ces variables n'étant calculée et
110   stockée par défaut sauf les variables inconditionnelles. Les noms possibles
111   sont dans la liste suivante : [
112   "Analysis",
113   "APosterioriCorrelations",
114   "APosterioriCovariance",
115   "APosterioriStandardDeviations",
116   "APosterioriVariances",
117   "BMA",
118   "CostFunctionJ",
119   "CostFunctionJAtCurrentOptimum",
120   "CostFunctionJb",
121   "CostFunctionJbAtCurrentOptimum",
122   "CostFunctionJo",
123   "CostFunctionJoAtCurrentOptimum",
124   "CurrentIterationNumber",
125   "CurrentOptimum",
126   "CurrentState",
127   "ForecastState",
128   "IndexOfOptimum",
129   "Innovation",
130   "InnovationAtCurrentState",
131   "JacobianMatrixAtBackground",
132   "JacobianMatrixAtOptimum",
133   "KalmanGainAtOptimum",
134   "MahalanobisConsistency",
135   "OMA",
136   "OMB",
137   "SampledStateForQuantiles",
138   "SigmaObs2",
139   "SimulatedObservationAtBackground",
140   "SimulatedObservationAtCurrentOptimum",
141   "SimulatedObservationAtCurrentState",
142   "SimulatedObservationAtOptimum",
143   "SimulationQuantiles",
144   ].
145
146   Exemple :
147   ``{"StoreSupplementaryCalculations":["BMA", "CurrentState"]}``
148
149 .. include:: snippets/Variant_3DVAR.rst
150
151 .. ------------------------------------ ..
152 .. include:: snippets/Header2Algo04.rst
153
154 .. include:: snippets/Analysis.rst
155
156 .. include:: snippets/CostFunctionJ.rst
157
158 .. include:: snippets/CostFunctionJb.rst
159
160 .. include:: snippets/CostFunctionJo.rst
161
162 .. ------------------------------------ ..
163 .. include:: snippets/Header2Algo05.rst
164
165 .. include:: snippets/Analysis.rst
166
167 .. include:: snippets/APosterioriCorrelations.rst
168
169 .. include:: snippets/APosterioriCovariance.rst
170
171 .. include:: snippets/APosterioriStandardDeviations.rst
172
173 .. include:: snippets/APosterioriVariances.rst
174
175 .. include:: snippets/BMA.rst
176
177 .. include:: snippets/CostFunctionJ.rst
178
179 .. include:: snippets/CostFunctionJAtCurrentOptimum.rst
180
181 .. include:: snippets/CostFunctionJb.rst
182
183 .. include:: snippets/CostFunctionJbAtCurrentOptimum.rst
184
185 .. include:: snippets/CostFunctionJo.rst
186
187 .. include:: snippets/CostFunctionJoAtCurrentOptimum.rst
188
189 .. include:: snippets/CurrentIterationNumber.rst
190
191 .. include:: snippets/CurrentOptimum.rst
192
193 .. include:: snippets/CurrentState.rst
194
195 .. include:: snippets/ForecastState.rst
196
197 .. include:: snippets/IndexOfOptimum.rst
198
199 .. include:: snippets/Innovation.rst
200
201 .. include:: snippets/InnovationAtCurrentState.rst
202
203 .. include:: snippets/JacobianMatrixAtBackground.rst
204
205 .. include:: snippets/JacobianMatrixAtOptimum.rst
206
207 .. include:: snippets/KalmanGainAtOptimum.rst
208
209 .. include:: snippets/MahalanobisConsistency.rst
210
211 .. include:: snippets/OMA.rst
212
213 .. include:: snippets/OMB.rst
214
215 .. include:: snippets/SampledStateForQuantiles.rst
216
217 .. include:: snippets/SigmaObs2.rst
218
219 .. include:: snippets/SimulatedObservationAtBackground.rst
220
221 .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
222
223 .. include:: snippets/SimulatedObservationAtCurrentState.rst
224
225 .. include:: snippets/SimulatedObservationAtOptimum.rst
226
227 .. include:: snippets/SimulationQuantiles.rst
228
229 .. ------------------------------------ ..
230 .. include:: snippets/Header2Algo09.rst
231
232 .. include:: scripts/simple_3DVAR.rst
233
234 .. literalinclude:: scripts/simple_3DVAR.py
235
236 .. include:: snippets/Header2Algo10.rst
237
238 .. literalinclude:: scripts/simple_3DVAR.res
239
240 .. ------------------------------------ ..
241 .. include:: snippets/Header2Algo06.rst
242
243 - :ref:`section_ref_algorithm_Blue`
244 - :ref:`section_ref_algorithm_ExtendedBlue`
245 - :ref:`section_ref_algorithm_LinearityTest`
246
247 .. ------------------------------------ ..
248 .. include:: snippets/Header2Algo07.rst
249
250 - [Byrd95]_
251 - [Cohn98]_
252 - [Courtier94]_
253 - [LeDimet86]_
254 - [Lorenc86]_
255 - [Lorenc88]_
256 - [Morales11]_
257 - [Talagrand97]_
258 - [Zhu97]_