]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Documentation and source improvements
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sat, 4 Apr 2015 23:31:56 +0000 (01:31 +0200)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sat, 4 Apr 2015 23:31:56 +0000 (01:31 +0200)
31 files changed:
bin/AdaoCatalogGenerator.py
doc/en/index.rst
doc/en/ref_algorithm_3DVAR.rst
doc/en/ref_algorithm_Blue.rst
doc/en/ref_algorithm_ExtendedBlue.rst
doc/en/ref_algorithm_ExtendedKalmanFilter.rst
doc/en/ref_algorithm_KalmanFilter.rst
doc/en/ref_algorithm_NonLinearLeastSquares.rst
doc/en/ref_algorithm_UnscentedKalmanFilter.rst
doc/fr/index.rst
doc/fr/ref_algorithm_3DVAR.rst
doc/fr/ref_algorithm_Blue.rst
doc/fr/ref_algorithm_ExtendedBlue.rst
doc/fr/ref_algorithm_ExtendedKalmanFilter.rst
doc/fr/ref_algorithm_KalmanFilter.rst
doc/fr/ref_algorithm_NonLinearLeastSquares.rst
doc/fr/ref_algorithm_UnscentedKalmanFilter.rst
src/daComposant/daAlgorithms/3DVAR.py
src/daComposant/daAlgorithms/Blue.py
src/daComposant/daAlgorithms/ExtendedBlue.py
src/daComposant/daAlgorithms/ExtendedKalmanFilter.py
src/daComposant/daAlgorithms/KalmanFilter.py
src/daComposant/daAlgorithms/ObserverTest.py
src/daComposant/daAlgorithms/SamplingTest.py
src/daComposant/daAlgorithms/UnscentedKalmanFilter.py
src/daComposant/daCore/BasicObjects.py
src/daComposant/daNumerics/ApproximatedDerivatives.py
src/daEficas/generator_adao.py
src/daSalome/daYacsIntegration/daOptimizerLoop.py
src/daSalome/daYacsSchemaCreator/infos_daComposant.py
src/daSalome/daYacsSchemaCreator/methods.py

index 20a1547a48943bec0cef7c851a9a1d5f08fcedef..55a322c65604086be1d630c7e34e0a42b4a926de 100644 (file)
@@ -90,6 +90,7 @@ def F_${data_name}(statut) : return FACT(
         DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"),
         CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"),
         EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"),
+        NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"),
         ),
     SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ",
         SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"),
index 15a60020cceff688924db2d302ebf2f27ddef306..9d43432be6772cbce332d6c541f746f4fdffe63d 100644 (file)
@@ -29,7 +29,7 @@ ADAO documentation
 
 .. image:: images/ADAO_logo.png
    :align: center
-   :width: 20%
+   :alt: ADAO logo
 
 The ADAO module provides **data assimilation and optimization** features in
 SALOME context. It is based on usage of other SALOME modules, namely YACS and
@@ -51,12 +51,12 @@ introduces :ref:`section_theory`, and their concepts. The third part describes
 :ref:`section_using`, and the fourth part gives examples on ADAO usage as
 :ref:`section_examples`. Users interested in quick use of the module can stop
 before reading the rest, but a valuable use of the module requires to read and
-come back regularly to the third and seventh parts. The fifth and sixth parts
-indicate :ref:`section_advanced`, with obtaining additional information or the
-use of non-GUI execution scripting, and a :ref:`section_tui` of the module. The
-seventh part gives a detailed :ref:`section_reference`, with three main
-sub-parts following. And, to respect the module requirements, be sure to read
-the part :ref:`section_license`.
+come back regularly to the third and seventh parts. The fifth part indicate
+:ref:`section_advanced`, with obtaining additional information or the use of
+non-GUI execution scripting. The next part gives a detailed
+:ref:`section_reference`, with four main sub-parts following, the last one
+giving a :ref:`section_tui` of the module. And, to respect the module
+requirements, be sure to read the part :ref:`section_license`.
 
 In all this documentation, we use standard notations of linear algebra, data
 assimilation (as described in [Ide97]_) and optimization. In particular, vectors
@@ -76,8 +76,8 @@ Table of contents
    using
    examples
    advanced
-   tui
    reference
+   tui
    license
    glossary
    bibliography
index d2f442b156858d47613726686c9839dbf04075e9..a946bbb973521baa083cec091cde0188646c8be2 100644 (file)
@@ -163,11 +163,12 @@ The options of the algorithm are the following:
     available at the end of the algorithm. It involves potentially costly
     calculations or memory consumptions. The default is a void list, none of
     these variables being calculated and stored by default. The possible names
