1 <?xml version='1.0' encoding='iso-8859-1' ?>
3 <property name="DefaultStudyID" value="1"/>
4 <type name="bool" kind="bool"/>
5 <sequence name="boolvec" content="bool"/>
6 <type name="double" kind="double"/>
7 <sequence name="dblevec" content="double"/>
8 <objref name="file" id="file"/>
9 <type name="int" kind="int"/>
10 <sequence name="intvec" content="int"/>
11 <objref name="pyobj" id="python:obj:1.0"/>
12 <type name="string" kind="string"/>
13 <sequence name="stringvec" content="string"/>
14 <container name="DefaultContainer">
15 <property name="container_name" value="FactoryServer"/>
16 <property name="hostname" value="localhost"/>
18 <inline name="BLUE par matrices">
19 <function name="algorithm">
20 <code><![CDATA[import sys, os
21 sys.path.insert(0, "../../Sources/daCore")
22 sys.path.insert(0, "../../ComposantAD/daCore")
23 #sys.path.insert(0, os.path.join(os.environ["HOME"],"SALOME5/supplements_JPA/ComposantAD/daCore"))
26 from AssimilationStudy import AssimilationStudy
28 def algorithm(Yo, B, R, H, Xb):
30 # Remise en place des matrices
32 dimensionXb = len( Xb )
33 dimensionYo = len( Yo )
34 B = numpy.matrix( B, numpy.float ).reshape((dimensionXb,dimensionXb))
35 R = numpy.matrix( R, numpy.float ).reshape((dimensionYo,dimensionYo))
36 H = numpy.matrix( H, numpy.float ).reshape((dimensionYo,dimensionXb))
40 ADD = AssimilationStudy()
41 ADD.setBackground (asVector = Xb )
42 ADD.setBackgroundError (asCovariance = B )
43 ADD.setObservation (asVector = Yo )
44 ADD.setObservationError (asCovariance = R )
45 ADD.setObservationOperator(asMatrix = H )
47 ADD.setAlgorithm(choice="Blue")
51 Xa = ADD.get("Analysis").valueserie(0)
52 Innovation = ADD.get("Innovation").valueserie(0)
55 return Xa, A, Innovation
58 <inport name="Yo" type="dblevec"/>
59 <inport name="B" type="dblevec"/>
60 <inport name="R" type="dblevec"/>
61 <inport name="H" type="dblevec"/>
62 <inport name="Xb" type="dblevec"/>
63 <outport name="Xa" type="dblevec"/>
64 <outport name="A" type="dblevec"/>
65 <outport name="Innovation" type="dblevec"/>
67 <inline name="3D-VAR par matrices">
68 <function name="algorithm">
69 <code><![CDATA[import sys, os
70 sys.path.insert(0, "../../Sources/daCore")
71 sys.path.insert(0, "../../ComposantAD/daCore")
72 #sys.path.insert(0, os.path.join(os.environ["HOME"],"SALOME5/supplements_JPA/ComposantAD/daCore"))
75 from AssimilationStudy import AssimilationStudy
77 def algorithm(Yo, B, R, H, Xb):
79 # Remise en place des matrices
81 dimensionXb = len( Xb )
82 dimensionYo = len( Yo )
83 B = numpy.matrix( B, numpy.float ).reshape((dimensionXb,dimensionXb))
84 R = numpy.matrix( R, numpy.float ).reshape((dimensionYo,dimensionYo))
85 H = numpy.matrix( H, numpy.float ).reshape((dimensionYo,dimensionXb))
89 ADD = AssimilationStudy()
90 ADD.setBackground (asVector = Xb )
91 ADD.setBackgroundError (asCovariance = B )
92 ADD.setObservation (asVector = Yo )
93 ADD.setObservationError (asCovariance = R )
94 ADD.setObservationOperator(asMatrix = H )
96 ADD.setAlgorithm(choice="3DVAR")
100 Xa = ADD.get("Analysis").valueserie(0)
101 Innovation = ADD.get("Innovation").valueserie(0)
104 return Xa, A, Innovation
107 <inport name="Yo" type="dblevec"/>
108 <inport name="B" type="dblevec"/>
109 <inport name="R" type="dblevec"/>
110 <inport name="H" type="dblevec"/>
111 <inport name="Xb" type="dblevec"/>
112 <outport name="Xa" type="dblevec"/>
113 <outport name="A" type="dblevec"/>
114 <outport name="Innovation" type="dblevec"/>
116 <inline name="3D-VAR par fonctions">
117 <function name="algorithm">
118 <code><![CDATA[import sys, os
119 sys.path.insert(0, "../../Sources/daCore")
120 sys.path.insert(0, "../../ComposantAD/daCore")
121 #sys.path.insert(0, os.path.join(os.environ["HOME"],"SALOME5/supplements_JPA/ComposantAD/daCore"))
124 from AssimilationStudy import AssimilationStudy
126 def algorithm( Yo, B, R, FunctionH, TangentH, AdjointH, Xb, Bounds ):
128 # Remise en place des matrices
129 # -------------------
130 dimensionXb = len( Xb )
131 dimensionYo = len( Yo )
132 B = numpy.matrix( B, numpy.float ).reshape((dimensionXb,dimensionXb))
133 R = numpy.matrix( R, numpy.float ).reshape((dimensionYo,dimensionYo))
137 ADD = AssimilationStudy()
138 ADD.setBackground (asVector = Xb )
139 ADD.setBackgroundError (asCovariance = B )
140 ADD.setObservation (asVector = Yo )
141 ADD.setObservationError (asCovariance = R )
142 ADD.setObservationOperator(asFunction = {"Direct":FunctionH,
144 "Adjoint":AdjointH} )
146 ADD.setAlgorithm(choice="3DVAR")
147 ADD.setAlgorithmParameters(asDico={
148 "Minimizer":"LBFGSB",
154 Xa = ADD.get("Analysis").valueserie(0)
155 Innovation = ADD.get("Innovation").valueserie(0)
158 return Xa, A, Innovation
161 <inport name="Yo" type="dblevec"/>
162 <inport name="B" type="dblevec"/>
163 <inport name="R" type="dblevec"/>
164 <inport name="FunctionH" type="pyobj"/>
165 <inport name="TangentH" type="pyobj"/>
166 <inport name="AdjointH" type="pyobj"/>
167 <inport name="Xb" type="dblevec"/>
168 <inport name="Bounds" type="pyobj"/>
169 <outport name="Xa" type="dblevec"/>
170 <outport name="A" type="dblevec"/>
171 <outport name="Innovation" type="dblevec"/>
174 <tonode>BLUE par matrices</tonode><toport>Yo</toport>
176 </data></array></value>
179 <tonode>BLUE par matrices</tonode><toport>B</toport>
181 </data></array></value>
184 <tonode>BLUE par matrices</tonode><toport>R</toport>
186 </data></array></value>
189 <tonode>BLUE par matrices</tonode><toport>H</toport>
191 </data></array></value>
194 <tonode>BLUE par matrices</tonode><toport>Xb</toport>
196 </data></array></value>
199 <tonode>3D-VAR par matrices</tonode><toport>Yo</toport>
201 </data></array></value>
204 <tonode>3D-VAR par matrices</tonode><toport>B</toport>
206 </data></array></value>
209 <tonode>3D-VAR par matrices</tonode><toport>R</toport>
211 </data></array></value>
214 <tonode>3D-VAR par matrices</tonode><toport>H</toport>
216 </data></array></value>
219 <tonode>3D-VAR par matrices</tonode><toport>Xb</toport>
221 </data></array></value>
224 <tonode>3D-VAR par fonctions</tonode><toport>Yo</toport>
226 </data></array></value>
229 <tonode>3D-VAR par fonctions</tonode><toport>B</toport>
231 </data></array></value>
234 <tonode>3D-VAR par fonctions</tonode><toport>R</toport>
236 </data></array></value>
239 <tonode>3D-VAR par fonctions</tonode><toport>Xb</toport>
241 </data></array></value>
244 <tonode>3D-VAR par fonctions</tonode><toport>Bounds</toport>
248 <presentation name="BLUE par matrices" x="9" y="80.5" width="227.5" height="226"/>
249 <presentation name="3D-VAR par matrices" x="237.5" y="80.5" width="227.5" height="226"/>
250 <presentation name="3D-VAR par fonctions" x="465.5" y="80.5" width="227.5" height="313"/>
251 <presentation name="__ROOT__" x="0" y="0" width="702" height="402.5"/>