Salome HOME
- Nouvelle version de Jean-Philippe ARGAUD
[modules/adao.git] / src / tests / daSalome / test017_3DVAR_par_fonction.py.in
1 #-*-coding:iso-8859-1-*-
2 study_config = {}
3 study_config["Name"] = "test017_3DVAR"
4 study_config["Algorithm"] = "3DVAR"
5
6 Background_config = {}
7 Background_config["Data"] = "@prefix@/tests/daSalome/test017_3DVAR_init_data.py"
8 Background_config["Type"] = "Vector"
9 Background_config["From"] = "Script"
10 study_config["Background"] = Background_config
11
12 BackgroundError_config = {}
13 BackgroundError_config["Data"] = "@prefix@/tests/daSalome/test017_3DVAR_init_data.py"
14 BackgroundError_config["Type"] = "Matrix"
15 BackgroundError_config["From"] = "Script"
16 study_config["BackgroundError"] = BackgroundError_config
17
18 Observation_config = {}
19 Observation_config["Data"] = "@prefix@/tests/daSalome/test017_3DVAR_init_data.py"
20 Observation_config["Type"] = "Vector"
21 Observation_config["From"] = "Script"
22 study_config["Observation"] = Observation_config
23
24 ObservationError_config = {}
25 ObservationError_config["Data"] = "@prefix@/tests/daSalome/test017_3DVAR_init_data.py"
26 ObservationError_config["Type"] = "Matrix"
27 ObservationError_config["From"] = "Script"
28 study_config["ObservationError"] = ObservationError_config
29
30 FunctionDict = {}
31 FunctionDict["Function"] = ["Direct", "Tangent", "Adjoint"]
32 FunctionDict["Script"] = {}
33 FunctionDict["Script"]["Direct"] = "@prefix@/tests/daSalome/test017_3DVAR_function_script.py"
34 FunctionDict["Script"]["Tangent"] = "@prefix@/tests/daSalome/test017_3DVAR_function_script.py"
35 FunctionDict["Script"]["Adjoint"] = "@prefix@/tests/daSalome/test017_3DVAR_function_script.py"
36 ObservationOperator_config = {}
37 ObservationOperator_config["Data"] = FunctionDict
38 ObservationOperator_config["Type"] = "Function"
39 ObservationOperator_config["From"] = "Dict"
40 study_config["ObservationOperator"] = ObservationOperator_config
41
42 Analysis_config = {}
43 Analysis_config["Data"] = """
44 import numpy
45
46 dimension = 300
47 precision = 1.e-10
48 xt = numpy.matrix(numpy.arange(dimension)).T
49 xb = Study.getBackground()
50
51 xa = numpy.array(ADD.get("Analysis").valueserie(0))
52 d  = numpy.array(ADD.get("Innovation").valueserie(0))
53 #
54 # Verification du resultat
55 # ------------------------
56 if max(abs(xa - (xb+xt.A1)/2)) > precision:
57     raise ValueError("Resultat du test errone (1)")
58 else:
59     print "    Test correct, erreur maximale inferieure à %s"%precision
60 """
61 Analysis_config["From"] = "String"
62 study_config["Analysis"] = Analysis_config