..
- Copyright (C) 2008-2017 EDF R&D
+ Copyright (C) 2008-2021 EDF R&D
This file is part of SALOME ADAO module.
import numpy
xa=numpy.ravel(ADD.get('Analysis')[-1])
- print 'Analysis:',xa"
+ print('Analysis:',xa)
La fonction ``numpy.ravel`` assure simplement que la variable ``xa`` contienne
un vrai vecteur unidimensionnel, quels que soient les choix informatiques
import numpy
xa=numpy.ravel(ADD.get('Analysis')[-1])
f='/tmp/analysis.txt'
- print 'Analysis saved in "%s"'%f
+ print('Analysis saved in "%s"'%f)
numpy.savetxt(f,xa)"
Le fichier d'enregistrement choisi est un fichier texte ``/tmp/analysis.txt``.
import numpy
xa=numpy.ravel(ADD.get('Analysis')[-1])
- print 'Analysis:',xa
+ print('Analysis:',xa)
f='/tmp/analysis.txt'
- print 'Analysis saved in "%s"'%f
+ print('Analysis saved in "%s"'%f)
numpy.savetxt(f,xa)
Pour faciliter l'extension de ces exemples selon les besoins utilisateurs, on
actions de calcul pilotés par YACS [#]_ ou un autre module, etc.
D'autres exemples d'utilisation sont aussi donnés en :ref:`section_u_step4` de
-la partie :ref:`section_using`, ou en partie :ref:`section_examples`.
+la partie :ref:`section_gui_in_salome`, ou en partie :ref:`section_tutorials_in_salome`.
Conditionnalité des informations disponibles en sortie
++++++++++++++++++++++++++++++++++++++++++++++++++++++
Inventaire des informations potentiellement disponibles en sortie
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-.. index:: single: Dry
-.. index:: single: Forecast
-
-L'ensemble des informations potentiellement disponibles en sortie est indiqué
-ici indépendamment des algorithmes, pour inventaire.
+Les principales informations potentiellement disponibles en sortie sont
+indiquées ici indépendamment des algorithmes, pour inventaire. On se reportera
+directement aux détails des algorithmes pour avoir l'inventaire exhaustif.
L'état optimal est une information qui est toujours naturellement disponible
après un calcul d'assimilation de données ou d'optimisation. Il désigné par le
mot-clé suivant:
- 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 variables suivantes sont des variables d'entrée. Elles sont mises à
-disposition de l'utilisateur en sortie pour faciliter l'écriture des procédures
-de post-processing, et sont conditionnées par une demande utilisateur à l'aide
-d'un booléen "*Stored*" en entrée.
-
- Background
- *Vecteur*, dont la disponibilité est conditionnée par "*Stored*" en entrée.
- C'est le vecteur d'ébauche :math:`\mathbf{x}^b`.
-
- Exemple : ``Xb = ADD.get("Background")``
+ .. include:: snippets/Analysis.rst
- BackgroundError
- *Matrice*, dont la disponibilité est conditionnée par "*Stored*" en entrée.
- C'est la matrice :math:`\mathbf{B}` de covariances des erreurs *a priori*
- de l'ébauche.
+Les variables suivantes sont des variables d'entrée que l'on peut aussi obtenir
+en sortie. Elles sont mises à disposition de l'utilisateur en sortie pour
+faciliter l'écriture des procédures de post-processing, et sont conditionnées
+par une demande utilisateur explicite à l'aide d'un booléen "*Stored*" en
+entrée. Toutes ces variables d'entrée restituées sont obtenables par la
+commande standard ".get(...)", qui s'applique à refournir l'unique objet donné
+en entrée.
- Exemple : ``B = ADD.get("BackgroundError")``
+ .. include:: snippets/Background.rst
- EvolutionError
- *Matrice*, dont la disponibilité est conditionnée par "*Stored*" en entrée.
- C'est la matrice :math:`\mathbf{M}` de covariances des erreurs *a priori*
- de l'évolution.
+ .. include:: snippets/BackgroundError.rst
- Exemple : ``M = ADD.get("EvolutionError")``
+ .. include:: snippets/EvolutionError.rst
- Observation
- *Vecteur*, dont la disponibilité est conditionnée par "*Stored*" en entrée.
- C'est le vecteur d'observation :math:`\mathbf{y}^o`.
+ .. include:: snippets/Observation.rst
- Exemple : ``Yo = ADD.get("Observation")``
-
- ObservationError
- *Matrice*, dont la disponibilité est conditionnée par "*Stored*" en entrée.
- C'est la matrice :math:`\mathbf{R}` de covariances des erreurs *a priori*
- de l'observation.
-
- Exemple : ``R = ADD.get("ObservationError")``
+ .. include:: snippets/ObservationError.rst
Toutes les autres informations sont conditionnées par l'algorithme et/ou par la
-demande utilisateur de disponibilité. Ce sont les suivantes, par ordre
-alphabétique:
-
- APosterioriCorrelations
- *Liste de matrices*. Chaque élément est une matrice de corrélations des
- erreurs *a posteriori* de l'état optimal, issue de la matrice
- :math:`\mathbf{A}*` des covariances.
-
- 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 diagonale d'écarts-types
- des erreurs *a posteriori* de l'état optimal, issue de la matrice
- :math:`\mathbf{A}*` des covariances.
-
- Exemple : ``S = ADD.get("APosterioriStandardDeviations")[-1]``
-
- APosterioriVariances
- *Liste de matrices*. Chaque élément est une matrice diagonale de variances
- des erreurs *a posteriori* de l'état optimal, issue de la matrice
- :math:`\mathbf{A}*` des covariances.
-
- 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")[:]``
-
- CostFunctionJAtCurrentOptimum
- *Liste de valeurs*. Chaque élément est une valeur de fonctionnelle d'écart
- :math:`J`. A chaque pas, la valeur correspond à l'état optimal trouvé depuis
- le début.
-
- Exemple : ``JACO = ADD.get("CostFunctionJAtCurrentOptimum")[:]``
-
- CostFunctionJbAtCurrentOptimum
- *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. A chaque pas, la
- valeur correspond à l'état optimal trouvé depuis le début.
-
- Exemple : ``JbACO = ADD.get("CostFunctionJbAtCurrentOptimum")[:]``
-
- CostFunctionJoAtCurrentOptimum
- *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. A chaque pas,
- la valeur correspond à l'état optimal trouvé depuis le début.
-
- Exemple : ``JoACO = ADD.get("CostFunctionJoAtCurrentOptimum")[:]``
-
- CurrentOptimum
- *Liste de vecteurs*. Chaque élément est le vecteur d'état optimal au pas de
- temps courant au cours du déroulement de l'algorithme d'optimisation. Ce
- n'est pas nécessairement le dernier état.
-
- Exemple : ``Xo = ADD.get("CurrentOptimum")[:]``
-
- CurrentState
- *Liste de vecteurs*. Chaque élément est un vecteur d'état courant utilisé
- au cours du déroulement de l'algorithme d'optimisation.
-
- Exemple : ``Xs = ADD.get("CurrentState")[:]``
-
- IndexOfOptimum
- *Liste d'entiers*. Chaque élément est l'index d'itération de l'optimum
- obtenu au cours du déroulement de l'algorithme d'optimisation. Ce n'est pas
- nécessairement le numéro de la dernière itération.
-
- Exemple : ``i = ADD.get("IndexOfOptimum")[-1]``
-
- 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]``
+demande utilisateur de disponibilité. Les principales sont les suivantes, par
+ordre alphabétique:
- InnovationAtCurrentState
- *Liste de vecteurs*. Chaque élément est un vecteur d'innovation à l'état
- courant.
+ .. include:: snippets/APosterioriCorrelations.rst
- Exemple : ``ds = ADD.get("InnovationAtCurrentState")[-1]``
+ .. include:: snippets/APosterioriCovariance.rst
- MahalanobisConsistency
- *Liste de valeurs*. Chaque élément est une valeur de l'indicateur de
- qualité de Mahalanobis.
+ .. include:: snippets/APosterioriStandardDeviations.rst
- Exemple : ``m = ADD.get("MahalanobisConsistency")[-1]``
+ .. include:: snippets/APosterioriVariances.rst
- OMA
- *Liste de vecteurs*. Chaque élément est un vecteur d'écart entre
- l'observation et l'état optimal dans l'espace des observations.
+ .. include:: snippets/BMA.rst
- Exemple : ``oma = ADD.get("OMA")[-1]``
+ .. include:: snippets/CostFunctionJ.rst
- 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.
+ .. include:: snippets/CostFunctionJb.rst
- Exemple : ``omb = ADD.get("OMB")[-1]``
+ .. include:: snippets/CostFunctionJo.rst
- Residu
- *Liste de valeurs*. Chaque élément est la valeur du résidu particulier
- vérifié lors d'un algorithme de vérification, selon l'ordre des tests
- effectués.
+ .. include:: snippets/CostFunctionJAtCurrentOptimum.rst
- Exemple : ``r = ADD.get("Residu")[:]``
+ .. include:: snippets/CostFunctionJbAtCurrentOptimum.rst
- SigmaBck2
- *Liste de valeurs*. Chaque élément est une valeur de l'indicateur de
- qualité :math:`(\sigma^b)^2` de la partie ébauche.
+ .. include:: snippets/CostFunctionJoAtCurrentOptimum.rst
- Exemple : ``sb2 = ADD.get("SigmaBck")[-1]``
+ .. include:: snippets/CurrentOptimum.rst
- SigmaObs2
- *Liste de valeurs*. Chaque élément est une valeur de l'indicateur de
- qualité :math:`(\sigma^o)^2` de la partie observation.
+ .. include:: snippets/CurrentState.rst
- Exemple : ``so2 = ADD.get("SigmaObs")[-1]``
+ .. include:: snippets/IndexOfOptimum.rst
- SimulatedObservationAtBackground
- *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à
- partir de l'ébauche :math:`\mathbf{x}^b`. C'est la prévision à partir de
- l'ébauche, et elle est parfois appellée "*Dry*".
+ .. include:: snippets/Innovation.rst
- Exemple : ``hxb = ADD.get("SimulatedObservationAtBackground")[-1]``
+ .. include:: snippets/InnovationAtCurrentState.rst
- SimulatedObservationAtCurrentOptimum
- *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à
- partir de l'état optimal au pas de temps courant au cours du déroulement de
- l'algorithme d'optimisation, c'est-à-dire dans l'espace des observations.
+ .. include:: snippets/OMA.rst
- Exemple : ``hxo = ADD.get("SimulatedObservationAtCurrentOptimum")[-1]``
+ .. include:: snippets/OMB.rst
- SimulatedObservationAtCurrentState
- *Liste de vecteurs*. Chaque élément est un vecteur d'observation simulé à
- partir de l'état courant, c'est-à-dire dans l'espace des observations.
+ .. include:: snippets/Residu.rst
- Exemple : ``hxs = ADD.get("SimulatedObservationAtCurrentState")[-1]``
+ .. include:: snippets/SimulatedObservationAtBackground.rst
- 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`. C'est la
- prévision à partir de l'analyse ou de l'état optimal, et elle est parfois
- appellée "*Forecast*".
+ .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
- Exemple : ``hxa = ADD.get("SimulatedObservationAtOptimum")[-1]``
+ .. include:: snippets/SimulatedObservationAtCurrentState.rst
- 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.
+ .. include:: snippets/SimulatedObservationAtOptimum.rst
- Exemple : ``sQuantiles = ADD.get("SimulationQuantiles")[:]``
+ .. include:: snippets/SimulationQuantiles.rst
.. [#] Pour de plus amples informations sur PARAVIS, voir le *module PARAVIS* et son aide intégrée disponible dans le menu principal *Aide* de l'environnement SALOME.