BioGro: Biomass crops growth simulation

Description Usage Arguments Value Examples

Description

Simulates dry biomass growth during an entire growing season. It represents an integration of the photosynthesis function c4photo, canopy evapo/transpiration CanA, the multilayer canopy model sunML and a dry biomass partitioning calendar and senescence. It also considers, carbon and nitrogen cycles and water and nitrogen limitations.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
BioGro(WetDat, day1=NULL, dayn=NULL,
                   timestep=1,
                   lat=40,iRhizome=7,irtl=1e-4,
                   canopyControl=list(),
                   seneControl=list(),
                   photoControl=list(),
                   phenoControl=list(),
                   soilControl=list(),
                   nitroControl=list(),
                   centuryControl=list())

Arguments

WetDat

weather data as produced by the weach function.

day1

first day of the growing season, (1–365).

dayn

last day of the growing season, (1–365, but larger than day1). See details.

timestep

Simulation timestep, the default of 1 requires houlry weather data. A value of 3 would require weather data every 3 hours. This number should be a divisor of 24.

lat

latitude, default 40.

iRhizome

initial dry biomass of the Rhizome (Mg ha^{-1}).

irtl

Initial rhizome proportion that becomes leaf. This should not typically be changed, but it can be used to indirectly control the effect of planting density.

canopyControl

List that controls aspects of the canopy simulation. It should be supplied through the canopyParms function.

Sp (specific leaf area) here the units are ha Mg^{-1}. If you have data in m^2 of leaf per kg of dry matter (e.g. 15) then divide by 10 before inputting this coefficient.

SpD decrease of specific leaf area. Empirical parameter. Default 0. example value (1.7e-3).

nlayers (number of layers of the canopy) Maximum 50. To increase the number of layers (more than 50) the C source code needs to be changed slightly.

kd (extinction coefficient for diffuse light) between 0 and 1. Default = 0.7.

mResp (maintenance respiration) a vector of length 2 with the first component for leaf and stem and the second component for rhizome and root.

heightFactor (height factor) the cummulative LAI in the canopy model will be divided by this number to obtain the height of the canopy. A canopy of LAI equal to 3 will be one meter tall using the default.

leafwidth average width of a leaf (in m). Default = 0.04.

eteq Allows to choose between "Penman-Monteith" (very sensitive to photosynthesis parameters), "Penman" (aerodynamic component) and "Priestly" (insensitive to aerodynamics).

seneControl

List that controls aspects of senescence simulation. It should be supplied through the seneParms function.

senLeaf Thermal time at which leaf senescence will start.

senStem Thermal time at which stem senescence will start.

senRoot Thermal time at which root senescence will start.

senRhizome Thermal time at which rhizome senescence will start.

photoControl

List that controls aspects of photosynthesis simulation. It should be supplied through the photoParms function.

vmax Vmax passed to the c4photo function.

alpha alpha parameter passed to the c4photo function.

kparm kparm parameter passed to the c4photo function.

theta theta parameter passed to the c4photo function.

beta beta parameter passed to the c4photo function.

Rd Rd parameter passed to the c4photo function.

Catm Catm parameter passed to the c4photo function.

b0 b0 parameter passed to the c4photo function.

b1 b1 parameter passed to the c4photo function.

ws water stress method. If "gs" is chosen the water stress factor will be applied to the stomatal conductance. If "vmax" is chosen, it will be applied to vmax.

phenoControl

List that controls aspects of the crop phenology. It should be supplied through the phenoParms function.

tp1-tp6 thermal times which determine the time elapsed between phenological stages. Between 0 and tp1 is the juvenile stage. etc.

kLeaf1-6 proportion of the carbon that is allocated to leaf for phenological stages 1 through 6.

kStem1-6 proportion of the carbon that is allocated to stem for phenological stages 1 through 6.

kRoot1-6 proportion of the carbon that is allocated to root for phenological stages 1 through 6.

kRhizome1-6 proportion of the carbon that is allocated to rhizome for phenological stages 1 through 6.

kGrain6 proportion of the carbon that is allocated to grain for phenological stage 6. An error will be returned if kGrain6 less than zero.

soilControl

List that controls aspects of the soil environment. It should be supplied through the soilParms function.

FieldC Field capacity. This can be used to override the defaults possible from the soil types (see showSoilType).

WiltP Wilting point. This can be used to override the defaults possible from the soil types (see showSoilType).

phi1 Parameter which controls the spread of the logistic function. See wtrstr for more details.

