From eb2ff4ab5a6697d071a7a521ee0489114e38ce44 Mon Sep 17 00:00:00 2001 From: Jean-Philippe ARGAUD Date: Tue, 22 Sep 2015 16:06:55 +0200 Subject: [PATCH] Improve unitary documentation of the observers --- doc/en/ref_observers_requirements.rst | 28 ++++++++++ doc/fr/ref_observers_requirements.rst | 74 +++++++++++++++++++-------- 2 files changed, 81 insertions(+), 21 deletions(-) diff --git a/doc/en/ref_observers_requirements.rst b/doc/en/ref_observers_requirements.rst index 77ce681..db8890a 100644 --- a/doc/en/ref_observers_requirements.rst +++ b/doc/en/ref_observers_requirements.rst @@ -86,6 +86,8 @@ Inventory of available *observer* models ("*Template*") Template **ValueGnuPlotter** : .............................. +Graphically plot with Gnuplot the current value of the variable. + :: import numpy, Gnuplot @@ -106,6 +108,8 @@ Template **ValueGnuPlotter** : Template **ValueMean** : ........................ +Print on standard output the mean of the current value of the variable. + :: import numpy @@ -127,6 +131,8 @@ Print on standard output the current value of the variable. Template **ValuePrinterAndGnuPlotter** : ........................................ +Print on standard output and, in the same time, graphically plot with Gnuplot the current value of the variable. + :: print info, var[-1] @@ -148,6 +154,8 @@ Template **ValuePrinterAndGnuPlotter** : Template **ValuePrinterAndSaver** : ................................... +Print on standard output and, in the same time, save in a file the current value of the variable. + :: import numpy, re @@ -168,6 +176,8 @@ Template **ValuePrinterAndSaver** : Template **ValuePrinterSaverAndGnuPlotter** : ............................................. +Print on standard output and, in the same, time save in a file and graphically plot the current value of the variable. + :: print info, var[-1] @@ -199,6 +209,8 @@ Template **ValuePrinterSaverAndGnuPlotter** : Template **ValueRMS** : ....................... +Print on standard output the root mean square (RMS), or quadratic mean, of the current value of the variable. + :: import numpy @@ -210,6 +222,8 @@ Template **ValueRMS** : Template **ValueSaver** : ......................... +Save the current value of the variable in a file of the '/tmp' directory named 'value...txt' from the variable name and the saving step. + :: import numpy, re @@ -229,6 +243,8 @@ Template **ValueSaver** : Template **ValueSerieGnuPlotter** : ................................... +Graphically plot with Gnuplot the value serie of the variable. + :: import numpy, Gnuplot @@ -260,6 +276,8 @@ Print on standard output the value serie of the variable. Template **ValueSeriePrinterAndGnuPlotter** : ............................................. +Print on standard output and, in the same time, graphically plot with Gnuplot the value serie of the variable. + :: print info, var[:] @@ -281,6 +299,8 @@ Template **ValueSeriePrinterAndGnuPlotter** : Template **ValueSeriePrinterAndSaver** : ........................................ +Print on standard output and, in the same time, save in a file the value serie of the variable. + :: import numpy, re @@ -301,6 +321,8 @@ Template **ValueSeriePrinterAndSaver** : Template **ValueSeriePrinterSaverAndGnuPlotter** : .................................................. +Print on standard output and, in the same, time save in a file and graphically plot the value serie of the variable. + :: print info, var[:] @@ -332,6 +354,8 @@ Template **ValueSeriePrinterSaverAndGnuPlotter** : Template **ValueSerieSaver** : .............................. +Save the value serie of the variable in a file of the '/tmp' directory named 'value...txt' from the variable name and the saving step. + :: import numpy, re @@ -351,6 +375,8 @@ Template **ValueSerieSaver** : Template **ValueStandardError** : ................................. +Print on standard output the standard error of the current value of the variable. + :: import numpy @@ -361,6 +387,8 @@ Template **ValueStandardError** : Template **ValueVariance** : ............................ +Print on standard output the variance of the current value of the variable. + :: import numpy diff --git a/doc/fr/ref_observers_requirements.rst b/doc/fr/ref_observers_requirements.rst index db0a9a3..d43678f 100644 --- a/doc/fr/ref_observers_requirements.rst +++ b/doc/fr/ref_observers_requirements.rst @@ -29,51 +29,55 @@ Exigences pour les fonctions d .. index:: single: Observer .. index:: single: Observer Template -Certaines variables spéciales internes à l'optimisation, utilisées au cours des -calculs, peuvent être surveillées durant un calcul ADAO en YACS. Ces variables -peuvent être affichées, tracées, enregistrées, etc. C'est réalisable en -utilisant des "*observer*", qui sont des scripts, chacun associé à une -variable, qui sont activés à chaque modification de la variable. +Certaines variables spéciales, internes à l'optimisation, utilisées au cours des +calculs, peuvent être surveillées durant un calcul ADAO. Ces variables peuvent +être affichées, tracées, enregistrées, etc. C'est réalisable en utilisant des +"*observer*", parfois aussi appelés des "callback". Ce sont des scripts Python, +qui sont chacun associé à une variable donnée. Ils sont activés à chaque +modification de la variable. Il y a 3 méthodes pratiques pour intégrer un "*observer*" dans un cas ADAO. La méthode est choisie à l'aide du mot-clé "*NodeType*" de chaque entrée de type -*observer*, comme montré dans la figure qui suit : +"*observer*", comme montré dans la figure qui suit : .. eficas_observer_nodetype: .. image:: images/eficas_observer_nodetype.png :align: center :width: 100% .. centered:: - **Choisir le type d'entrée** + **Choisir pour un "*observer*" son type d'entrée** L'"*observer*" peut être fourni sous la forme d'un script explicite (entrée de type "*String*"), d'un script contenu dans un fichier externe (entrée de type "*Script*"), ou en utilisant un modèle (entrée de type "*Template*") fourni par -défaut dans ADAO lors de l'édition dans l'éditeur graphique. Ces derniers sont -des scripts simples qui peuvent être adaptés par l'utilisateur, soit dans -l'étape d'édition intégrée, soit dans l'étape d'édition avant l'exécution, pour -améliorer l'adaptation du calcul ADAO dans le superviseur d'exécution de SALOME. +défaut dans ADAO lors de l'usage de l'éditeur graphique. Ces derniers sont des +scripts simples qui peuvent être adaptés par l'utilisateur, soit dans l'étape +d'édition intégrée du cas, soit dans l'étape d'édition du schéma avant +l'exécution, pour améliorer la performance du calcul ADAO dans le superviseur +d'exécution de SALOME. -Forme générale d'un script permettant de définir un *observer* -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +Forme générale d'un script permettant de définir un *observer* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Pour pouvoir utiliser cette capacité, l'utilisateur doit disposer ou construire des scripts utilisant en entrée standard (i.e. disponible dans l'espace de -nommage) des variables ``var`` et ``info``. La variable ``var`` est à utiliser +nommage) les variables ``var`` et ``info``. La variable ``var`` est à utiliser comme un objet de type liste/tuple, contenant la variable d'intérêt indicée par l'étape de mise à jour. A titre d'exemple, voici un script très simple (similaire au modèle -"*ValuePrinter*") utilisable pour afficher la valeur d'une variable surveillée:: +"*ValuePrinter*"), utilisable pour afficher la valeur d'une variable +surveillée:: print " --->",info," Value =",var[-1] -Stocké comme un fichier Python, ce script peut être associé à chaque variable -présente dans le mot-clé "*SELECTION*" de la commande "*Observers*": -"*Analysis*", "*CurrentState*", "*CostFunction*"... La valeur courante de la -variable sera affichée à chaque étape de l'algorithme d'optimisation ou -d'assimilation. Les "*observer*" peuvent inclure des capacités d'affichage -graphique, de stockage, d'affichage complexe, de traitement statistique, etc. +Stocké comme un fichier Python ou une chaîne de caractères explicite, ces lignes +de script peuvent être associées à chaque variable présente dans le mot-clé +"*SELECTION*" de la commande "*Observers*" du cas ADAO : "*Analysis*", +"*CurrentState*", "*CostFunction*"... La valeur courante de la variable sera +affichée à chaque étape de l'algorithme d'optimisation ou d'assimilation. Les +"*observer*" peuvent inclure des capacités d'affichage graphique, de stockage, +de traitement complexe, d'analyse statistique, etc. On donne ci-aprés l'identifiant et le contenu de chaque modèle disponible. @@ -85,6 +89,8 @@ Inventaire des mod Modèle **ValueGnuPlotter** : ............................ +Affiche graphiquement avec Gnuplot la valeur courante de la variable. + :: import numpy, Gnuplot @@ -105,6 +111,8 @@ Mod Modèle **ValueMean** : ...................... +Imprime sur la sortie standard la moyenne de la valeur courante de la variable. + :: import numpy @@ -126,6 +134,8 @@ Imprime sur la sortie standard la valeur courante de la variable. Modèle **ValuePrinterAndGnuPlotter** : ...................................... +Imprime sur la sortie standard et, en même temps, affiche graphiquement avec Gnuplot la valeur courante de la variable. + :: print info, var[-1] @@ -147,6 +157,8 @@ Mod Modèle **ValuePrinterAndSaver** : ................................. +Imprime sur la sortie standard et, en même temps, enregistre dans un fichier la valeur courante de la variable. + :: import numpy, re @@ -167,6 +179,8 @@ Mod Modèle **ValuePrinterSaverAndGnuPlotter** : ........................................... +Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la valeur courante de la variable . + :: print info, var[-1] @@ -198,6 +212,8 @@ Mod Modèle **ValueRMS** : ..................... +Imprime sur la sortie standard la racine de la moyenne des carrés (RMS), ou moyenne quadratique, de la valeur courante de la variable. + :: import numpy @@ -209,6 +225,8 @@ Mod Modèle **ValueSaver** : ....................... +Enregistre la valeur courante de la variable dans un fichier du répertoire '/tmp' nommé 'value...txt' selon le nom de la variable et l'étape d'enregistrement. + :: import numpy, re @@ -228,6 +246,8 @@ Mod Modèle **ValueSerieGnuPlotter** : ................................. +Affiche graphiquement avec Gnuplot la série des valeurs de la variable. + :: import numpy, Gnuplot @@ -259,6 +279,8 @@ Imprime sur la sortie standard la s Modèle **ValueSeriePrinterAndGnuPlotter** : ........................................... +Imprime sur la sortie standard et, en même temps, affiche graphiquement avec Gnuplot la série des valeurs de la variable. + :: print info, var[:] @@ -280,6 +302,8 @@ Mod Modèle **ValueSeriePrinterAndSaver** : ...................................... +Imprime sur la sortie standard et, en même temps, enregistre dans un fichier la série des valeurs de la variable. + :: import numpy, re @@ -300,6 +324,8 @@ Mod Modèle **ValueSeriePrinterSaverAndGnuPlotter** : ................................................ +Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la série des valeurs de la variable. + :: print info, var[:] @@ -331,6 +357,8 @@ Mod Modèle **ValueSerieSaver** : ............................ +Enregistre la série des valeurs de la variable dans un fichier du répertoire '/tmp' nommé 'value...txt' selon le nom de la variable et l'étape. + :: import numpy, re @@ -350,6 +378,8 @@ Mod Modèle **ValueStandardError** : ............................... +Imprime sur la sortie standard l'écart-type de la valeur courante de la variable. + :: import numpy @@ -360,6 +390,8 @@ Mod Modèle **ValueVariance** : .......................... +Imprime sur la sortie standard la variance de la valeur courante de la variable. + :: import numpy -- 2.39.2