]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Documentation and code minor corrections
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sun, 11 Nov 2018 20:36:13 +0000 (21:36 +0100)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sun, 11 Nov 2018 20:36:13 +0000 (21:36 +0100)
doc/en/bibliography.rst
doc/en/theory.rst
doc/fr/bibliography.rst
doc/fr/theory.rst
resources/ADAOSchemaCatalog.xml
src/daSalome/daYacsIntegration/daOptimizerLoop.py

index 40e982b0f93965e61501ffffd3e642aae4c4e731..31cde69f9a44d1ee993c7c531a2f248851f8b384 100644 (file)
@@ -29,6 +29,8 @@ Bibliography
 
 .. [Argaud09] Argaud J.-P., Bouriquet B., Hunt J., *Data Assimilation from Operational and Industrial Applications to Complex Systems*, Mathematics Today, pp.150-152, October 2009
 
+.. [Asch16] Asch M., Bocquet M., Nodet M., *Data Assimilation - Methods, Algorithms and Applications*, SIAM, 2016
+
 .. [GilBellosta15] Gil Bellosta C. J., *rPython: Package Allowing R to Call Python*, CRAN, 2015, https://cran.r-project.org/web/packages/rPython/ and http://rpython.r-forge.r-project.org/
 
 .. [Bouttier99] Bouttier B., Courtier P., *Data assimilation concepts and methods*, Meteorological Training Course Lecture Series, ECMWF, 1999
index 21befe4b93b44f015f88a17de8345b80e5af4d7b..9b60e012c140213f5fade7a1f1bee60df4aa324a 100644 (file)
 .. index:: single: observation
 .. index:: single: a priori
 
-**Data Assimilation** is a general framework for computing the optimal estimate
-of the true state of a system, over time if necessary. It uses values obtained
-by combining both observations and *a priori* models, including information
-about their errors.
+**Data Assimilation** is a general well established framework for computing the
+optimal estimate of the true state of a system, over time if necessary. It uses
+values obtained by combining both observations and *a priori* models, including
+information about their errors.
 
 In other words, data assimilation merges measurement data of a system, that are
 the observations, with *a priori* system physical and mathematical knowledge,
-embedded in numerical models, to obtain the best possible estimate of the system
-real state and of its stochastic properties. Note that this real state (or
-"*true state*") can not be reached, but can only be estimated. Moreover, despite
-the fact that the used information are stochastic by nature, data assimilation
-provides deterministic techniques in order to perform very efficiently the
-estimation.
-
-Because data assimilation look for the **best possible** estimate, its
+embedded in numerical models. The goal is to obtain the best possible estimate
+of the system real state and of its stochastic properties. Note that this real
+state (or "*true state*") can not be reached, but can only be estimated.
+Moreover, despite the fact that the used information are stochastic by nature,
+data assimilation provides deterministic techniques in order to perform very
+efficiently the estimation.
+
+Because data assimilation looks for the **best possible** estimate, its
 underlying procedure always integrates optimization in order to find this
 estimate: particular optimization methods are always embedded in data
 assimilation algorithms. Optimization methods can be seen in ADAO as a way to
@@ -133,6 +133,13 @@ parameters estimation problem consists in finding for example the right Young
 coefficient value in order that the simulation of the beam corresponds to
 measurements, including the knowledge of errors.
 
+All quantities representing the description of physics in a model are likely to
+be calibrated in a data assimilation process, whether they are model
+parameters, initial conditions or boundary conditions. Their simultaneous
+consideration is greatly facilitated by the data assimilation framework, which
+makes it possible to objectively process a heterogeneous set of available
+information.
+
 Simple description of the data assimilation methodological framework
 --------------------------------------------------------------------
 
@@ -263,9 +270,9 @@ Going further in the data assimilation framework
 To get more information about the data assimilation techniques, the reader can
 consult introductory documents like [Talagrand97]_ or [Argaud09]_, on-line
 training courses or lectures like [Bouttier99]_ and [Bocquet04]_ (along with
-other materials coming from geosciences applications), or general documents like
-[Talagrand97]_, [Tarantola87]_, [Kalnay03]_, [Ide97]_, [Tikhonov77]_ and
-[WikipediaDA]_.
+other materials coming from geosciences applications), or general documents
+like [Talagrand97]_, [Tarantola87]_, [Asch16]_, [Kalnay03]_, [Ide97]_,
+[Tikhonov77]_ and [WikipediaDA]_.
 
 Note that data assimilation is not restricted to meteorology or geo-sciences,
 but is widely used in other scientific domains. There are several fields in
