YAO: A software for variational data assimilation using numerical models. Variational data assimilation consists in estimating control parameters of a numerical model in order to minimize the misfit between the forecast values and some actual observations. The gradient based minimization methods require the multiplication of the transpose jacobian matrix (adjoint model), which is of huge dimension, with the derivative vector of the cost function at the observation points. We present a method based on a modular graph concept and two algorithms to avoid these expensive multiplications. The first step of the method is a propagation algorithm on the graph that allows computing the output of the numerical model and its linear tangent, the second is a backpropagation on the graph that allows the computation of the adjoint model. The YAO software implements these two steps using appropriate algorithms. We present a brief description of YAO functionalities.