3 # Copyright (C) 2008-2019 EDF R&D
5 # This file is part of SALOME ADAO module
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.
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.
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
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 # Author: Andre Ribes, andre.ribes@edf.fr, EDF R&D
26 # -- Infos pour le parser --
29 AnalysisFromList = ["String", "Script"]
31 # -- Infos from daCore --
32 AssimData = ["Background", "BackgroundError",
33 "Observation", "ObservationError",
34 "ObservationOperator",
35 "EvolutionModel", "EvolutionError",
36 "AlgorithmParameters",
37 "CheckingPoint", "ControlInput",
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"]
54 FromNumpyList["Vector"] = ["String", "Script", "DataFile"]
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"]
62 # -- Infos from daAlgorithms --
70 "ExtendedKalmanFilter",
71 "EnsembleKalmanFilter",
72 "UnscentedKalmanFilter",
74 "DerivativeFreeOptimization",
75 "ParticleSwarmOptimization",
76 "DifferentialEvolution",
79 "NonLinearLeastSquares",
87 "LocalSensitivityTest",
89 "ParallelFunctionTest",
93 AlgoDataRequirements = {}
94 AlgoDataRequirements["3DVAR"] = [
95 "Background", "BackgroundError",
96 "Observation", "ObservationError",
97 "ObservationOperator",
99 AlgoDataRequirements["4DVAR"] = [
100 "Background", "BackgroundError",
101 "Observation", "ObservationError",
102 "ObservationOperator",
104 AlgoDataRequirements["Blue"] = [
105 "Background", "BackgroundError",
106 "Observation", "ObservationError",
107 "ObservationOperator",
109 AlgoDataRequirements["ExtendedBlue"] = [
110 "Background", "BackgroundError",
111 "Observation", "ObservationError",
112 "ObservationOperator",
114 AlgoDataRequirements["EnsembleBlue"] = [
115 "Background", "BackgroundError",
116 "Observation", "ObservationError",
117 "ObservationOperator",
119 AlgoDataRequirements["KalmanFilter"] = [
120 "Background", "BackgroundError",
121 "Observation", "ObservationError",
122 "ObservationOperator",
124 AlgoDataRequirements["ExtendedKalmanFilter"] = [
125 "Background", "BackgroundError",
126 "Observation", "ObservationError",
127 "ObservationOperator",
129 AlgoDataRequirements["EnsembleKalmanFilter"] = [
130 "Background", "BackgroundError",
131 "Observation", "ObservationError",
132 "ObservationOperator",
134 AlgoDataRequirements["UnscentedKalmanFilter"] = [
135 "Background", "BackgroundError",
136 "Observation", "ObservationError",
137 "ObservationOperator",
139 AlgoDataRequirements["QuantileRegression"] = [
142 "ObservationOperator",
144 AlgoDataRequirements["DerivativeFreeOptimization"] = [
145 "Background", "BackgroundError",
146 "Observation", "ObservationError",
147 "ObservationOperator",
149 AlgoDataRequirements["ParticleSwarmOptimization"] = [
150 "Background", "BackgroundError",
151 "Observation", "ObservationError",
152 "ObservationOperator",
154 AlgoDataRequirements["DifferentialEvolution"] = [
155 "Background", "BackgroundError",
156 "Observation", "ObservationError",
157 "ObservationOperator",
159 AlgoDataRequirements["TabuSearch"] = [
160 "Background", "BackgroundError",
161 "Observation", "ObservationError",
162 "ObservationOperator",
164 AlgoDataRequirements["LinearLeastSquares"] = [
165 "Observation", "ObservationError",
166 "ObservationOperator",
168 AlgoDataRequirements["NonLinearLeastSquares"] = [
170 "Observation", "ObservationError",
171 "ObservationOperator",
174 AlgoDataRequirements["FunctionTest"] = [
176 "ObservationOperator",
178 AlgoDataRequirements["LinearityTest"] = [
180 "ObservationOperator",
182 AlgoDataRequirements["GradientTest"] = [
184 "ObservationOperator",
186 AlgoDataRequirements["AdjointTest"] = [
188 "ObservationOperator",
190 AlgoDataRequirements["TangentTest"] = [
192 "ObservationOperator",
194 AlgoDataRequirements["LocalSensitivityTest"] = [
197 "ObservationOperator",
199 AlgoDataRequirements["SamplingTest"] = [
200 "CheckingPoint", "BackgroundError",
201 "Observation", "ObservationError",
202 "ObservationOperator",
204 AlgoDataRequirements["ParallelFunctionTest"] = [
206 "ObservationOperator",
208 AlgoDataRequirements["ObserverTest"] = [
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"
230 # Variables qui sont partages avec le generateur de
234 BasicDataInputs = ["String", "Script", "ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
238 DataTypeDict["Vector"] = ["String", "Script", "DataFile"]
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"]
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"
255 DataSValueDefaultDict = {}
256 DataSValueDefaultDict["ScalarSparseMatrix"] = "1."
258 # Assimilation data input
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"]
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"
285 StoredAssimData = ["Vector", "VectorSerie", "Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
287 # Assimilation optional nodes
289 OptDict["UserPostAnalysis"] = ["String", "Script", "Template"]
291 OptDefaultDict["UserPostAnalysis"] = "Template"
297 "InnovationAtCurrentState",
301 "SimulatedObservationAtBackground",
302 "SimulatedObservationAtCurrentState",
303 "SimulatedObservationAtOptimum",
304 "SimulatedObservationAtCurrentOptimum",
311 "GradientOfCostFunctionJ",
312 "GradientOfCostFunctionJb",
313 "GradientOfCostFunctionJo",
316 "APosterioriCorrelations",
317 "APosterioriCovariance",
318 "APosterioriStandardDeviations",
319 "APosterioriVariances",
323 # Regulation : # of containers, 0 for no container