-    are in the following list: ["APosterioriCovariance", "BMA", "CostFunctionJ",
-    "CurrentState", "OMA", "OMB", "Innovation", "SigmaObs2",
-    "MahalanobisConsistency", "SimulatedObservationAtBackground",
-    "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum",
-    "SimulationQuantiles"].
+    are in the following list: ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState", "OMA",
+    "OMB", "Innovation", "SigmaObs2", "MahalanobisConsistency",
+    "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentState",
+    "SimulatedObservationAtOptimum", "SimulationQuantiles"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -247,12 +248,30 @@ The unconditional outputs of the algorithm are the following:
 
 The conditional outputs of the algorithm are the following:
 
+  APosterioriCorrelations
+    *List of matrices*. Each element is an *a posteriori* error correlation
+    matrix of the optimal state.
+
+    Example : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *List of matrices*. Each element is an *a posteriori* error covariance
     matrix :math:`\mathbf{A}*` of the optimal state.
 
     Example : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *List of matrices*. Each element is an *a posteriori* error standard
+    deviation matrix of the optimal state.
+
+    Example : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *List of matrices*. Each element is an *a posteriori* error variance matrix
+    of the optimal state.
+
+    Example : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *List of vectors*. Each element is a vector of difference between the
     background and the optimal state.
index 8fb5bc2ab6c5dadd23355882f02fc3ee30170c98..da5e64b68ed4b0ec2b79deebf10857cc0de5a8ce 100644 (file)
@@ -108,10 +108,12 @@ The options of the algorithm are the following:
     available at the end of the algorithm. It involves potentially costly
     calculations or memory consumptions. The default is a void list, none of
     these variables being calculated and stored by default. The possible names
-    are in the following list: ["APosterioriCovariance", "BMA", "CostFunctionJ",
-    "OMA", "OMB", "Innovation", "SigmaBck2", "SigmaObs2",
-    "MahalanobisConsistency", "SimulatedObservationAtBackground",
-    "SimulatedObservationAtOptimum", "SimulationQuantiles"].
+    are in the following list: ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "OMA", "OMB", "Innovation",
+    "SigmaBck2", "SigmaObs2", "MahalanobisConsistency",
+    "SimulatedObservationAtBackground", "SimulatedObservationAtOptimum",
+    "SimulationQuantiles"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -174,12 +176,30 @@ The unconditional outputs of the algorithm are the following:
 
 The conditional outputs of the algorithm are the following:
 
+  APosterioriCorrelations
+    *List of matrices*. Each element is an *a posteriori* error correlation
+    matrix of the optimal state.
+
+    Example : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *List of matrices*. Each element is an *a posteriori* error covariance
     matrix :math:`\mathbf{A}*` of the optimal state.
 
     Example : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *List of matrices*. Each element is an *a posteriori* error standard
+    deviation matrix of the optimal state.
+
+    Example : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *List of matrices*. Each element is an *a posteriori* error variance matrix
+    of the optimal state.
+
+    Example : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *List of vectors*. Each element is a vector of difference between the
     background and the optimal state.
index 9768399d16f67bba69fd2a9260aeebbb2fe20e3d..675adc0a2309265a748069973f45b7ac01729608 100644 (file)
@@ -106,10 +106,12 @@ The options of the algorithm are the following:
     available at the end of the algorithm. It involves potentially costly
     calculations or memory consumptions. The default is a void list, none of
     these variables being calculated and stored by default. The possible names
-    are in the following list: ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "OMA", "OMB", "Innovation", "SigmaBck2", "SigmaObs2",
-    "MahalanobisConsistency", "SimulatedObservationAtBackground",
-    "SimulatedObservationAtOptimum", "SimulationQuantiles"].
+    are in the following list: ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "OMA", "OMB", "Innovation",
+    "SigmaBck2", "SigmaObs2", "MahalanobisConsistency",
+    "SimulatedObservationAtBackground", "SimulatedObservationAtOptimum",
+    "SimulationQuantiles"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -172,12 +174,30 @@ The unconditional outputs of the algorithm are the following:
 
 The conditional outputs of the algorithm are the following:
 
+  APosterioriCorrelations
+    *List of matrices*. Each element is an *a posteriori* error correlation
+    matrix of the optimal state.
+
+    Example : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *List of matrices*. Each element is an *a posteriori* error covariance
     matrix :math:`\mathbf{A}*` of the optimal state.
 
     Example : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *List of matrices*. Each element is an *a posteriori* error standard
+    deviation matrix of the optimal state.
+
+    Example : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *List of matrices*. Each element is an *a posteriori* error variance matrix
+    of the optimal state.
+
+    Example : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *List of vectors*. Each element is a vector of difference between the
     background and the optimal state.
index 5726f1fa362d4615bef0c6bdf9d117dd6247ba2b..2ea62c3edb35d20fcc3d3d7af8623fcce758d481 100644 (file)
@@ -112,8 +112,10 @@ The options of the algorithm are the following:
     available at the end of the algorithm. It involves potentially costly
     calculations or memory consumptions. The default is a void list, none of
     these variables being calculated and stored by default. The possible names
