Salome HOME
Update forecast use and documentation in filters
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Wed, 4 Mar 2020 19:48:28 +0000 (20:48 +0100)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Wed, 4 Mar 2020 19:48:28 +0000 (20:48 +0100)
19 files changed:
doc/en/bibliography.rst
doc/en/images/schema_temporel_KF.png [new file with mode: 0644]
doc/en/ref_algorithm_EnsembleKalmanFilter.rst
doc/en/ref_algorithm_ExtendedKalmanFilter.rst
doc/en/ref_algorithm_KalmanFilter.rst
doc/en/snippets/ForecastState.rst [new file with mode: 0644]
doc/en/snippets/PredictedState.rst [deleted file]
doc/fr/bibliography.rst
doc/fr/images/schema_temporel_KF.png [new file with mode: 0644]
doc/fr/ref_algorithm_EnsembleKalmanFilter.rst
doc/fr/ref_algorithm_ExtendedKalmanFilter.rst
doc/fr/ref_algorithm_KalmanFilter.rst
doc/fr/snippets/ForecastState.rst [new file with mode: 0644]
doc/fr/snippets/PredictedState.rst [deleted file]
src/daComposant/daAlgorithms/EnsembleKalmanFilter.py
src/daComposant/daAlgorithms/ExtendedKalmanFilter.py
src/daComposant/daAlgorithms/KalmanFilter.py
src/daComposant/daCore/BasicObjects.py
src/daComposant/daCore/NumericObjects.py

index 3f332725087c496cdd1df378da1611b5bff997d1..0a31cd71f46624ff1a1b478305b3def29ac98f6f 100644 (file)
@@ -103,6 +103,10 @@ Bibliography
 
 .. [WikipediaDA] Wikipedia, *Data assimilation*, http://en.wikipedia.org/wiki/Data_assimilation
 
+.. [WikipediaKF] Wikipedia, *Kalman Filter*, https://en.wikipedia.org/wiki/Kalman_filter
+
+.. [WikipediaEKF] Wikipedia, *Extended Kalman Filter*, https://en.wikipedia.org/wiki/Extended_Kalman_filter
+
 .. [WikipediaEnKF] Wikipedia, *Ensemble Kalman Filter*, http://en.wikipedia.org/wiki/Ensemble_Kalman_filter
 
 .. [WikipediaMO] Wikipedia, *Mathematical optimization*, https://en.wikipedia.org/wiki/Mathematical_optimization
diff --git a/doc/en/images/schema_temporel_KF.png b/doc/en/images/schema_temporel_KF.png
new file mode 100644 (file)
index 0000000..8fe0e05
Binary files /dev/null and b/doc/en/images/schema_temporel_KF.png differ
index 4ba9f270dcebe105ccb584f6a06224a0da023f74..f496720ce2deb698064894f017ec6eb185a1fbff 100644 (file)
@@ -95,10 +95,10 @@ StoreSupplementaryCalculations
   "CostFunctionJoAtCurrentOptimum",
   "CurrentOptimum",
   "CurrentState",
+  "ForecastState",
   "IndexOfOptimum",
   "InnovationAtCurrentAnalysis",
   "InnovationAtCurrentState",
-  "PredictedState",
   "SimulatedObservationAtCurrentAnalysis",
   "SimulatedObservationAtCurrentOptimum",
   "SimulatedObservationAtCurrentState",
@@ -143,14 +143,14 @@ StoreSupplementaryCalculations
 
 .. include:: snippets/CurrentState.rst
 
+.. include:: snippets/ForecastState.rst
+
 .. include:: snippets/IndexOfOptimum.rst
 
 .. include:: snippets/InnovationAtCurrentAnalysis.rst
 
 .. include:: snippets/InnovationAtCurrentState.rst
 
-.. include:: snippets/PredictedState.rst
-
 .. include:: snippets/SimulatedObservationAtCurrentAnalysis.rst
 
 .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
index 88fbdec151b7fcdf2bb92ec65636f6e9c8e58f06..1ce1918abc97c090bb84d8f7b3faa6bfad3d4b87 100644 (file)
@@ -34,6 +34,17 @@ This algorithm realizes an estimation of the state of a dynamic system by a
 extended Kalman Filter, using a non-linear calculation of the state and the
 incremental evolution (process).
 
