Salome HOME
5bc0979e65072b26c80a55d01a1aecfd8d1752f3
[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     "ParallelFunctionTest",
90     "ObserverTest",
91     ]
92
93 AlgoDataRequirements = {}
94 AlgoDataRequirements["3DVAR"] = [
95     "Background", "BackgroundError",
96     "Observation", "ObservationError",
97     "ObservationOperator",
98     ]
99 AlgoDataRequirements["4DVAR"] = [
100     "Background", "BackgroundError",
101     "Observation", "ObservationError",
102     "ObservationOperator",
103     ]
104 AlgoDataRequirements["Blue"] = [
105     "Background", "BackgroundError",
106     "Observation", "ObservationError",
107     "ObservationOperator",
108     ]
109 AlgoDataRequirements["ExtendedBlue"] = [
110     "Background", "BackgroundError",
111     "Observation", "ObservationError",
112     "ObservationOperator",
113     ]
114 AlgoDataRequirements["EnsembleBlue"] = [
115     "Background", "BackgroundError",
116     "Observation", "ObservationError",
117     "ObservationOperator",
118     ]
119 AlgoDataRequirements["KalmanFilter"] = [
120     "Background", "BackgroundError",
121     "Observation", "ObservationError",
122     "ObservationOperator",
123     ]
124 AlgoDataRequirements["ExtendedKalmanFilter"] = [
125     "Background", "BackgroundError",
126     "Observation", "ObservationError",
127     "ObservationOperator",
128     ]
129 AlgoDataRequirements["EnsembleKalmanFilter"] = [
130     "Background", "BackgroundError",
131     "Observation", "ObservationError",
132     "ObservationOperator",
133     ]
134 AlgoDataRequirements["UnscentedKalmanFilter"] = [
135     "Background", "BackgroundError",
136     "Observation", "ObservationError",
137     "ObservationOperator",
138     ]
139 AlgoDataRequirements["QuantileRegression"] = [
140     "Background",
141     "Observation",
142     "ObservationOperator",
143     ]
144 AlgoDataRequirements["DerivativeFreeOptimization"] = [
145     "Background", "BackgroundError",
146     "Observation", "ObservationError",
147     "ObservationOperator",
148     ]
149 AlgoDataRequirements["ParticleSwarmOptimization"] = [
150     "Background", "BackgroundError",
151     "Observation", "ObservationError",
152     "ObservationOperator",
153     ]
154 AlgoDataRequirements["DifferentialEvolution"] = [
155     "Background", "BackgroundError",
156     "Observation", "ObservationError",
157     "ObservationOperator",
158     ]
159 AlgoDataRequirements["TabuSearch"] = [
160     "Background", "BackgroundError",
161     "Observation", "ObservationError",
162     "ObservationOperator",
163     ]
164 AlgoDataRequirements["LinearLeastSquares"] = [
165     "Observation", "ObservationError",
166     "ObservationOperator",
167     ]
168 AlgoDataRequirements["NonLinearLeastSquares"] = [
169     "Background",
170     "Observation", "ObservationError",
171     "ObservationOperator",
172     ]
173
174 AlgoDataRequirements["FunctionTest"] = [
175     "CheckingPoint",
176     "ObservationOperator",
177     ]
178 AlgoDataRequirements["LinearityTest"] = [
179     "CheckingPoint",
180     "ObservationOperator",
181     ]
182 AlgoDataRequirements["GradientTest"] = [
183     "CheckingPoint",
184     "ObservationOperator",
185     ]
186 AlgoDataRequirements["AdjointTest"] = [
187     "CheckingPoint",
188     "ObservationOperator",
189     ]
190 AlgoDataRequirements["TangentTest"] = [
191     "CheckingPoint",
192     "ObservationOperator",
193     ]
194 AlgoDataRequirements["LocalSensitivityTest"] = [
195     "CheckingPoint",
196     "Observation",
197     "ObservationOperator",
198     ]
199 AlgoDataRequirements["SamplingTest"] = [
200     "CheckingPoint", "BackgroundError",
201     "Observation", "ObservationError",
202     "ObservationOperator",
203     ]
204 AlgoDataRequirements["ParallelFunctionTest"] = [
205     "CheckingPoint",
206     "ObservationOperator",
207     ]
208 AlgoDataRequirements["ObserverTest"] = [
209     "Observers",
210     ]
211
212 AlgoType = {}
213 AlgoType["3DVAR"] = "Optim"
214 AlgoType["4DVAR"] = "Optim"
215 AlgoType["Blue"] = "Optim"
216 AlgoType["ExtendedBlue"] = "Optim"
217 AlgoType["EnsembleBlue"] = "Optim"
218 AlgoType["KalmanFilter"] = "Optim"
219 AlgoType["ExtendedKalmanFilter"] = "Optim"
220 AlgoType["EnsembleKalmanFilter"] = "Optim"
221 AlgoType["UnscentedKalmanFilter"] = "Optim"
222 AlgoType["QuantileRegression"] = "Optim"
223 AlgoType["DerivativeFreeOptimization"] = "Optim"
224 AlgoType["ParticleSwarmOptimization"] = "Optim"
225 AlgoType["DifferentialEvolution"] = "Optim"
226 AlgoType["TabuSearch"] = "Optim"
227 AlgoType["LinearLeastSquares"] = "Optim"
228 AlgoType["NonLinearLeastSquares"] = "Optim"
229
230 # Variables qui sont partages avec le generateur de
231 # catalogue Eficas
232
233 # Basic data types
234 BasicDataInputs = ["String", "Script", "ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
235
236 # Data input dict
237 DataTypeDict = {}
238 DataTypeDict["Vector"]               = ["String", "Script"]
239 DataTypeDict["VectorSerie"]          = ["String", "Script"]
240 DataTypeDict["Matrix"]               = ["String", "Script"]
241 DataTypeDict["ScalarSparseMatrix"]   = ["String", "Script"]
242 DataTypeDict["DiagonalSparseMatrix"] = ["String", "Script"]
243 DataTypeDict["Function"]             = ["ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
244 DataTypeDict["Dict"]                 = ["String", "Script"]
245
246 DataTypeDefaultDict = {}
247 DataTypeDefaultDict["Vector"]               = "Script"
248 DataTypeDefaultDict["VectorSerie"]          = "Script"
249 DataTypeDefaultDict["Matrix"]               = "Script"
250 DataTypeDefaultDict["ScalarSparseMatrix"]   = "String"
251 DataTypeDefaultDict["DiagonalSparseMatrix"] = "String"
252 DataTypeDefaultDict["Function"]             = "ScriptWithOneFunction"
253 DataTypeDefaultDict["Dict"]                 = "Script"
254
255 DataSValueDefaultDict = {}
256 DataSValueDefaultDict["ScalarSparseMatrix"]   = "1."
257
258 # Assimilation data input
259 AssimDataDict = {}
260 AssimDataDict["Background"]          = ["Vector", "VectorSerie"]
261 AssimDataDict["BackgroundError"]     = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
262 AssimDataDict["Observation"]         = ["Vector", "VectorSerie"]
263 AssimDataDict["ObservationError"]    = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
264 AssimDataDict["ObservationOperator"] = ["Matrix", "Function"]
265 AssimDataDict["EvolutionModel"]      = ["Matrix", "Function"]
266 AssimDataDict["EvolutionError"]      = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
267 AssimDataDict["AlgorithmParameters"] = ["Dict"]
268 AssimDataDict["UserDataInit"]        = ["Dict"]
269 AssimDataDict["CheckingPoint"]       = ["Vector"]
270 AssimDataDict["ControlInput"]        = ["Vector", "VectorSerie"]
271
272 AssimDataDefaultDict = {}
273 AssimDataDefaultDict["Background"]          = "Vector"
274 AssimDataDefaultDict["BackgroundError"]     = "ScalarSparseMatrix"
275 AssimDataDefaultDict["Observation"]         = "Vector"
276 AssimDataDefaultDict["ObservationError"]    = "ScalarSparseMatrix"
277 AssimDataDefaultDict["ObservationOperator"] = "Function"
278 AssimDataDefaultDict["EvolutionModel"]      = "Function"
279 AssimDataDefaultDict["EvolutionError"]      = "ScalarSparseMatrix"
280 AssimDataDefaultDict["AlgorithmParameters"] = "Dict"
281 AssimDataDefaultDict["UserDataInit"]        = "Dict"
282 AssimDataDefaultDict["CheckingPoint"]       = "Vector"
283 AssimDataDefaultDict["ControlInput"]        = "Vector"
284
285 StoredAssimData = ["Vector", "VectorSerie", "Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
286
287 # Assimilation optional nodes
288 OptDict = {}
289 OptDict["UserPostAnalysis"]   = ["String", "Script", "Template"]
290 OptDefaultDict = {}
291 OptDefaultDict["UserPostAnalysis"]   = "Template"
292
293 # Observers
294 ObserversList = [
295     "Analysis",
296     "Innovation",
297     "InnovationAtCurrentState",
298     "CurrentState",
299     "CurrentOptimum",
300     "IndexOfOptimum",
301     "SimulatedObservationAtBackground",
302     "SimulatedObservationAtCurrentState",
303     "SimulatedObservationAtOptimum",
304     "SimulatedObservationAtCurrentOptimum",
305     "BMA",
306     "OMA",
307     "OMB",
308     "CostFunctionJ",
309     "CostFunctionJb",
310     "CostFunctionJo",
311     "GradientOfCostFunctionJ",
312     "GradientOfCostFunctionJb",
313     "GradientOfCostFunctionJo",
314     "SigmaObs2",
315     "SigmaBck2",
316     "APosterioriCorrelations",
317     "APosterioriCovariance",
318     "APosterioriStandardDeviations",
319     "APosterioriVariances",
320     "Residu",
321     ]
322
323 # Regulation : # of containers, 0 for no container
324 UseYACSContainer = 1