fluxes

Soil and canopy carbon, water and energy fluxes

biochemical(leafbio, meteo, options, constants, fV)

Date: 21 Sep 2012 Update: 20 Feb 2013 Update: Aug 2013: correction of L171: Ci = Ci*1e6 ./ p .* 1E3; Update: 2016-10 - (JAK) major rewrite to accomodate an iterative solution to the Ball-Berry equation

  • also allows for g_m to be specified for C3 plants, but only if Ci_input is provided.

Update: 25 Feb 2021: Temperature reponse functions by Dutta et al.

implemented

Authors: Joe Berry and Christiaan van der Tol, Ari Kornfeld, contributions of others. Sources:

Farquhar et al. 1980, Collatz et al (1991, 1992), and:

Dutta, D., Schimel, D. S., Sun, Y., Tol, C. V. D., & Frankenberg, C. (2019). Optimal inverse estimation of ecosystem parameters from observations of carbon and energy fluxes. Biogeosciences, 16(1), 77-103.

Van der Tol, C., Berry, J. A., Campbell, P. K. E., & Rascher, U. (2014). Models of fluorescence and photosynthesis for interpreting measurements of solar?induced chlorophyll fluorescence. Journal of Geophysical Research: Biogeosciences, 119(12), 2312-2327.

Bonan, G. B., Lawrence, P. J., Oleson, K. W., Levis, S., Jung, M., Reichstein, M., … & Swenson, S. C. (2011). Improving canopy processes in the Community Land Model version 4 (CLM4) using global flux fields empirically inferred from FLUXNET data. Journal of Geophysical Research: Biogeosciences, 116(G2).

This function calculates:
  • stomatal resistance of a leaf or needle (s m-1)

  • photosynthesis of a leaf or needle (umol m-2 s-1)

  • fluorescence of a leaf or needle (fraction of fluor. in the dark)

Usage: biochem_out = biochemical(leafbio,meteo,options,constants,fV) the function was tested for Matlab R2017a

Calculates net assimilation rate A, fluorescence F using biochemical model

Input (units are important): structure ‘leafbio’ with the following elements: Knparams % [], [], [] parameters for empirical Kn (NPQ) model: Kn = Kno * (1+beta).*x.^alpha./(beta + x.^alpha);

[Kno, Kn_alpha, Kn_beta]

or, better, as individual fields:

Kno Kno - the maximum Kn value (“high light”) Kn_alpha, Kn_beta alpha, beta: curvature parameters

Cs % [ppmV or umol mol] initial estimate of conc. of CO2 in the

…bounary layer of the leaf

Q % [umol photons m-2 s-1]net radiation, PAR fPAR % [0-1] fraction of incident light that is absorbed by the leaf (default = 1, for compatibility) T % [oC or K] leaf temperature eb % [hPa = mbar] intial estimate of the vapour pressure in leaf boundary layer O % [mmol/mol] concentration of O2 (in the boundary

…layer, but no problem to use ambient)

p % [hPa] air pressure Vcmax25 (Vcmo) % [umol/m2/s] maximum carboxylation capacity @ 25 degC BallBerrySlope (m) % [] Ball-Berry coefficient ‘m’ for stomatal regulation BallBerry0 % [] (OPTIONAL) Ball-Berry intercept term ‘b’ (if present, an iterative solution is used)

setting this to zeo disables iteration. Default = 0.01

Type % [‘C3’, ‘C4’] text parameter, either ‘C3’ for C3 or any

…other text for C4

tempcor % [0, 1] boolean (0 or 1) whether or not

…temperature correction to Vcmax has to be applied.

effcon [mol CO2/mol e-] number of CO2 per electrons - typically 1/5 for C3 and 1/6 for C4

biochemical_MD12(leafbio, meteo, ~, constants, fV, Q)