+Conceptually, we can represent the temporal pattern of action of the operators
+for this algorithm in the following way, with **H** the observation operator
+and **M** the evolution operator :
+
+  .. _schema_temporel_KF:
+  .. image:: images/schema_temporel_KF.png
+    :align: center
+    :width: 50%
+  .. centered::
+    **Timeline of steps in Kalman filter assimilation**
+
 In case of really non-linear operators, one can easily use the
 :ref:`section_ref_algorithm_EnsembleKalmanFilter` or the
 :ref:`section_ref_algorithm_UnscentedKalmanFilter`, which are often far more
@@ -89,10 +100,10 @@ StoreSupplementaryCalculations
   "CostFunctionJoAtCurrentOptimum",
   "CurrentOptimum",
   "CurrentState",
+  "ForecastState",
   "IndexOfOptimum",
   "InnovationAtCurrentAnalysis",
   "InnovationAtCurrentState",
-  "PredictedState",
   "SimulatedObservationAtCurrentAnalysis",
   "SimulatedObservationAtCurrentOptimum",
   "SimulatedObservationAtCurrentState",
@@ -137,14 +148,14 @@ StoreSupplementaryCalculations
 
 .. include:: snippets/CurrentState.rst
 
+.. include:: snippets/ForecastState.rst
+
 .. include:: snippets/IndexOfOptimum.rst
 
 .. include:: snippets/InnovationAtCurrentAnalysis.rst
 
 .. include:: snippets/InnovationAtCurrentState.rst
 
-.. include:: snippets/PredictedState.rst
-
 .. include:: snippets/SimulatedObservationAtCurrentAnalysis.rst
 
 .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
@@ -157,3 +168,8 @@ StoreSupplementaryCalculations
 - :ref:`section_ref_algorithm_KalmanFilter`
 - :ref:`section_ref_algorithm_EnsembleKalmanFilter`
 - :ref:`section_ref_algorithm_UnscentedKalmanFilter`
+
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo07.rst
+
+- [WikipediaEKF]_
index 556d4752308530f782938212e8f6caa0b510444d..895d37b0ec9b473d9bbe0ae31404d94484d1db56 100644 (file)
@@ -38,6 +38,17 @@ cases which are linear, even if it sometimes works in "slightly" non-linear
 cases. One can verify the linearity of the operators with the help of
 the :ref:`section_ref_algorithm_LinearityTest`.
 
+Conceptually, we can represent the temporal pattern of action of the operators
+for this algorithm in the following way, with **H** the observation operator
+and **M** the evolution operator :
+
+  .. _schema_temporel_KF:
+  .. image:: images/schema_temporel_KF.png
+    :align: center
+    :width: 50%
+  .. centered::
+    **Timeline of steps in Kalman filter assimilation**
+
 In case of non-linearity, even slightly marked, it will be preferred the
 :ref:`section_ref_algorithm_ExtendedKalmanFilter`, or the
 :ref:`section_ref_algorithm_UnscentedKalmanFilter` and the
@@ -88,10 +99,10 @@ StoreSupplementaryCalculations
   "CostFunctionJoAtCurrentOptimum",
   "CurrentOptimum",
   "CurrentState",
+  "ForecastState",
   "IndexOfOptimum",
   "InnovationAtCurrentAnalysis",
   "InnovationAtCurrentState",
-  "PredictedState",
   "SimulatedObservationAtCurrentAnalysis",
   "SimulatedObservationAtCurrentOptimum",
   "SimulatedObservationAtCurrentState",
@@ -136,14 +147,14 @@ StoreSupplementaryCalculations
 
 .. include:: snippets/CurrentState.rst
 
+.. include:: snippets/ForecastState.rst
+
 .. include:: snippets/IndexOfOptimum.rst
 
 .. include:: snippets/InnovationAtCurrentAnalysis.rst
 
 .. include:: snippets/InnovationAtCurrentState.rst
 
-.. include:: snippets/PredictedState.rst
-
 .. include:: snippets/SimulatedObservationAtCurrentAnalysis.rst
 
 .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
@@ -156,3 +167,8 @@ StoreSupplementaryCalculations
 - :ref:`section_ref_algorithm_ExtendedKalmanFilter`
 - :ref:`section_ref_algorithm_EnsembleKalmanFilter`
 - :ref:`section_ref_algorithm_UnscentedKalmanFilter`