-    are in the following list: ["APosterioriCovariance", "BMA", "CostFunctionJ",
-    "CurrentState", "Innovation"].
+    are in the following list: ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState",
+    "Innovation"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -138,12 +140,30 @@ The unconditional outputs of the algorithm are the following:
 
 The conditional outputs of the algorithm are the following:
 
+  APosterioriCorrelations
+    *List of matrices*. Each element is an *a posteriori* error correlation
+    matrix of the optimal state.
+
+    Example : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *List of matrices*. Each element is an *a posteriori* error covariance
     matrix :math:`\mathbf{A}*` of the optimal state.
 
     Example : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *List of matrices*. Each element is an *a posteriori* error standard
+    deviation matrix of the optimal state.
+
+    Example : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *List of matrices*. Each element is an *a posteriori* error variance matrix
+    of the optimal state.
+
+    Example : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *List of vectors*. Each element is a vector of difference between the
     background and the optimal state.
index e1d51ab399b41fd679cee75f6c9508b0de3cdf4a..c40a4070f49a86a346503d4d9e1c5a798c3930df 100644 (file)
@@ -111,8 +111,10 @@ The options of the algorithm are the following:
     available at the end of the algorithm. It involves potentially costly
     calculations or memory consumptions. The default is a void list, none of
     these variables being calculated and stored by default. The possible names
-    are in the following list: ["APosterioriCovariance", "BMA", "CostFunctionJ",
-    "CurrentState", "Innovation"].
+    are in the following list: ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState",
+    "Innovation"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -137,12 +139,30 @@ The unconditional outputs of the algorithm are the following:
 
 The conditional outputs of the algorithm are the following:
 
+  APosterioriCorrelations
+    *List of matrices*. Each element is an *a posteriori* error correlation
+    matrix of the optimal state.
+
+    Example : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *List of matrices*. Each element is an *a posteriori* error covariance
     matrix :math:`\mathbf{A}*` of the optimal state.
 
     Example : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *List of matrices*. Each element is an *a posteriori* error standard
+    deviation matrix of the optimal state.
+
+    Example : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *List of matrices*. Each element is an *a posteriori* error variance matrix
+    of the optimal state.
+
+    Example : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *List of vectors*. Each element is a vector of difference between the
     background and the optimal state.
index 29d930d111ac910a74d00bc42c8869192bd521c5..6c2b520758971c2a719bed9476d96e6ad8df478d 100644 (file)
@@ -155,9 +155,8 @@ The options of the algorithm are the following:
     available at the end of the algorithm. It involves potentially costly
     calculations or memory consumptions. The default is a void list, none of
     these variables being calculated and stored by default. The possible names
-    are in the following list: ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "CurrentState", "OMA", "OMB", "Innovation", "SigmaObs2",
-    "MahalanobisConsistency", "SimulatedObservationAtCurrentState",
+    are in the following list: ["BMA", "CostFunctionJ", "CurrentState", "OMA",
+    "OMB", "Innovation", "SimulatedObservationAtCurrentState",
     "SimulatedObservationAtOptimum"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
index b628f2d047f64c6a1f76587902edf5e788c1552d..e903aa61fcdb530031fdea391d419ff6a51a4d98 100644 (file)
@@ -127,8 +127,10 @@ The options of the algorithm are the following:
     available at the end of the algorithm. It involves potentially costly
     calculations or memory consumptions. The default is a void list, none of
     these variables being calculated and stored by default. The possible names
-    are in the following list: ["APosterioriCovariance", "BMA", "CostFunctionJ",
-    "CurrentState", "Innovation"].
+    are in the following list: ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState",
+    "Innovation"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -153,12 +155,30 @@ The unconditional outputs of the algorithm are the following:
 
 The conditional outputs of the algorithm are the following:
 
+  APosterioriCorrelations
+    *List of matrices*. Each element is an *a posteriori* error correlation
+    matrix of the optimal state.
+
+    Example : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *List of matrices*. Each element is an *a posteriori* error covariance
     matrix :math:`\mathbf{A}*` of the optimal state.
 
     Example : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *List of matrices*. Each element is an *a posteriori* error standard
+    deviation matrix of the optimal state.
+
+    Example : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *List of matrices*. Each element is an *a posteriori* error variance matrix
+    of the optimal state.
+
+    Example : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *List of vectors*. Each element is a vector of difference between the
     background and the optimal state.
index 8150580f6b97d651691892f93cb315d121f02845..69850e70949f0a09d5e7ac9904d6f7a2f0e63bf9 100644 (file)
@@ -29,7 +29,7 @@ Documentation ADAO
 
 .. image:: images/ADAO_logo.png
    :align: center
-   :width: 20%
+   :alt: Logo ADAO
 
 Le module ADAO fournit des fonctionnalités d'**assimilation de données et
 d'optimisation** dans un contexte SALOME. Il est basé sur l'utilisation d'autres
@@ -56,13 +56,13 @@ partie pr
 :ref:`section_examples`. Les utilisateurs intéressés par un accès rapide au
 module peuvent s'arrêter avant la lecture de la suite, mais un usage utile du
 module nécessite de lire et de revenir régulièrement aux troisième et septième
-parties. Les cinquième et la sixième parties indiquent les
-:ref:`section_advanced`, avec l'obtention de renseignements supplémentaires ou
-l'usage par scripts d'exécution sans interface utilisateur graphique (GUI), et
-une :ref:`section_tui` du module. La septième partie détaille la
-:ref:`section_reference`, avec trois sous-parties principales qui suivent.
-Enfin, pour respecter les exigences de licence du module, n'oubliez pas de lire
-la partie :ref:`section_license`.
+parties. La cinquième partie indique les :ref:`section_advanced`, avec
+l'obtention de renseignements supplémentaires ou l'usage par scripts d'exécution
+sans interface utilisateur graphique (GUI). La partie suivante détaille la
+:ref:`section_reference`, avec quatre sous-parties principales qui suivent, la
+dernière sous-partie décrivant une :ref:`section_tui` du module. Enfin, pour
+respecter les exigences de licence du module, n'oubliez pas de lire la partie
+:ref:`section_license`.
 
 Dans cette documentation, on utilise les notations standards de l'algèbre
 linéaire, de l'assimilation de données (comme décrit dans [Ide97]_) et de
@@ -83,8 +83,8 @@ Table des mati
    using
    examples
    advanced
-   tui
    reference
+   tui
    license
    glossary
    bibliography
index abea537752a91b886da3ad0147e3973c954775e2..47c658092e9e216ccc0b211161a81176da283cc4 100644 (file)
@@ -168,11 +168,12 @@ Les options de l'algorithme sont les suivantes:
     disponibles à la fin de l'algorithme. Cela implique potentiellement des
     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
-    possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "CurrentState", "OMA", "OMB", "Innovation", "SigmaObs2",
-    "MahalanobisConsistency", "SimulatedObservationAtBackground",
-    "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum",
-    "SimulationQuantiles"].
+    possibles sont dans la liste suivante : ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState", "OMA",
+    "OMB", "Innovation", "SigmaObs2", "MahalanobisConsistency",
+    "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentState",
+    "SimulatedObservationAtOptimum", "SimulationQuantiles"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -254,12 +255,30 @@ Les sorties non conditionnelles de l'algorithme sont les suivantes:
 
 Les sorties conditionnelles de l'algorithme sont les suivantes:
 
