]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Minor documentation and source improvements
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Mon, 5 Jan 2015 20:14:18 +0000 (21:14 +0100)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Mon, 5 Jan 2015 20:19:04 +0000 (21:19 +0100)
doc/en/ref_algorithm_3DVAR.rst
doc/en/ref_algorithm_Blue.rst
doc/en/ref_algorithm_ExtendedBlue.rst
doc/fr/ref_algorithm_3DVAR.rst
doc/fr/ref_algorithm_Blue.rst
doc/fr/ref_algorithm_ExtendedBlue.rst
src/daComposant/daAlgorithms/3DVAR.py
src/daComposant/daAlgorithms/Blue.py
src/daComposant/daAlgorithms/ExtendedBlue.py
src/daComposant/daCore/BasicObjects.py

index 1db71252e6b305679d67c59c0921ae29a4ece5d2..b4ac08ebfc393b0d352101f5cd4ff06e01b392e3 100644 (file)
@@ -54,6 +54,10 @@ Optional and required commands
 .. index:: single: GradientNormTolerance
 .. index:: single: StoreInternalVariables
 .. index:: single: StoreSupplementaryCalculations
+.. index:: single: Quantiles
+.. index:: single: SetSeed
+.. index:: single: NumberOfSamplesForQuantiles
+.. index:: single: SimulationForQuantiles
 
 The general required commands, available in the editing user interface, are the
 following:
@@ -167,10 +171,48 @@ The options of the algorithm are the following:
     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", "OMA", "OMB",
-    "Innovation", "SigmaObs2", "MahalanobisConsistency"].
+    "Innovation", "SigmaObs2", "MahalanobisConsistency", "SimulationQuantiles"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
+  Quantiles
+    This list indicates the values of quantile, between 0 and 1, to be estimated
+    by simulation around the optimal state. The sampling uses a multivariate
+    gaussian random sampling, directed by the *a posteriori* covariance matrix.
+    This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default is a void list.
+
+    Example : ``{"Quantiles":[0.1,0.9]}``
+
+  SetSeed
+    This key allow to give an integer in order to fix the seed of the random
+    generator used to generate the ensemble. A convenient value is for example
+    1000. By default, the seed is left uninitialized, and so use the default
+    initialization from the computer.
+
+    Example : ``{"SetSeed":1000}``
+
+  NumberOfSamplesForQuantiles
+    This key indicates the number of simulation to be done in order to estimate
+    the quantiles. This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default is 100, which is often
+    sufficient for correct estimation of common quantiles at 5%, 10%, 90% or
+    95%.
+
+    Example : ``{"NumberOfSamplesForQuantiles":100}``
+
+  SimulationForQuantiles
+    This key indicates the type of simulation, linear (with the tangent
+    observation operator applied to perturbation increments around the optimal
+    state) or non-linear (with standard observation operator applied to
+    perturbated states), one want to do for each perturbation. It changes mainly
+    the time of each elementary calculation, usually longer in non-linear than
+    in linear. This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default value is "Linear", and
+    the possible choices are "Linear" and "NonLinear".
+
+    Example : ``{"SimulationForQuantiles":"Linear"}``
+
 See also
 ++++++++
 
index 27f20885775dce4faa799c3f3a50b6947c6122b7..25275a4e0ca510f8999059a5a0d4302c0604ef81 100644 (file)
@@ -53,6 +53,10 @@ Optional and required commands
 .. index:: single: ObservationOperator
 .. index:: single: StoreInternalVariables
 .. index:: single: StoreSupplementaryCalculations
+.. index:: single: Quantiles
+.. index:: single: SetSeed
+.. index:: single: NumberOfSamplesForQuantiles
+.. index:: single: SimulationForQuantiles
 
 The general required commands, available in the editing user interface, are the
 following:
@@ -112,10 +116,49 @@ The options of the algorithm are the following:
     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", "OMA", "OMB",