+
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo07.rst
+
+- [WikipediaKF]_
diff --git a/doc/en/snippets/ForecastState.rst b/doc/en/snippets/ForecastState.rst
new file mode 100644 (file)
index 0000000..c14af8e
--- /dev/null
@@ -0,0 +1,8 @@
+.. index:: single: ForecastState
+
+ForecastState
+  *List of vectors*. Each element is a state vector forecasted by the model
+  during the iterative algorithm procedure.
+
+  Example:
+  ``Xp = ADD.get("ForecastState")[:]``
diff --git a/doc/en/snippets/PredictedState.rst b/doc/en/snippets/PredictedState.rst
deleted file mode 100644 (file)
index af3b8dd..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. index:: single: PredictedState
-
-PredictedState
-  *List of vectors*. Each element is a state vector predicted by the model
-  during the iterative algorithm procedure.
-
-  Example:
-  ``Xp = ADD.get("PredictedState")[:]``
index da2b5d82348dbe38156e727ba0df1e64a3718b88..04a02606e091a7659a709c7c9d7853fe9262a6cf 100644 (file)
@@ -103,6 +103,10 @@ Bibliographie
 
 .. [WikipediaDA] Wikipedia, *Data assimilation*, http://en.wikipedia.org/wiki/Data_assimilation
 
+.. [WikipediaKF] Wikipedia, *Kalman Filter*, https://en.wikipedia.org/wiki/Kalman_filter
+
+.. [WikipediaEKF] Wikipedia, *Extended Kalman Filter*, https://en.wikipedia.org/wiki/Extended_Kalman_filter
+
 .. [WikipediaEnKF] Wikipedia, *Ensemble Kalman Filter*, http://en.wikipedia.org/wiki/Ensemble_Kalman_filter
 
 .. [WikipediaMO] Wikipedia, *Mathematical optimization*, https://en.wikipedia.org/wiki/Mathematical_optimization
diff --git a/doc/fr/images/schema_temporel_KF.png b/doc/fr/images/schema_temporel_KF.png
new file mode 100644 (file)
index 0000000..dd4f05e
Binary files /dev/null and b/doc/fr/images/schema_temporel_KF.png differ
index 4d2fb67bb97c4467088ab06823f41590814e753e..6228fe30ad1cc56ea0b9533bda480f27e8337354 100644 (file)
@@ -96,10 +96,10 @@ StoreSupplementaryCalculations
   "CostFunctionJoAtCurrentOptimum",
   "CurrentOptimum",
   "CurrentState",
+  "ForecastState",
   "IndexOfOptimum",
   "InnovationAtCurrentAnalysis",
   "InnovationAtCurrentState",
-  "PredictedState",
   "SimulatedObservationAtCurrentAnalysis",
   "SimulatedObservationAtCurrentOptimum",
   "SimulatedObservationAtCurrentState",
@@ -144,14 +144,14 @@ StoreSupplementaryCalculations
 
 .. include:: snippets/CurrentState.rst
 
+.. include:: snippets/ForecastState.rst
+
 .. include:: snippets/IndexOfOptimum.rst
 
 .. include:: snippets/InnovationAtCurrentAnalysis.rst
 
 .. include:: snippets/InnovationAtCurrentState.rst
 
-.. include:: snippets/PredictedState.rst
-
 .. include:: snippets/SimulatedObservationAtCurrentAnalysis.rst
 
 .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
index 7409227e4c516f902b973b287828e70063114105..1d43ec2feb4a7f014ad4d84328be0ddafb3aaa81 100644 (file)
@@ -34,6 +34,17 @@ Cet algorithme réalise une estimation de l'état d'un système dynamique par un
 filtre de Kalman étendu, utilisant un calcul non linéaire de l'état et de
 l'évolution incrémentale (processus).
 