phi2 Parameter which controls the reduction of the leaf area growth due to water stress. See wtrstr for more details.

soilDepth Maximum depth of the soil that the roots have access to (i.e. rooting depth).

hydrDist default is 1 which means that hydraulic re distribution is computed. If a number other than 0 is used it will be interpreted as 'TRUE' and the hydraulic redistribution in the profile will be calculated. This is only relevant for a soil with multiple layers.

iWatCont Initial water content of the soil the first day of the growing season. It can be a single value or a vector for the number of layers specified.

soilType Soil type, default is 6 (a more typical soil would be 3). To see details use the function showSoilType.

soilLayers Integer between 1 and 50. The default is 5. If only one soil layer is used the behavior can be quite different.

soilDepths Intervals for the soil layers. As a default, the soil will be divided in equal depths if more than one layer is specified, but this argument can be used to change this. For example, three layers can be constructed by supplying a vector such as c(0,0.3,0.5,1).

wsFun one of "logistic","linear","exp", "none", "thresh" or "lwp". Controls the method for the relationship between soil water content and water stress factor. See wtrstr for more details for the first four options. The option "lwp" is more mechanistic and it attempts to calculate the leaf and soil water potential. The option "thresh" initiates the water stress when about soil water content drops below 30 (default) percent of water filled pore space.

scsf stomatal conductance sensitivity factor (default = 1). This is an empirical coefficient that needs to be adjusted for different species. It only becomes relevant if the "lwp" for wsFun is used. The equation is 1 - (leafPotTh - LeafPsim)/1000 * scsf for the calculation of the water stress factor.

transpRes Resistance value for the equation used to calculate leaf water potential. This is Psi_leaf = Psi_soil - Evapo * transpRes.

leafPotTh Leaf potential threshold at which water stress starts to occur.

rfl Root factor lambda. A Poisson distribution is used to simulate the distribution of roots in the soil profile and this parameter can be used to change the lambda parameter of the Poisson.

rsec Radiation soil evaporation coefficient. Empirical coefficient used in the incidence of direct radiation on soil evaporation.

rsdf Root soil depth factor. Empirical coefficient used in calculating the depth of roots as a function of root biomass.

smthresh The threshold used for the wsFun = "thresh" method

lrt and lrf are used to cause a reduction in leaf mass when stress is sever. It makes it possible to remove leaf mass before senescence has ocurred. The threshold (lrt) determines at what point this is activated and the factor (lrf) determines the severity (lrf*(1-LeafWS)). This is completely experimental, it has never been tested. Possible values are lrt=0.3 and lrf=1e-3.

nitroControl

List that controls aspects of the nitrogen environment. It should be supplied through the nitrolParms function.

iLeafN initial value of leaf nitrogen (g m-2).

kLN coefficient of decrease in leaf nitrogen during the growing season. The equation is LN = iLeafN * (Stem + Leaf)^-kLN .

Vmax.b1 slope which determines the effect of leaf nitrogen on Vmax.

alpha.b1 slope which controls the effect of leaf nitrogen on alpha.

centuryControl

List that controls aspects of the Century model for carbon and nitrogen dynamics in the soil. It should be supplied through the centuryParms function.

SC1-9 Soil carbon pools.

SC1: Structural surface litter.

SC2: Metabolic surface litter.

SC3: Structural root litter.

SC4: Metabolic root litter.

SC5: Surface microbe.

SC6: Soil microbe.

SC7: Slow carbon.

SC8: Passive carbon.

SC9: Leached carbon.

LeafL.Ln Leaf litter lignin content.

StemL.Ln Stem litter lignin content.

RootL.Ln Root litter lignin content.

RhizomeL.Ln Rhizome litter lignin content.

LeafL.N Leaf litter nitrogen content.

StemL.N Stem litter nitrogen content.

RootL.N Root litter nitrogen content.

RhizomeL.N Rhizome litter nitrogen content.

Nfert Nitrogen from a fertilizer source. Should be a vector of length 2. The first is the amount of N fertilizer (kg/ha) the second should be the doy when it was applied.

iMinN Initial value for the mineral nitrogen pool.

Litter Initial values of litter (leaf, stem, root, rhizome).

timestep currently either week (default) or day.

Value

a list structure with components

DayofYear

Day of the year

Hour

Hour for each day

CanopyAssim

Hourly canopy assimilation, (Mg ha^-1 ground hr^-1).

CanopyTrans

Hourly canopy transpiration, (Mg ha^-1 ground hr^-1).