+  APosterioriCorrelations
+    *Liste de matrices*. Chaque élément est une matrice de corrélation des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *Liste de matrices*. Chaque élément est une matrice :math:`\mathbf{A}*` de
     covariances des erreurs *a posteriori* de l'état optimal.
 
     Exemple : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *Liste de matrices*. Chaque élément est une matrice d'écart-types des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *Liste de matrices*. Chaque élément est une matrice de variances des erreurs
+    *a posteriori* de l'état optimal.
+
+    Exemple : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
     l'ébauche et l'état optimal.
index a74863026735de53fc253509a42d6c82aedf5b31..45540fa94bca07e135d089bbfb5f554aedf230d3 100644 (file)
@@ -110,10 +110,12 @@ Les options de l'algorithme sont les suivantes:
     disponibles à la fin de l'algorithme. Cela implique potentiellement des
     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
-    possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "OMA", "OMB", "Innovation", "SigmaBck2", "SigmaObs2",
-    "MahalanobisConsistency", "SimulatedObservationAtBackground",
-    "SimulatedObservationAtOptimum", "SimulationQuantiles"].
+    possibles sont dans la liste suivante : ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "OMA", "OMB", "Innovation",
+    "SigmaBck2", "SigmaObs2", "MahalanobisConsistency",
+    "SimulatedObservationAtBackground", "SimulatedObservationAtOptimum",
+    "SimulationQuantiles"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -177,12 +179,30 @@ Les sorties non conditionnelles de l'algorithme sont les suivantes:
 
 Les sorties conditionnelles de l'algorithme sont les suivantes:
 
+  APosterioriCorrelations
+    *Liste de matrices*. Chaque élément est une matrice de corrélation des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *Liste de matrices*. Chaque élément est une matrice :math:`\mathbf{A}*` de
     covariances des erreurs *a posteriori* de l'état optimal.
 
     Exemple : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *Liste de matrices*. Chaque élément est une matrice d'écart-types des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *Liste de matrices*. Chaque élément est une matrice de variances des erreurs
+    *a posteriori* de l'état optimal.
+
+    Exemple : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
     l'ébauche et l'état optimal.
index 6b0b15214fe6c8168108d0a0a9857913f3249c97..e351927834ee7d27da901350dee7a0a379a5adf4 100644 (file)
@@ -107,10 +107,12 @@ Les options de l'algorithme sont les suivantes:
     disponibles à la fin de l'algorithme. Cela implique potentiellement des
     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
