Salome HOME
Documentation update with features and review corrections
[modules/adao.git] / doc / en / ref_algorithm_ObservationSimulationComparisonTest.rst
1 ..
2    Copyright (C) 2008-2024 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: ObservationSimulationComparisonTest
25 .. _section_ref_algorithm_ObservationSimulationComparisonTest:
26
27 Checking algorithm "*ObservationSimulationComparisonTest*"
28 ----------------------------------------------------------
29
30 .. ------------------------------------ ..
31 .. include:: snippets/Header2Algo01.rst
32
33 This verification algorithm allows to analyze in a simple way the stability of
34 the difference between measures and an operator :math:`F` during its execution.
35 The operator is any operator, so it can be the observation operator
36 :math:`\mathcal{H}` as well as the evolution operator :math:`\mathcal{D}`, as
37 long as it is provided in each case according to the
38 :ref:`section_ref_operator_requirements`. The operator :math:`F` is considered
39 as depending on a vector variable :math:`\mathbf{x}` and returning another
40 vector variable :math:`\mathbf{y}`.
41
42 The algorithm verifies that the difference is stable, that the operator is
43 working correctly and that its call is compatible with its usage in ADAO
44 algorithms. In practice, it allows to call one or several times the operator,
45 activating or not the "debug" mode during execution. It is very similar in its
46 current behavior to a :ref:`section_ref_algorithm_FunctionTest` but it tests
47 the stability of the measurement-calculation difference.
48
49 Statistics on :math:`\mathbf{x}` input and :math:`\mathbf{y}` output vectors,
50 and potentially on the classical data assimilation error function :math:`J`,
51 are given for each execution of operator, and an another global statistic is
52 given at the end. The precision of printed outputs can be controlled to
53 facilitate automatic tests of operator. It may also be useful to check the
54 entries themselves beforehand with the intended test
55 :ref:`section_ref_algorithm_InputValuesTest`.
56
57 .. ------------------------------------ ..
58 .. include:: snippets/Header2Algo12.rst
59
60 .. include:: snippets/FeaturePropDerivativeFree.rst
61
62 .. ------------------------------------ ..
63 .. include:: snippets/Header2Algo02.rst
64
65 .. include:: snippets/CheckingPoint.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/Header2Algo03Chck.rst
77
78 .. include:: snippets/NumberOfPrintedDigits.rst
79
80 .. include:: snippets/NumberOfRepetition.rst
81
82 .. include:: snippets/SetDebug.rst
83
84 .. include:: snippets/ShowElementarySummary.rst
85
86 StoreSupplementaryCalculations
87   .. index:: single: StoreSupplementaryCalculations
88
89   *List of names*. This list indicates the names of the supplementary
90   variables, that can be available during or at the end of the algorithm, if
91   they are initially required by the user. Their availability involves,
92   potentially, costly calculations or memory consumptions. The default is then
93   a void list, none of these variables being calculated and stored by default
94   (excepted the unconditional variables). The possible names are in the
95   following list (the detailed description of each named variable is given in
96   the following part of this specific algorithmic documentation, in the
97   sub-section "*Information and variables available at the end of the
98   algorithm*"): [
99   "CostFunctionJ",
100   "CostFunctionJb",
101   "CostFunctionJo",
102   "CurrentState",
103   "Innovation",
104   "InnovationAtCurrentState",
105   "OMB",
106   "SimulatedObservationAtCurrentState",
107   ].
108
109   Example :
110   ``{"StoreSupplementaryCalculations":["CurrentState", "Residu"]}``
111
112 .. ------------------------------------ ..
113 .. include:: snippets/Header2Algo04.rst
114
115 .. include:: snippets/NoUnconditionalOutput.rst
116
117 .. ------------------------------------ ..
118 .. include:: snippets/Header2Algo05.rst
119
120 .. include:: snippets/CostFunctionJ.rst
121
122 .. include:: snippets/CostFunctionJb.rst
123
124 .. include:: snippets/CostFunctionJo.rst
125
126 .. include:: snippets/CurrentState.rst
127
128 .. include:: snippets/Innovation.rst
129
130 .. include:: snippets/InnovationAtCurrentState.rst
131
132 .. include:: snippets/OMB.rst
133
134 .. include:: snippets/SimulatedObservationAtCurrentState.rst
135
136 .. ------------------------------------ ..
137 .. _section_ref_algorithm_ObservationSimulationComparisonTest_examples:
138
139 .. include:: snippets/Header2Algo09.rst
140
141 .. --------- ..
142 .. include:: scripts/simple_ObservationSimulationComparisonTest1.rst
143
144 .. literalinclude:: scripts/simple_ObservationSimulationComparisonTest1.py
145
146 .. include:: snippets/Header2Algo10.rst
147
148 .. literalinclude:: scripts/simple_ObservationSimulationComparisonTest1.res
149     :language: none
150
151 .. ------------------------------------ ..
152 .. include:: snippets/Header2Algo06.rst
153
154 - :ref:`section_ref_algorithm_FunctionTest`