Description Usage Arguments Value Author(s) See Also Examples
Runs the YplantQMC model for one timestep. Runs the QuasiMC raytracer to
estimate absorbed PAR for every leaf on the plant, given diffuse and direct
radiation (set by fbeam
, see below), the position of the sun, and
reflectance and transmittance of the foliage material.
Required is a 3D plant object (see constructplant
). Optionally,
a leaf gas exchange model is used (not needed if only light absorption is
calculated) to calculate photosynthesis (and optionally, transpiration rate).
Also optionally, a hemiphoto object is used to calculate shading by the
overstorey canopy.
Output is not as easy to use as the more user-friendly
YplantDay
. If you are only interested in diurnal simulations
(and plant totals by timestep), use that function. The runYplant
function is available for programming purposes (and more advanced custom
simulations).
The arguments intern
, debug
, delfiles
and
rewriteplantfile
should not be set by the user, unless you really know
what you are doing. These arguments exist for testing, and are used by
YplantDay
.
The arguments reldiff
and reldir
can be supplied if they are
already known (from a previous simulation, when the solar angle was the same,
in particular). If you are not sure, please do not set these arguments!
1 2 3 4 5 6 7 8 9 10 11 12 | runYplant(x, ...)
## S3 method for class 'stand3d'
runYplant(x, ...)
## S3 method for class 'plant3d'
runYplant(x, phy = NULL, hemi = NULL, reldiff = NULL,
reldir = NULL, altitude = 90, azimuth = 0, fbeam = 1, VPD = 1.5,
PAR0 = 1, PARwhere = c("above", "below"), Ca = 390, Tair = 25,
Patm = 101, reflec = c(0.1, 0.1), transmit = c(0.1, 0.1),
runphoto = TRUE, intern = TRUE, debug = FALSE, delfiles = TRUE,
rewriteplantfile = TRUE, ...)
|
x |
An object of class 'plant3d', see |
phy |
An object of class 'ypphy', see |
hemi |
An object of class 'yphemi', see |
reldiff |
Optional. A vector of relative diffuse absorption, same length as number of leaves. See Details. |
reldir |
Optional. A vector of relative direct absorption, same length as number of leaves. See Details. |
altitude, azimuth |
Solar altitude and azimuth (degrees). |
fbeam |
Beam fraction (0-1). If 0, only diffuse interception is calculated, if 1, only direct. |
VPD |
Vapor pressure deficit (kPa) |
PAR0 |
Incident PAR on a horizontal surface (mu mol m-2 s-1). |
PARwhere |
If 'above', |
Ca |
Atmospheric CO2 concentration (ppm). |
Tair |
Air temperature (deg C). |
Patm |
Atmospheric pressure (kPa). |
reflec |
Leaf reflectance (top, bottom of leaf). |
transmit |
Leaf transmittance (top, bottom of leaf). |
runphoto |
Whether to run leaf gas exchange model (default TRUE, or FALSE when no phy object given). |
intern |
If FALSE, returns output of QuasiMC to the console. |
debug |
If TRUE, opens the QuasiMC debug window (for testing). |
delfiles |
If TRUE, deletes intermediate files, and QuasiMC in/output files. |
rewriteplantfile |
If TRUE, writes the plant QuasiMC input file. |
... |
Further arguments passed to |
This returns a dataframe with one row per leaf. The variables included are (PAR is in units mu mol m-2 s-1):
Incident PAR on a horizontal surface *above* the canopy
Incident PAR on a horizontal surface *below* the canopy
Absorbed PAR (for each leaf)
Absorbed direct PAR
Absorbed diffuse PAR
Relative diffuse absorbed PAR (0 - 1)
Relative direct absorbed PAR (0 - 1)
Leaf area (mm2)
Projected leaf area (mm2)
Sunlit leaf area (mm2)
CO2 assimilation rate (mu mol m-2 s-1)
Transpiration rate (mmol m-2 s-1)
Stomatal conductance (mol m-2 s-1)
CO2 assimilation rate for a horizontal leaf *below* the canopy.
Remko Duursma
1 2 3 4 5 6 7 8 9 10 11 12 13 | ## Not run:
# Compare diffuse only to direct only
run_dir <- runYplant(pilularis, fbeam=1, altitude=90, azimuth=0, reflec=0.15, transmit=0.1)
run_diff <- runYplant(pilularis, fbeam=0, reflec=0.15, transmit=0.1)
# Compare density functions of absorbed PAR by leaf:
plot(density(run_dir$PARleaf, from=0, to=1), xlim=c(0,1), main="", lwd=2, col="blue",
xlab="Absorbed PAR (relative units)")
lines(density(run_diff$PARleaf, from=0, to=1), lwd=2, col="red")
legend("topright",c("Diffuse","Direct"), lwd=2, col=c("red","blue"))
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.