3D-Var

3D-Var is a sequential method that updates the state of a model at each assimilation time, by minimizing a cost function like

J(x) = (x- x_b)' inv(B) (x - x_b) + (y - H x)' inv(R) (y - H x)

where:

To use the 3D-Var algorithm with a model, user needs to provide also the adjoint of the model. In OpenDA, the minimization of the cost function is performed by using either the (L)BFGS algorithm or a conjugate gradient algorithm like the Fletcher-Reeves, Polak-Ribieri or Steepest Descent.