From d468b0a9c6ff8b98c542b2b61c3b9e57fbb2498b Mon Sep 17 00:00:00 2001 From: Jean-Philippe ARGAUD Date: Sat, 2 Mar 2019 21:09:18 +0100 Subject: [PATCH] Updating documentation by review and snippets (2) --- doc/fr/advanced.rst | 15 +++++-- doc/fr/license.rst | 1 + doc/fr/ref_options_AlgorithmParameters.rst | 49 +++++++++++++++------- doc/fr/snippets/AlgorithmParameters.rst | 14 +++++++ doc/fr/snippets/Header2Algo00.rst | 4 ++ doc/fr/snippets/Header2Algo01.rst | 2 + doc/fr/snippets/Header2Algo02.rst | 5 +++ doc/fr/snippets/Header2Algo04.rst | 12 ++++++ doc/fr/snippets/Header2Algo05.rst | 1 + doc/fr/snippets/Header2Algo06.rst | 4 ++ doc/fr/snippets/Header2Algo07.rst | 1 + doc/fr/snippets/Header2Algo08.rst | 1 + doc/fr/snippets/Observers.rst | 7 +++- src/daComposant/daCore/Templates.py | 20 ++++----- 14 files changed, 106 insertions(+), 30 deletions(-) create mode 100644 doc/fr/snippets/AlgorithmParameters.rst create mode 100644 doc/fr/snippets/Header2Algo00.rst create mode 100644 doc/fr/snippets/Header2Algo01.rst create mode 100644 doc/fr/snippets/Header2Algo02.rst create mode 100644 doc/fr/snippets/Header2Algo04.rst create mode 100644 doc/fr/snippets/Header2Algo05.rst create mode 100644 doc/fr/snippets/Header2Algo06.rst create mode 100644 doc/fr/snippets/Header2Algo07.rst create mode 100644 doc/fr/snippets/Header2Algo08.rst diff --git a/doc/fr/advanced.rst b/doc/fr/advanced.rst index f6971dc..c3b056f 100644 --- a/doc/fr/advanced.rst +++ b/doc/fr/advanced.rst @@ -326,7 +326,7 @@ l'exécution, pour améliorer l'adaptation du calcul ADAO dans le superviseur 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 ---------------------------------------------------------- @@ -451,6 +451,13 @@ commandes ou tous les mots-clés. En général aussi, un fichier de cas ADAO d'u 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 +++++++++++++++++++++++++++++++++ @@ -465,7 +472,7 @@ syntaxe "*commande*" au lieu de la syntaxe fonctionnelle "*print(...)*". Dans 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 @@ -501,7 +508,7 @@ 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 @@ -531,7 +538,7 @@ objets de type liste ou tuple:: 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 diff --git a/doc/fr/license.rst b/doc/fr/license.rst index 78cafb7..519c012 100644 --- a/doc/fr/license.rst +++ b/doc/fr/license.rst @@ -27,6 +27,7 @@ Licence et conditions d'utilisation ================================================================================ +.. highlight:: none .. index:: single: COPYING .. index:: single: LICENCE .. index:: single: SALOME diff --git a/doc/fr/ref_options_AlgorithmParameters.rst b/doc/fr/ref_options_AlgorithmParameters.rst index f55410c..b68cfa1 100644 --- a/doc/fr/ref_options_AlgorithmParameters.rst +++ b/doc/fr/ref_options_AlgorithmParameters.rst @@ -24,26 +24,39 @@ .. 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 @@ -71,6 +84,8 @@ algorithmiques de manière sûre. Cette méthode ne permet de définir que les 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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -93,9 +108,12 @@ définition standard de dictionnaire, comme par exemple:: 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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -123,3 +141,6 @@ Ce fichier script Python externe doit définir alors une variable au nom imposé 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*". diff --git a/doc/fr/snippets/AlgorithmParameters.rst b/doc/fr/snippets/AlgorithmParameters.rst new file mode 100644 index 0000000..1239884 --- /dev/null +++ b/doc/fr/snippets/AlgorithmParameters.rst @@ -0,0 +1,14 @@ +.. 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. diff --git a/doc/fr/snippets/Header2Algo00.rst b/doc/fr/snippets/Header2Algo00.rst new file mode 100644 index 0000000..5dbd5ef --- /dev/null +++ b/doc/fr/snippets/Header2Algo00.rst @@ -0,0 +1,4 @@ +.. warning:: + + dans sa présente version, cet algorithme est expérimental, et reste donc + susceptible de changements dans les prochaines versions. diff --git a/doc/fr/snippets/Header2Algo01.rst b/doc/fr/snippets/Header2Algo01.rst new file mode 100644 index 0000000..76ed395 --- /dev/null +++ b/doc/fr/snippets/Header2Algo01.rst @@ -0,0 +1,2 @@ +Description ++++++++++++ diff --git a/doc/fr/snippets/Header2Algo02.rst b/doc/fr/snippets/Header2Algo02.rst new file mode 100644 index 0000000..df8049b --- /dev/null +++ b/doc/fr/snippets/Header2Algo02.rst @@ -0,0 +1,5 @@ +Commandes requises et optionnelles +++++++++++++++++++++++++++++++++++ + +Les commandes générales requises, disponibles en édition dans l'interface +graphique ou textuelle, sont les suivantes : diff --git a/doc/fr/snippets/Header2Algo04.rst b/doc/fr/snippets/Header2Algo04.rst new file mode 100644 index 0000000..73d9d24 --- /dev/null +++ b/doc/fr/snippets/Header2Algo04.rst @@ -0,0 +1,12 @@ +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 : diff --git a/doc/fr/snippets/Header2Algo05.rst b/doc/fr/snippets/Header2Algo05.rst new file mode 100644 index 0000000..4c3e3ec --- /dev/null +++ b/doc/fr/snippets/Header2Algo05.rst @@ -0,0 +1 @@ +Les sorties conditionnelles de l'algorithme sont les suivantes : diff --git a/doc/fr/snippets/Header2Algo06.rst b/doc/fr/snippets/Header2Algo06.rst new file mode 100644 index 0000000..94b2776 --- /dev/null +++ b/doc/fr/snippets/Header2Algo06.rst @@ -0,0 +1,4 @@ +Voir aussi +++++++++++ + +Références vers d'autres sections : diff --git a/doc/fr/snippets/Header2Algo07.rst b/doc/fr/snippets/Header2Algo07.rst new file mode 100644 index 0000000..1cf7d98 --- /dev/null +++ b/doc/fr/snippets/Header2Algo07.rst @@ -0,0 +1 @@ +Références bibliographiques : diff --git a/doc/fr/snippets/Header2Algo08.rst b/doc/fr/snippets/Header2Algo08.rst new file mode 100644 index 0000000..5da1980 --- /dev/null +++ b/doc/fr/snippets/Header2Algo08.rst @@ -0,0 +1 @@ +Références vers d'autres modules SALOME : diff --git a/doc/fr/snippets/Observers.rst b/doc/fr/snippets/Observers.rst index edabd90..eb925d3 100644 --- a/doc/fr/snippets/Observers.rst +++ b/doc/fr/snippets/Observers.rst @@ -1,4 +1,6 @@ +.. 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 @@ -6,5 +8,6 @@ Observers 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. diff --git a/src/daComposant/daCore/Templates.py b/src/daComposant/daCore/Templates.py index 04cebfa..c995773 100644 --- a/src/daComposant/daCore/Templates.py +++ b/src/daComposant/daCore/Templates.py @@ -129,22 +129,22 @@ ObserverTemplates.store( 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( @@ -178,15 +178,15 @@ 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( -- 2.39.2