-    possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "OMA", "OMB", "Innovation", "SigmaBck2", "SigmaObs2",
-    "MahalanobisConsistency", "SimulatedObservationAtBackground",
-    "SimulatedObservationAtOptimum", "SimulationQuantiles"].
+    possibles sont dans la liste suivante : ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "OMA", "OMB", "Innovation",
+    "SigmaBck2", "SigmaObs2", "MahalanobisConsistency",
+    "SimulatedObservationAtBackground", "SimulatedObservationAtOptimum",
+    "SimulationQuantiles"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -174,12 +176,30 @@ Les sorties non conditionnelles de l'algorithme sont les suivantes:
 
 Les sorties conditionnelles de l'algorithme sont les suivantes:
 
+  APosterioriCorrelations
+    *Liste de matrices*. Chaque élément est une matrice de corrélation des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *Liste de matrices*. Chaque élément est une matrice :math:`\mathbf{A}*` de
     covariances des erreurs *a posteriori* de l'état optimal.
 
     Exemple : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *Liste de matrices*. Chaque élément est une matrice d'écart-types des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *Liste de matrices*. Chaque élément est une matrice de variances des erreurs
+    *a posteriori* de l'état optimal.
+
+    Exemple : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
     l'ébauche et l'état optimal.
index ced362f72cca2195becc846b139e94d6ee511655..6d7cd20f9408d3c3599bc2437dbb66f74cc38d45 100644 (file)
@@ -115,8 +115,10 @@ Les options de l'algorithme sont les suivantes:
     disponibles à la fin de l'algorithme. Cela implique potentiellement des
     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
-    possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "CurrentState", "Innovation"].
+    possibles sont dans la liste suivante : ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState",
+    "Innovation"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -142,12 +144,30 @@ Les sorties non conditionnelles de l'algorithme sont les suivantes:
 
 Les sorties conditionnelles de l'algorithme sont les suivantes:
 
+  APosterioriCorrelations
+    *Liste de matrices*. Chaque élément est une matrice de corrélation des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *Liste de matrices*. Chaque élément est une matrice :math:`\mathbf{A}*` de
     covariances des erreurs *a posteriori* de l'état optimal.
 
     Exemple : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *Liste de matrices*. Chaque élément est une matrice d'écart-types des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *Liste de matrices*. Chaque élément est une matrice de variances des erreurs
+    *a posteriori* de l'état optimal.
+
+    Exemple : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
     l'ébauche et l'état optimal.
index e159698f1b8c3f0152bd1f52630c5687fc1060f8..7242a6d6cb4616365cd93fb193d91d0798780863 100644 (file)
@@ -112,8 +112,10 @@ Les options de l'algorithme sont les suivantes:
     disponibles à la fin de l'algorithme. Cela implique potentiellement des
     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
-    possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "CurrentState", "Innovation"].
+    possibles sont dans la liste suivante : ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState",
+    "Innovation"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -139,12 +141,30 @@ Les sorties non conditionnelles de l'algorithme sont les suivantes:
 
 Les sorties conditionnelles de l'algorithme sont les suivantes:
 
+  APosterioriCorrelations
+    *Liste de matrices*. Chaque élément est une matrice de corrélation des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *Liste de matrices*. Chaque élément est une matrice :math:`\mathbf{A}*` de
     covariances des erreurs *a posteriori* de l'état optimal.
 
     Exemple : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *Liste de matrices*. Chaque élément est une matrice d'écart-types des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *Liste de matrices*. Chaque élément est une matrice de variances des erreurs
+    *a posteriori* de l'état optimal.
+
+    Exemple : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
     l'ébauche et l'état optimal.
index bceef237dd2cbf474d18029a7d6e636fcffeda1b..eb1e972720998798b37e743b429d6ff9406e0b8c 100644 (file)
@@ -162,10 +162,9 @@ Les options de l'algorithme sont les suivantes:
     disponibles à la fin de l'algorithme. Cela implique potentiellement des
     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
