Salome HOME
Updating algorithm interface definitions
[modules/adao.git] / src / daSalome / daYacsSchemaCreator / infos_daComposant.py
1 #-*- coding: utf-8 -*-
2 #
3 # Copyright (C) 2008-2019 EDF R&D
4 #
5 # This file is part of SALOME ADAO module
6 #
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License.
11 #
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23 # Author: Andre Ribes, andre.ribes@edf.fr, EDF R&D
24
25
26 # -- Infos pour le parser --
27
28 AnalysisData = {}
29 AnalysisFromList = ["String", "Script"]
30
31 # -- Infos from daCore --
32 AssimData = ["Background", "BackgroundError",
33              "Observation", "ObservationError",
34              "ObservationOperator",
35              "EvolutionModel", "EvolutionError",
36              "AlgorithmParameters",
37              "CheckingPoint", "ControlInput",
38              ]
39
40 AssimType = {}
41 AssimType["Background"]          = ["Vector", "VectorSerie"]
42 AssimType["BackgroundError"]     = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
43 AssimType["Observation"]         = ["Vector", "VectorSerie"]
44 AssimType["ObservationError"]    = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
45 AssimType["ObservationOperator"] = ["Matrix", "Function"]
46 AssimType["EvolutionModel"]      = ["Matrix", "Function"]
47 AssimType["EvolutionError"]      = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
48 AssimType["AlgorithmParameters"] = ["Dict"]
49 AssimType["UserDataInit"]        = ["Dict"]
50 AssimType["CheckingPoint"]       = ["Vector"]
51 AssimType["ControlInput"]        = ["Vector", "VectorSerie"]
52
53 FromNumpyList = {}
54 FromNumpyList["Vector"]               = ["String", "Script"]
55 FromNumpyList["VectorSerie"]          = ["String", "Script"]
56 FromNumpyList["Matrix"]               = ["String", "Script"]
57 FromNumpyList["ScalarSparseMatrix"]   = ["String", "Script"]
58 FromNumpyList["DiagonalSparseMatrix"] = ["String", "Script"]
59 FromNumpyList["Function"]             = ["ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
60 FromNumpyList["Dict"]                 = ["String", "Script"]
61
62 # -- Infos from daAlgorithms --
63 AssimAlgos = [
64     "3DVAR",
65     "4DVAR",
66     "Blue",
67     "ExtendedBlue",
68     "EnsembleBlue",
69     "KalmanFilter",
70     "ExtendedKalmanFilter",
71     "EnsembleKalmanFilter",
72     "UnscentedKalmanFilter",
73     "QuantileRegression",
74     "DerivativeFreeOptimization",
75     "ParticleSwarmOptimization",
76     "DifferentialEvolution",
77     "TabuSearch",
78     "LinearLeastSquares",
79     "NonLinearLeastSquares",
80     ]
81 CheckAlgos = [
82     "FunctionTest",
83     "LinearityTest",
84     "GradientTest",
85     "AdjointTest",
86     "TangentTest",
87     "LocalSensitivityTest",
88     "SamplingTest",
89     "ObserverTest",
90     ]
91
92 AlgoDataRequirements = {}
93 AlgoDataRequirements["3DVAR"] = [
94     "Background", "BackgroundError",
95     "Observation", "ObservationError",
96     "ObservationOperator",
97     ]
98 AlgoDataRequirements["4DVAR"] = [
99     "Background", "BackgroundError",
100     "Observation", "ObservationError",
101     "ObservationOperator",
102     ]
103 AlgoDataRequirements["Blue"] = [
104     "Background", "BackgroundError",
105     "Observation", "ObservationError",
106     "ObservationOperator",
107     ]
108 AlgoDataRequirements["ExtendedBlue"] = [
109     "Background", "BackgroundError",
110     "Observation", "ObservationError",
111     "ObservationOperator",
112     ]
113 AlgoDataRequirements["EnsembleBlue"] = [
114     "Background", "BackgroundError",
115     "Observation", "ObservationError",
116     "ObservationOperator",
117     ]
118 AlgoDataRequirements["KalmanFilter"] = [
119     "Background", "BackgroundError",
120     "Observation", "ObservationError",
121     "ObservationOperator",
122     ]
123 AlgoDataRequirements["ExtendedKalmanFilter"] = [
124     "Background", "BackgroundError",
125     "Observation", "ObservationError",
126     "ObservationOperator",
127     ]
128 AlgoDataRequirements["EnsembleKalmanFilter"] = [
129     "Background", "BackgroundError",
130     "Observation", "ObservationError",
131     "ObservationOperator",
132     ]
133 AlgoDataRequirements["UnscentedKalmanFilter"] = [
134     "Background", "BackgroundError",
135     "Observation", "ObservationError",
136     "ObservationOperator",
137     ]
138 AlgoDataRequirements["QuantileRegression"] = [
139     "Background",
140     "Observation",
141     "ObservationOperator",
142     ]
143 AlgoDataRequirements["DerivativeFreeOptimization"] = [
144     "Background", "BackgroundError",
145     "Observation", "ObservationError",
146     "ObservationOperator",
147     ]
148 AlgoDataRequirements["ParticleSwarmOptimization"] = [
149     "Background", "BackgroundError",
150     "Observation", "ObservationError",
151     "ObservationOperator",
152     ]
153 AlgoDataRequirements["DifferentialEvolution"] = [
154     "Background", "BackgroundError",
155     "Observation", "ObservationError",
156     "ObservationOperator",
157     ]
158 AlgoDataRequirements["TabuSearch"] = [
159     "Background", "BackgroundError",
160     "Observation", "ObservationError",
161     "ObservationOperator",
162     ]
163 AlgoDataRequirements["LinearLeastSquares"] = [
164     "Observation", "ObservationError",
165     "ObservationOperator",
166     ]
167 AlgoDataRequirements["NonLinearLeastSquares"] = [
168     "Background",
169     "Observation", "ObservationError",
170     "ObservationOperator",
171     ]
172
173 AlgoDataRequirements["FunctionTest"] = [
174     "CheckingPoint",
175     "ObservationOperator",
176     ]
177 AlgoDataRequirements["LinearityTest"] = [
178     "CheckingPoint",
179     "ObservationOperator",
180     ]
181 AlgoDataRequirements["GradientTest"] = [
182     "CheckingPoint",
183     "ObservationOperator",
184     ]
185 AlgoDataRequirements["AdjointTest"] = [
186     "CheckingPoint",
187     "ObservationOperator",
188     ]
189 AlgoDataRequirements["TangentTest"] = [
190     "CheckingPoint",
191     "ObservationOperator",
192     ]
193 AlgoDataRequirements["LocalSensitivityTest"] = [
194     "CheckingPoint",
195     "Observation",
196     "ObservationOperator",
197     ]
198 AlgoDataRequirements["SamplingTest"] = [
199     "CheckingPoint", "BackgroundError",
200     "Observation", "ObservationError",
201     "ObservationOperator",
202     ]
203 AlgoDataRequirements["ObserverTest"] = [
204     "Observers",
205     ]
206
207 AlgoType = {}
208 AlgoType["3DVAR"] = "Optim"
209 AlgoType["4DVAR"] = "Optim"
210 AlgoType["Blue"] = "Optim"
211 AlgoType["ExtendedBlue"] = "Optim"
212 AlgoType["EnsembleBlue"] = "Optim"
213 AlgoType["KalmanFilter"] = "Optim"
214 AlgoType["ExtendedKalmanFilter"] = "Optim"
215 AlgoType["EnsembleKalmanFilter"] = "Optim"
216 AlgoType["UnscentedKalmanFilter"] = "Optim"
217 AlgoType["QuantileRegression"] = "Optim"
218 AlgoType["DerivativeFreeOptimization"] = "Optim"
219 AlgoType["ParticleSwarmOptimization"] = "Optim"
220 AlgoType["DifferentialEvolution"] = "Optim"
221 AlgoType["TabuSearch"] = "Optim"
222 AlgoType["LinearLeastSquares"] = "Optim"
223 AlgoType["NonLinearLeastSquares"] = "Optim"
224
225 # Variables qui sont partages avec le generateur de
226 # catalogue Eficas
227
228 # Basic data types
229 BasicDataInputs = ["String", "Script", "ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
230
231 # Data input dict
232 DataTypeDict = {}
233 DataTypeDict["Vector"]               = ["String", "Script"]
234 DataTypeDict["VectorSerie"]          = ["String", "Script"]
235 DataTypeDict["Matrix"]               = ["String", "Script"]
236 DataTypeDict["ScalarSparseMatrix"]   = ["String", "Script"]
237 DataTypeDict["DiagonalSparseMatrix"] = ["String", "Script"]
238 DataTypeDict["Function"]             = ["ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
239 DataTypeDict["Dict"]                 = ["String", "Script"]
240
241 DataTypeDefaultDict = {}
242 DataTypeDefaultDict["Vector"]               = "Script"
243 DataTypeDefaultDict["VectorSerie"]          = "Script"
244 DataTypeDefaultDict["Matrix"]               = "Script"
245 DataTypeDefaultDict["ScalarSparseMatrix"]   = "String"
246 DataTypeDefaultDict["DiagonalSparseMatrix"] = "String"
247 DataTypeDefaultDict["Function"]             = "ScriptWithOneFunction"
248 DataTypeDefaultDict["Dict"]                 = "Script"
249
250 DataSValueDefaultDict = {}
251 DataSValueDefaultDict["ScalarSparseMatrix"]   = "1."
252
253 # Assimilation data input
254 AssimDataDict = {}
255 AssimDataDict["Background"]          = ["Vector", "VectorSerie"]
256 AssimDataDict["BackgroundError"]     = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
257 AssimDataDict["Observation"]         = ["Vector", "VectorSerie"]
258 AssimDataDict["ObservationError"]    = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
259 AssimDataDict["ObservationOperator"] = ["Matrix", "Function"]
260 AssimDataDict["EvolutionModel"]      = ["Matrix", "Function"]
261 AssimDataDict["EvolutionError"]      = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
262 AssimDataDict["AlgorithmParameters"] = ["Dict"]
263 AssimDataDict["UserDataInit"]        = ["Dict"]
264 AssimDataDict["CheckingPoint"]       = ["Vector"]
265 AssimDataDict["ControlInput"]        = ["Vector", "VectorSerie"]
266
267 AssimDataDefaultDict = {}
268 AssimDataDefaultDict["Background"]          = "Vector"
269 AssimDataDefaultDict["BackgroundError"]     = "ScalarSparseMatrix"
270 AssimDataDefaultDict["Observation"]         = "Vector"
271 AssimDataDefaultDict["ObservationError"]    = "ScalarSparseMatrix"
272 AssimDataDefaultDict["ObservationOperator"] = "Function"
273 AssimDataDefaultDict["EvolutionModel"]      = "Function"
274 AssimDataDefaultDict["EvolutionError"]      = "ScalarSparseMatrix"
275 AssimDataDefaultDict["AlgorithmParameters"] = "Dict"
276 AssimDataDefaultDict["UserDataInit"]        = "Dict"
277 AssimDataDefaultDict["CheckingPoint"]       = "Vector"
278 AssimDataDefaultDict["ControlInput"]        = "Vector"
279
280 StoredAssimData = ["Vector", "VectorSerie", "Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
281
282 # Assimilation optional nodes
283 OptDict = {}
284 OptDict["UserPostAnalysis"]   = ["String", "Script", "Template"]
285 OptDefaultDict = {}
286 OptDefaultDict["UserPostAnalysis"]   = "Template"
287
288 # Observers
289 ObserversList = [
290     "Analysis",
291     "Innovation",
292     "InnovationAtCurrentState",
293     "CurrentState",
294     "CurrentOptimum",
295     "IndexOfOptimum",
296     "SimulatedObservationAtBackground",
297     "SimulatedObservationAtCurrentState",
298     "SimulatedObservationAtOptimum",
299     "SimulatedObservationAtCurrentOptimum",
300     "BMA",
301     "OMA",
302     "OMB",
303     "CostFunctionJ",
304     "CostFunctionJb",
305     "CostFunctionJo",
306     "GradientOfCostFunctionJ",
307     "GradientOfCostFunctionJb",
308     "GradientOfCostFunctionJo",
309     "SigmaObs2",
310     "SigmaBck2",
311     "APosterioriCorrelations",
312     "APosterioriCovariance",
313     "APosterioriStandardDeviations",
314     "APosterioriVariances",
315     "Residu",
316     ]
317
318 # Regulation : # of containers, 0 for no container
319 UseYACSContainer = 1