-    "Innovation", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency"].
+    "Innovation", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency",
+    "SimulationQuantiles"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
+  Quantiles
+    This list indicates the values of quantile, between 0 and 1, to be estimated
+    by simulation around the optimal state. The sampling uses a multivariate
+    gaussian random sampling, directed by the *a posteriori* covariance matrix.
+    This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default is a void list.
+
+    Example : ``{"Quantiles":[0.1,0.9]}``
+
+  SetSeed
+    This key allow to give an integer in order to fix the seed of the random
+    generator used to generate the ensemble. A convenient value is for example
+    1000. By default, the seed is left uninitialized, and so use the default
+    initialization from the computer.
+
+    Example : ``{"SetSeed":1000}``
+
+  NumberOfSamplesForQuantiles
+    This key indicates the number of simulation to be done in order to estimate
+    the quantiles. This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default is 100, which is often
+    sufficient for correct estimation of common quantiles at 5%, 10%, 90% or
+    95%.
+
+    Example : ``{"NumberOfSamplesForQuantiles":100}``
+
+  SimulationForQuantiles
+    This key indicates the type of simulation, linear (with the tangent
+    observation operator applied to perturbation increments around the optimal
+    state) or non-linear (with standard observation operator applied to
+    perturbated states), one want to do for each perturbation. It changes mainly
+    the time of each elementary calculation, usually longer in non-linear than
+    in linear. This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default value is "Linear", and
+    the possible choices are "Linear" and "NonLinear".
+
+    Example : ``{"SimulationForQuantiles":"Linear"}``
+
 See also
 ++++++++
 
index 2337cdd1972988f6ee943d4871e3133482029516..5c3c3c4ff5b1cc0a5eae87e41fb03e4cc5de1a93 100644 (file)
@@ -51,6 +51,10 @@ Optional and required commands
 .. index:: single: ObservationOperator
 .. index:: single: StoreInternalVariables
 .. index:: single: StoreSupplementaryCalculations
+.. index:: single: Quantiles
+.. index:: single: SetSeed
+.. index:: single: NumberOfSamplesForQuantiles
+.. index:: single: SimulationForQuantiles
 
 The general required commands, available in the editing user interface, are the
 following:
@@ -110,10 +114,49 @@ The options of the algorithm are the following:
     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", "OMA", "OMB",
-    "Innovation", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency"].
+    "Innovation", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency",
+    "SimulationQuantiles"].
 
     Example : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
+  Quantiles
+    This list indicates the values of quantile, between 0 and 1, to be estimated
+    by simulation around the optimal state. The sampling uses a multivariate
+    gaussian random sampling, directed by the *a posteriori* covariance matrix.
+    This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default is a void list.
+
+    Example : ``{"Quantiles":[0.1,0.9]}``
+
+  SetSeed
+    This key allow to give an integer in order to fix the seed of the random
+    generator used to generate the ensemble. A convenient value is for example
+    1000. By default, the seed is left uninitialized, and so use the default
+    initialization from the computer.
+
+    Example : ``{"SetSeed":1000}``
+
+  NumberOfSamplesForQuantiles
+    This key indicates the number of simulation to be done in order to estimate
+    the quantiles. This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default is 100, which is often
+    sufficient for correct estimation of common quantiles at 5%, 10%, 90% or
+    95%.
+
+    Example : ``{"NumberOfSamplesForQuantiles":100}``
+
+  SimulationForQuantiles
+    This key indicates the type of simulation, linear (with the tangent
+    observation operator applied to perturbation increments around the optimal
+    state) or non-linear (with standard observation operator applied to
+    perturbated states), one want to do for each perturbation. It changes mainly
+    the time of each elementary calculation, usually longer in non-linear than
+    in linear. This option is useful only if the supplementary calculation
+    "SimulationQuantiles" has been chosen. The default value is "Linear", and
+    the possible choices are "Linear" and "NonLinear".
+
+    Example : ``{"SimulationForQuantiles":"Linear"}``
+
 See also
 ++++++++
 
index b1d5da6fe8633ad5e87b45418585977764e7d07b..66e2861a9293026a275bc0f8273d01be35835a51 100644 (file)
@@ -55,6 +55,10 @@ Commandes requises et optionnelles
 .. index:: single: GradientNormTolerance
 .. index:: single: StoreInternalVariables
 .. index:: single: StoreSupplementaryCalculations
