3 # Copyright (C) 2008-2024 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 --
37 "ObservationOperator",
40 "AlgorithmParameters",
46 AssimType["Background"] = ["Vector", "VectorSerie"]
47 AssimType["BackgroundError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
48 AssimType["Observation"] = ["Vector", "VectorSerie"]
49 AssimType["ObservationError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
50 AssimType["ObservationOperator"] = ["Matrix", "Function"]
51 AssimType["EvolutionModel"] = ["Matrix", "Function"]
52 AssimType["EvolutionError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
53 AssimType["AlgorithmParameters"] = ["Dict"]
54 AssimType["UserDataInit"] = ["Dict"]
55 AssimType["CheckingPoint"] = ["Vector"]
56 AssimType["ControlInput"] = ["Vector", "VectorSerie"]
59 FromNumpyList["Vector"] = ["String", "Script", "DataFile"]
60 FromNumpyList["VectorSerie"] = ["String", "Script", "DataFile"]
61 FromNumpyList["Matrix"] = ["String", "Script"]
62 FromNumpyList["ScalarSparseMatrix"] = ["String", "Script"]
63 FromNumpyList["DiagonalSparseMatrix"] = ["String", "Script"]
64 FromNumpyList["Function"] = ["ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
65 FromNumpyList["Dict"] = ["String", "Script"]
67 # -- Infos from daAlgorithms --
72 "DerivativeFreeOptimization",
73 "DifferentialEvolution",
75 "EnsembleKalmanFilter",
77 "ExtendedKalmanFilter",
80 "NonLinearLeastSquares",
81 "ParticleSwarmOptimization",
84 "UnscentedKalmanFilter",
89 "DerivativeFreeOptimization",
90 "DifferentialEvolution",
93 "NonLinearLeastSquares",
94 "ParticleSwarmOptimization",
99 "EnsembleKalmanFilter",
100 "UnscentedKalmanFilter",
108 "LocalSensitivityTest",
109 "ObservationSimulationComparisonTest",
111 "ParallelFunctionTest",
112 "ControledFunctionTest",
118 AlgoDataRequirements = {}
119 AlgoDataRequirements["3DVAR"] = [
120 "Background", "BackgroundError",
121 "Observation", "ObservationError",
122 "ObservationOperator",
124 AlgoDataRequirements["4DVAR"] = [
125 "Background", "BackgroundError",
126 "Observation", "ObservationError",
127 "ObservationOperator",
129 AlgoDataRequirements["Blue"] = [
130 "Background", "BackgroundError",
131 "Observation", "ObservationError",
132 "ObservationOperator",
134 AlgoDataRequirements["ExtendedBlue"] = [
135 "Background", "BackgroundError",
136 "Observation", "ObservationError",
137 "ObservationOperator",
139 AlgoDataRequirements["EnsembleBlue"] = [
140 "Background", "BackgroundError",
141 "Observation", "ObservationError",
142 "ObservationOperator",
144 AlgoDataRequirements["KalmanFilter"] = [
145 "Background", "BackgroundError",
146 "Observation", "ObservationError",
147 "ObservationOperator",
149 AlgoDataRequirements["ExtendedKalmanFilter"] = [
150 "Background", "BackgroundError",
151 "Observation", "ObservationError",
152 "ObservationOperator",
154 AlgoDataRequirements["EnsembleKalmanFilter"] = [
155 "Background", "BackgroundError",
156 "Observation", "ObservationError",
157 "ObservationOperator",
159 AlgoDataRequirements["UnscentedKalmanFilter"] = [
160 "Background", "BackgroundError",
161 "Observation", "ObservationError",
162 "ObservationOperator",
164 AlgoDataRequirements["QuantileRegression"] = [
167 "ObservationOperator",
169 AlgoDataRequirements["DerivativeFreeOptimization"] = [
170 "Background", "BackgroundError",
171 "Observation", "ObservationError",
172 "ObservationOperator",
174 AlgoDataRequirements["ParticleSwarmOptimization"] = [
175 "Background", "BackgroundError",
176 "Observation", "ObservationError",
177 "ObservationOperator",
179 AlgoDataRequirements["DifferentialEvolution"] = [
180 "Background", "BackgroundError",
181 "Observation", "ObservationError",
182 "ObservationOperator",
184 AlgoDataRequirements["TabuSearch"] = [
185 "Background", "BackgroundError",
186 "Observation", "ObservationError",
187 "ObservationOperator",
189 AlgoDataRequirements["LinearLeastSquares"] = [
190 "Observation", "ObservationError",
191 "ObservationOperator",
193 AlgoDataRequirements["NonLinearLeastSquares"] = [
195 "Observation", "ObservationError",
196 "ObservationOperator",
199 AlgoDataRequirements["FunctionTest"] = [
201 "ObservationOperator",
203 AlgoDataRequirements["LinearityTest"] = [
205 "ObservationOperator",
207 AlgoDataRequirements["GradientTest"] = [
209 "ObservationOperator",
211 AlgoDataRequirements["AdjointTest"] = [
213 "ObservationOperator",
215 AlgoDataRequirements["TangentTest"] = [
217 "ObservationOperator",
219 AlgoDataRequirements["LocalSensitivityTest"] = [
222 "ObservationOperator",
224 AlgoDataRequirements["ObservationSimulationComparisonTest"] = [
227 "ObservationOperator",
229 AlgoDataRequirements["SamplingTest"] = [
230 "CheckingPoint", "BackgroundError",
231 "Observation", "ObservationError",
232 "ObservationOperator",
234 AlgoDataRequirements["ParallelFunctionTest"] = [
236 "ObservationOperator",
238 AlgoDataRequirements["ControledFunctionTest"] = [
240 "ObservationOperator",
242 AlgoDataRequirements["ObserverTest"] = [
245 AlgoDataRequirements["InputValuesTest"] = [
250 AlgoType["3DVAR"] = "Optim"
251 AlgoType["4DVAR"] = "Optim"
252 AlgoType["Blue"] = "Optim"
253 AlgoType["ExtendedBlue"] = "Optim"
254 AlgoType["EnsembleBlue"] = "Optim"
255 AlgoType["KalmanFilter"] = "Optim"
256 AlgoType["ExtendedKalmanFilter"] = "Optim"
257 AlgoType["EnsembleKalmanFilter"] = "Optim"
258 AlgoType["UnscentedKalmanFilter"] = "Optim"
259 AlgoType["QuantileRegression"] = "Optim"
260 AlgoType["DerivativeFreeOptimization"] = "Optim"
261 AlgoType["ParticleSwarmOptimization"] = "Optim"
262 AlgoType["DifferentialEvolution"] = "Optim"
263 AlgoType["TabuSearch"] = "Optim"
264 AlgoType["LinearLeastSquares"] = "Optim"
265 AlgoType["NonLinearLeastSquares"] = "Optim"
267 # Variables qui sont partages avec le generateur de
271 BasicDataInputs = ["String", "Script", "ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
275 DataTypeDict["Vector"] = ["String", "Script", "DataFile"]
276 DataTypeDict["VectorSerie"] = ["String", "Script", "DataFile"]
277 DataTypeDict["Matrix"] = ["String", "Script"]
278 DataTypeDict["ScalarSparseMatrix"] = ["String", "Script"]
279 DataTypeDict["DiagonalSparseMatrix"] = ["String", "Script"]
280 DataTypeDict["Function"] = ["ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
281 DataTypeDict["Dict"] = ["String", "Script"]
283 DataTypeDefaultDict = {}
284 DataTypeDefaultDict["Vector"] = "Script"
285 DataTypeDefaultDict["VectorSerie"] = "Script"
286 DataTypeDefaultDict["Matrix"] = "Script"
287 DataTypeDefaultDict["ScalarSparseMatrix"] = "String"
288 DataTypeDefaultDict["DiagonalSparseMatrix"] = "String"
289 DataTypeDefaultDict["Function"] = "ScriptWithOneFunction"
290 DataTypeDefaultDict["Dict"] = "Script"
292 DataSValueDefaultDict = {}
293 DataSValueDefaultDict["ScalarSparseMatrix"] = "1."
295 # Assimilation data input
297 AssimDataDict["Background"] = ["Vector", "VectorSerie"]
298 AssimDataDict["BackgroundError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
299 AssimDataDict["Observation"] = ["Vector", "VectorSerie"]
300 AssimDataDict["ObservationError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
301 AssimDataDict["ObservationOperator"] = ["Matrix", "Function"]
302 AssimDataDict["EvolutionModel"] = ["Matrix", "Function"]
303 AssimDataDict["EvolutionError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
304 AssimDataDict["AlgorithmParameters"] = ["Dict"]
305 AssimDataDict["UserDataInit"] = ["Dict"]
306 AssimDataDict["CheckingPoint"] = ["Vector"]
307 AssimDataDict["ControlInput"] = ["Vector", "VectorSerie"]
309 AssimDataDefaultDict = {}
310 AssimDataDefaultDict["Background"] = "Vector"
311 AssimDataDefaultDict["BackgroundError"] = "ScalarSparseMatrix"
312 AssimDataDefaultDict["Observation"] = "Vector"
313 AssimDataDefaultDict["ObservationError"] = "ScalarSparseMatrix"
314 AssimDataDefaultDict["ObservationOperator"] = "Function"
315 AssimDataDefaultDict["EvolutionModel"] = "Function"
316 AssimDataDefaultDict["EvolutionError"] = "ScalarSparseMatrix"
317 AssimDataDefaultDict["AlgorithmParameters"] = "Dict"
318 AssimDataDefaultDict["UserDataInit"] = "Dict"
319 AssimDataDefaultDict["CheckingPoint"] = "Vector"
320 AssimDataDefaultDict["ControlInput"] = "Vector"
322 StoredAssimData = ["Vector", "VectorSerie", "Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
324 # Assimilation optional nodes
326 OptDict["UserPostAnalysis"] = ["String", "Script", "Template"]
328 OptDefaultDict["UserPostAnalysis"] = "Template"
334 "InnovationAtCurrentState",
338 "SimulatedObservationAtBackground",
339 "SimulatedObservationAtCurrentState",
340 "SimulatedObservationAtOptimum",
341 "SimulatedObservationAtCurrentOptimum",
348 "GradientOfCostFunctionJ",
349 "GradientOfCostFunctionJb",
350 "GradientOfCostFunctionJo",
353 "APosterioriCorrelations",
354 "APosterioriCovariance",
355 "APosterioriStandardDeviations",
356 "APosterioriVariances",
360 # Global regulation of separate container execution with priority on user:
361 # 0 for no separate execution container possibility
362 # 1 for separate execution container possibility
363 UseSeparateContainer = 1