..
- Copyright (C) 2008-2014 EDF R&D
+ Copyright (C) 2008-2015 EDF R&D
This file is part of SALOME ADAO module.
Commandes requises et optionnelles
++++++++++++++++++++++++++++++++++
+.. index:: single: AlgorithmParameters
.. index:: single: Background
.. index:: single: BackgroundError
.. index:: single: Observation
.. index:: single: ObservationError
.. 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:
appliqué à une paire :math:`(X,U)`.
Les commandes optionnelles générales, disponibles dans l'interface en édition,
-sont indiquées dans la :ref:`section_ref_assimilation_keywords`. En particulier,
-la commande optionnelle "*AlgorithmParameters*" permet d'indiquer les options
+sont indiquées dans la :ref:`section_ref_assimilation_keywords`. De plus, les
+paramètres de la commande "*AlgorithmParameters*" permettent d'indiquer les options
particulières, décrites ci-après, de l'algorithme. On se reportera à la
-:ref:`section_ref_options_AlgorithmParameters` pour le bon usage de cette
+:ref:`section_ref_options_Algorithm_Parameters` pour le bon usage de cette
commande.
Les options de l'algorithme sont les suivantes:
- StoreInternalVariables
- Cette clé booléenne permet de stocker les variables internes par défaut,
- principalement l'état courant lors d'un processus itératif. Attention, cela
- peut être un choix numériquement coûteux dans certains cas de calculs. La
- valeur par défaut est "False".
-
StoreSupplementaryCalculations
Cette liste indique les noms des variables supplémentaires qui peuvent être
disponibles à la fin de l'algorithme. Cela implique potentiellement des
- calculs 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", "SigmaBck2", "SigmaObs2", "MahalanobisConsistency"].
+ 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 : ["CurrentState", "Innovation",
+ "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentState",
+ "SimulatedObservationAtOptimum"].
+
+ Exemple : ``{"StoreSupplementaryCalculations":["CurrentState", "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"}``
+
+Informations et variables disponibles à la fin de l'algorithme
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+En sortie, après exécution de l'algorithme, on dispose d'informations et de
+variables issues du calcul. La description des
+:ref:`section_ref_output_variables` indique la manière de les obtenir par la
+méthode nommée ``get`` de la variable "*ADD*" du post-processing. Les variables
+d'entrée, mises à disposition de l'utilisateur en sortie pour faciliter
+l'écriture des procédures de post-processing, sont décrites dans
+l':ref:`subsection_r_o_v_Inventaire`.
+
+Les sorties non conditionnelles de l'algorithme sont les suivantes:
+
+ Analysis
+ *Liste de vecteurs*. Chaque élément est un état optimal :math:`\mathbf{x}*`
+ en optimisation ou une analyse :math:`\mathbf{x}^a` en assimilation de
+ données.
+
+ Exemple : ``Xa = ADD.get("Analysis")[-1]``
+
+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.
+
+ Exemple : ``bma = ADD.get("BMA")[-1]``
+
+ CostFunctionJ
+ *Liste de valeurs*. Chaque élément est une valeur de fonctionnelle d'écart
+ :math:`J`.
+
+ Exemple : ``J = ADD.get("CostFunctionJ")[:]``
+
+ CostFunctionJb
+ *Liste de valeurs*. Chaque élément est une valeur de fonctionnelle d'écart
+ :math:`J^b`, c'est-à-dire de la partie écart à l'ébauche.
+
+ Exemple : ``Jb = ADD.get("CostFunctionJb")[:]``
+
+ CostFunctionJo
+ *Liste de valeurs*. Chaque élément est une valeur de fonctionnelle d'écart
+ :math:`J^o`, c'est-à-dire de la partie écart à l'observation.
+
+ Exemple : ``Jo = ADD.get("CostFunctionJo")[:]``
+
+ Innovation
+ *Liste de vecteurs*. Chaque élément est un vecteur d'innovation, qui est
+ en statique l'écart de l'optimum à l'ébauche, et en dynamique l'incrément
+ d'évolution.
+
+ Exemple : ``d = ADD.get("Innovation")[-1]``
+
+ MahalanobisConsistency
+ *Liste de valeurs*. Chaque élément est une valeur de l'indicateur de
+ qualité de Mahalanobis.
+
+ Exemple : ``m = ADD.get("MahalanobisConsistency")[-1]``
+
+ OMA
+ *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
+ l'observation et l'état optimal dans l'espace des observations.
+
+ Exemple : ``oma = ADD.get("OMA")[-1]``
+
+ OMB
+ *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
+ l'observation et l'état d'ébauche dans l'espace des observations.
+
+ Exemple : ``omb = ADD.get("OMB")[-1]``
+
+ SigmaBck2
+ *Liste de valeurs*. Chaque élément est une valeur de l'indicateur de
+ qualité :math:`(\sigma^b)^2` de la partie ébauche.
+
+ Exemple : ``sb2 = ADD.get("SigmaBck")[-1]``
+
+ SigmaObs2
+ *Liste de valeurs*. Chaque élément est une valeur de l'indicateur de
+ qualité :math:`(\sigma^o)^2` de la partie observation.
+
+ Exemple : ``so2 = ADD.get("SigmaObs")[-1]``
+
+ SimulatedObservationAtBackground
+ *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à
+ partir de l'ébauche :math:`\mathbf{x}^b`.
+
+ Exemple : ``hxb = ADD.get("SimulatedObservationAtBackground")[-1]``
+
+ SimulatedObservationAtOptimum
+ *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à
+ partir de l'analyse ou de l'état optimal :math:`\mathbf{x}^a`.
+
+ Exemple : ``hxa = ADD.get("SimulatedObservationAtOptimum")[-1]``
+
+ SimulationQuantiles
+ *Liste de vecteurs*. Chaque élément est un vecteur correspondant à l'état
+ observé qui réalise le quantile demandé, dans le même ordre que les
+ quantiles requis par l'utilisateur.
+
+ Exemple : ``sQuantiles = ADD.get("SimulationQuantiles")[:]``
Voir aussi
++++++++++