+Conceptuellement, on peut représenter le schéma temporel d'action des
+opérateurs pour cet algorithme de la manière suivante, avec **H** l'opérateur
+d'observation et **M** l'opérateur d'évolution :
+
+  .. _schema_temporel_KF:
+  .. image:: images/schema_temporel_KF.png
+    :align: center
+    :width: 50%
+  .. centered::
+    **Schéma temporel des étapes en assimilation par filtre de Kalman**
+
 Dans le cas d'opérateurs réellement non-linéaires, on peut aisément utiliser
 l':ref:`section_ref_algorithm_EnsembleKalmanFilter` ou
 l':ref:`section_ref_algorithm_UnscentedKalmanFilter`, qui sont souvent
@@ -90,10 +101,10 @@ StoreSupplementaryCalculations
   "CostFunctionJoAtCurrentOptimum",
   "CurrentOptimum",
   "CurrentState",
+  "ForecastState",
   "IndexOfOptimum",
   "InnovationAtCurrentAnalysis",
   "InnovationAtCurrentState",
-  "PredictedState",
   "SimulatedObservationAtCurrentAnalysis",
   "SimulatedObservationAtCurrentOptimum",
   "SimulatedObservationAtCurrentState",
@@ -138,14 +149,14 @@ StoreSupplementaryCalculations
 
 .. include:: snippets/CurrentState.rst
 
+.. include:: snippets/ForecastState.rst
+
 .. include:: snippets/IndexOfOptimum.rst
 
 .. include:: snippets/InnovationAtCurrentAnalysis.rst
 
 .. include:: snippets/InnovationAtCurrentState.rst
 
-.. include:: snippets/PredictedState.rst
-
 .. include:: snippets/SimulatedObservationAtCurrentAnalysis.rst
 
 .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
@@ -158,3 +169,8 @@ StoreSupplementaryCalculations
 - :ref:`section_ref_algorithm_KalmanFilter`
 - :ref:`section_ref_algorithm_EnsembleKalmanFilter`
 - :ref:`section_ref_algorithm_UnscentedKalmanFilter`
+
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo07.rst
+
+- [WikipediaEKF]_
index abba1d6925fe90e50730d69299c7120b357d8c39..024e3bc7b3f85550270434dbff51cb800a17d647 100644 (file)
@@ -38,6 +38,17 @@ incrémentale (processus) linéaires, même s'il fonctionne parfois dans les cas
 "faiblement" non-linéaire. On peut vérifier la linéarité de l'opérateur
 d'observation à l'aide de l':ref:`section_ref_algorithm_LinearityTest`.
 
+Conceptuellement, on peut représenter le schéma temporel d'action des
+opérateurs pour cet algorithme de la manière suivante, avec **H** l'opérateur
+d'observation et **M** l'opérateur d'évolution :
+
+  .. _schema_temporel_KF:
+  .. image:: images/schema_temporel_KF.png
+    :align: center
+    :width: 50%
+  .. centered::
+    **Schéma temporel des étapes en assimilation par filtre de Kalman**
+
 En cas de non-linéarité, même peu marquée, on lui préférera
 l':ref:`section_ref_algorithm_ExtendedKalmanFilter`, ou
 l':ref:`section_ref_algorithm_EnsembleKalmanFilter` et
@@ -88,10 +99,10 @@ StoreSupplementaryCalculations
   "CostFunctionJoAtCurrentOptimum",
   "CurrentOptimum",
   "CurrentState",
+  "ForecastState",
   "IndexOfOptimum",
   "InnovationAtCurrentAnalysis",
   "InnovationAtCurrentState",
-  "PredictedState",
   "SimulatedObservationAtCurrentAnalysis",
   "SimulatedObservationAtCurrentOptimum",
   "SimulatedObservationAtCurrentState",
@@ -136,14 +147,14 @@ StoreSupplementaryCalculations
 
 .. include:: snippets/CurrentState.rst
 
+.. include:: snippets/ForecastState.rst
+
 .. include:: snippets/IndexOfOptimum.rst
 
 .. include:: snippets/InnovationAtCurrentAnalysis.rst
 
 .. include:: snippets/InnovationAtCurrentState.rst
 
-.. include:: snippets/PredictedState.rst
-
 .. include:: snippets/SimulatedObservationAtCurrentAnalysis.rst
 
 .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
@@ -156,3 +167,8 @@ StoreSupplementaryCalculations
 - :ref:`section_ref_algorithm_ExtendedKalmanFilter`
 - :ref:`section_ref_algorithm_EnsembleKalmanFilter`
 - :ref:`section_ref_algorithm_UnscentedKalmanFilter`
