Adjoint modeling and applications Consider a forward model y = F(x) with Jacobian matrix K y xF x The adjoint of that forward model applies KT to vectors called adjoint forcings This is useful for • Determining the sensitivity of model output to model variables going back in time; • Solving the inverse problem numerically rather than analytically to accommodate large state vectors (4DVAR inversion) Adjoint model as sensitivity analysis tool Forward model (CTM): State vector x(0) Concentrations Time y(0) t0 y(1) t1 y(p-1) tp-1 y(p) tp Jacobian expresses sensitivity of y(p) to x(0): K y( p ) x (0) Take transpose: T y( p ) y( p-1) y(1) y(0) ... y y y x ( p-1) ( p-2) (0) (0) T y( p ) y(0) K x x (0) (0) T T T y(1) y( p-1) ... y y (0) ( p-2) T y( p ) y ( p-1) Apply sequentially to unit vector v = (1,0…0)T: T y( p ) y ( p ),1 v y y( p-1) ( p-1) T y( p-1) y ( p ),1 y ( p ),1 followed by y( p-2) y( p-1) y( p-2) etc… Single pass of the adjoint over [tp, t0] returns sensitivity of y(p),1 to all model variables at all previous times: y(p),1/y(p-1), y(p),1/y(p-2),… y(p),1/x(0) Application to receptor modeling: sensitivity of smoke in Singapore to fire locations in Equatorial Asia MODIS fire observations, June 20-29 2013 Smoke in Singapore, June 20 Smoke transport simulated by GEOS-Chem • Large fire emissions in Equatorial Asia from oil palm and timber plantations • Adjoint can identify the sensitivity of smoke concentrations at a particular receptor site to fire emissions at all locations and previous times Smoke concentration in surface air Kim et al. [2015] Using GEOS-Chem adjoint to compute sensitivity of smoke concentrations in Singapore to fire emissions Emissions E(x, t) from bottom-up inventory Concentrations y(x, t) =F(E(x, t)) computed with GEOS-Chem Sensitivities s (x, t,t’) = ySingapore(t)/E(x, t’) computed with GEOS-Chem adjoint t Contributions to Singapore smoke s(x, t , t ')E (x, t ')dt ' to Smoke concentrations in Singapore can be calculated for ANY emission inventory E and time t using archived sensitivities computed just ONCE from the adjoint: t ySingapore (t ) s ( x, t , t ')E ( x, t ')dxdt ' x to Simple construction of a CTM adjoint Consider a CTM split into advection (A), chemistry (C), and emission (E) operators: y( p ) A C E ( y( p 1) ) Linearize each operator so that it operates as a matrix: y( p ) y( p ) y( p ) C yC A y A E yE y y y ( p1) chem ( p1) adv ( p1) em This defines the Tangent Linear Model (TLM) and the model adjoint: y( p ) y( p 1) T ACE TLM y( p ) T T T = E C A y( p1) Adjoint Constructing the adjoint requires construction of the TLM by differentiating the model equations or the model code…and this represents most of the work Adjoint of a linear advection operator transpose (adjoint) α 1 2 α α Linear upstream advection scheme: y i ,( p ) y( p ) A y( p1) adv 3 y i 1,( p 1) (1 ) y i ,( p 1) 0 1 1 0 0 1 Transpose applies reverse winds: Courant number α = ut/ x 0 1 AT 0 1 0 1 y i ,( p ) y i 1,( p 1) (1 ) y i ,( p 1) Same applies in a linear Lagrangian model (reverse the winds to get the adjoint) Adjoint of a linear chemistry operator dy E ky dt y( p ) C y( p1) chem y( p ) E y( p 1) exp[ k t ] (1 exp[ k t ]) k 0 0 exp[k t ] = CT 0 exp[k t ] 0 0 0 exp[ k t ] A linear chemistry operator is self-adjoint; same operator can be used in forward and adjoint models. Sensitivity with respect to emissions is also self-adjoint: 1 k (1 exp[k t ]) y( p ) 0 E 0 0 1 (1 exp[k t ]) k 0 T y ( p) 0 E 1 (1 exp[k t ]) k 0 Variational inversion A xA 1 Solve the inverse problem ° x J ( x ) S-1A (x - x A ) K T SO 1 (F( x ) - y) 0 2 °x1 numerically rather than analytically x2° 1. Starting from prior xA , calculate 3 x3 ° x J ( x A ) 2. Using a steepest-descent algorithm get next guess x1 3. Calculate x J ( x1) , get next guess x2 4. Iterate until convergence T 1 Adjoint model computes K SO (F( x ) - y) 1 by applying KT to adjoint forcings SO (F( x ) - y) Minimum of cost function J Adjoint method for calculating cost function gradient Time Observations t0 t1 y(0) y(1) tp-2 tp-1 tp y(p-2) y(p-1) y(p) Forward model F(xA) over[t0, tp] S-1 O (F(x A ) - y( p ) ) S-1 O (F(x A ) - y( p1) ) S-1 O (F(x A ) - y(1) ) S-1 O (F(x A ) - y( 0) ) T t0 y(1) t1 T y y(0) (0) x (0) J ( x A ) KT S-1 O (F(x A ) - y) S-1 O (F(x A ) - y( p2) ) T tp-2 y( p 1) tp-1 y tp (p) adjoint y( p-2) y( p-1) model T 3DVAR and 4DVAR data assimilation State vector: 3-D time-dependent concentration field (very large) Observation vector: observations of state variables or related variables Example: assimilation of satellite observations of stratospheric ozone 3DVAR 3DVAR 3DVAR 4DVAR 4DVAR t0 t1 = t 0 + h Forecast model with assimilation at time increments h t2 = t0 + 2h 3DVAR: same as Kalman filter but minimize cost function numerically 4DVAR: use adjoint to optimize field at t0 using observations spread over [t0, t0 + h]