Functions light_layerDirectIrradianceFraction and light_layerDiffuseIrradianceFraction calculate
the fraction of above-canopy direct and diffuse radiation reaching each vegetation layer.
Function light_layerSunlitFraction calculates the proportion of sunlit leaves in each vegetation layer.
Function light_cohortSunlitShadeAbsorbedRadiation calculates the amount of radiation absorbed
by cohort and vegetation layers, while differentiating between sunlit and shade leaves.
light_leafAngleBetaParameters(leafAngle, leafAngleSD)light_layerDirectIrradianceFraction(
LAIme,
LAImd,
LAImx,
LAIms,
kb,
ClumpingIndex,
alpha,
gamma,
kb_mistletoe,
CI_mistletoe,
alpha_mistletoe,
gamma_mistletoe,
trunkExtinctionFraction = 0.1
)
light_layerDiffuseIrradianceFraction(
LAIme,
LAImd,
LAImx,
LAIms,
K,
ClumpingIndex,
ZF,
alpha,
gamma,
K_mistletoe,
CI_mistletoe,
alpha_mistletoe,
gamma_mistletoe,
trunkExtinctionFraction = 0.1
)
light_cohortSunlitShadeAbsorbedRadiation(
Ib0,
Id0,
LAIme,
LAImd,
LAImx,
LAIms,
kb,
K,
ClumpingIndex,
ZF,
alpha,
gamma,
kb_mistletoe,
K_mistletoe,
CI_mistletoe,
alpha_mistletoe,
gamma_mistletoe,
trunkExtinctionFraction = 0.1
)
light_layerSunlitFraction(
LAIme,
LAImd,
LAIms,
kb,
ClumpingIndex,
kb_mistletoe,
CI_mistletoe
)
light_instantaneousLightExtinctionAbsortion(
LAIme,
LAImd,
LAImx,
LAIms,
p,
q,
ClumpingIndex,
alphaSWR,
gammaSWR,
p_mistletoe,
q_mistletoe,
CI_mistletoe,
alphaSWR_mistletoe,
gammaSWR_mistletoe,
ddd,
ntimesteps = 24L,
trunkExtinctionFraction = 0.1
)
light_longwaveRadiationSHAW(
LAIme,
LAImd,
LAImx,
LAIms,
LWRatm,
Tsoil,
Tair,
trunkExtinctionFraction = 0.1
)
light_leafAngleCDF(leafAngle, p, q)
light_directionalExtinctionCoefficient(p, q, solarElevation)
Functions light_layerDirectIrradianceFraction, light_layerDiffuseIrradianceFraction
and light_layerSunlitFraction return a numeric vector of length equal to the number of vegetation layers.
Function light_cohortSunlitShadeAbsorbedRadiation returns a list with
two elements (matrices): I_sunlit and I_shade.
Average leaf inclination angle (in radians).
Standard deviation of leaf inclination angle (in radians).
A numeric matrix of live expanded LAI values per vegetation layer (row) and cohort (column).
A numeric matrix of dead LAI values per vegetation layer (row) and cohort (column).
A numeric matrix of maximum LAI values per vegetation layer (row) and cohort (column).
A vector of direct light extinction coefficients.
The extent to which foliage has a nonrandom spatial distribution.
A vector of leaf absorbance by species.
A vector of leaf reflectance values.
Fraction of extinction due to trunks (for winter deciduous forests).
A vector of light extinction coefficients.
Fraction of sky angles.
Above-canopy direct incident radiation.
Above-canopy diffuse incident radiation.
Parameters of the beta distribution for leaf angles
A vecfor of hort-wave absorbance coefficients for each cohort.
A vector of short-wave reflectance coefficients (albedo) for each cohort.
A dataframe with direct and diffuse radiation for different subdaily time steps (see function radiation_directDiffuseDay in package meteoland).
Number of subdaily time steps.
Atmospheric downward long-wave radiation (W/m2).
Soil temperature (Celsius).
Canopy layer air temperature vector (Celsius).
Solar elevation (in radians).
Miquel De Cáceres Ainsa, CREAF
Functions for short-wave radiation are adapted from Anten & Bastiaans (2016), whereas long-wave radiation balance follows Flerchinger et al. (2009). Vegetation layers are assumed to be ordered from bottom to top.
Anten, N.P.R., Bastiaans, L., 2016. The use of canopy models to analyze light competition among plants, in: Hikosaka, K., Niinemets, U., Anten, N.P.R. (Eds.), Canopy Photosynthesis: From Basics to Application. Springer, pp. 379–398.
Flerchinger, G. N., Xiao, W., Sauer, T. J., Yu, Q. 2009. Simulation of within-canopy radiation exchange. NJAS - Wageningen Journal of Life Sciences 57 (1): 5–15. https://doi.org/10.1016/j.njas.2009.07.004.
spwb, light_basic
solarElevation <- 0.67 # in radians
SWR_direct <- 1100
SWR_diffuse <- 300
PAR_direct <- 550
PAR_diffuse <- 150
LAI <- 2
nlayer <- 10
LAIlayerlive <- matrix(rep(LAI/nlayer,nlayer),nlayer,1)
LAIlayerdead <- matrix(0,nlayer,1)
meanLeafAngle <- 60 # in degrees
sdLeafAngle <- 20
beta <- light_leafAngleBetaParameters(meanLeafAngle*(pi/180), sdLeafAngle*(pi/180))
## Extinction coefficients
kb <- light_directionalExtinctionCoefficient(beta["p"], beta["q"], solarElevation)
kd_PAR <- 0.5
kd_SWR <- kd_PAR/1.35
Run the code above in your browser using DataLab