d'exécution de SALOME.
Pour mettre en oeuvre ces "*observer*" de manière efficace, on se reportera aux
-:ref:`ref_observers_requirements`.
+:ref:`section_ref_observers_requirements`.
Obtenir plus d'information lors du déroulement d'un calcul
----------------------------------------------------------
version ne peut pas être lu par une précédente version mineure ou majeure du
module ADAO.
+Passer de la version 9.x à la 9.y avec y > x
+++++++++++++++++++++++++++++++++++++++++++++
+
+Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
+procédure de montée en version consiste à lire l'ancien fichier de cas ADAO
+avec le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
+
Passer de la version 8.5 à la 9.2
+++++++++++++++++++++++++++++++++
ce cas, il est suggéré de corriger la syntaxe des fichiers utilisateurs dans
l'environnement 8 avant de passer en environnement 9.
-Passer de la version 8.x à la 8.y avec x < y
+Passer de la version 8.x à la 8.y avec y > x
++++++++++++++++++++++++++++++++++++++++++++
Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
procédure de montée en version consiste à lire l'ancien fichier de cas ADAO
avec le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
-Passer de la version 7.x à la 7.y avec x < y
+Passer de la version 7.x à la 7.y avec y > x
++++++++++++++++++++++++++++++++++++++++++++
Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
Les scripts de post-processing doivent être modifiés.
-Passer de la version 6.x à la 6.y avec x < y
+Passer de la version 6.x à la 6.y avec y > x
++++++++++++++++++++++++++++++++++++++++++++
Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
Licence et conditions d'utilisation
================================================================================
+.. highlight:: none
.. index:: single: COPYING
.. index:: single: LICENCE
.. index:: single: SALOME
.. index:: single: AlgorithmParameters
.. index:: single: Parameters
.. index:: single: Defaults
+.. index:: single: setAlgorithmParameters
.. _section_ref_options_Algorithm_Parameters:
-Description des options d'un algorithme dans "*AlgorithmParameters*"
---------------------------------------------------------------------
+Description des options d'un algorithme par "*AlgorithmParameters*"
+-------------------------------------------------------------------
Chaque algorithme peut être contrôlé en utilisant des options ou des paramètres
particuliers. Ils sont donnés à travers la commande optionnelle "*Parameters*"
incluse dans la commande obligatoire "*AlgorithmParameters*".
-Il y a 3 méthodes pratiques pour l'utilisateur pour fournir ces options. La
-méthode est déterminée de la manière suivante dans l'interface graphique
-d'édition :
-
-#. premièrement à l'aide du mot-clé "*Parameters*" dans la commande "*AlgorithmParameters*", qui permet de choisir entre "*Defaults*" (utilisation de mots-clés explicites pré-remplis par les valeurs par défaut des paramètres) et "*Dict*" (utilisation d'un dictionnaire pour renseigner les mots-clés nécessaires),
-#. puis deuxièmement, uniquement dans le cas "*Dict*" de "*Parameters*", par le mot-clé "*FROM*" inclus qui permet de choisir entre une entrée par chaîne de caractères ou une entrée par fichier de script Python.
+Il y a 3 méthodes pratiques pour l'utilisateur de l'interface graphique EFICAS
+d'ADAO (GUI) pour fournir ces options. La méthode est déterminée de la manière
+suivante dans l'interface graphique EFICAS :
+
+#. premièrement à l'aide du mot-clé "*Parameters*" dans la commande
+ "*AlgorithmParameters*", qui permet de choisir entre "*Defaults*"
+ (utilisation de mots-clés explicites pré-remplis par les valeurs par défaut
+ des paramètres) et "*Dict*" (utilisation d'un dictionnaire pour renseigner
+ les mots-clés nécessaires),
+#. puis deuxièmement ou troisièmement, uniquement dans le cas "*Dict*" de
+ "*Parameters*", par le mot-clé "*FROM*" inclus qui permet de choisir entre
+ une entrée par chaîne de caractères ou une entrée par fichier de script
+ Python.
+
+Ces deux dernières options sont celles que l'on peut aussi utiliser dans
+l'interface textuelle d'ADAO (TUI), par les mot-clés "*Parameters*" et
+"*Script*" dans la commande correspondante "*AlgorithmParameters*" (voir la
+partie :ref:`section_tui` pour une description détaillée).
Si une option ou un paramètre est spécifié par l'utilisateur pour un algorithme
-qui ne la supporte pas, cette option est simplement laissée inutilisée et ne
-bloque pas le traitement. La signification des acronymes ou des noms
-particuliers peut être trouvée dans l':ref:`genindex` ou dans le
+qui ne la supporte pas, cette option est simplement ignorée (laissée
+inutilisée) et ne bloque pas le traitement. La signification des acronymes ou
+des noms particuliers peut être trouvée dans l':ref:`genindex` ou dans le
:ref:`section_glossary`.
Première méthode : utiliser les mots-clés explicites pré-remplis
paramètres autorisés pour un algorithme donné, et les valeurs définies ne sont
pas conservées si l'utilisateur change d'algorithme.
+Cette méthode n'est naturellement pas utilisable en interface TUI.
+
Seconde méthode : utiliser une chaîne de caractères dans l'interface graphique
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C'est la manière recommandée pour définir des paramètres algorithmiques. Cette
méthode permet en particulier de conserver des options ou des paramètres pour
-d'autres algorithmes que celui que l'on utilise au moment présent. Cela facilite
-le changement d'algorithme ou la conservation de valeurs par défaut différentes
-des défauts standards.
+d'autres algorithmes que celui que l'on utilise au moment présent. Cela
+facilite le changement d'algorithme ou la conservation de valeurs par défaut
+différentes des défauts standards.
+
+Dans l'interface textuelle TUI, le dictionnaire peut être simplement donné
+comme argument du mot-clé "*Parameters*".
Troisième méthode : utiliser un fichier de script Python externe
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Le fichier peut aussi contenir d'autres commandes Python. Cette méthode permet
aussi, comme la précédente, de conserver des options ou des paramètres pour
d'autres algorithmes que celui que l'on utilise.
+
+Dans l'interface textuelle TUI, le fichier peut être donné comme argument du
+mot-clé "*Script*".
--- /dev/null
+.. index:: single: Algorithm
+.. index:: single: AlgorithmParameters
+
+AlgorithmParameters
+ *Commande obligatoire*. Elle définit l'algorithme d'assimilation de données
+ ou d'optimisation choisi par le mot-clé "*Algorithm*", et ses éventuels
+ paramètres optionnels. Les choix d'algorithmes sont disponibles à travers
+ l'interface graphique. Il existe par exemple le "3DVAR", le "Blue"... Chaque
+ algorithme est défini, plus loin, par une sous-section spécifique. De manière
+ facultative, la commande permet aussi d'ajouter des paramètres pour contrôler
+ l'algorithme. Leurs valeurs sont définies explicitement ou dans un objet de
+ type "*Dict*". On se reportera à la
+ :ref:`section_ref_options_Algorithm_Parameters` pour l'usage détaillé de
+ cette partie de la commande.
--- /dev/null
+.. warning::
+
+ dans sa présente version, cet algorithme est expérimental, et reste donc
+ susceptible de changements dans les prochaines versions.
--- /dev/null
+Description
++++++++++++
--- /dev/null
+Commandes requises et optionnelles
+++++++++++++++++++++++++++++++++++
+
+Les commandes générales requises, disponibles en édition dans l'interface
+graphique ou textuelle, sont les suivantes :
--- /dev/null
+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 en interface
+graphique, ou du cas en interface textuelle. 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 :
--- /dev/null
+Les sorties conditionnelles de l'algorithme sont les suivantes :
--- /dev/null
+Voir aussi
+++++++++++
+
+Références vers d'autres sections :
--- /dev/null
+Références bibliographiques :
--- /dev/null
+Références vers d'autres modules SALOME :
+.. index:: single: Observer
.. index:: single: Observers
+.. index:: single: Observer Template
Observers
*Liste de fonctions liées à des variables*. La variable permet de définir des
particulière d'algorithme, qui sont exécutées chaque fois que cette variable
est modifiée. C'est une manière pratique de suivre des variables d'intérêt
durant le processus d'assimilation de données ou d'optimisation, en
- l'affichant ou en la traçant, etc. Des exemples courants (squelettes) sont
- fournis pour aider l'utilisateur ou pour faciliter l'élaboration d'un cas.
+ l'affichant ou en la traçant, etc. Des exemples courants (squelettes ou
+ "templates") sont fournis pour aider l'utilisateur ou pour faciliter
+ l'élaboration d'un cas.
ObserverTemplates.store(
name = "ValuePrinterAndSaver",
content = """import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nprint(str(info)+" "+str(v))\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)""",
- fr_FR = "Imprime sur la sortie standard et, en même temps enregistre dans un fichier, la valeur courante de la variable",
- en_EN = "Print on standard output and, in the same time save in a file, the current value of the variable",
+ fr_FR = "Imprime sur la sortie standard et, en même temps enregistre dans un fichier du répertoire '/tmp', la valeur courante de la variable",
+ en_EN = "Print on standard output and, in the same time save in a file of the '/tmp' directory, the current value of the variable",
order = "next",
)
ObserverTemplates.store(
name = "ValueIndexPrinterAndSaver",
content = """import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nprint(str(info)+(" index %i:"%(len(var)-1))+" "+str(v))\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)""",
- fr_FR = "Imprime sur la sortie standard et, en même temps enregistre dans un fichier, la valeur courante de la variable, en ajoutant son index",
- en_EN = "Print on standard output and, in the same time save in a file, the current value of the variable, adding its index",
+ fr_FR = "Imprime sur la sortie standard et, en même temps enregistre dans un fichier du répertoire '/tmp', la valeur courante de la variable, en ajoutant son index",
+ en_EN = "Print on standard output and, in the same time save in a file of the '/tmp' directory, the current value of the variable, adding its index",
order = "next",
)
ObserverTemplates.store(
name = "ValueSeriePrinterAndSaver",
content = """import numpy, re\nv=numpy.array(var[:], ndmin=1)\nprint(str(info)+" "+str(v))\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)""",
- fr_FR = "Imprime sur la sortie standard et, en même temps, enregistre dans un fichier la série des valeurs de la variable",
- en_EN = "Print on standard output and, in the same time, save in a file the value series of the variable",
+ fr_FR = "Imprime sur la sortie standard et, en même temps, enregistre dans un fichier du répertoire '/tmp', la série des valeurs de la variable",
+ en_EN = "Print on standard output and, in the same time, save in a file of the '/tmp' directory, the value series of the variable",
order = "next",
)
ObserverTemplates.store(
ObserverTemplates.store(
name = "ValuePrinterSaverAndGnuPlotter",
content = """print(str(info)+" "+str(var[-1]))\nimport numpy, re\nv=numpy.array(var[-1], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)\nimport Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )""",
- fr_FR = "Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la valeur courante de la variable ",
- en_EN = "Print on standard output and, in the same, time save in a file and graphically plot the current value of the variable",
+ fr_FR = "Imprime sur la sortie standard et, en même temps, enregistre dans un fichier du répertoire '/tmp' et affiche graphiquement la valeur courante de la variable ",
+ en_EN = "Print on standard output and, in the same, time save in a file of the '/tmp' directory and graphically plot the current value of the variable",
order = "next",
)
ObserverTemplates.store(
name = "ValueSeriePrinterSaverAndGnuPlotter",
content = """print(str(info)+" "+str(var[:]))\nimport numpy, re\nv=numpy.array(var[:], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)\nimport Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )""",
- fr_FR = "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",
- en_EN = "Print on standard output and, in the same, time save in a file and graphically plot the value series of the variable",
+ fr_FR = "Imprime sur la sortie standard et, en même temps, enregistre dans un fichier du répertoire '/tmp' et affiche graphiquement la série des valeurs de la variable",
+ en_EN = "Print on standard output and, in the same, time save in a file of the '/tmp' directory and graphically plot the value series of the variable",
order = "next",
)
ObserverTemplates.store(