Salome HOME
Minor documentation and source improvements
[modules/adao.git] / doc / en / ref_assimilation_keywords.rst
1 ..
2    Copyright (C) 2008-2015 EDF R&D
3
4    This file is part of SALOME ADAO module.
5
6    This library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
10
11    This library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
15
16    You should have received a copy of the GNU Lesser General Public
17    License along with this library; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19
20    See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
22    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
23
24 .. index:: single: ASSIMILATION_STUDY
25 .. _section_ref_assimilation_keywords:
26
27 List of commands and keywords for an ADAO calculation case
28 ----------------------------------------------------------
29
30 .. index:: single: Algorithm
31 .. index:: single: AlgorithmParameters
32 .. index:: single: Background
33 .. index:: single: BackgroundError
34 .. index:: single: ControlInput
35 .. index:: single: Debug
36 .. index:: single: EvolutionError
37 .. index:: single: EvolutionModel
38 .. index:: single: InputVariables
39 .. index:: single: Observation
40 .. index:: single: ObservationError
41 .. index:: single: ObservationOperator
42 .. index:: single: Observer
43 .. index:: single: Observers
44 .. index:: single: Observer Template
45 .. index:: single: OutputVariables
46 .. index:: single: StudyName
47 .. index:: single: StudyRepertory
48 .. index:: single: UserDataInit
49 .. index:: single: UserPostAnalysis
50 .. index:: single: UserPostAnalysis Template
51
52 This set of commands is related to the description of a calculation case,
53 that is a *Data Assimilation* procedure or an *Optimization* procedure. The
54 terms are ordered in alphabetical order, except the first, which describes
55 choice between calculation or checking.
56
57 The different commands are the following:
58
59   **ASSIMILATION_STUDY**
60     *Required command*. This is the general command describing the data
61     assimilation or optimization case. It hierarchically contains all the other
62     commands.
63
64   AlgorithmParameters
65     *Required command*. This indicates the data assimilation or optimization
66     algorithm chosen by the keyword "*Algorithm*", and its potential optional
67     parameters. The algorithm choices are available through the GUI. There
68     exists for example "3DVAR", "Blue"... Each algorithm is defined, below, by a
69     specific subsection. Optionaly, the command allows also to add some
70     parameters to control the algorithm. Their values are defined either
71     explicitly or in a "*Dict*" type object. See the
72     :ref:`section_ref_options_Algorithm_Parameters` for the detailed use of this
73     command part.
74
75   Background
76     *Required command*. This indicates the background or initial vector used,
77     previously noted as :math:`\mathbf{x}^b`. Its value is defined as a
78     "*Vector*" type object.
79
80   BackgroundError
81     *Required command*. This indicates the background error covariance matrix,
82     previously noted as :math:`\mathbf{B}`. Its value is defined as a "*Matrix*"
83     type object, a "*ScalarSparseMatrix*" type object, or a
84     "*DiagonalSparseMatrix*" type object.
85
86   ControlInput
87     *Optional command*. This indicates the control vector used to force the
88     evolution model at each step, usually noted as :math:`\mathbf{U}`. Its value
89     is defined as a "*Vector*" or a *VectorSerie* type object. When there is no
90     control, it has to be a void string ''.
91
92   Debug
93     *Optional command*. This define the level of trace and intermediary debug
94     information. The choices are limited between 0 (for False) and 1 (for
95     True).
96
97   EvolutionError
98     *Optional command*. This indicates the evolution error covariance matrix,
99     usually noted as :math:`\mathbf{Q}`. It is defined as a "*Matrix*" type
100     object, a "*ScalarSparseMatrix*" type object, or a "*DiagonalSparseMatrix*"
101     type object.
102
103   EvolutionModel
104     *Optional command*. This indicates the evolution model operator, usually
105     noted :math:`M`, which describes an elementary step of evolution. Its value
106     is defined as a "*Function*" type object or a "*Matrix*" type one. In the
107     case of "*Function*" type, different functional forms can be used, as
108     described in the section :ref:`section_ref_operator_requirements`. If there
109     is some control :math:`U` included in the evolution model, the operator has
110     to be applied to a pair :math:`(X,U)`.
111
112   InputVariables
113     *Optional command*. This command allows to indicates the name and size of
114     physical variables that are bundled together in the state vector. This
115     information is dedicated to data processed inside an algorithm.
116
117   Observation
118     *Required command*. This indicates the observation vector used for data
119     assimilation or optimization, previously noted as :math:`\mathbf{y}^o`. It
120     is defined as a "*Vector*" or a *VectorSerie* type object.
121
122   ObservationError
123     *Required command*. This indicates the observation error covariance matrix,
124     previously noted as :math:`\mathbf{R}`. It is defined as a "*Matrix*" type
125     object, a "*ScalarSparseMatrix*" type object, or a "*DiagonalSparseMatrix*"
126     type object.
127
128   ObservationOperator
129     *Required command*. This indicates the observation operator, previously
130     noted :math:`H`, which transforms the input parameters :math:`\mathbf{x}` to
131     results :math:`\mathbf{y}` to be compared to observations
132     :math:`\mathbf{y}^o`. Its value is defined as a "*Function*" type object or
133     a "*Matrix*" type one. In the case of "*Function*" type, different
134     functional forms can be used, as described in the section
135     :ref:`section_ref_operator_requirements`. If there is some control
136     :math:`U` included in the observation, the operator has to be applied to a
137     pair :math:`(X,U)`.
138
139   Observers
140     *Optional command*. This command allows to set internal observers, that are
141     functions linked with a particular variable, which will be executed each
142     time this variable is modified. It is a convenient way to monitor variables
143     of interest during the data assimilation or optimization process, by
144     printing or plotting it, etc. Common templates are provided to help the user
145     to start or to quickly make his case.
146
147   OutputVariables
148     *Optional command*. This command allows to indicates the name and size of
149     physical variables that are bundled together in the output observation
150     vector. This information is dedicated to data processed inside an algorithm.
151
152   StudyName
153     *Required command*. This is an open string to describe the ADAO study by a
154     name or a sentence.
155
156   StudyRepertory
157     *Optional command*. If available, this directory is used as base name for
158     calculation, and used to find all the script files, given by name without
159     path, that can be used to define some other commands by scripts.
160
161   UserDataInit
162     *Optional command*. This commands allows to initialize some parameters or
163     data automatically before algorithm input processing. It indicates a script
164     file name to be executed before entering in initialization phase of chosen
165     variables.
166
167   UserPostAnalysis
168     *Optional command*. This commands allows to process some parameters or data
169     automatically after data assimilation or optimization algorithm processing.
170     Its value is defined as a script file or a string, allowing to put
171     post-processing code directly inside the ADAO case. Common templates are
172     provided to help the user to start or to quickly make his case.