[A,Ci,eta] = biochemical_VCM(Cs,Q,T,eb,O,p,Vcmo,m,Type,Rdparam,stress,Tyear,beta,qLs,NPQs) Date: 21 Sep 2012 Update: 28 Jun 2013 Adaptation for use of Farquhar model of C3 photosynthesis (Farquhar et al 1980)

18 Jul 2013 Inclusion of von Caemmerer model of C4 photosynthesis (von Caemmerer 2000, 2013) 15 Aug 2013 Modified computation of CO2-limited electron transport in C4 species for consistency with light-limited value 22 Oct 2013 Included effect of qLs on Jmax and electron transport; value of kNPQs re-scaled in input as NPQs 08 Jan 2019 (CvdT): minor modification to adjust to SCOPE_lite

Authors: Federico Magnani, with contributions from Christiaan van der Tol

This function calculates:
  • CO2 concentration in intercellular spaces (umol/mol == ppmv)

  • leaf net photosynthesis (umol/m2/s) of C3 or C4 species

  • fluorescence yield of a leaf (fraction of reference fluorescence yield in dark-adapted and un-stressed leaf)

Usage: function [A,Cs,eb,f,rcw] = biochemical(C,Cs,Q,T,ea,eb,O,p,Vcmo,gcparam,Type,tempcor,ra,Tparams,Rdparam,stressfactor,Tyear,beta,qLs,NPQs) the function was tested for Matlab 7.2.0.232 (R2006a)

Input (units are important; when not otherwise specified, mol refers to mol C): Cs % [umol/mol] CO2 concentration at leaf surface Q % [uE/m2/s] photochemically active radiation absorbed by the leaf T % [oC or K] leaf temperature eb % [hPa] vapour pressure in leaf boundary layer O % [mmol/mol] ambient O2 concentration p % [Pa] air pressure Vcmo % [umol/m2/s] maximum carboxylation capacity m % [mol/mol] Ball-Berry coefficient ‘m’ for stomatal regulation Type % [] text parameter, either ‘C3’ for C3 or any other text for C4 Rdparam % [mol/mol] respiration at reference temperature as fraction of Vcmax stress % [] optional input: stress factor to reduce Vcmax (for example soil moisture, leaf age). Default value = 1 (no stress). Tyear % [oC] mean annual temperature beta % [] fraction of photons partitioned to PSII (0.507 for C3, 0.4 for C4; Yin et al. 2006; Yin and Struik 2012) qLs % [] fraction of functional reaction centres (Porcar-Castell 2011) NPQs % [s-1] rate constant of sustained thermal dissipation, normalized to (kf+kD) (=kNPQs’; Porcar-Castell 2011)

Note: always use the prescribed units. Temperature can be either oC or K Note: input can be single numbers, vectors, or n-dimensional matrices Note: For consistency reasons, in C4 photosynthesis electron transport rates under CO2-limited conditions are computed by inverting the equation

applied for light-limited conditions(Ubierna et al 2013). A discontinuity would result when computing J from ATP requirements of Vp and Vco, as a fixed electron transport partitioning is assumed for light-limited conditions

ebal(constants, options, rad, gap, meteo, soil, canopy, leafbio, k, xyt, integr)

function ebal.m calculates the energy balance of a vegetated surface

authors: Christiaan van der Tol (c.vandertol@utwente.nl)

Joris Timmermans

date 26 Nov 2007 (CvdT) updates 29 Jan 2008 (JT & CvdT) converted into a function