+.. index:: single: Quantiles
+.. index:: single: SetSeed
+.. index:: single: NumberOfSamplesForQuantiles
+.. index:: single: SimulationForQuantiles
 
 Les commandes requises générales, disponibles dans l'interface en édition, sont
 les suivantes:
@@ -173,10 +177,49 @@ Les options de l'algorithme sont les suivantes:
     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",
-    "OMA", "OMB", "Innovation", "SigmaObs2", "MahalanobisConsistency"].
+    "OMA", "OMB", "Innovation", "SigmaObs2", "MahalanobisConsistency",
+    "SimulationQuantiles"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
+  Quantiles
+    Cette liste indique les valeurs de quantile, entre 0 et 1, à estimer par
+    simulation autour de l'état optimal. L'échantillonnage utilise des tirages
+    aléatoires gaussiens multivariés, dirigés par la matrice de covariance a
+    posteriori. Cette option n'est utile que si le calcul supplémentaire
+    "SimulationQuantiles" a été choisi. La valeur par défaut est une liste vide.
+
+    Exemple : ``{"Quantiles":[0.1,0.9]}``
+
+  SetSeed
+    Cette clé permet de donner un nombre entier pour fixer la graine du
+    générateur aléatoire utilisé pour générer l'ensemble. Un valeur pratique est
+    par exemple 1000. Par défaut, la graine est laissée non initialisée, et elle
+    utilise ainsi l'initialisation par défaut de l'ordinateur.
+
+    Exemple : ``{"SetSeed":1000}``
+
+  NumberOfSamplesForQuantiles
+    Cette clé indique le nombre de simulations effectuées pour estimer les
+    quantiles. Cette option n'est utile que si le calcul supplémentaire
+    "SimulationQuantiles" a été choisi. Le défaut est 100, ce qui suffit souvent
+    pour une estimation correcte de quantiles courants à 5%, 10%, 90% ou 95%.
+
+    Exemple : ``{"NumberOfSamplesForQuantiles":100}``
+
+  SimulationForQuantiles
+    Cette clé indique le type de simulation, linéaire (avec l'opérateur
+    d'observation tangent appliqué sur des incréments de perturbations autour de
+    l'état optimal) ou non-linéaire (avec l'opérateur d'observation standard
+    appliqué aux états perturbés), que l'on veut faire pour chaque perturbation.
+    Cela change essentiellement le temps de chaque simulation élémentaire,
+    usuellement plus long en non-linéaire qu'en linéaire. Cette option n'est
+    utile que si le calcul supplémentaire "SimulationQuantiles" a été choisi. La
+    valeur par défaut est "Linear", et les choix possibles sont "Linear" et
+    "NonLinear".
+
+    Exemple : ``{"SimulationForQuantiles":"Linear"}``
+
 Voir aussi
 ++++++++++
 
index 37e4ee7ef17532e17c6ea1d6e8c882c59aab2022..27298828830dff0c9fa9c8051d1775a622e94b20 100644 (file)
@@ -37,10 +37,10 @@ d'Aitken.
 Cet algorithme est toujours le plus rapide de l'ensemble des algorithmes
 d'assimilation d'ADAO. Il est théoriquement réservé aux cas d'opérateurs
 d'observation 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 à
+non-linéaires. On peut vérifier la linéarité de l'opérateur d'observation à
 l'aide de l':ref:`section_ref_algorithm_LinearityTest`.
 
-En cas de non-linéarité, même peu marquée, on lui préfèrera aisément
+En cas de non-linéarité, même peu marquée, on lui préférera aisément
 l':ref:`section_ref_algorithm_ExtendedBlue` ou
 l':ref:`section_ref_algorithm_3DVAR`.
 
@@ -54,6 +54,10 @@ Commandes requises et optionnelles
 .. index:: single: ObservationOperator
 .. index:: single: StoreInternalVariables
 .. index:: single: StoreSupplementaryCalculations
