Salome HOME
Documentation and code improvements for args
[modules/adao.git] / README.txt
1 =====================================================
2 ADAO: A module for Data Assimilation and Optimization
3 =====================================================
4
5 About
6 -----
7
8 **The ADAO module provides data assimilation and optimization**
9 features in Python or SALOME context (see
10 http://www.salome-platform.org/). Briefly stated, Data Assimilation is
11 a methodological framework to compute the optimal estimate of the
12 inaccessible true value of a system state, eventually over time. It
13 uses information coming from experimental measurements or observations,
14 and from numerical *a priori* models, including information about their
15 errors. Parts of the framework are also known under the names of
16 *parameter estimation*, *inverse problems*, *Bayesian estimation*,
17 *optimal interpolation*, etc. More details can be found in the full
18 ADAO documentation (see https://www.salome-platform.org/).
19
20 Only the use of ADAO text programming interface (API/TUI) is introduced
21 here. This interface gives ability to create a calculation object in a
22 similar way than the case building obtained through the graphical
23 interface (GUI). When one wants to elaborate "by hand" the TUI
24 calculation case, it is recommended to extensively use all the ADAO
25 module documentation, and to go back if necessary to the graphical
26 interface (GUI), to get all the elements allowing to correctly set the
27 commands.
28
29 A simple setup example of an ADAO TUI calculation case
30 ------------------------------------------------------
31
32 To introduce the TUI interface, lets begin by a simple but complete
33 example of ADAO calculation case. All the data are explicitly defined
34 inside the script in order to make the reading easier. The whole set of
35 commands is the following one::
36
37     from numpy import array, matrix
38     from adao import adaoBuilder
39     case = adaoBuilder.New()
40     case.set( 'AlgorithmParameters', Algorithm='3DVAR' )
41     case.set( 'Background',          Vector=[0, 1, 2] )
42     case.set( 'BackgroundError',     ScalarSparseMatrix=1.0 )
43     case.set( 'Observation',         Vector=array([0.5, 1.5, 2.5]) )
44     case.set( 'ObservationError',    DiagonalSparseMatrix='1 1 1' )
45     case.set( 'ObservationOperator', Matrix='1 0 0;0 2 0;0 0 3' )
46     case.set( 'Observer',            Variable="Analysis", Template="ValuePrinter" )
47     case.execute()
48
49 The result of running these commands in SALOME (either as a SALOME
50 "*shell*" command, in the Python command window of the interface, or by
51 the script execution entry of the menu) is the following::
52
53     Analysis [ 0.25000264  0.79999797  0.94999939]
54
55 More advanced examples of ADAO TUI calculation case
56 ---------------------------------------------------
57
58 Real cases involve observations loaded from files, operators explicitly
59 defined as generic functions including physical simulators, time dependant
60 information in order to deal with forecast analysis in addition to calibration
61 or re-analysis. More details can be found in the full ADAO documentation (see
62 documentation on the reference site https://www.salome-platform.org/, with
63 https://docs.salome-platform.org/latest/gui/ADAO/en/index.html for english or
64 https://docs.salome-platform.org/latest/gui/ADAO/fr/index.html for french, both
65 being equivalents).
66
67 License and requirements
68 ------------------------
69
70 The license for this module is the GNU Lesser General Public License
71 (Lesser GPL), as stated here and in the source files::
72
73     <ADAO, a module for Data Assimilation and Optimization>
74
75     Copyright (C) 2008-2021 EDF R&D
76
77     This library is free software; you can redistribute it and/or
78     modify it under the terms of the GNU Lesser General Public
79     License as published by the Free Software Foundation; either
80     version 2.1 of the License, or (at your option) any later version.
81
82     This library is distributed in the hope that it will be useful,
83     but WITHOUT ANY WARRANTY; without even the implied warranty of
84     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
85     Lesser General Public License for more details.
86
87     You should have received a copy of the GNU Lesser General Public
88     License along with this library; if not, write to the Free Software
89     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
90
91     See http://www.salome-platform.org/
92
93 In addition, we require that all publication or presentation describing
94 work using this software, or all commercial or not products using it,
95 quote at least one of the references given below:
96
97     * *ADAO, a module for Data Assimilation and Optimization*,
98       http://www.salome-platform.org/
99
100     * *ADAO, un module pour l'Assimilation de Données et l'Aide à
101       l'Optimisation*, http://www.salome-platform.org/
102
103     * *SALOME The Open Source Integration Platform for Numerical Simulation*,
104       http://www.salome-platform.org/
105
106 The documentation of the module is also covered by the license and the
107 requirement of quoting.