]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Improvement of EnKF algorithm
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sat, 16 Jan 2021 17:56:58 +0000 (18:56 +0100)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sat, 16 Jan 2021 17:56:58 +0000 (18:56 +0100)
src/daComposant/daCore/NumericObjects.py

index 7103817264ffa61f5f097f3d65475750a7f9368e..1adf514f72146354a6bfc6180d42b9628a28ca34 100644 (file)
@@ -1233,6 +1233,12 @@ def mlef(selfA, Xb, Y, U, HO, EM, CM, R, B, Q, BnotT=False, _epsilon=1.e-1, _e=1
         else:
             Un = None
         #
+        if selfA._parameters["InflationType"] == "MultiplicativeOnBackgroundAnomalies":
+            Xn = CovarianceInflation( Xn,
+                selfA._parameters["InflationType"],
+                selfA._parameters["InflationFactor"],
+                )
+        #
         if selfA._parameters["EstimationOf"] == "State": # Forecast + Q and observation of forecast
             EMX = M( [(Xn[:,i], Un) for i in range(__m)], argsAsSerie = True )
             for i in range(__m):
@@ -1289,6 +1295,12 @@ def mlef(selfA, Xb, Y, U, HO, EM, CM, R, B, Q, BnotT=False, _epsilon=1.e-1, _e=1
         #
         Xn = vx.reshape((__n,-1)) + numpy.sqrt(__m-1) * EaX @ Ta @ Ua # 21:
         #
+        if selfA._parameters["InflationType"] == "MultiplicativeOnAnalysisAnomalies":
+            Xn = CovarianceInflation( Xn,
+                selfA._parameters["InflationType"],
+                selfA._parameters["InflationFactor"],
+                )
+        #
         Xa = Xn.mean(axis=1, dtype=mfp).astype('float')
         #--------------------------
         #