<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Biospherica &#187; eddy covariance</title>
	<atom:link href="http://joewheatley.net/tag/eddy-covariance/feed/" rel="self" type="application/rss+xml" />
	<link>http://joewheatley.net</link>
	<description>Earth Vegetation</description>
	<lastBuildDate>Wed, 25 Apr 2012 12:58:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Flux Towers: Part II</title>
		<link>http://joewheatley.net/flux-towers-part-ii/</link>
		<comments>http://joewheatley.net/flux-towers-part-ii/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 19:57:08 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Carbon]]></category>
		<category><![CDATA[Climate]]></category>
		<category><![CDATA[ecosystem model]]></category>
		<category><![CDATA[Forests]]></category>
		<category><![CDATA[eddy covariance]]></category>
		<category><![CDATA[Terrestrial Carbon]]></category>
		<category><![CDATA[water stress]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=742</guid>
		<description><![CDATA[Flux tower eddy covariance instruments measure CO2 flux between an ecosystem and the atmosphere. Observed CO2 fluxes (also called NEE, Net Ecosystem Exchange) can be correlated with locally measured solar intensity, temperature, humidity etc. With enough data, a detailed picture of the local response of the ecosystem to environmental variables to be built up. Flux [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1075" class="wp-caption aligncenter" style="width: 800px"><a href="http://joewheatley.net/wp-content/uploads/2009/10/forestimage.png"><img class="size-large wp-image-1075  " title="forestimage" src="http://joewheatley.net/wp-content/uploads/2009/10/forestimage-1024x112.png" alt="forestimage" width="790" height="112" /></a><p class="wp-caption-text">West of Ireland oak woodland - October 11 </p></div>
<p>Flux tower <strong><a href="http://joewheatley.net/flux-towers-part-i/" target="_blank">eddy covariance instruments</a></strong> measure CO2 flux between an ecosystem and the atmosphere. Observed CO2 fluxes (also called NEE, <em>Net Ecosystem Exchange</em>) can be correlated with locally measured solar intensity, temperature, humidity etc. With enough data, a detailed picture of the local response of the ecosystem to environmental variables to be built up. Flux towers are one of the important tools for quantitative understanding the sensitivity of vegetation to climatic variability.</p>
<p>CO2 flux data  are noisy, to say the least. If you want to understand ecosystem reponse, you need a statistical model.  This post gives some simple ideas and R code showing how such a model can be developed. The example used is <strong><a href="http://atmos.seas.harvard.edu/lab/hf/CO2exchange.html" target="_blank">Harvard Forest</a></strong> [1], Massachussetts, a temperate deciduous broadleaf forest for which a large amount of flux tower data (collected by Munger &amp; Wofsy) is available. It could equally be applied to tropical forest, grassland, cropland etc at one of the 200+ fluxnet sites worldwide. The model falls short of the full scientific rigour given in the references, but it can easily be developed into a more complete tool.</p>
<p>The main interest here is ecosystem response to sunlight i.e. photosynthesis. The light dependent part of the NEE is GEP (Gross Ecosystem Production), while the light independent part is RE (ecosystem respiration).</p>
<h3>Pre-processing</h3>
<p>As always, the first steps are about getting the data into the right form. We use half-hourly data for 1991-2007  for Harvard Forest  i.e <a href="http://public.ornl.gov/ameriflux/dataproducts.shtml" target="_blank">Ameriflux</a> Level 2, site code <em>USHa-1</em>. This raw data has not been subject to any gap-filling statistical treatment. Here are the pre-processing steps:</p>
<ol>
<li>download the annual data files and create a dataframe harvard using the rbind() combining all of the data</li>
<li>replace missing data (e.g. -9999) with &#8220;NA&#8221;</li>
<li>add a new fornight index, indicating to which fortnight of the year each row of data belongs</li>
<li>select a subset of the Ameriflux variables of interest. e.g. column headings c(&#8220;YEAR&#8221;,&#8221;DTIME&#8221;,&#8221;FN&#8221;,&#8221;TA&#8221;,&#8221;NEE&#8221;,&#8221;TS1&#8243;,&#8221;VPD&#8221;,&#8221;PAR_in&#8221;)</li>
<li>drop rows of data when one or more variables are undefined</li>
<li>group the data according to fortnights index i.e. create a list of 26 elements where each element is a dataframe containing all data sharing the same fortnight index.</li>
<li>drop &#8220;dark&#8221; data i.e. rows of data where PAR &lt; 30.</li>
</ol>
<p>The environmental variables retained at step 4 are TA (atmospheric temperature), TS1  (soil temperature), VPD (vapour pressure deficit) and PAR (photosynthetically active radiation). PAR is solar radiation in the range 0.4-0.7 microns which is energetic enough to contribute to photosynthesis. It has units μ mols s<sup>-1</sup> m<sup>-2</sup>. (1 μ mole = 6 x 10<sup>17</sup>.)</p>
<p>Here is what the R code looks like: <code><br />
<span style="color: #ff6600;">#download the annual data files and create a dataframe harvard</span><br />
loc=file.path("ftp://cdiac.ornl.gov/pub/ameriflux/data/Level2/Sites_ByID/US-Ha1/with_gaps/usmaharv_1991_L2.csv"); # Ameriflux US_Ha1 download.file(loc,"temp.dat");<br />
ha_1991=read.csv("temp.dat", header=FALSE,skip=20); .........................<br />
loc=file.path("ftp://cdiac.ornl.gov/pub/ameriflux/data/Level2/Sites_ByID/US-Ha1/with_gaps/usmaharv_2007_L2.csv"); # Ameriflux US_Ha1 download.file(loc,"temp.dat");<br />
ha_2007=read.csv("temp.dat", header=FALSE,skip=20); harvard &lt;- rbind(ha_1991,ha_1992,ha_....._2006,ha_2007); # merged dataframes<br />
<span style="color: #ff6600;">#replace missing data with "NA"</span><br />
temp &lt;- (harvard[,] == -9999 | harvard[,] == -6999); #replace -9999 or -6999 with NAs<br />
harvard[temp]=NA;<br />
<span style="color: #ff6600;">#add a new fortnight index</span><br />
lims &lt;- seq(from=1,to=365,by=14); # fortnightly data<br />
lims[27] &lt;- 367; # bound adjust, last fortnight has extra days fortnight<br />
&lt;- function(d) {sum(ifelse(d&lt;lims,0,1))}  # convert from DOY to fortnights<br />
harvard &lt;- data.frame( "FN" = sapply(harvard$DOY,fortnight),harvard)  # add fortnight labels 1..26 column<br />
#select a subset of the Ameriflux variables of interest<br />
sub&lt;- c("YEAR","DTIME","FN","TA","NEE","TS1","VPD","PAR_in")<br />
harvardS &lt;- harvard[,colnames(harvard) %in% sub, drop=FALSE] # subset dataframe<br />
<span style="color: #ff6600;">#  drop data when U* &lt; 0.2 m/s</span><br />
u_cut &lt;- (harvard$UST &lt; 0.2|is.na(harvard$UST));<br />
<span style="color: #ff6600;">#drop every row of data when one or more variables are undefined</span><br />
x &lt;- is.na(harvardS$TA);<br />
y &lt;- is.na(harvardS$NEE);<br />
z &lt;- is.na(harvardS$TS1);<br />
u &lt;- is.na(harvardS$VPD);<br />
v &lt;- is.na(harvardS$PAR_in);<br />
w &lt;- !(x|y|z|u|v|u_cut);  #boolean. w is true when all variables are defined and U* &gt; 0.2 m/s<br />
harvardS &lt;- data.frame("YEAR"=harvard$YEAR[w],"FN"=harvard$FN[w],"TA"=harvard$TA[w],"NEE" = harvard$NEE[w], "TS1" = harvard$TS1[w], "VPD" = harvard$VPD[w],"PAR" = harvard$PAR_in[w])<br />
<span style="color: #ff6600;">#group the data according to fortnights index</span><br />
getF &lt;- function(i) {subset(harvardS,FN==i)}<br />
# list of dataframes according to fortnight index<br />
harvardF &lt;- lapply(seq(1:26),getF) # generate list<br />
<span style="color: #ff6600;">#drop "dark" data i.e. rows of data where PAR &lt; 30.</span><br />
harvardS.light &lt;- subset(harvardS,PAR&gt;30)#day only<br />
getF.light &lt;- function(i) {subset(harvardS.light,FN==i)}<br />
<span style="color: #ff6600;"># list of dataframes according to fortnight value</span><br />
harvardF.light &lt;- lapply(seq(1:26),getF.light) # generate list</code></p>
<p><em>harvardF.light</em> contains the required clean daytime half-hourly data grouped by fortnight index.</p>
<h3>Model-Building</h3>
<p>The plots below show NEE versus PAR. Fortnights 8 &amp; 22 (mid April &amp; late October) are winter months with positive NEE and little evidence of photosynthetic response. Fortnights 14 &amp; 18 (early July and late August) show photosynthesis (-ve NEE) and a strong response to PAR.</p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2009/10/gep.png"><img class="size-large wp-image-1005  aligncenter" title="gep" src="http://joewheatley.net/wp-content/uploads/2009/10/gep-1024x958.png" alt="gep" width="717" height="671" /></a></p>
<p>The NEE-PAR curves during summer months saturate at high light levels. This is not too surprising. Photosynthesis is limited by water and CO2 availability and so cannot increase indefinitely with increasing PAR. A simple light saturation model is [2]</p>
<p style="text-align: center;"><img src='http://s.wordpress.com/latex.php?latex=%5Cmathrm%7BNEE%7D%20%3D%20%5Cmathrm%7BR_E%7D%20-%7B%7B%5Calpha%20%5Cbeta%20%5Cmathrm%7BPAR%7D%7D%20%5Cover%20%7B%5Cbeta%20%2B%20%5Calpha%20%5Cmathrm%7BPAR%7D%7D%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathrm{NEE} = \mathrm{R_E} -{{\alpha \beta \mathrm{PAR}} \over {\beta + \alpha \mathrm{PAR}}}' title='\mathrm{NEE} = \mathrm{R_E} -{{\alpha \beta \mathrm{PAR}} \over {\beta + \alpha \mathrm{PAR}}}' class='latex' /></p>
<p>The second term on the right-hand-side represents GEP.  At low light levels GEP ≈ αPAR. The parameter α is called the &#8220;photosynthetic efficiency&#8221;. At high light levels,  GEP ≈ β and so β is the light saturation GEP.</p>
<p>This 3-parameter simple light saturation model can be fit to extract parameters for each fortnightly period. However, a better model recognises that photosynthesis responds to changes in moisture availability and temperature. This effect can be introduced by replacing <img src='http://s.wordpress.com/latex.php?latex=%5Calpha%20%5Crightarrow%20%5Calpha%20%5Cepsilon&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\alpha \rightarrow \alpha \epsilon' title='\alpha \rightarrow \alpha \epsilon' class='latex' /> in the numerator of GEP, where ε depends on atmospheric temperature TA and vapour pressure deficit VPD. ε=1 under optimal temperature and humidity conditions, otherwise ε&lt;1. We need to input a reasonable model for how quickly GEP falls away about the optimal values of TA (at about 25C) and VPD (at zero  kPa). After some experimenting, the following model was found to be reasonable[3]</p>
<p style="text-align: center;"><img src='http://s.wordpress.com/latex.php?latex=%5Cepsilon%20%3D%20%7B%5Clambda%5E2%20%5Cover%20%7B%5Cmathrm%7B%5Cleft%28TA-25%20%5Cright%29%7D%5E2%20%2B%20%5Clambda%5E2%7D%20%7D%20%7B%5Cmu%5E2%20%5Cover%20%7B%5Cmathrm%7BVPD%7D%5E2%20%2B%20%5Cmu%5E2%7D%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\epsilon = {\lambda^2 \over {\mathrm{\left(TA-25 \right)}^2 + \lambda^2} } {\mu^2 \over {\mathrm{VPD}^2 + \mu^2}}' title='\epsilon = {\lambda^2 \over {\mathrm{\left(TA-25 \right)}^2 + \lambda^2} } {\mu^2 \over {\mathrm{VPD}^2 + \mu^2}}' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%5Clambda&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\lambda' title='\lambda' class='latex' /> and <img src='http://s.wordpress.com/latex.php?latex=%5Cmu&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mu' title='\mu' class='latex' /> are two additional parameters which must be determined. This 5-parameter model can be fit for each of the photosynthetically active periods 11-20.</p>
<p>The nls() function in R carries out a numerical maximum likelihood fit using least squares. Unlike ordinary linear least squares, it is not guaranteed to converge. The model and initial parameter values have to be chosen carefully. A good approach is to use parameters from the simple light saturation model as initial values in nls(). Here is the code needed to do the 5-parameter model fits</p>
<p><code><br />
#fits.mid is a list of fitted R objects<br />
for(i in start_period:end_period) {<br />
fits.mid[[i]] &lt;- nls(NEE~ gamma - alpha*beta*(lambda^2/((TA-25)^2+lambda^2))*mu^2/(VPD^2+mu^2)*PAR/(beta+alpha*PAR), data = harvardF.light[[i]], start=list(gamma=1,alpha=0.02,beta=40,lambda=40,mu=1),trace=F); </code></p>
<p>In fact, λ and μ are not expected to vary much during the summer period, since they depend on leaf properties at the cellular level.  Indeed they turn out to be roughly constant for fortnight periods 11-20. It is reasonable to replace them by their average values μ<sub>av</sub> = 2.1kPa and λ<sub>av</sub>=34 μ mols s<sup>-1</sup> m<sup>-2</sup>. With ε determined in this way, a final 3-parameter model fit is carried out. Once again the three parameters are RE, α and β but this time the model takes better account of temperature and moisture sensitivity, via ε.</p>
<h3>Results</h3>
<p>The model suggests that VPD is an important factor limiting GEP. e.g. vapour pressure deficit of 1kPa reduces GEP by 20% when <img src='http://s.wordpress.com/latex.php?latex=%5Cmu%20%3D%202&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mu = 2' title='\mu = 2' class='latex' />kPa. This effect is seen in the plots below.</p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2009/10/nee.png"><img class="size-large wp-image-1015  aligncenter" title="nee" src="http://joewheatley.net/wp-content/uploads/2009/10/nee-1024x813.png" alt="nee" width="819" height="650" /></a></p>
<p>The implication of this is that about 30% of the apparent &#8220;light saturation&#8221; of the NEE PAR response is due to water stress (VPD). The remainder is due to CO2 availability and possibly other constraints.</p>
<p>The plot below shows the variation of parameters R_E , β and α with fortnight index. Only β shows a strong variation during the summer months, with a peak in early June</p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2009/10/params.png"><img class="size-large wp-image-1024  aligncenter" title="params" src="http://joewheatley.net/wp-content/uploads/2009/10/params-1024x481.png" alt="params" width="1024" height="481" /></a></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%5Calpha%5E%7B-1%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\alpha^{-1}' title='\alpha^{-1}' class='latex' /> corresponds to the number of  photosynthetically active photons  arriving at the forest canopy for every CO2 molecule trapped by photosynthesis. This number is about 14.</p>
<p>A common feature of future climate scenarios is competition between increased CO2 availability and increased water stress layed out on a global scale. Clearly flux tower data are good place to look for these effects.</p>
<p>The R script for the model and plots can be found <strong><a href="http://joewheatley.net/wp-content/uploads/2009/10/harvardforestlevel2.txt" target="_blank">here</a></strong>.</p>
<h3>References</h3>
<p>[1] <em>Factors controlling CO<sub>2</sub> exchange on timescales from hourly to decadal at Harvard Forest, </em>Urbanski, S., C. Barford, S. Wofsy, C. Kucharik, E. Pyle, J. Budney, K.</p>
<p>McKain, D. Fitzjarrald, M. Czikowsky, J. W. Munger<a href="http://www.agu.org/pubs/crossref/2007.../2006JG000293.shtml" target="_blank"> http://www.agu.org/pubs/crossref/2007&#8230;/2006JG000293.shtml</a></p>
<p>[2] See for example, <em>An evaluation of models for partitioning eddy covariance-measured<br />
net ecosystem exchange into photosynthesis and respiration</em> P. Stoy <em>et al</em>, <a href="http://www.geos.ed.ac.uk/homes/pstoy/Stoy_06b.pdf" target="_blank">http://www.geos.ed.ac.uk/homes/pstoy/Stoy_06b.pdf</a></p>
<p>[3] More detailed models are give in <em><span class="pb_article_title">An empirical model simulating diurnal and seasonal CO<sub>2</sub> flux for diverse vegetation types and climate conditions</span></em><span class="pb_authors">, M. Saito, S. Maksyutov, R. Hirata, and A. D. Richardson. </span><a href="http //www.biogeosciences.net/6/585/2009/bg-6-585-2009.html" target="_blank">http //www.biogeosciences.net/6/585/2009/bg-6-585-2009.html</a> &amp; references.</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/flux-towers-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flux Towers: Part I</title>
		<link>http://joewheatley.net/flux-towers-part-i/</link>
		<comments>http://joewheatley.net/flux-towers-part-i/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 10:05:37 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Carbon]]></category>
		<category><![CDATA[Forests]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[carbon sources and sinks]]></category>
		<category><![CDATA[eddy covariance]]></category>
		<category><![CDATA[Flux tower]]></category>
		<category><![CDATA[Terrestrial Carbon]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=654</guid>
		<description><![CDATA[Most solar energy absorbed at the earth&#8217;s surface is radiated back into space. For every high energy solar photon absorbed, about 20 degraded thermal photons are eventually radiated back. Ecosystems hitch a ride on this process. The starting point is of course plant photosynthesis which converts sunlight into chemical energy:  . The reverse process (respiration, [...]]]></description>
			<content:encoded><![CDATA[<p>Most solar energy absorbed at the earth&#8217;s surface is radiated back into space. For every high energy solar photon absorbed, about 20 degraded thermal photons are eventually radiated back. Ecosystems hitch a ride on this process. The starting point is of course plant photosynthesis which converts sunlight into chemical energy:  <img src='http://s.wordpress.com/latex.php?latex=%5Cmathrm%7BCO_2%7D%2B%5Cmathrm%7BH_2O%7D%2B%5Cmathrm%7Bphotons%7D%5Crightarrow%20%5Cmathrm%7Bsugars%7D%2B%5Cmathrm%7BO_2%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathrm{CO_2}+\mathrm{H_2O}+\mathrm{photons}\rightarrow \mathrm{sugars}+\mathrm{O_2}' title='\mathrm{CO_2}+\mathrm{H_2O}+\mathrm{photons}\rightarrow \mathrm{sugars}+\mathrm{O_2}' class='latex' />. The reverse process (respiration, burning of sugars and emission of CO2) converts the energy captured by photosynthesis into an almost unbelievable variety of alternative chemical forms, and also into mechanical energy and heat. Following carbon is a way to track energy flow through an ecosystem.</p>
<p>Respiration CO2 derives from maintainance and growth respiration by vascular plants (&#8220;autotrophic&#8221; respiration) and also by the decay of organic matter in soil and litter layers (&#8220;heterotrophic&#8221; respiration). At the ecosystem level, the net exchange of CO2 with the atmosphere is called<em> Net Ecosystem Exchange</em> (NEE). NEE is just the difference between total ecosystem respiration (RE) and photosynthesis (or Gross Ecosystem Production, GEP) :</p>
<p style="text-align: center;"><img src='http://s.wordpress.com/latex.php?latex=%5Cmathrm%7BNEE%7D%20%3D%20%20%5Cmathrm%7BRE%7D-%5Cmathrm%7BGEP%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathrm{NEE} =  \mathrm{RE}-\mathrm{GEP} ' title='\mathrm{NEE} =  \mathrm{RE}-\mathrm{GEP} ' class='latex' /></p>
<p style="text-align: center;">
<p style="text-align: left;">At night, GEP <img src='http://s.wordpress.com/latex.php?latex=%3D%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='= 0' title='= 0' class='latex' /> and the flux of CO2 from the ecosystem to the atmosphere equals RE. During daylight hours, GEP switches on and NEE is normally negative during the growing season. Of course NEE depends on sunlight, air temperature, soil moisture etc. Fortunately this important property of ecosystems is directly measurable.</p>
<h3>Eddy Covariance</h3>
<p style="text-align: left;"><a href="http://joewheatley.net/wp-content/uploads/2009/09/eddycovariance.jpg"><img class="size-full wp-image-675 alignleft" style="margin: 0px 10px;" title="eddycovariance" src="http://joewheatley.net/wp-content/uploads/2009/09/eddycovariance.jpg" alt="eddycovariance" width="325" height="201" /></a> Under normal conditions, air motion above vegetation is turbulent. This fact is the basis of a statistical technique called <em>eddy covariance</em> which measures the flux of CO2 between ecosystem and atmosphere. A setup similar to the one shown on the left is mounted on a tower rising above the top of the vegetation canopy. The setup consists of a gas analyser (measuring instantaneous CO2 concentration), and an anemometer (capable of measuring the instantaneous vertical component of the wind velocity).</p>
<p style="text-align: left;">To a good approximation, the CO2 flux is just the covariance of the vertical wind speed <img src='http://s.wordpress.com/latex.php?latex=w&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='w' title='w' class='latex' /> with the CO2 concentration <img src='http://s.wordpress.com/latex.php?latex=%5Crho&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\rho' title='\rho' class='latex' />. For example, if <img src='http://s.wordpress.com/latex.php?latex=w&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='w' title='w' class='latex' /> and <img src='http://s.wordpress.com/latex.php?latex=%5Crho&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\rho' title='\rho' class='latex' /> are uncorrelated, the flux is zero. The covariance can be obtained by recording data at high frequency over 30min intervals, say. This gives a time-series of CO2 fluxes at half-hour intervals. The eddy covariance technique gives information on NEE on a spatial scale which is typically <img src='http://s.wordpress.com/latex.php?latex=%5Capprox%201%20km%5E2&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\approx 1 km^2' title='\approx 1 km^2' class='latex' />. Of course, the technique also works for other trace gases or water vapour. There is a good <strong><a href="http://en.wikipedia.org/wiki/Eddy_covariance" target="_blank">wikipedia article</a> </strong>on eddy covariance which provides additional details.</p>
<p style="text-align: left;">According to <strong><a href="http://www.fluxnet.ornl.gov/fluxnet/overview.cfm" target="_blank">Fluxnet</a></strong>, there about 500 flux towers making continuous eddy covariance measurements of NEE worldwide. Given the diversity of Earth&#8217;s ecosystems, this is a small number. Flux tower data is rare and valuable.</p>
<h3>NEE Data</h3>
<p>With this technical explanation out of the way, we get to look at NEE for some real ecosystems. Access to (mainly North American) flux tower data was obtained through the  <a href="http://public.ornl.gov/ameriflux/">ameriflux</a> network. Two different forest ecosystems are compared<strong>. <a href="http://atmos.seas.harvard.edu/lab/hf/index.html" target="_blank">Harvard forest</a></strong> is a 1200Ha temperate broadleaf deciduous forest in Massachussetts. This secondary growth forest has been studied intensively since it was established in 1907.<sup>[1]</sup> A 30m flux tower has measured NEE at Harvard Forest since 1993.<strong><a href="http://daac.ornl.gov/LBA/guides/CD10_CO_Tapajos.html" target="_blank"> km 67 Sanatarem flux tower</a></strong> on the other hand is located in primary tropical rainforest, Tapajos National Forest, Para State, Brazil. Three years of data are available 2000-2003 from this 64m tower.</p>
<p>Half-hourly time-series of CO2 fluxes were generated as shown below using the statistical programming language <strong><em>R.</em></strong></p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2009/09/nee.png"><img class="aligncenter size-large wp-image-819" title="nee" src="http://joewheatley.net/wp-content/uploads/2009/09/nee-940x1024.png" alt="nee" width="752" height="819" /></a></p>
<p>The qualitative features of CO2 fluxes are as expected. Namely, both forests lose carbon at night while daytime fluxes tend to be negative, temperate forest shows a strong seasonal signal and there is a much weaker wet/dry seasonal signal in the tropical forest. There are some surprises, however. Peak summer carbon fluxes at Harvard Forest are as large as Santarem tropical forest fluxes <img src='http://s.wordpress.com/latex.php?latex=%5Capprox%20-0.4%20mgCm%5E%7B-2%7D%20s%5E%7B-1%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\approx -0.4 mgCm^{-2} s^{-1}' title='\approx -0.4 mgCm^{-2} s^{-1}' class='latex' />. Another surprise is that there is stronger carbon absorbtion by the tropical forest during the dry season, which seems to contradict intuition about dry season water stress.<sup>[2]</sup> Perhaps the biggest surprise is the relative performance of the two forests as net carbon sources or sinks.</p>
<h3>Sources or Sinks?</h3>
<p>Cumulative NEE shows whether these forests are sources or sinks of carbon. This is simply obtained by applying <strong><em>R</em></strong>&#8216;s cumsum() function to the half-hourly time-series above. The graph (below) shows that Harvard forest has been a strong and even accelerating sink for CO2 (= 2tC/Ha/y) since 1992, even though it is 100 years old. By contrast, primary forest at the Santarem site was a source of CO2 between 2002 and 2005. Researcher suggest this may be due to the presence of excess dead wood in the area following earlier disturbances e.g. 1998 El Nino drought.<sup>[2]</sup></p>
<p style="text-align: center;">
<p style="text-align: center;">
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2009/09/cumulativenee.png"><img class="aligncenter size-large wp-image-888" title="cumulativenee" src="http://joewheatley.net/wp-content/uploads/2009/09/cumulativenee-1024x898.png" alt="cumulativenee" width="717" height="629" /></a></p>
<p style="text-align: left;">It is remarkable that Harvard Forest is still an agressive carbon sink (0.25KgC/m2/y) after 100 years of growth.</p>
<h3 style="text-align: left;">Conclusions</h3>
<p style="text-align: left;">The above illustrates some of the surprises and complexity of real ecosystem data. When memory effects are large, intuition can be a very poor guide. Models, such as those used in long-term climate research, are necessarily simplifications of reality.</p>
<p style="text-align: left;">This is the <strong><a href="http://joewheatley.net/wp-content/uploads/2009/09/ameriflux.txt" target="_blank">R code</a></strong> used to download, process and plot the flux tower data. In a follow-on post an ecosystem model for Havard Forest NEE will be built in <strong><em>R</em></strong>.</p>
<h4 style="text-align: left;">References</h4>
<p style="text-align: left;">
<p style="text-align: left;">[1] <em>Forests in Time: The Enviromental Consequences of change in New England</em>, by D. Foster and J. Aber, 2004</p>
<p>[2] <em>Carbon in Amazon Forests: Unexpected Seasonal Fluxes and Disturbance-Induced Losses, </em>Saleska et al<em>, </em>Science vol. 302 2003<em><br />
</em></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/flux-towers-part-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.463 seconds -->