-    possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "CurrentState", "OMA", "OMB", "Innovation", "SigmaObs2",
-    "MahalanobisConsistency", "SimulatedObservationAtCurrentState",
-    "SimulatedObservationAtOptimum"].
+    possibles sont dans la liste suivante : ["BMA", "CostFunctionJ",
+    "CurrentState", "OMA", "OMB", "Innovation",
+    "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
index 50dc6619676c7e2537ec8e5adc18063cd02e3af3..1a99e1c69d783953a3062309d0a34bdd3ba0eb7f 100644 (file)
@@ -130,8 +130,10 @@ Les options de l'algorithme sont les suivantes:
     disponibles à la fin de l'algorithme. Cela implique potentiellement des
     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
-    possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
-    "CostFunctionJ", "CurrentState", "Innovation"].
+    possibles sont dans la liste suivante : ["APosterioriCorrelations",
+    "APosterioriCovariance", "APosterioriStandardDeviations",
+    "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState",
+    "Innovation"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
@@ -157,12 +159,30 @@ Les sorties non conditionnelles de l'algorithme sont les suivantes:
 
 Les sorties conditionnelles de l'algorithme sont les suivantes:
 
+  APosterioriCorrelations
+    *Liste de matrices*. Chaque élément est une matrice de corrélation des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
   APosterioriCovariance
     *Liste de matrices*. Chaque élément est une matrice :math:`\mathbf{A}*` de
     covariances des erreurs *a posteriori* de l'état optimal.
 
     Exemple : ``A = ADD.get("APosterioriCovariance")[-1]``
 
+  APosterioriStandardDeviations
+    *Liste de matrices*. Chaque élément est une matrice d'écart-types des
+    erreurs *a posteriori* de l'état optimal.
+
+    Exemple : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+  APosterioriVariances
+    *Liste de matrices*. Chaque élément est une matrice de variances des erreurs
+    *a posteriori* de l'état optimal.
+
+    Exemple : ``V = ADD.get("APosterioriVariances")[-1]``
+
   BMA
     *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
     l'ébauche et l'état optimal.
index cd3bedde270a7802419269ecaef1f3a33ab5016e..a4a475cb27503d88ec1124ceaa177e9599a940c9 100644 (file)
@@ -72,7 +72,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste de calculs supplémentaires à stocker et/ou effectuer",
-            listval  = ["APosterioriCovariance", "BMA", "OMA", "OMB", "CurrentState", "CostFunctionJ", "Innovation", "SigmaObs2", "MahalanobisConsistency", "SimulationQuantiles", "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum"]
+            listval  = ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "OMA", "OMB", "CurrentState", "CostFunctionJ", "Innovation", "SigmaObs2", "MahalanobisConsistency", "SimulationQuantiles", "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum"]
             )
         self.defineRequiredParameter(
             name     = "Quantiles",
index d3ca8c0b9ed46dba1abc177551ed3c8984a9ec0b..7600ea5e3df152c0ab5ecc32df1e0ff4f855d382 100644 (file)
@@ -39,7 +39,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste de calculs supplémentaires à stocker et/ou effectuer",
-            listval  = ["APosterioriCovariance", "BMA", "OMA", "OMB", "CostFunctionJ", "Innovation", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency", "SimulationQuantiles", "SimulatedObservationAtBackground", "SimulatedObservationAtOptimum"]
+            listval  = ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "OMA", "OMB", "CostFunctionJ", "Innovation", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency", "SimulationQuantiles", "SimulatedObservationAtBackground", "SimulatedObservationAtOptimum"]
             )
         self.defineRequiredParameter(
             name     = "Quantiles",
index ea93f62c7465c34a16a7d8cec7d3ee5bdf9dd396..eb1fc59b9678de5dce61253668937de4c9d354b2 100644 (file)
@@ -39,7 +39,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste de calculs supplémentaires à stocker et/ou effectuer",
-            listval  = ["APosterioriCovariance", "BMA", "OMA", "OMB", "CostFunctionJ", "Innovation", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency", "SimulationQuantiles", "SimulatedObservationAtBackground", "SimulatedObservationAtOptimum"]
+            listval  = ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "OMA", "OMB", "CostFunctionJ", "Innovation", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency", "SimulationQuantiles", "SimulatedObservationAtBackground", "SimulatedObservationAtOptimum"]
             )
         self.defineRequiredParameter(
             name     = "Quantiles",
index b0b4670c64ebafaec9e695322e6282d59890154b..f9e2c81d74ffe69dcabf3b573375184a2e20d4a8 100644 (file)
@@ -53,7 +53,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste de calculs supplémentaires à stocker et/ou effectuer",
-            listval  = ["APosterioriCovariance", "BMA", "CurrentState", "CostFunctionJ", "Innovation"]
+            listval  = ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "CurrentState", "CostFunctionJ", "Innovation"]
             )
         self.defineRequiredParameter( # Pas de type
             name     = "Bounds",
index cc267e5a8965dbb8fa5ee2804dbb5e2957ae2d84..d1d50b9a292507d7ff53d38c259ba4248efa8a59 100644 (file)
@@ -46,7 +46,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste de calculs supplémentaires à stocker et/ou effectuer",
-            listval  = ["APosterioriCovariance", "BMA", "CurrentState", "CostFunctionJ", "Innovation"]
+            listval  = ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "CurrentState", "CostFunctionJ", "Innovation"]
             )
 
     def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
index a49a2025cb1218f9a1534b0b3410bd1b97feac45..4f1007c774fc3450584a34f310c055829eb2ad7f 100644 (file)
@@ -52,6 +52,9 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
         self.StoredVariables["CostFunctionJ" ].store( 3. )
         #
         self.StoredVariables["APosterioriCovariance"].store( numpy.diag(__Xa) )
