2 Copyright (C) 2008-2020 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: 3DVAR
25 .. _section_ref_algorithm_3DVAR:
27 Calculation algorithm "*3DVAR*"
28 -------------------------------
30 .. ------------------------------------ ..
31 .. include:: snippets/Header2Algo01.rst
33 This algorithm performs a state estimation by variational minimization of the
34 classical :math:`J` function in static data assimilation:
36 .. 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}))
38 which is usually designed as the "*3D-VAR*" function (see for example
41 .. ------------------------------------ ..
42 .. include:: snippets/Header2Algo02.rst
44 .. include:: snippets/Background.rst
46 .. include:: snippets/BackgroundError.rst
48 .. include:: snippets/Observation.rst
50 .. include:: snippets/ObservationError.rst
52 .. include:: snippets/ObservationOperator.rst
54 .. ------------------------------------ ..
55 .. include:: snippets/Header2Algo03AdOp.rst
57 .. include:: snippets/BoundsWithNone.rst
59 .. include:: snippets/CostDecrementTolerance.rst
61 .. include:: snippets/GradientNormTolerance.rst
63 .. include:: snippets/MaximumNumberOfSteps.rst
66 .. index:: single: Minimizer
68 This key allows to choose the optimization minimizer. The default choice is
69 "LBFGSB", and the possible ones are "LBFGSB" (nonlinear constrained
70 minimizer, see [Byrd95]_, [Morales11]_ and [Zhu97]_), "TNC" (nonlinear
71 constrained minimizer), "CG" (nonlinear unconstrained minimizer), "BFGS"
72 (nonlinear unconstrained minimizer), "NCG" (Newton CG minimizer). It is
73 strongly recommended to stay with the default.
76 ``{"Minimizer":"LBFGSB"}``
78 .. include:: snippets/NumberOfSamplesForQuantiles.rst
80 .. include:: snippets/ProjectedGradientTolerance.rst
82 .. include:: snippets/Quantiles.rst
84 .. include:: snippets/SetSeed.rst
86 .. include:: snippets/SimulationForQuantiles.rst
88 StoreSupplementaryCalculations
89 .. index:: single: StoreSupplementaryCalculations
91 This list indicates the names of the supplementary variables that can be
92 available at the end of the algorithm, if they are initially required by the
93 user. It involves potentially costly calculations or memory consumptions. The
94 default is a void list, none of these variables being calculated and stored
95 by default excepted the unconditionnal variables. The possible names are in
98 "APosterioriCorrelations",
99 "APosterioriCovariance",
100 "APosterioriStandardDeviations",
101 "APosterioriVariances",
104 "CostFunctionJAtCurrentOptimum",
106 "CostFunctionJbAtCurrentOptimum",
108 "CostFunctionJoAtCurrentOptimum",
113 "InnovationAtCurrentState",
114 "JacobianMatrixAtBackground",
115 "JacobianMatrixAtOptimum",
116 "KalmanGainAtOptimum",
117 "MahalanobisConsistency",
121 "SimulatedObservationAtBackground",
122 "SimulatedObservationAtCurrentOptimum",
123 "SimulatedObservationAtCurrentState",
124 "SimulatedObservationAtOptimum",
125 "SimulationQuantiles",
129 ``{"StoreSupplementaryCalculations":["BMA", "CurrentState"]}``
131 .. ------------------------------------ ..
132 .. include:: snippets/Header2Algo04.rst
134 .. include:: snippets/Analysis.rst
136 .. include:: snippets/CostFunctionJ.rst
138 .. include:: snippets/CostFunctionJb.rst
140 .. include:: snippets/CostFunctionJo.rst
142 .. ------------------------------------ ..
143 .. include:: snippets/Header2Algo05.rst
145 .. include:: snippets/Analysis.rst
147 .. include:: snippets/APosterioriCorrelations.rst
149 .. include:: snippets/APosterioriCovariance.rst
151 .. include:: snippets/APosterioriStandardDeviations.rst
153 .. include:: snippets/APosterioriVariances.rst
155 .. include:: snippets/BMA.rst
157 .. include:: snippets/CostFunctionJ.rst
159 .. include:: snippets/CostFunctionJAtCurrentOptimum.rst
161 .. include:: snippets/CostFunctionJb.rst
163 .. include:: snippets/CostFunctionJbAtCurrentOptimum.rst
165 .. include:: snippets/CostFunctionJo.rst
167 .. include:: snippets/CostFunctionJoAtCurrentOptimum.rst
169 .. include:: snippets/CurrentOptimum.rst
171 .. include:: snippets/CurrentState.rst
173 .. include:: snippets/IndexOfOptimum.rst
175 .. include:: snippets/Innovation.rst
177 .. include:: snippets/InnovationAtCurrentState.rst
179 .. include:: snippets/JacobianMatrixAtBackground.rst
181 .. include:: snippets/JacobianMatrixAtOptimum.rst
183 .. include:: snippets/KalmanGainAtOptimum.rst
185 .. include:: snippets/MahalanobisConsistency.rst
187 .. include:: snippets/OMA.rst
189 .. include:: snippets/OMB.rst
191 .. include:: snippets/SigmaObs2.rst
193 .. include:: snippets/SimulatedObservationAtBackground.rst
195 .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
197 .. include:: snippets/SimulatedObservationAtCurrentState.rst
199 .. include:: snippets/SimulatedObservationAtOptimum.rst
201 .. include:: snippets/SimulationQuantiles.rst
203 .. ------------------------------------ ..
204 .. include:: snippets/Header2Algo06.rst
206 - :ref:`section_ref_algorithm_Blue`
207 - :ref:`section_ref_algorithm_ExtendedBlue`
208 - :ref:`section_ref_algorithm_LinearityTest`
210 .. ------------------------------------ ..
211 .. include:: snippets/Header2Algo07.rst