From: Jean-Philippe ARGAUD Date: Sat, 16 Jan 2021 17:56:58 +0000 (+0100) Subject: Improvement of EnKF algorithm X-Git-Tag: V9_7_0b1~46 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=010c28f76fe7a5e18e2832943bcafd73d81e717b;p=modules%2Fadao.git Improvement of EnKF algorithm --- diff --git a/src/daComposant/daCore/NumericObjects.py b/src/daComposant/daCore/NumericObjects.py index 7103817..1adf514 100644 --- a/src/daComposant/daCore/NumericObjects.py +++ b/src/daComposant/daCore/NumericObjects.py @@ -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') #-------------------------- #