The adjoint model technique is a powerful tool developed to perform tracer inversions of reactive species. It relies on the exact evaluation of the gradient of the cost function with respect to the control variables by the adjoint model. This framework has clear advantages compared to other techniques: it is able to address non-linear problems, and it can handle any large number of control parameters.
Because AD-IMAGES includes the adjoint of both the transport and chemistry modules of IMAGES, the emissions of different chemical species can be simultaneously optimized while taking their chemical interactions into account. In addition, as different species may have common sources (like biomass burning), the information obtained from measurements of a given compound can be used to constrain the sources of other species, which are emitted but not necessarily observed. The feasibility of the multi-compound inversion has been demonstrated in Müller and Stavrakou .
Moreover, the adjoint modelling framework provides the only efficient way to compute sensitivities with respect to the control variables, when their number becomes very large. This is due to the fact that the time needed to determine the model sensitivity does not depend on the number of control variables to be determined. The first study addressing the grid-based inversion of emissions of a reactive species at the global scale is presented in Stavrakou and Müller .
The adjoint model has been derived directly from the numerical code of the IMAGES model. This code, viewed as a composition of functions, is differentiated by applying the chain rule. Since application of the adjoint code reverses execution order, the backward in time calculation requires requires the knowledge of the model state at each time step.
Trace gases concentrations are thus stored on disk at every time step in the forward run. The adjoint code is implemented using the automatic differentiation software TAMC [Giering and Kaminski, 1998]. Nevertheless, despite the automatization provided by TAMC, adjoint code generation required a substantial amount of programming effort.
The cost function and its derivatives calculated in the forward and adjoint models are used as input in the M1QN3 minimization subroutine [Gilbert and Lemarechal, 1989]. This minimizer solves unconstrained minimization problems using a variable storage quasi-Newton method. The computation of the cost function and its gradient is performed iteratively until convergence is attained.