WARNING: The Presence of Equations is Detected in this Post!
It’s been a while since my last post regarding carbon
dioxide emission estimates, and since I'm currently busy working on the
Transport Model for my analysis, I thought it would be a good time to introduce
the second ingredient needed for carbon flux estimation through inverse
modelling.
To adequately explain why the transport model is needed, I'm going to have to introduce an equation. This is the Bayesian cost function
which needs to be optimized in order to solve for the carbon dioxide fluxes:
J_{BLS} = (c  Gs)^{T}X(c  Gs) + (s  z)^{T}W(s  z)
where
c are the observed concentrations at a
particular station,
s are the carbon
dioxide fluxes (which is what we want to solve for),
G is the matrix which describes how to fluxes influence the concentrations
(and so is referred to as the influence function),
X is the inverse covariance matrix of the concentrations,
z are the best estimates of the carbon
dioxide fluxes, and
W is the inverse covariance matrix of the estimated fluxes (see Enting, 2002
Inverse Problems in Atmospheric Constituent Transport).
The influence function
G is the part
of the equation which requires the transport model. This is the component which
links the rates of CO
_{2} emissions to the observed CO
_{2}
concentrations, so that
c ≈
Gs.
The idea behind the optimization is to estimate the best
values for s (the fluxes) so that c – Gs
is as close to zero as possible. But because there are many sets of values that
can be assigned to s so that the optimization
equation is minimized, the Bayesian approach to optimization adds a second
component, which is the minimization of the difference between the modelled
values for s and the best estimates for s (z
which is referred to the as the prior estimates). The Bayesian way of thinking
is that we aren't starting from a clean slate – we already know something about
the carbon dioxide fluxes on the ground. We know which areas are going have lots
of anthropogenic emissions, we know which areas are vegetated and are going to
have photosynthesis and ecosystem respiration processes occurring, and we know
which areas are barren where very little emissions are going to take place. So
let’s add that information to the optimization routine so that we can further
restrict the set of best possible solutions for the fluxes, s. And what we end up with is then a
probability distribution for the solution of s. So not one answer, but a set of answers with associated
probabilities.
The approach I'm using to obtain the influence function is
based on a atmospheric modelling tool often used in pollution tracking called a Lagrangian Particle Distribution Model run in backward mode. So what
does that mean? When a Lagrangian Particle Distribution Model (LPDM) is run in
backward mode, particles are released from the measurement sites and travel to
the surface and boundaries (Seibert and Frank, 2002,
Sourcereceptor matrix calculation with a Lagrangian particle distribution model in backward mode)
That’s why it is referred to as backward mode – we start at the measurement
point and then go backward in time to see which surfaces would have influenced
that particle. In order to correctly move the particles around, LPDM needs
meteorological inputs at a resolution which matches up with the size of the
area you’re interested in. Because in my study I'm going to be concentrating of
Cape Town and the surrounding areas, I need to have meteorological inputs that
are at a pretty high resolution. I'm going to be using values from the
atmospheric model CCAM (CSIRO’s
ConformalCubic Atmospheric Model 
CCAM) which provides three
dimensional estimates for the wind components (u, v, and w) and temperature and
turbulent kinetic energy. And I'm going to be using an LPDM developed by Uliasz
(Uliasz, M., 1994. Lagrangian particle modeling in mesoscale applications,
Environmental Modeling II).


The LPDM model has been written in FORTRAN code, and the CCAM model outputs it meteorological variables as NETCDF files. I'll soon write a post on the joys of compiling code in LINUX and converting my met NETCDF files into a binary format that LPDM can use.