index 9f239d46f5f9fb99e3b5b923aed714d4152cb681..3eb5ce9cbe49b7aa914bbbc1c0ff6b373a601a0c 100644 (file)
@@ -29,6 +29,8 @@ Bibliographie
 
 .. [Argaud09] Argaud J.-P., Bouriquet B., Hunt J., *Data Assimilation from Operational and Industrial Applications to Complex Systems*, Mathematics Today, pp.150-152, October 2009
 
+.. [Asch16] Asch M., Bocquet M., Nodet M., *Data Assimilation - Methods, Algorithms and Applications*, SIAM, 2016
+
 .. [GilBellosta15] Gil Bellosta C. J., *rPython: Package Allowing R to Call Python*, CRAN, 2015, https://cran.r-project.org/web/packages/rPython/ and http://rpython.r-forge.r-project.org/
 
 .. [Bouttier99] Bouttier B., Courtier P., *Data assimilation concepts and methods*, Meteorological Training Course Lecture Series, ECMWF, 1999
index 1aeb7a2179cab997a709f40b82471cc5787351d4..3ed87d713609b15e2082dd1a7b25e1036decce57 100644 (file)
 .. index:: single: observation
 .. index:: single: a priori
 
-L'**assimilation de données** est un cadre général pour le calcul de
+L'**assimilation de données** est un cadre général bien établi pour le calcul de
 l'estimation optimale de l'état réel d'un système, au cours du temps si
 nécessaire. Il utilise les valeurs obtenues en combinant des observations et des
 modèles *a priori*, incluant de plus des informations sur leurs erreurs.
 
-En d'autres termes, l'assimilation de données rassemble les données mesurées
-d'un système, qui sont les observations, avec une connaissance physique et
-mathématique *a priori* du système, intégrée dans les modèles numériques, afin
-d'obtenir la meilleure estimation possible de l'état réel du système et de ses
-propriétés stochastiques. On note que cet état réel (ou "*état vrai*") ne peut
ªtre atteint, mais peut seulement Ãªtre estimé. De plus, malgré le fait que les
-informations utilisées sont stochastiques par nature, l'assimilation de données
-fournit des techniques déterministes afin de réaliser l'estimation de manière
-très efficace.
-
-L'assimilation de données cherchant l'estimation la **meilleure possible**, la
-démarche technique sous-jacente intègre toujours de l'optimisation afin de
+En d'autres termes, l'assimilation de données est un moyen de fusionner les
+données mesurées d'un système, qui sont les observations, avec des
+connaissances physique et mathématique *a priori* du système, intégrées dans
+les modèles numériques. L'objectif est d'obtenir la meilleure estimation possible
+de l'état réel du système et de ses propriétés stochastiques. On note que cet
©tat réel (ou "*état vrai*") ne peut Ãªtre atteint, mais peut seulement Ãªtre
+estimé. De plus, malgré le fait que les informations utilisées sont
+stochastiques par nature, l'assimilation de données fournit des techniques
+déterministes afin de réaliser l'estimation de manière très efficace.
+
+Comme l'assimilation de données cherche l'estimation la **meilleure possible**,
+la démarche technique sous-jacente intègre toujours de l'optimisation afin de
 trouver cette estimation : des méthodes d'optimisation choisies sont toujours
 intégrées dans les algorithmes d'assimilation de données. Par ailleurs, les
-méthodes d'optimisation peuvent être vues dans ADAO comme un moyen d'étendre les
-applications d'assimilation de données. Elles seront présentées de cette façon
-dans la section pour `Approfondir l'estimation d'état par des méthodes
-d'optimisation`_, mais elles sont beaucoup plus générale et peuvent être
+méthodes d'optimisation peuvent être vues dans ADAO comme un moyen d'étendre
+les applications d'assimilation de données. Elles seront présentées de cette
+façon dans la section pour `Approfondir l'estimation d'état par des méthodes
+d'optimisation`_, mais elles sont beaucoup plus générales et peuvent être
 utilisés sans les concepts d'assimilation de données.
 
 Deux types principaux d'applications existent en assimilation de données, qui
