From: Jean-Philippe ARGAUD Date: Mon, 6 Feb 2017 14:20:35 +0000 (+0100) Subject: Illustrations corrections and improvements X-Git-Tag: V8_3_0rc1~25 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=755581875fc1b0baca9cbd6740f04c01c4cc8afd;p=modules%2Fadao.git Illustrations corrections and improvements --- diff --git a/doc/en/examples.rst b/doc/en/examples.rst index 63336ee..9aac5fe 100644 --- a/doc/en/examples.rst +++ b/doc/en/examples.rst @@ -173,30 +173,31 @@ generated ADAO scheme: After that point, all the modifications, executions and post-processing of the data assimilation scheme will be done in the YACS module. In order to check the -result in a simple way, we create here a new YACS node by using the "*in-line -script node*" sub-menu of the YACS graphical view, and we name it -"*PostProcessing*". +result in a simple way, we use the "*UserPostAnalysis*" node (or we create here +a new YACS node by using the "*in-line script node*" sub-menu of the YACS +graphical view). This script node will retrieve the data assimilation analysis from the "*algoResults*" output port of the computation bloc (which gives access to a SALOME Python Object), and will print it on the standard output. To obtain this, the in-line script node need to have an input port of type -"*pyobj*", named "*results*" for example, that have to be linked graphically to +"*pyobj*", named "*Study*" for example, that have to be linked graphically to the "*algoResults*" output port of the computation bloc. Then, the code to fill in the script node is:: - Xa = results.ADD.get("Analysis")[-1] + Xa = Study.getResults().get("Analysis")[-1] print print "Analysis =",Xa print -The augmented YACS scheme can be saved (overwriting the generated scheme if the -"*Save*" command or button are used, or with a new name through the "*Save as*" -command). Ideally, the implementation of such post-processing procedure can be -done in YACS to test, and then entirely saved in one Python script that can be -integrated in the ADAO case by using the keyword "*UserPostAnalysis*". +The (initial or augmented) YACS scheme can be saved (overwriting the generated +scheme if the "*Save*" command or button are used, or with a new name through +the "*Save as*" command). Ideally, the implementation of such post-processing +procedure can be done in YACS to test, and then entirely saved in one Python +script that can be integrated in the ADAO case by using the keyword +"*UserPostAnalysis*". Then, classically in YACS, the scheme have to be compiled for run, and then executed. After completion, the printing on standard output is available in the @@ -310,13 +311,22 @@ Adding parameters to control the data assimilation algorithm One can add some optional parameters to control the data assimilation algorithm calculation. This is done by using optional parameters in the -"*AlgorithmParameters*" command of the ADAO case definition, which is a keyword of -the "*ASSIMILATION_STUDY*" general command. This keyword requires an explicit -definition of the values or a Python dictionary, containing some key/value -pairs. The list of possible optional parameters are given in the section -:ref:`section_reference` and its subsections. +"*AlgorithmParameters*" command of the ADAO case definition, which is a keyword +of the "*ASSIMILATION_STUDY*" general command. This keyword requires an explicit +definition of the values from default ones, or from a Python dictionary, +containing some key/value pairs. The list of possible optional parameters are +given in the section :ref:`section_reference` and its subsections. The +recommandation is to use the explicit definition of values from the default list +of optionnal parameters, as here with the "*MaximumNumberOfSteps*": -This dictionary has to be defined, for example, in an external Python script + .. _adao_scriptentry02: + .. image:: images/adao_scriptentry02.png + :align: center + :width: 100% + .. centered:: + **Adding parameters to control the algorithm and the outputs** + +This dictionary can be defined, for example, in an external Python script file, using the mandatory variable name "*AlgorithmParameters*" for the dictionary. All the keys inside the dictionary are optional, they all have default values, and can exist without being used. For example:: @@ -331,16 +341,8 @@ the "*BFGS*" or "*CG*" minimization algorithm for all the variational data assimilation or optimization algorithms. For constrained optimization, the minimizer "*LBFGSB*" is often more robust, but the "*TNC*" is sometimes more effective. In a general way, the "*LBFGSB*" algorithm choice is recommended. - Then the script can be added to the ADAO case, in a file entry describing the -"*AlgorithmParameters*" keyword, as follows: - - .. _adao_scriptentry02: - .. image:: images/adao_scriptentry02.png - :align: center - :width: 100% - .. centered:: - **Adding parameters to control the algorithm and the outputs** +"*Parameters*" keyword. Other steps and results are exactly the same as in the `Building an estimation case with explicit data definition`_ previous example. The dictionary can also diff --git a/doc/en/images/adao_activate.png b/doc/en/images/adao_activate.png index bb99801..e0243e7 100644 Binary files a/doc/en/images/adao_activate.png and b/doc/en/images/adao_activate.png differ diff --git a/doc/en/images/adao_algopar_defaults.png b/doc/en/images/adao_algopar_defaults.png index 2ad7368..8a8a832 100644 Binary files a/doc/en/images/adao_algopar_defaults.png and b/doc/en/images/adao_algopar_defaults.png differ diff --git a/doc/en/images/adao_algopar_script.png b/doc/en/images/adao_algopar_script.png index 14db2c7..be5551c 100644 Binary files a/doc/en/images/adao_algopar_script.png and b/doc/en/images/adao_algopar_script.png differ diff --git a/doc/en/images/adao_algopar_string.png b/doc/en/images/adao_algopar_string.png index b6ce2de..565aad2 100644 Binary files a/doc/en/images/adao_algopar_string.png and b/doc/en/images/adao_algopar_string.png differ diff --git a/doc/en/images/adao_exporttoyacs.png b/doc/en/images/adao_exporttoyacs.png index 25a98d7..4d85162 100644 Binary files a/doc/en/images/adao_exporttoyacs.png and b/doc/en/images/adao_exporttoyacs.png differ diff --git a/doc/en/images/adao_jdcexample01.png b/doc/en/images/adao_jdcexample01.png index 5dbd8a4..0fc9886 100644 Binary files a/doc/en/images/adao_jdcexample01.png and b/doc/en/images/adao_jdcexample01.png differ diff --git a/doc/en/images/adao_jdcexample02.png b/doc/en/images/adao_jdcexample02.png index 02e1440..412347f 100644 Binary files a/doc/en/images/adao_jdcexample02.png and b/doc/en/images/adao_jdcexample02.png differ diff --git a/doc/en/images/adao_scriptentry01.png b/doc/en/images/adao_scriptentry01.png index c2be12d..80b2eb0 100644 Binary files a/doc/en/images/adao_scriptentry01.png and b/doc/en/images/adao_scriptentry01.png differ diff --git a/doc/en/images/adao_scriptentry02.png b/doc/en/images/adao_scriptentry02.png index 762fb00..1bcd8d5 100644 Binary files a/doc/en/images/adao_scriptentry02.png and b/doc/en/images/adao_scriptentry02.png differ diff --git a/doc/en/images/adao_viewer.png b/doc/en/images/adao_viewer.png index acf79d1..cc705b3 100644 Binary files a/doc/en/images/adao_viewer.png and b/doc/en/images/adao_viewer.png differ diff --git a/doc/en/images/eficas_covariance_matrix.png b/doc/en/images/eficas_covariance_matrix.png index 039bcca..df78b7d 100644 Binary files a/doc/en/images/eficas_covariance_matrix.png and b/doc/en/images/eficas_covariance_matrix.png differ diff --git a/doc/en/images/eficas_observer_nodetype.png b/doc/en/images/eficas_observer_nodetype.png index a604eb5..aceeb29 100644 Binary files a/doc/en/images/eficas_observer_nodetype.png and b/doc/en/images/eficas_observer_nodetype.png differ diff --git a/doc/en/images/eficas_operator_function.png b/doc/en/images/eficas_operator_function.png index 3d52f25..6572a3a 100644 Binary files a/doc/en/images/eficas_operator_function.png and b/doc/en/images/eficas_operator_function.png differ diff --git a/doc/en/images/yacs_containerlog.png b/doc/en/images/yacs_containerlog.png index 0fe0eb6..a759a59 100644 Binary files a/doc/en/images/yacs_containerlog.png and b/doc/en/images/yacs_containerlog.png differ diff --git a/doc/en/images/yacs_generatedscheme.png b/doc/en/images/yacs_generatedscheme.png index 2406716..06f8569 100644 Binary files a/doc/en/images/yacs_generatedscheme.png and b/doc/en/images/yacs_generatedscheme.png differ diff --git a/doc/en/ref_observers_requirements.rst b/doc/en/ref_observers_requirements.rst index 7c6eda3..ed64185 100644 --- a/doc/en/ref_observers_requirements.rst +++ b/doc/en/ref_observers_requirements.rst @@ -50,7 +50,7 @@ The "*observer*" can be given as a explicit script (entry of type "*String*"), as a script in an external file (entry of type "*Script*"), or by using a template or pattern (entry of type"*Template*") available by default in ADAO when using the graphical editor. These templates are simple scripts that can be -tuned by the user, either in the integrated edition stage of the case, or in +tuned by the user, either in the integrated edtition stage of the case, or in the edition stage of the schema before execution, to improve the ADAO case performance in the SALOME execution supervisor. diff --git a/doc/fr/examples.rst b/doc/fr/examples.rst index c4bef6f..d86e013 100644 --- a/doc/fr/examples.rst +++ b/doc/fr/examples.rst @@ -183,31 +183,31 @@ sch Après ce point, toutes les modifications, exécutions et post-processing du schéma d'assimilation de données seront effectués dans le module YACS. De -manière à vérifier les résultats d'une manière simple, on crée ici un nouveau -noeud YACS en utilisant le sous-menu "*Noeud de script in-line*" dans la vue -graphique de YACS, et on le nomme "*PostProcessing*". +manière à vérifier les résultats d'une manière simple, on utilise le noeud +"*UserPostAnalysis*" (ou on crée ici un nouveau noeud YACS par le sous-menu +"*Noeud de script in-line*" dans la vue graphique de YACS). Ce noeud de script va récupérer l'analyse issue de l'assimilation de données depuis le port de sortie "*algoResults*" du bloc de calcul (qui donne accés à un objet Python SALOME), et va l'afficher à la sortie standard. Pour obtenir ceci, ce noeud de script doit comporter un port d'entrée de type -"*pyobj*", nommé "*results*" par exemple, qui doit être relié graphiquement au +"*pyobj*", nommé "*Study*" par exemple, qui doit être relié graphiquement au port de sortie "*algoResults*" du bloc de calcul. Ensuite, le code pour remplir le noeud de script est:: - Xa = results.ADD.get("Analysis")[-1] + Xa = Study.getResults().get("Analysis")[-1] print print "Analysis =",Xa print -Le schéma YACS complété peut être enregistré (en écrasant le schéma généré si la -commande ou le bouton "*Enregistrer*" sont utilisés, ou sinon avec un nom -nouveau par la commande "*Enregistrer sous*"). De manière pratique, la mise au -point d'une telle procédure de post-processing peut être réalisée dans YACS pour -la tester, et ensuite entièrement enregistrée dans un script Python qui peut -être intégré au cas ADAO en utilisant le mot-clé "*UserPostAnalysis*". +Le schéma YACS (initial ou complété) peut être enregistré (en écrasant le schéma +généré si la commande ou le bouton "*Enregistrer*" sont utilisés, ou sinon avec +un nom nouveau par la commande "*Enregistrer sous*"). De manière pratique, la +mise au point d'une telle procédure de post-processing peut être réalisée dans +YACS pour la tester, et ensuite entièrement enregistrée dans un script Python +qui peut être intégré au cas ADAO en utilisant le mot-clé "*UserPostAnalysis*". Ensuite, de manière classique dans YACS, le schéma doit être compilé, et ensuite être exécuté. Après la fin de l'exécution, les affichages sur la sortie standard @@ -329,13 +329,23 @@ Ajout de param On peut ajouter des paramètres optionnels pour contrôler le calcul de l'algorithme d'assimilation de données. Ceci se fait en utilisant les paramètres -optionnels dans la commande "*AlgorithmParameters*" de la définition du cas ADAO, -qui est un mot-clé de la commande générale "*ASSIMILATION_STUDY*". Ce mot-clé -nécessite une définition explicite des valeurs ou un dictionnaire Python, -contenant des paires clé/valeur. La liste des paramètres optionnels possibles -sont donnés dans la section :ref:`section_reference` et ses sous-sections. +optionnels dans la commande "*AlgorithmParameters*" de la définition du cas +ADAO, qui est un mot-clé de la commande générale "*ASSIMILATION_STUDY*". Ce +mot-clé nécessite une définition explicite des valeurs à partir de valeurs par +défaut, ou à partir d'un dictionnaire Python, contenant des paires clé/valeur. +La liste des paramètres optionnels possibles sont donnés dans la section +:ref:`section_reference` et ses sous-sections. On recommande d'utiliser la +définition explicite de valeurs à partir de la liste par défaut de paramètres +optionnels, comme ici avec le "*MaximumNumberOfSteps*": -Le dictionnaire doit être défini, par exemple, dans un fichiers externe de + .. _adao_scriptentry02: + .. image:: images/adao_scriptentry02.png + :align: center + :width: 100% + .. centered:: + **Ajouter des paramètres pour contrôler l'algorithme et les sorties** + +Le dictionnaire peut être défini, par exemple, dans un fichiers externe de script Python, en utilisant le nom obligatoire de variable "*AlgorithmParameters*" pour le dictionnaire. Toutes les clés dans le dictionnaire sont optionnelles, elles disposent toutes d'une valeur par défaut, @@ -350,18 +360,10 @@ Si aucune borne n'est requise sur les variables de contr choisir les algorithmes de minimisation "*BFGS*" ou "*CG*" pour tous les algorithmes variationnels d'assimilation de données ou d'optimisation. Pour l'optimisation sous contraintes, l'algorithme "*LBFGSB*" est bien souvent plus -robuste, mais le "*TNC*" est parfois plus performant. De manière générale, -le choix de l'algorithme "*LBFGSB*" est recommandé. - -Ensuite le script peut être ajouté au cas ADAO, dans une entrée de type fichier -pour le mot-clé "*AlgorithmParameters*", de la manière suivante: - - .. _adao_scriptentry02: - .. image:: images/adao_scriptentry02.png - :align: center - :width: 100% - .. centered:: - **Ajouter des paramètres pour contrôler l'algorithme et les sorties** +robuste, mais le "*TNC*" est parfois plus performant. De manière générale, le +choix de l'algorithme "*LBFGSB*" est recommandé. Ensuite le script peut être +ajouté au cas ADAO, dans une entrée de type fichier associé au format "*Dict*" +dans le mot-clé "*Parameters*". Les autres étapes et résultats sont exactement les mêmes que dans l'exemple précédent `Construire un cas d'estimation avec une définition explicite des diff --git a/doc/fr/images/adao_activate.png b/doc/fr/images/adao_activate.png index bb99801..1832e3c 100644 Binary files a/doc/fr/images/adao_activate.png and b/doc/fr/images/adao_activate.png differ diff --git a/doc/fr/images/adao_algopar_defaults.png b/doc/fr/images/adao_algopar_defaults.png index c3e2dd4..8a8a832 100644 Binary files a/doc/fr/images/adao_algopar_defaults.png and b/doc/fr/images/adao_algopar_defaults.png differ diff --git a/doc/fr/images/adao_algopar_script.png b/doc/fr/images/adao_algopar_script.png index dbbb7f8..be5551c 100644 Binary files a/doc/fr/images/adao_algopar_script.png and b/doc/fr/images/adao_algopar_script.png differ diff --git a/doc/fr/images/adao_algopar_string.png b/doc/fr/images/adao_algopar_string.png index 361ad80..565aad2 100644 Binary files a/doc/fr/images/adao_algopar_string.png and b/doc/fr/images/adao_algopar_string.png differ diff --git a/doc/fr/images/adao_exporttoyacs.png b/doc/fr/images/adao_exporttoyacs.png index 25a98d7..19286dd 100644 Binary files a/doc/fr/images/adao_exporttoyacs.png and b/doc/fr/images/adao_exporttoyacs.png differ diff --git a/doc/fr/images/adao_jdcexample01.png b/doc/fr/images/adao_jdcexample01.png index 5dbd8a4..0fc9886 100644 Binary files a/doc/fr/images/adao_jdcexample01.png and b/doc/fr/images/adao_jdcexample01.png differ diff --git a/doc/fr/images/adao_jdcexample02.png b/doc/fr/images/adao_jdcexample02.png index 02e1440..412347f 100644 Binary files a/doc/fr/images/adao_jdcexample02.png and b/doc/fr/images/adao_jdcexample02.png differ diff --git a/doc/fr/images/adao_scriptentry01.png b/doc/fr/images/adao_scriptentry01.png index c2be12d..80b2eb0 100644 Binary files a/doc/fr/images/adao_scriptentry01.png and b/doc/fr/images/adao_scriptentry01.png differ diff --git a/doc/fr/images/adao_scriptentry02.png b/doc/fr/images/adao_scriptentry02.png index 762fb00..1bcd8d5 100644 Binary files a/doc/fr/images/adao_scriptentry02.png and b/doc/fr/images/adao_scriptentry02.png differ diff --git a/doc/fr/images/adao_viewer.png b/doc/fr/images/adao_viewer.png index acf79d1..bbf1de3 100644 Binary files a/doc/fr/images/adao_viewer.png and b/doc/fr/images/adao_viewer.png differ diff --git a/doc/fr/images/eficas_covariance_matrix.png b/doc/fr/images/eficas_covariance_matrix.png index 039bcca..df78b7d 100644 Binary files a/doc/fr/images/eficas_covariance_matrix.png and b/doc/fr/images/eficas_covariance_matrix.png differ diff --git a/doc/fr/images/eficas_observer_nodetype.png b/doc/fr/images/eficas_observer_nodetype.png index a604eb5..aceeb29 100644 Binary files a/doc/fr/images/eficas_observer_nodetype.png and b/doc/fr/images/eficas_observer_nodetype.png differ diff --git a/doc/fr/images/eficas_operator_function.png b/doc/fr/images/eficas_operator_function.png index 3d52f25..6572a3a 100644 Binary files a/doc/fr/images/eficas_operator_function.png and b/doc/fr/images/eficas_operator_function.png differ diff --git a/doc/fr/images/yacs_containerlog.png b/doc/fr/images/yacs_containerlog.png index 0fe0eb6..4f9ff72 100644 Binary files a/doc/fr/images/yacs_containerlog.png and b/doc/fr/images/yacs_containerlog.png differ diff --git a/doc/fr/images/yacs_generatedscheme.png b/doc/fr/images/yacs_generatedscheme.png index 2406716..e4ef228 100644 Binary files a/doc/fr/images/yacs_generatedscheme.png and b/doc/fr/images/yacs_generatedscheme.png differ diff --git a/doc/fr/using.rst b/doc/fr/using.rst index f2dc368..f8038b8 100644 --- a/doc/fr/using.rst +++ b/doc/fr/using.rst @@ -93,7 +93,7 @@ l'ouverture d'une En choisissant le bouton "*Nouveau*", un éditeur intégré de cas [#]_ sera ouvert, en même temps que le "*navigateur d'objets*" standard. On peut alors -cliquer sur le bouton "*Nouveau*"(ou choisir l'entrée "*Nouveau*" dans le dans +cliquer sur le bouton "*Nouveau*" (ou choisir l'entrée "*Nouveau*" dans le dans le menu principal "*ADAO*") pour créer un nouveau cas ADAO, et on obtient : .. _adao_viewer: diff --git a/examples/daSalome/test001_ADAO_JDC_using_strings.comm b/examples/daSalome/test001_ADAO_JDC_using_strings.comm index e2db6ef..c6f7337 100644 --- a/examples/daSalome/test001_ADAO_JDC_using_strings.comm +++ b/examples/daSalome/test001_ADAO_JDC_using_strings.comm @@ -28,5 +28,5 @@ ASSIMILATION_STUDY(StudyName='Test', """import numpy xa=numpy.ravel(ADD.get('Analysis')[-1]) print 'Analysis:',xa""",),); -#VERSION_CATALOGUE:V7_6_0:FIN VERSION_CATALOGUE - +#VERSION_CATALOGUE:V8_3_0:FIN VERSION_CATALOGUE +#CHECKSUM:d0ae74c3d19e5dc06266e154bab77956 -:FIN CHECKSUM \ No newline at end of file