11 Feb 2008 (JT & CvdT) improved soil heat flux and temperature calculation 14 Feb 2008 (JT) changed h in to hc (as h=Avogadro`s constant) 31 Jul 2008 (CvdT) Included Pntot in output 19 Sep 2008 (CvdT) Converted F0 and F1 from units per aPAR into units per iPAR 07 Nov 2008 (CvdT) Changed layout 18 Sep 2012 (CvdT) Changed Oc, Cc, ec

Feb 2012 (WV) introduced structures for variables Sep 2013 (JV, CvT) introduced additional biochemical model

10 Dec 2019 (CvdT) made a light version (layer

averaged fluxes)

parent: SCOPE.m (script) uses:

RTMt_sb.m, RTMt_planck.m (optional), RTMf.m (optional) resistances.m heatfluxes.m biochemical.m soil_respiration.m

Table of contents of the function

  1. Initialisations for the iteration loop

    intial values are attributed to variables

  2. Energy balance iteration loop

    iteration between thermal RTM and surface fluxes

  3. Write warnings whenever the energy balance did not close

  4. Calculate vertical profiles (optional)

  5. Calculate spectrally integrated energy, water and CO2 fluxes

The energy balance iteration loop works as follows:

RTMo More or less the classic SAIL model for Radiative

Transfer of sun and sky light (no emission by the vegetation)

While continue Here an iteration loop starts to close the energy

balance, i.e. to match the micro-meteorological model and the radiative transfer model

RTMt_sb A numerical Radiative Transfer Model for thermal

radiation emitted by the vegetation

resistances Calculates aerodynamic and boundary layer resistances

of vegetation and soil (the micro-meteorological model)

biochemical Calculates photosynthesis, fluorescence and stomatal

resistance of leaves (or biochemical_MD12: alternative)

heatfluxes Calculates sensible and latent heat flux of soil and

vegetation Next soil heat flux is calculated, the energy balance is evaluated, and soil and leaf temperatures adjusted to force energy balance closure

end {while continue}

meanleaf Integrates the fluxes over all leaf inclinations

azimuth angles and layers, integrates over the spectrum

usage:

[iter,fluxes,rad,profiles,thermal] …
= ebal(iter,options,spectral,rad,gap,leafopt, …

angles,meteo,soil,canopy,leafbio)

The input and output are structures. These structures are further specified in a readme file.

Input:

iter numerical parameters used in the iteration for energy balance closure options calculation options spectral spectral resolutions and wavelengths rad incident radiation gap probabilities of direct light penetration and viewing leafopt leaf optical properties angles viewing and observation angles soil soil properties canopy canopy properties leafbio leaf biochemical parameters

Output:

iter numerical parameters used in the iteration for energy balance closure fluxes energy balance, turbulent, and CO2 fluxes rad radiation spectra thermal temperatures, aerodynamic resistances and friction velocity bcu, bch leaf biochemical outputs for sunlit and shaded leaves,

respectively

ebal_bigleaf(constants, options, rad, gap, meteo, soil, canopy, leafbio)

function ebal.m calculates the energy balance of a vegetated surface

authors: Christiaan van der Tol (c.vandertol@utwente.nl)

Joris Timmermans

date 26 Nov 2007 (CvdT) updates 29 Jan 2008 (JT & CvdT) converted into a function

11 Feb 2008 (JT & CvdT) improved soil heat flux and temperature calculation 14 Feb 2008 (JT) changed h in to hc (as h=Avogadro`s constant) 31 Jul 2008 (CvdT) Included Pntot in output 19 Sep 2008 (CvdT) Converted F0 and F1 from units per aPAR into units per iPAR 07 Nov 2008 (CvdT) Changed layout 18 Sep 2012 (CvdT) Changed Oc, Cc, ec

Feb 2012 (WV) introduced structures for variables Sep 2013 (JV, CvT) introduced additional biochemical model

10 Dec 2019 (CvdT) made a light version (layer

averaged fluxes)

parent: SCOPE.m (script) uses:

RTMt_sb.m, RTMt_planck.m (optional), RTMf.m (optional) resistances.m heatfluxes.m biochemical.m soil_respiration.m

Table of contents of the function

  1. Initialisations for the iteration loop

    intial values are attributed to variables

  2. Energy balance iteration loop

    iteration between thermal RTM and surface fluxes

  3. Write warnings whenever the energy balance did not close

  4. Calculate vertical profiles (optional)

  5. Calculate spectrally integrated energy, water and CO2 fluxes