+
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo07.rst
+
+- [WikipediaKF]_
diff --git a/doc/fr/snippets/ForecastState.rst b/doc/fr/snippets/ForecastState.rst
new file mode 100644 (file)
index 0000000..af3219f
--- /dev/null
@@ -0,0 +1,9 @@
+.. index:: single: ForecastState
+
+ForecastState
+  *Liste de vecteurs*. Chaque élément est un vecteur d'état prévu par le modèle
+  dans le cas d'un filtre itératif, au cours du déroulement itératif de
+  l'algorithme utilisé.
+
+  Exemple :
+  ``Xp = ADD.get("ForecastState")[:]``
diff --git a/doc/fr/snippets/PredictedState.rst b/doc/fr/snippets/PredictedState.rst
deleted file mode 100644 (file)
index 35a8230..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. index:: single: PredictedState
-
-PredictedState
-  *Liste de vecteurs*. Chaque élément est un vecteur d'état prévu par le modèle
-  dans le cas d'un filtre itératif, au cours du déroulement itératif de
-  l'algorithme utilisé.
-
-  Exemple :
-  ``Xp = ADD.get("PredictedState")[:]``
index c23329419cbc13bfe5387f366fc02947055631ce..201cf4b9ab97e00ac7caeaed6fb1ca0ab92b8660 100644 (file)
@@ -74,10 +74,10 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
                 "CostFunctionJoAtCurrentOptimum",
                 "CurrentOptimum",
                 "CurrentState",
+                "ForecastState",
                 "IndexOfOptimum",
                 "InnovationAtCurrentAnalysis",
                 "InnovationAtCurrentState",
-                "PredictedState",
                 "SimulatedObservationAtCurrentAnalysis",
                 "SimulatedObservationAtCurrentOptimum",
                 "SimulatedObservationAtCurrentState",
@@ -223,8 +223,8 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             if self._parameters["StoreInternalVariables"] \
                 or self._toStore("CurrentState"):
                 self.StoredVariables["CurrentState"].store( Xn )
-            if self._toStore("PredictedState"):
-                self.StoredVariables["PredictedState"].store( Xn_predicted )
+            if self._toStore("ForecastState"):
+                self.StoredVariables["ForecastState"].store( Xn_predicted )
             if self._toStore("BMA"):
                 self.StoredVariables["BMA"].store( Xn_predicted - Xa )
             if self._toStore("InnovationAtCurrentState"):
index 0642c95a03729b2c34bbafc0545360ea8dc2e071..a400b2e16b42b0ddbc8f4b084ec77b2f84100697 100644 (file)
@@ -68,10 +68,10 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
                 "CostFunctionJoAtCurrentOptimum",
                 "CurrentOptimum",
                 "CurrentState",
+                "ForecastState",
                 "IndexOfOptimum",
                 "InnovationAtCurrentAnalysis",
                 "InnovationAtCurrentState",
-                "PredictedState",
                 "SimulatedObservationAtCurrentAnalysis",
                 "SimulatedObservationAtCurrentOptimum",
                 "SimulatedObservationAtCurrentState",
@@ -205,8 +205,8 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             if self._parameters["StoreInternalVariables"] \
                 or self._toStore("CurrentState"):
                 self.StoredVariables["CurrentState"].store( Xn )
-            if self._toStore("PredictedState"):
-                self.StoredVariables["PredictedState"].store( Xn_predicted )
+            if self._toStore("ForecastState"):
+                self.StoredVariables["ForecastState"].store( Xn_predicted )
             if self._toStore("BMA"):
                 self.StoredVariables["BMA"].store( Xn_predicted - Xa )
             if self._toStore("InnovationAtCurrentState"):
index fcfff63c1f6cf7102853d6e4e3b045ba06ba3629..9cbea1adc8e821b32caa53a94f90929f5e386683 100644 (file)
@@ -61,10 +61,10 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
                 "CostFunctionJoAtCurrentOptimum",
                 "CurrentOptimum",
                 "CurrentState",
+                "ForecastState",
                 "IndexOfOptimum",
                 "InnovationAtCurrentAnalysis",
                 "InnovationAtCurrentState",