+        self.StoredVariables["APosterioriVariances"].store( __Xa )
+        self.StoredVariables["APosterioriStandardDeviations"].store( __Xa )
+        self.StoredVariables["APosterioriCorrelations"].store( numpy.diag(__Xa) )
         self.StoredVariables["BMA"].store( __Xb - __Xa )
         self.StoredVariables["OMA"].store( __YY )
         self.StoredVariables["OMB"].store( __YY )
index 7856b236df20a796e1a2e57518b49e1ceec80026..67cfa2dc3519c5d80ef922dc2993fbe8387cbdc6 100644 (file)
@@ -105,7 +105,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
                 if len(dim) != 3:
                     raise ValueError("For dimension %i, the variable definition \"%s\" is incorrect, it should be [min,max,step]."%(i,dim))
                 else:
-                    coordinatesList.append(numpy.linspace(*dim))
+                    coordinatesList.append(numpy.linspace(dim[0],dim[1],1+int(float(dim[1])-float(dim[0])/float(dim[2]))))
             sampleList = itertools.product(*coordinatesList)
         elif len(self._parameters["SampleAsIndependantRandomVariables"]) > 0:
             coordinatesList = []
index d0f95906fa71d0af706b0e3c49e864c43ddf06f4..7cfeeca7dae2b61fb479f92f155b27660b02b659 100644 (file)
@@ -82,7 +82,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste de calculs supplémentaires à stocker et/ou effectuer",
-            listval  = ["APosterioriCovariance", "BMA", "CurrentState", "CostFunctionJ", "Innovation"]
+            listval  = ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "CurrentState", "CostFunctionJ", "Innovation"]
             )
         self.defineRequiredParameter( # Pas de type
             name     = "Bounds",
index f803520adde3a7616b6faf3c58fa5abe20110a5a..f0b741440f13d9f5d3a73e9108e392685096ad21 100644 (file)
@@ -273,6 +273,9 @@ class Algorithm:
             - OMB : Observation moins Background : Y - Xb
             - AMB : Analysis moins Background : Xa - Xb
             - APosterioriCovariance : matrice A
+            - APosterioriVariances : variances de la matrice A
+            - APosterioriStandardDeviations : écart-types de la matrice A
+            - APosterioriCorrelations : correlations de la matrice A
         On peut rajouter des variables à stocker dans l'initialisation de
         l'algorithme élémentaire qui va hériter de cette classe
         """
@@ -303,6 +306,9 @@ class Algorithm:
         self.StoredVariables["OMB"]                                = Persistence.OneVector(name = "OMB")
         self.StoredVariables["BMA"]                                = Persistence.OneVector(name = "BMA")
         self.StoredVariables["APosterioriCovariance"]              = Persistence.OneMatrix(name = "APosterioriCovariance")
+        self.StoredVariables["APosterioriVariances"]               = Persistence.OneVector(name = "APosterioriVariances")
+        self.StoredVariables["APosterioriStandardDeviations"]      = Persistence.OneVector(name = "APosterioriStandardDeviations")
+        self.StoredVariables["APosterioriCorrelations"]            = Persistence.OneMatrix(name = "APosterioriCorrelations")
         self.StoredVariables["SimulationQuantiles"]                = Persistence.OneMatrix(name = "SimulationQuantiles")
 
     def _pre_run(self):
@@ -311,6 +317,17 @@ class Algorithm:
         return 0
 
     def _post_run(self,_oH=None):
+        if self._parameters.has_key("StoreSupplementaryCalculations") and \
+            "APosterioriCovariance" in self._parameters["StoreSupplementaryCalculations"]:
+            for _A in self.StoredVariables["APosterioriCovariance"]:
+                if "APosterioriVariances" in self._parameters["StoreSupplementaryCalculations"]:
+                    self.StoredVariables["APosterioriVariances"].store( numpy.diag(_A) )
+                if "APosterioriStandardDeviations" in self._parameters["StoreSupplementaryCalculations"]:
+                    self.StoredVariables["APosterioriStandardDeviations"].store( numpy.sqrt(numpy.diag(_A)) )
+                if "APosterioriCorrelations" in self._parameters["StoreSupplementaryCalculations"]:
+                    _EI = numpy.diag(1./numpy.sqrt(numpy.diag(_A)))
+                    _C = numpy.dot(_EI, numpy.dot(_A, _EI))
+                    self.StoredVariables["APosterioriCorrelations"].store( _C )
         if _oH is not None:
             logging.debug("%s Nombre d'évaluation(s) de l'opérateur d'observation direct/tangent/adjoint.: %i/%i/%i"%(self._name, _oH["Direct"].nbcalls(0),_oH["Tangent"].nbcalls(0),_oH["Adjoint"].nbcalls(0)))
             logging.debug("%s Nombre d'appels au cache d'opérateur d'observation direct/tangent/adjoint..: %i/%i/%i"%(self._name, _oH["Direct"].nbcalls(3),_oH["Tangent"].nbcalls(3),_oH["Adjoint"].nbcalls(3)))
index 798a9a4613f311d7a507493bf8b11058c60256dd..71334404a6365757f0a7cd8dc5174f1d861a0f03 100644 (file)
@@ -71,6 +71,8 @@ class FDApproximation(object):
         else:
             self.__mpEnabled = False
         self.__mpWorkers = mpWorkers
+        if self.__mpWorkers is not None and self.__mpWorkers < 1:
+            self.__mpWorkers = None
         logging.debug("FDA Calculs en multiprocessing : %s (nombre de processus : %s)"%(self.__mpEnabled,self.__mpWorkers))
         #
         if self.__mpEnabled:
index ef5e48e232b6d721c25607021d1e2a0066b91351..64a35fe7af4848b6b780f36b3da4d5bd62c51661 100644 (file)
@@ -221,6 +221,8 @@ class AdaoGenerator(PythonGenerator):
       self.text_da += data_name + "_ScriptWithOneFunction['CenteredFiniteDifference'] = " + str(self.dictMCVal[search_type + "SCRIPTWITHONEFUNCTION_DATA__CenteredFiniteDifference"]) + "\n"
       if search_type + "SCRIPTWITHONEFUNCTION_DATA__EnableMultiProcessing" in self.dictMCVal.keys():
         self.text_da += data_name + "_ScriptWithOneFunction['EnableMultiProcessing'] = " + str(self.dictMCVal[search_type + "SCRIPTWITHONEFUNCTION_DATA__EnableMultiProcessing"]) + "\n"
+      if search_type + "SCRIPTWITHONEFUNCTION_DATA__NumberOfProcesses" in self.dictMCVal.keys():
+        self.text_da += data_name + "_ScriptWithOneFunction['NumberOfProcesses'] = " + str(self.dictMCVal[search_type + "SCRIPTWITHONEFUNCTION_DATA__NumberOfProcesses"]) + "\n"
       self.text_da += data_name + "_config = {}\n"
       self.text_da += data_name + "_config['Type'] = 'Function'\n"
       self.text_da += data_name + "_config['From'] = 'ScriptWithOneFunction'\n"
index 2e40cce29165d7d2ec8ecae854f90e22ce96a902..7f293853cfbfda4bab36bc3760c7ccd28f759d03 100644 (file)
@@ -349,7 +349,7 @@ class AssimilationAlgorithm_asynch(SALOMERuntime.OptimizerAlgASync):
     except Exception as e:
         if type(e) == type(SyntaxError()): msg = "at %s: %s"%(e.offset, e.text)
         else: msg = ""
-        raise ValueError("during analyse, the following error occurs:\n\n%s %s\n\nSee also the potential messages, which can show the origin of the above error, in the YACS GUI or in the launching terminal."%(str(e),msg))
+        raise ValueError("during execution, the following error occurs:\n\n%s %s\n\nSee also the potential messages, which can show the origin of the above error, in the YACS GUI or in the launching terminal."%(str(e),msg))
 
     # Assimilation Study is finished
     self.pool.destroyAll()
index 0aed5daaa7e7ce0a05a20e9c17b1e787fb24d736..457fc0b309f2642764f35ea005fd6ee2a1cd2447 100644 (file)
@@ -259,5 +259,8 @@ ObserversList = [
     "GradientOfCostFunctionJo",
     "SigmaObs2",
     "SigmaBck2",
+    "APosterioriCorrelations",
     "APosterioriCovariance",
+    "APosterioriStandardDeviations",
+    "APosterioriVariances",
     ]
index f796239c6b77535308ccffa03efa5abb55629b51..8b662a1d93318024ee8e48f33daaa2450962037c 100644 (file)
@@ -543,6 +543,8 @@ def create_yacs_proc(study_config):
     node_script += """    centeredDF = %s,\n"""%str(ScriptWithOneFunction['CenteredFiniteDifference'])
     if 'EnableMultiProcessing' in ScriptWithOneFunction.keys():
         node_script += """    mpEnabled  = %s,\n"""%str(ScriptWithOneFunction['EnableMultiProcessing'])
+    if 'NumberOfProcesses' in ScriptWithOneFunction.keys():
+        node_script += """    mpWorkers  = %s,\n"""%str(ScriptWithOneFunction['NumberOfProcesses'])
     node_script += """    )\n"""
     node_script += """#\n"""
     node_script += """__data = []\n"""
@@ -738,6 +740,8 @@ def create_yacs_proc(study_config):
       node_script += """    centeredDF = %s,\n"""%str(ScriptWithOneFunction['CenteredFiniteDifference'])
       if 'EnableMultiProcessing' in ScriptWithOneFunction.keys():
           node_script += """    mpEnabled  = %s,\n"""%str(ScriptWithOneFunction['EnableMultiProcessing'])
+      if 'NumberOfProcesses' in ScriptWithOneFunction.keys():
+          node_script += """    mpWorkers  = %s,\n"""%str(ScriptWithOneFunction['NumberOfProcesses'])
       node_script += """    )\n"""
       node_script += """#\n"""
       node_script += """__data = []\n"""