The energy balance iteration loop works as follows:

RTMo More or less the classic SAIL model for Radiative

Transfer of sun and sky light (no emission by the vegetation)

While continue Here an iteration loop starts to close the energy

balance, i.e. to match the micro-meteorological model and the radiative transfer model

RTMt_sb A numerical Radiative Transfer Model for thermal

radiation emitted by the vegetation

resistances Calculates aerodynamic and boundary layer resistances

of vegetation and soil (the micro-meteorological model)

biochemical Calculates photosynthesis, fluorescence and stomatal

resistance of leaves (or biochemical_MD12: alternative)

heatfluxes Calculates sensible and latent heat flux of soil and

vegetation Next soil heat flux is calculated, the energy balance is evaluated, and soil and leaf temperatures adjusted to force energy balance closure

end {while continue}

meanleaf Integrates the fluxes over all leaf inclinations

azimuth angles and layers, integrates over the spectrum

usage:

[iter,fluxes,rad,profiles,thermal] …
= ebal(iter,options,spectral,rad,gap,leafopt, …

angles,meteo,soil,canopy,leafbio)

The input and output are structures. These structures are further specified in a readme file.

Input:

iter numerical parameters used in the iteration for energy balance closure options calculation options spectral spectral resolutions and wavelengths rad incident radiation gap probabilities of direct light penetration and viewing leafopt leaf optical properties angles viewing and observation angles soil soil properties canopy canopy properties leafbio leaf biochemical parameters

Output:

iter numerical parameters used in the iteration for energy balance closure fluxes energy balance, turbulent, and CO2 fluxes rad radiation spectra thermal temperatures, aerodynamic resistances and friction velocity bcu, bch leaf biochemical outputs for sunlit and shaded leaves,

respectively

ebal_sunshade(constants, options, rad, gap, meteo, soil, canopy, leafbio)

function ebal.m calculates the energy balance of a vegetated surface

authors: Christiaan van der Tol (c.vandertol@utwente.nl)

Joris Timmermans

date 26 Nov 2007 (CvdT) updates 29 Jan 2008 (JT & CvdT) converted into a function