-                "PredictedState",
                 "SimulatedObservationAtCurrentAnalysis",
                 "SimulatedObservationAtCurrentOptimum",
                 "SimulatedObservationAtCurrentState",
@@ -180,8 +180,8 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             if self._parameters["StoreInternalVariables"] \
                 or self._toStore("CurrentState"):
                 self.StoredVariables["CurrentState"].store( Xn )
-            if self._toStore("PredictedState"):
-                self.StoredVariables["PredictedState"].store( Xn_predicted )
+            if self._toStore("ForecastState"):
+                self.StoredVariables["ForecastState"].store( Xn_predicted )
             if self._toStore("BMA"):
                 self.StoredVariables["BMA"].store( Xn_predicted - Xa )
             if self._toStore("InnovationAtCurrentState"):
index 92ae56ab8550c2975ffc8b4ab432d8ba38454d28..5d0e6107f0c0b2ec7e8bc4ad524053f49727eadf 100644 (file)
@@ -606,7 +606,7 @@ class Algorithm(object):
             - MahalanobisConsistency : indicateur de consistance des covariances
             - OMA : Observation moins Analyse : Y - Xa
             - OMB : Observation moins Background : Y - Xb
-            - PredictedState : état prédit courant lors d'itérations
+            - ForecastState : état prédit courant lors d'itérations
             - Residu : dans le cas des algorithmes de vérification
             - SigmaBck2 : indicateur de correction optimale des erreurs d'ébauche
             - SigmaObs2 : indicateur de correction optimale des erreurs d'observation
@@ -644,10 +644,11 @@ class Algorithm(object):
         self.StoredVariables["CostFunctionJoAtCurrentOptimum"]       = Persistence.OneScalar(name = "CostFunctionJoAtCurrentOptimum")
         self.StoredVariables["CurrentOptimum"]                       = Persistence.OneVector(name = "CurrentOptimum")
         self.StoredVariables["CurrentState"]                         = Persistence.OneVector(name = "CurrentState")
+        self.StoredVariables["ForecastState"]                        = Persistence.OneVector(name = "ForecastState")
         self.StoredVariables["GradientOfCostFunctionJ"]              = Persistence.OneVector(name = "GradientOfCostFunctionJ")
         self.StoredVariables["GradientOfCostFunctionJb"]             = Persistence.OneVector(name = "GradientOfCostFunctionJb")
         self.StoredVariables["GradientOfCostFunctionJo"]             = Persistence.OneVector(name = "GradientOfCostFunctionJo")
-        self.StoredVariables["IndexOfOptimum"]                       = Persistence.OneIndex(name = "IndexOfOptimum")
+        self.StoredVariables["IndexOfOptimum"]                       = Persistence.OneIndex(name  = "IndexOfOptimum")
         self.StoredVariables["Innovation"]                           = Persistence.OneVector(name = "Innovation")
         self.StoredVariables["InnovationAtCurrentAnalysis"]          = Persistence.OneVector(name = "InnovationAtCurrentAnalysis")
         self.StoredVariables["InnovationAtCurrentState"]             = Persistence.OneVector(name = "InnovationAtCurrentState")
@@ -658,7 +659,6 @@ class Algorithm(object):
         self.StoredVariables["MahalanobisConsistency"]               = Persistence.OneScalar(name = "MahalanobisConsistency")
         self.StoredVariables["OMA"]                                  = Persistence.OneVector(name = "OMA")
         self.StoredVariables["OMB"]                                  = Persistence.OneVector(name = "OMB")
-        self.StoredVariables["PredictedState"]                       = Persistence.OneVector(name = "PredictedState")
         self.StoredVariables["Residu"]                               = Persistence.OneScalar(name = "Residu")
         self.StoredVariables["SigmaBck2"]                            = Persistence.OneScalar(name = "SigmaBck2")
         self.StoredVariables["SigmaObs2"]                            = Persistence.OneScalar(name = "SigmaObs2")
index e8d201ecaa4f62a9bbd848c1f97b047a9b29adc9..3938e4861204c97ed335414b39168c3e361995e7 100644 (file)
@@ -21,7 +21,7 @@
 # Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 __doc__ = """
-    Définit les versions approximées des opérateurs tangents et adjoints.
+    Définit les objets numériques génériques.
 """
 __author__ = "Jean-Philippe ARGAUD"