@@ -141,6 +141,13 @@ par exemple la bonne valeur du coefficient de Young de telle manière à ce que
 simulation de la poutre corresponde aux mesures, en y incluant la connaissance
 des erreurs.
 
+Toutes les grandeurs représentant la description de la physique dans un modèle
+sont susceptibles d'être calibrés dans une démarche d'assimilation de données,
+que ce soient des paramètres de modèles, des conditions initiales ou des
+conditions aux limites. Leur prise en compte simultanée est largement facilitée
+par la démarche d'assimilation de données, permettant de traiter objectivement
+un ensemble hétérogène d'informations à disposition.
+
 Description simple du cadre méthodologique de l'assimilation de données
 -----------------------------------------------------------------------
 
@@ -275,7 +282,8 @@ données, le lecteur peut consulter les documents introductifs comme
 [Talagrand97]_ ou [Argaud09]_, des supports de formations ou de cours comme
 [Bouttier99]_ et [Bocquet04]_ (ainsi que d'autres documents issus des
 applications des géosciences), ou des documents généraux comme [Talagrand97]_,
-[Tarantola87]_, [Kalnay03]_, [Ide97]_, [Tikhonov77]_ et [WikipediaDA]_.
+[Tarantola87]_, [Asch16]_, [Kalnay03]_, [Ide97]_, [Tikhonov77]_ et
+[WikipediaDA]_.
 
 On note que l'assimilation de données n'est pas limitée à la météorologie ou aux
 géo-sciences, mais est largement utilisée dans d'autres domaines scientifiques.
index 9cab17f2440448366925e1e9aced8baf5b2e5a6e..3abb570964b862e51b881d492680c85a4d3f1e48 100644 (file)
@@ -67,8 +67,7 @@ print("Algorithm is set to...:", Algorithm)
 
 try:
     # Create Assimilation study
-    if sys.version_info.major > 2:
-        import adao
+    if sys.version_info.major > 2: import adao
     from daYacsIntegration.daStudy import *
     assim_study = daStudy(Name, Algorithm, Debug)
 
@@ -538,7 +537,7 @@ if sys.path.count(filepath)==0 or (sys.path.count(filepath)>0 and sys.path.index
 
   <inline name="ReadForSwitchNode">
     <script><code><![CDATA[import sys, logging
-if sys.version_info.major > 3: import adao
+if sys.version_info.major > 2: import adao
 logging.debug("CREATE YI Entering in ReadForSwitchNode")
 logging.debug("       with input data : ",list(data["specificParameters"]))
 switch_value = -1
@@ -554,7 +553,7 @@ logging.debug("       switching to value : "+str(switch_value))
 
   <inline name="ExtractDataNode">
     <script><code><![CDATA[import sys, logging
-if sys.version_info.major > 3: import adao
+if sys.version_info.major > 2: import adao
 logging.debug("TERMINATE Entering in ExtractDataNode")
 from daCore.AssimilationStudy import AssimilationStudy
 var = None
index 0a0591805e907aa3d938c7acc645082ca527f3f6..401ed2399b79610bff5eef92ba617879b5ba787e 100644 (file)
@@ -57,7 +57,7 @@ class OptimizerHooks:
     sample.setEltAtRank("outputVarList", outputVarList)
 
     # Les parametres specifiques à ADAO
-    specificParameters = pilot.SequenceAny_New(self.optim_algo.runtime.getTypeCode("SALOME_TYPES/Parameter"))
+    specificParameters = pilot.SequenceAny_New(self.optim_algo.runtime.getTypeCode("SALOME_TYPES/ParameterList"))
     method_name = pilot.StructAny_New(self.optim_algo.runtime.getTypeCode('SALOME_TYPES/Parameter'))
     method_name.setEltAtRank("name", "method")
     if sys.version_info.major < 3:
@@ -395,7 +395,7 @@ class AssimilationAlgorithm_asynch(SALOMERuntime.OptimizerAlgASync):
     sample.setEltAtRank("inputValues", time_sequence)
 
     # Add observer values in specific parameters
-    specificParameters = pilot.SequenceAny_New(self.runtime.getTypeCode("SALOME_TYPES/Parameter"))
+    specificParameters = pilot.SequenceAny_New(self.runtime.getTypeCode("SALOME_TYPES/ParameterList"))
 
     # Switch Value
     obs_switch = pilot.StructAny_New(self.runtime.getTypeCode('SALOME_TYPES/Parameter'))