11 Feb 2008 (JT & CvdT) improved soil heat flux and temperature calculation 14 Feb 2008 (JT) changed h in to hc (as h=Avogadro`s constant) 31 Jul 2008 (CvdT) Included Pntot in output 19 Sep 2008 (CvdT) Converted F0 and F1 from units per aPAR into units per iPAR 07 Nov 2008 (CvdT) Changed layout 18 Sep 2012 (CvdT) Changed Oc, Cc, ec

Feb 2012 (WV) introduced structures for variables Sep 2013 (JV, CvT) introduced additional biochemical model

10 Dec 2019 (CvdT) made a light version (layer

averaged fluxes)

parent: SCOPE.m (script) uses:

RTMt_sb.m, RTMt_planck.m (optional), RTMf.m (optional) resistances.m heatfluxes.m biochemical.m soil_respiration.m

Table of contents of the function

  1. Initialisations for the iteration loop

    intial values are attributed to variables

  2. Energy balance iteration loop

    iteration between thermal RTM and surface fluxes

  3. Write warnings whenever the energy balance did not close

  4. Calculate vertical profiles (optional)

  5. Calculate spectrally integrated energy, water and CO2 fluxes

The energy balance iteration loop works as follows:

RTMo More or less the classic SAIL model for Radiative

Transfer of sun and sky light (no emission by the vegetation)

While continue Here an iteration loop starts to close the energy

balance, i.e. to match the micro-meteorological model and the radiative transfer model

RTMt_sb A numerical Radiative Transfer Model for thermal

radiation emitted by the vegetation

resistances Calculates aerodynamic and boundary layer resistances

of vegetation and soil (the micro-meteorological model)

biochemical Calculates photosynthesis, fluorescence and stomatal

resistance of leaves (or biochemical_MD12: alternative)

heatfluxes Calculates sensible and latent heat flux of soil and

vegetation Next soil heat flux is calculated, the energy balance is evaluated, and soil and leaf temperatures adjusted to force energy balance closure

end {while continue}

meanleaf Integrates the fluxes over all leaf inclinations

azimuth angles and layers, integrates over the spectrum

usage:

[iter,fluxes,rad,profiles,thermal] …
= ebal(iter,options,spectral,rad,gap,leafopt, …

angles,meteo,soil,canopy,leafbio)

The input and output are structures. These structures are further specified in a readme file.

Input:

iter numerical parameters used in the iteration for energy balance closure options calculation options spectral spectral resolutions and wavelengths rad incident radiation gap probabilities of direct light penetration and viewing leafopt leaf optical properties angles viewing and observation angles soil soil properties canopy canopy properties leafbio leaf biochemical parameters

Output:

iter numerical parameters used in the iteration for energy balance closure fluxes energy balance, turbulent, and CO2 fluxes rad radiation spectra thermal temperatures, aerodynamic resistances and friction velocity bcu, bch leaf biochemical outputs for sunlit and shaded leaves,

respectively

heatfluxes(ra, rs, Tc, ea, Ta, e_to_q, Ca, Ci, constants, es_fun, s_fun)

author: Dr. ir. Christiaan van der Tol (c.vandertol@utwente.nl) date: 7 Dec 2007 updated: 15 Apr 2009 CvdT changed layout updated: 14 Sep 2012 CvdT added ec and Cc to output updated: 09 Dec 2019 CvdT modified for computational efficiency

parent: ebal.m

usage: function [lE, H] = heatfluxes(ra,rs,Tc,ea,Ta,e_to_q,PSI,Ca,Ci,constants,es_fun, s_fun)

this function calculates latent and sensible heat flux

input:

ra aerodynamic resistance for heat s m-1 rs stomatal resistance s m-1 Tc leaf temperature oC ea vapour pressure above canopy hPa Ta air temperature above canopy oC e_to_q conv. from vapour pressure to abs hum hPa-1 PSI leaf water potential J kg-1 Ca ambient CO2 concentration umol m-3 Ci intercellular CO2 concentration umol m-3 constants a structure with physical constants es_fun saturated pressure function es(hPa)=f(T(C)) s_fun slope of the saturated pressure function (s(hPa/C) = f(T(C), es(hPa))

output:

lEc latent heat flux of a leaf W m-2 Hc sensible heat flux of a leaf W m-2 ec vapour pressure at the leaf surface hPa Cc CO2 concentration at the leaf surface umol m-3

resistances(constants, soil, canopy, meteo)

function resistances calculates aerodynamic and boundary resistances for soil and vegetation

Date: 01 Feb 2008 Authors: Anne Verhoef (a.verhoef@reading.ac.uk)

Christiaan van der Tol (tol@itc.nl) Joris Timmermans (j_timmermans@itc.nl)

Source: Wallace and Verhoef (2000) ‘Modelling interactions in

mixed-plant communities: light, water and carbon dioxide’, in: Bruce Marshall, Jeremy A. Roberts (ed), ‘Leaf Development and Canopy Growth’, Sheffield Academic Press, UK. ISBN 0849397693

ustar: Tennekes, H. (1973) ‘The logaritmic wind profile’, J. Atmospheric Science, 30, 234-238 Psih: Paulson, C.A. (1970), The mathematical representation of wind speed and temperature in the unstable atmospheric surface layer. J. Applied Meteorol. 9, 857-861

Note: Equation numbers refer to equation numbers in Wallace and Verhoef (2000)

Usage:

[resist_out] = resistances(resist_in)

The input and output are structures. These structures are further specified in a readme file.

Input:

resist_in aerodynamic resistance parameters and wind speed

The strucutre resist_in contains the following elements: u = windspeed L = stability LAI = Leaf Area Index