PPT

advertisement
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
 ( p1) chem
 ( p1) adv
 ( p1) 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( p1) 
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( p1) 

adv
3
  y i 1,( p 1)  (1   ) y i ,( p 1)
0
 
1  
  
1
0 
 0
 1   

Transpose applies reverse winds:
Courant number
α = ut/ 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( p1) 

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( p1) )
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( p2) )
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]
Download