forward model
for k in range(nt):
ub[:,k+1] = RK4(rhs,ub[:,k],dt,*args)
DM = JRK4(rhs,Jrhs,ub[:,k],dt,*args)
U = DM @ U
if (km<nt_m) and (k+1==ind_m[km]):
tmp = w[:,km] - ObsOp(ub[:,k+1])
ek = tmp.reshape(-1,1)
ef = np.vstack((ef,ek))
Qk = JObsOp(ub[:,k+1]) @ U
Q = np.vstack((Q,Qk))
W = block_diag(W,Ri)
km = km + 1
Q = np.delete(Q, (0), axis=0)
ef = np.delete(ef, (0), axis=0)
W = np.delete(W, (0), axis=0)
W = np.delete(W, (0), axis=1)