+.. index:: single: Quantiles
+.. index:: single: SetSeed
+.. index:: single: NumberOfSamplesForQuantiles
+.. index:: single: SimulationForQuantiles
 
 Les commandes requises générales, disponibles dans l'interface en édition, sont
 les suivantes:
@@ -116,10 +120,48 @@ Les options de l'algorithme sont les suivantes:
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
     possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
     "OMA", "OMB", "Innovation", "SigmaBck2", "SigmaObs2",
-    "MahalanobisConsistency"].
+    "MahalanobisConsistency", "SimulationQuantiles"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
+  Quantiles
+    Cette liste indique les valeurs de quantile, entre 0 et 1, à estimer par
+    simulation autour de l'état optimal. L'échantillonnage utilise des tirages
+    aléatoires gaussiens multivariés, dirigés par la matrice de covariance a
+    posteriori. Cette option n'est utile que si le calcul supplémentaire
+    "SimulationQuantiles" a été choisi. La valeur par défaut est une liste vide.
+
+    Exemple : ``{"Quantiles":[0.1,0.9]}``
+
+  SetSeed
+    Cette clé permet de donner un nombre entier pour fixer la graine du
+    générateur aléatoire utilisé pour générer l'ensemble. Un valeur pratique est
+    par exemple 1000. Par défaut, la graine est laissée non initialisée, et elle
+    utilise ainsi l'initialisation par défaut de l'ordinateur.
+
+    Exemple : ``{"SetSeed":1000}``
+
+  NumberOfSamplesForQuantiles
+    Cette clé indique le nombre de simulations effectuées pour estimer les
+    quantiles. Cette option n'est utile que si le calcul supplémentaire
+    "SimulationQuantiles" a été choisi. Le défaut est 100, ce qui suffit souvent
+    pour une estimation correcte de quantiles courants à 5%, 10%, 90% ou 95%.
+
+    Exemple : ``{"NumberOfSamplesForQuantiles":100}``
+
+  SimulationForQuantiles
+    Cette clé indique le type de simulation, linéaire (avec l'opérateur
+    d'observation tangent appliqué sur des incréments de perturbations autour de
+    l'état optimal) ou non-linéaire (avec l'opérateur d'observation standard
+    appliqué aux états perturbés), que l'on veut faire pour chaque perturbation.
+    Cela change essentiellement le temps de chaque simulation élémentaire,
+    usuellement plus long en non-linéaire qu'en linéaire. Cette option n'est
+    utile que si le calcul supplémentaire "SimulationQuantiles" a été choisi. La
+    valeur par défaut est "Linear", et les choix possibles sont "Linear" et
+    "NonLinear".
+
+    Exemple : ``{"SimulationForQuantiles":"Linear"}``
+
 Voir aussi
 ++++++++++
 
index 7d7dc50a1d89f6770fd4cc6dabe0f74e01aaf53b..65d730eb979f4208ee8754d0b2d04c68c4b73574 100644 (file)
@@ -51,6 +51,10 @@ Commandes requises et optionnelles
 .. index:: single: ObservationOperator
 .. index:: single: StoreInternalVariables
 .. index:: single: StoreSupplementaryCalculations
+.. index:: single: Quantiles
+.. index:: single: SetSeed
+.. index:: single: NumberOfSamplesForQuantiles
+.. index:: single: SimulationForQuantiles
 
 Les commandes requises générales, disponibles dans l'interface en édition, sont
 les suivantes:
@@ -113,10 +117,48 @@ Les options de l'algorithme sont les suivantes:
     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
     possibles sont dans la liste suivante : ["APosterioriCovariance", "BMA",
     "OMA", "OMB", "Innovation", "SigmaBck2", "SigmaObs2",
-    "MahalanobisConsistency"].
+    "MahalanobisConsistency", "SimulationQuantiles"].
 
     Exemple : ``{"StoreSupplementaryCalculations":["BMA","Innovation"]}``
 
