Research Vignette: The TransCom3 Time-Dependent Global CO 2 Flux Inversion … and More David F. Baker NCAR 12 July 2007
Jan 04, 2016
Research Vignette:
The TransCom3 Time-DependentGlobal CO2 Flux Inversion
… and More
David F. BakerNCAR
12 July 2007
David F. BakerNCAR
12 July 2007
OutlineOutline The TransCom3 CO2 flux inversion inter-comparison project
The fully time-dependent T3 flux inversion Method (“batch least squares”) Results
Methods for bigger problems: Kalman filter (traditional, full rank) Ensemble filters Variational data assimilation
The TransCom3 CO2 flux inversion inter-comparison project
The fully time-dependent T3 flux inversion Method (“batch least squares”) Results
Methods for bigger problems: Kalman filter (traditional, full rank) Ensemble filters Variational data assimilation
TransCom3 CO2 Flux Inversions
CO2 fluxes for 22 regions, data from 78 sites Annual-mean inversion, 1992-1996
Fixed seasonal cycle, no IAV 22 annual mean fluxes solved for Gurney, et al Nature, 2002 & GBC, 2003
Seasonal inversion, 1992-1996 Seasonal cycle solved for, no IAV 22*12 monthly fluxes solved for Gurney, et al, GBC, 2004
Inter-annual inversion, 1988-2003 Both seasonal cycle and IAV solved for 22*12*16 monthly fluxes solved for Baker, et al, GBC, 2006
TransCom3 interannual inversion setup:Solve for monthly CO2 fluxes from 22 regions,
1988-2003, using monthly concentrations from 78 sites
Fossil fuel input
Atmosphericstorage
Land + oceanuptake
0.45*FF
FF = Atmos + Ocean + Land Bio
NH SummerNH Winter
CO2 Uptake & Release
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
HHHH
HHHH
HHHH
HHHH
HHHH
HHHH
HHHH
123
1
1
2
1
3
1
4
1
55
45
35
25
44
34
24
14
33
23
13
03
22
12
02
12
11
01
11
21
−−−
−
−
−
−
−
−
−
−
−
−−
OOOO
MM
MM
zx
zx
zx
zx
zx
zx
zx
x
x
x
11
55
44
33
22
11
0
1
2
−−
=
−
−
M
0
H
Form of the Batch Measurement Equations
fluxesconcentrationsTransport basis functions
Batch least-squares or “Bayesian synthesis” inversion
Batch least-squares or “Bayesian synthesis” inversion
Optimal fluxes, x, found by minimizing:
wheregiving
Optimal fluxes, x, found by minimizing:
wheregiving
)()()()( 11oo
To
TJ xxPxxzHxRzHx −−+−−= −−
€
ˆ x = (HTR−1H + Po−1)−1(HTR−1z + Po
−1xo)
Pˆ x ̂ x = E(dˆ x dˆ x T ) = (HTR−1H + Po−1)−1
or....Pˆ x ̂ x −1 = Po
−1 + HTR−1H
)();( Tooo
T ddEddE xxPzzR ==
^
Computation of the interannual variability (IAV): Europe
Monthly flux
Deseasonalized flux
IAV
Between-model error
Estimation error
[PgC/yr]
Total flux IAV(land+ocean)
[PgC/yr]
OceanFlux IAV
Land flux IAV[PgC/yr]
[PgC/yr]
Flux IAV [PgC/yr],11 land regions
Flux IAV [PgC/yr],
11 ocean regions
Computational considerationsComputational considerations
Transport model runs to generate H: 22 regions x 16 years x 12 months x 36 months = 152 K tracer-months (if using real winds)
22 x 12 x 36 = 9.5 K tracer-months (using climatological winds)
Matrix inversion computations: O (N3) N = 22 regions x 16 years x 12 months = 4.4 K
Matrix storage: O (N*M) --- 66 MB M = 78 sites x 16 years x 12 months = 15 K
Transport model runs to generate H: 22 regions x 16 years x 12 months x 36 months = 152 K tracer-months (if using real winds)
22 x 12 x 36 = 9.5 K tracer-months (using climatological winds)
Matrix inversion computations: O (N3) N = 22 regions x 16 years x 12 months = 4.4 K
Matrix storage: O (N*M) --- 66 MB M = 78 sites x 16 years x 12 months = 15 K
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
HHHH
HHHH
HHHH
HHHH
HHHH
HHHH
HHHH
123
1
1
2
1
3
1
4
1
55
45
35
25
44
34
24
14
33
23
13
03
22
12
02
12
11
01
11
21
−−−
−
−
−
−
−
−
−
−
−
−−
OOOO
MM
MM
zx
zx
zx
zx
zx
zx
zx
x
x
x
11
55
44
33
22
11
0
1
2
−−
=
−
−
M
0
H
Kalman Filter/Smoother
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
HHHH
HHHH
HHHH
HHHH
HHHH
HHHH
HHHH
123
1
1
2
1
3
1
4
1
55
45
35
25
44
34
24
14
33
23
13
03
22
12
02
12
11
01
11
21
−−−
−
−
−
−
−
−
−
−
−
−−
OOOO
MM
MM
zx
zx
zx
zx
zx
zx
zx
x
x
x
11
55
44
33
22
11
0
1
2
−−
=
−
−
M
0
H
Kalman Filter/Smoother
Kalman Filter EquationsKalman Filter EquationsMeasurement update step at time k:
Dynamic propagation step from times k to k+1:
Put multiple months of flux in state vector xk, method becomes effectively a fixed-lag Kalman smoother
Measurement update step at time k:
Dynamic propagation step from times k to k+1:
Put multiple months of flux in state vector xk, method becomes effectively a fixed-lag Kalman smoother
][
]ˆ[ˆˆ
1)()(
)()()(
)()()(
−−−
−−+
−−+
+=
−=−+=
kT
kkkT
kkkwhere
kkkkk
kkkkkk
RHPHHPK
PHKPP
xHzKxx
kT
kkkk
kkk
QPP
xx
+ΦΦ=
Φ=
+−+
+−+
)()(1
)()(1 ˆˆ
Error
Time
2
1
1
11
1
1 22
222
Φ = tangentlinear model
Inversion methods for the data-rich, fine-scale
problem
Inversion methods for the data-rich, fine-scale
problem Kalman filter: some benefit, but long lifetimes for CO2 limit savings
Ensemble KF: full covariance matrix replaced by an approximation derived from an ensemble
Variational data assimilation (4-D Var): an iterative solution replaces the direct matrix inversion; the adjoint model computes gradients efficiently
Kalman filter: some benefit, but long lifetimes for CO2 limit savings
Ensemble KF: full covariance matrix replaced by an approximation derived from an ensemble
Variational data assimilation (4-D Var): an iterative solution replaces the direct matrix inversion; the adjoint model computes gradients efficiently
Ensemble Kalman filter Replace xk, Pk from the full KF with an ensemble of xk,i, i=1,…,Nens
Add dynamic noise consistent with Qk to xk,i when propagating; add measurement noise consistent with Rk to measurements when updating, initial ensemble has a spread consistent with P0
When needed in KF equations, Pk replaced with
Replace matrix multiplications with sums of dot products
Good for non-Gaussian distributions
€
Pk ≈ (x k,i− < x k >)(x k,i− < x k >)T
i
Nens
∑
For retrospective analyses, a 2-sided smoother gives more accurate estimates than a 1-sided filter.
(Gelb, 1974)
Kalman filter vs. Kalman smoother
Estimation as minimization
Solve for x with an approximate, iterative method rather than an exact matrix inversion
Start with guess x0, compute gradient efficiently with an adjoint model, search for minimum along -, compute new and repeat
Good for non-linear problems; use conjugate gradient or BFGS approaches
Low-rank covariance matrix built up as iterations progress
As with Kalman filter, transport errors can be handled as dynamic noise
€
J = (h(x) − z)T R−1(h(x) − z) + (x − xo)T Po−1(x − xo)
€
∇k =∂J
∂x k
°
°
°
°
0
2
1
3
x2
x1
x3
x0
AdjointTransport
ForwardTransport
ForwardTransport
MeasurementSampling
MeasurementSampling
“True”Fluxes
EstimatedFluxes
ModeledConcentrations
“True”Concentrations
ModeledMeasurements
“True”Measurements
AssumedMeasurement
Errors
WeightedMeasurement
Residuals
/(Error)2
AdjointFluxes=
FluxUpdate
4-D Var Iterative Optimization Procedure
Minimum of cost function J
4-D Var Data Assimilation Method
Find optimal fluxes u and initial CO2 field xo to minimize
subject to the dynamical constraint
wherex are state variables (CO2 concentrations),h is a vector of measurement operatorsz are the observations,R is the covariance matrix for z,uo is an a priori estimate of the fluxes,
Puo is the covariance matrix for uo,
xo is an a priori estimate of the initial concentrations,
Pxo is the covariance matrix for xo,
Φ is the transition matrix (representing the transport model), and
G distributes the current fluxes into the bottom layer of the model
€
x i+1 = Φ i+1i x i + G iui ≡ di(x i,ui), i = 0, L ,I −1
€
J = (h j (x j ) − z j )T R j
−1(h j (x j ) − z j )j
∑
+ (ui − uio)T P
u io
−1(ui − uio)
i= 0
I −1
∑ + (x0 − x0o)T P
x 0o
−1(x0 − x0o)
4-D Var Data Assimilation Method
Adjoin the dynamical constraints to J using Lagrange multipliers
Setting F/xi = 0 gives an equation for i, the adjoint of xi:
The adjoints to the control variables are given by
F/ui and F/xoo as:
The gradient vector is given by F/ui and F/xoo, so
the optimal u and xo may then be found using one’s favorite descent method. I use the BFGS method in order to obtain an estimate of the leading terms in the covariance matrix.
€
F ≡ J + λ i+1T (di(x i,ui) − x i+1)
i= 0
I −1
∑
€
i = [Φ i+1i ]T λ i+1 +
∂hi
∂x i
T
R j−1(hi(x i) − z j )δ ij i = I −1,K ,1
λ I =∂hI
∂x I
T
R j−1(hI (x I ) − z j )δIj ≈ 0
€
∂F
∂ui
T
= G iT λ i+1 + P
u io
−1(ui − uio), i = 0,K ,I −1
∂F
∂x0
T
= Φ10T
λ1 + Px 0
o−1(x0 − x0
o) + R j−T (h0 − z j )δ0 j
· 10-8 [ kg CO2 m-2 s-1 ]
OSSE ResultsFor Five CO2
MeasurementNetworks
Pros and cons, 4DVar vs. ensemble Kalman filter (EnKF)
4DVar requires an adjoint model to back-propagate information -- this can be a royal painroyal pain to develop!
The EnKF can get around needing an adjoint by using a filter-lag rather than a fixed-interval Kalman smoother. However, the need to propagate multiple time steps in the state makes it less efficientless efficient than the 4DVar method
Both give a low-rank estimate of the a posteriori covariance matrix
Both can account for dynamic errors Both calculate time-evolving correlations between
the state and the measurements
Adjoint transport model If number of flux regions > number of measurement sites, then instead of running transport model forward in time forced by fluxes to fill H, run adjoint model backwards in time from measurement sites
What is an adjoint model? If every step in the model can be represented as a matrix multiplication (= ‘tangent linear model’), then the adjoint model is created by multiplying the transpose of the matrices together in reverse order
FWD**
* *
*
*
ADJfluxgrid
measurementsites