Leaf

leaf dry biomass (Mg ha^-1).

Stem

stem dry biomass(Mg ha^-1).

Root

root dry biomass (Mg ha^-1).

Rhizome

rhizome dry biomass (Mg ha^-1).

LAI

leaf area index (m^2 m^-2).

ThermalT

thermal time (Celsius day^-1).

StomatalCondCoefs

Coefficeint which determines the effect of water stress on stomatal conductance and photosynthesis (dimensionless 0-1).

LeafReductionCoefs

Coefficient which determines the effect of water stress on leaf expansion reduction (dimensionless 0-1).

LeafNitrogen

Leaf nitrogen. (units ?, g/m2)

AboveLitter

Above ground biomass litter (Leaf + Stem). Units, Mg/ha.

BelowLitter

Below ground biomass litter (Root + Rhizome). Units, Mg/ha.

VmaxVec

Value of Vmax during the growing season. Constant if no N stress is applied. For details see c4photo

AlphaVec

Value of alpha during the growing season. Constant at the moment. For details see c4photo

SpVec

Value of the specific leaf area. Constant if SpD is left at default of 0.

MinNitroVec

Nitrogen in the mineral pool. It gives nonsense at the moment. Units ?

RespVec

Soil respiration. It gives nonsense at the moment. Units ?

SoilEvaporation

Soil Evaporation. Units ? Mg/ha

cwsMat

Matrix with 'current water status' for each of the specified layers in the soil. Units, fraction 0-1.

psimMat

Matrix with soil matric potential (kPa) for each layer of the soil.

rdMat

Matrix with root distribution by soil layer. Units, Mg/ha

SCpools

Vector of length 9 with soil carbon pools at the end of the simulation. The 9 carbon pools are described in the centuryControl above.

SNpools

Vector of length 9 with soil nitrogen pools at the end of the simulation. The 9 nitrogen pools are described in the centuryControl above.

LeafPsimVec

Leaf water potential (kPa). It will be zero unless the simulation os water stress is "lwp"

Drainage

Drainage below the soil depth (mm)

Runoff

Runoff or water exceeding the storage capacity of the soil (mm)

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
## Not run: 
data(cmi05)

res0 <- BioGro(cmi05)

plot(res0)
plot(res, plot.kind="ET")
plot(res, plot.kind="cumET")
plot(res, plot.kind="stress")

## Looking at the soil model
sldpth <- 2
res2 <- BioGro(cmi05, soilControl = soilParms(soilLayers = 6, soilDepth=sldpth))
plot(res2, plot.kind="SW") 

## Example of user defined soil parameters.
## The effect of phi2 on yield and soil water content

sldpth <- 1.25
ll.0 <- soilParms(FieldC=0.31,WiltP=0.25,phi2=10, soilDepth=sldpth)
ll.1 <- soilParms(FieldC=0.31,WiltP=0.25,phi2=20, soilDepth=sldpth)
ll.2 <- soilParms(FieldC=0.31,WiltP=0.25,phi2=30, soilDepth=sldpth)
ll.3 <- soilParms(FieldC=0.31,WiltP=0.25,phi2=40, soilDepth=sldpth)

ans.0 <- BioGro(cmi05,soilControl=ll.0)
ans.1 <- BioGro(cmi05,soilControl=ll.1)
ans.2 <- BioGro(cmi05,soilControl=ll.2)
ans.3 <- BioGro(cmi05,soilControl=ll.3)

## Soil moisture is nearly identical because LAI, although reduced was
## high to begin with

xyplot(ans.0$SoilWatCont +
       ans.1$SoilWatCont +
       ans.2$SoilWatCont +
       ans.3$SoilWatCont ~ ans.0$DayofYear,
       type="l",		 
       ylab="Soil water Content (fraction)",
       xlab="DOY")

## Compare LAI
## LAI is reduced more dramatically

xyplot(ans.0$LAI +
       ans.1$LAI +
       ans.2$LAI +
       ans.3$LAI ~ ans.0$DayofYear,
       type="l",		 
       ylab="Leaf Area Index",
       xlab="DOY")

## and so is biomass
xyplot(ans.0$Stem +
       ans.1$Stem +
       ans.2$Stem +
       ans.3$Stem ~ ans.0$DayofYear,
       type="l",		 
       ylab="Stem (Mg/ha)",
       xlab="DOY")

## End(Not run)

BioCro documentation built on May 2, 2019, 6:15 p.m.