Data assimilation applied to simple hydrodynamic cases in MATLAB Ângela Canas MARETEC
Data assimilation generalities DA methods: Analysis Measurements First Guess Known dynamics Sequential: Kalman Filter (KF, EKF, EnKF, RRSQT, SEIK, SEEK), Optimal Interpolation Past measurements Statistical Interpolation Uncertainty Variational: 3D-Var, 4D-Var Future measurements Past measurements
1D Linear level model level Dynamics (M) space time Measurements 3 2 n n-1 n-2 i Dynamics (M) level time space Measurements (exact solution) average amplitude wave period analysis gain meas. operator Kalman Filter
DA twin test Wf0 Kalman Filter True model Cr = 1 (k = 1) Measurements no assimilation exact solution with assimilation True model Cr = 1 (k = 1) Measurements Wrong model Cr = 0.5 (k = 0.5) Wf0 time step Kalman Filter Cr = (k.c)/(x) N. Courant Assimilation every 5 time steps
Sudden change Amplitude: 1m 0.5m 25 inst. after Amplitude: 1m 0.5m Introduced at time 150 instantes Introduced at time 25 instants: 25 inst. after Later introduction prejudicates convergence 40 inst. after
Optimal Interpolation 1D Hydrodynamic model Shallow water equations √ H h u Kalman Filter methods Optimal Interpolation
EnKF Wf Pf Wf first guess P0 Predictor Corrector f State ensemble ... Wf1 WfM f M >= 100 Wo Predictor time R f Wf: Ensemble mean o ... Pf ... Corrector a Wa: Ensemble mean ... Pa
Implementation details Model: Velocity and water level discretization: upwind, implicit (except when H in equations - explicit) Levels at cells centers, velocities at cells faces Level solved first then velocities calculated Boundaries: level first cell - imposed sine function (solution linear model) level last cell – radiative velocity first cell – 0 (not needed for calculation) EnKF (based on Evensen, 2003, Ocean Dynamics): State: levels and velocities in each cell Initial state: null levels, null velocities; Initial ensemble: random perturbations based on covariance matrix; run in model without error for proper correlations to develop (1 wave T) Measurement error: randomly generated (time, members) assuming a variance (R) equal for each measure Model error: randomly generated (time, members) independently for each variable assuming variance (Qlevel, Qveloc)
First test case Twin test Constant h = 5m Test rational: different spatial discretization: True model: deltax=1m, 100 cells Wrong model: deltax=5m, 20 cells Deltat = 1s Bottom stress coef. = 0.0025 Assimilation every 3s Initial state: Only levels perturbed (variance = 1) Correlation length (exp. model) = 6 cells Number members (ensemble) = 100 Model error: Qlevel = 0.003; Qveloc = 0.03 Measurements taken cells 28 and 73 of True; 6 and 15 of Wrong Measurement error: R = 0.002 (levels or velocities)
First results – levels DA
First results – velocities DA
First results - statistics True Wrong (time equivalent to 300 assimilations): Levels: RMSE=0.000317; CORR=0.955961 Velocities: RMSE=0.004322 ; CORR=0.594234 True Wrong assim. levels (300 assimilations): Levels: RMSE=0.021871; CORR=0.947670 Velocities: RMSE=0.587055; CORR=0.848449 True Wrong assim. velocities (300 assimilations): Levels: RMSE=0.021112; CORR=0.952238 Velocities: RMSE=0.355114; CORR=0.791911 Better to assimilate velocities? Seems not advantageous to assimilate... More tuning of DA parameters needed!
Future work EnKF: Implement other DA methods Sensibility analysis to filter parameters (Q, R, initial condition) Consider other tests: Non constant h Bottom stress ... Implement other DA methods Compare methods performance for same case Implement DA methods in MOHID
Eigen values decomposition RRSQRT Eigen values decomposition value p. 1 value p. 2 ... value p. m value p. r dominant Predictor (Linearized model) Redução (r < m) Corrector wo
SEIK Lower computational cost than EnKF Predictor Corrector (LULT) EOF analysis Wa Pa Lower computational cost than EnKF ... Wa1 War a (r < m) Predictor mean Wf Pf Wo Corrector R SEEK = SEIK without ensemble and linearized model