+  Quantiles
+    Cette liste indique les valeurs de quantile, entre 0 et 1, à estimer par
+    simulation autour de l'état optimal. L'échantillonnage utilise des tirages
+    aléatoires gaussiens multivariés, dirigés par la matrice de covariance a
+    posteriori. Cette option n'est utile que si le calcul supplémentaire
+    "SimulationQuantiles" a été choisi. La valeur par défaut est une liste vide.
+
+    Exemple : ``{"Quantiles":[0.1,0.9]}``
+
+  SetSeed
+    Cette clé permet de donner un nombre entier pour fixer la graine du
+    générateur aléatoire utilisé pour générer l'ensemble. Un valeur pratique est
+    par exemple 1000. Par défaut, la graine est laissée non initialisée, et elle
+    utilise ainsi l'initialisation par défaut de l'ordinateur.
+
+    Exemple : ``{"SetSeed":1000}``
+
+  NumberOfSamplesForQuantiles
+    Cette clé indique le nombre de simulations effectuées pour estimer les
+    quantiles. Cette option n'est utile que si le calcul supplémentaire
+    "SimulationQuantiles" a été choisi. Le défaut est 100, ce qui suffit souvent
+    pour une estimation correcte de quantiles courants à 5%, 10%, 90% ou 95%.
+
+    Exemple : ``{"NumberOfSamplesForQuantiles":100}``
+
+  SimulationForQuantiles
+    Cette clé indique le type de simulation, linéaire (avec l'opérateur
+    d'observation tangent appliqué sur des incréments de perturbations autour de
+    l'état optimal) ou non-linéaire (avec l'opérateur d'observation standard
+    appliqué aux états perturbés), que l'on veut faire pour chaque perturbation.
+    Cela change essentiellement le temps de chaque simulation élémentaire,
+    usuellement plus long en non-linéaire qu'en linéaire. Cette option n'est
+    utile que si le calcul supplémentaire "SimulationQuantiles" a été choisi. La
+    valeur par défaut est "Linear", et les choix possibles sont "Linear" et
+    "NonLinear".
+
+    Exemple : ``{"SimulationForQuantiles":"Linear"}``
+
 Voir aussi
 ++++++++++
 
index 3be52c88288ea13ae73fcf128b54301952fb8ffd..7ddf398cf9bff83ee41d2ad16f1373503411a877 100644 (file)
@@ -79,6 +79,8 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste des valeurs de quantiles",
+            minval   = 0.,
+            maxval   = 1.,
             )
         self.defineRequiredParameter(
             name     = "SetSeed",
index 339d661bad7ad556724b37c34569f4d35aaf92c0..019305f6ec3d7901f12307ed632c062a3b7b5eb4 100644 (file)
@@ -46,6 +46,8 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste des valeurs de quantiles",
+            minval   = 0.,
+            maxval   = 1.,
             )
         self.defineRequiredParameter(
             name     = "SetSeed",
index 7ccf7c409679517a9c38cdb392c8374c0168b2a5..0f755d4c253fa09343072df5f47956ee3e2de928 100644 (file)
@@ -46,6 +46,8 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             default  = [],
             typecast = tuple,
             message  = "Liste des valeurs de quantiles",
+            minval   = 0.,
+            maxval   = 1.,
             )
         self.defineRequiredParameter(
             name     = "SetSeed",
index b93a2d5728539f4c399c6d4cb0ab060a75d1b981..e4253127fc69a8916147c7ed94aa7a84d0d4c215 100644 (file)
@@ -394,9 +394,9 @@ class Algorithm:
             if typecast is None: __val = value
             else:                __val = typecast( value )
         #
-        if minval is not None and __val < minval:
+        if minval is not None and (numpy.array(__val) < minval).any():
             raise ValueError("The parameter named \"%s\" of value \"%s\" can not be less than %s."%(name, __val, minval))
-        if maxval is not None and __val > maxval:
+        if maxval is not None and (numpy.array(__val) > maxval).any():
             raise ValueError("The parameter named \"%s\" of value \"%s\" can not be greater than %s."%(name, __val, maxval))
         if listval is not None:
             if typecast is list or typecast is tuple or type(__val) is list or type(__val) is tuple: