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
  BioGro(WetDat, day1 = NULL, dayn = NULL, timestep = 1,
    lat = 40, iRhizome = 7, irtl = 1e-04,
    canopyControl = list(), seneControl = list(),
    photoControl = list(), phenoControl = list(),
    soilControl = list(), nitroControl = list(),
    sugarphenoControl = 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.

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.

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

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.

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.

kGrain1-6 proportion of the carbon that is allocated to grain for phenological stages 1 through 6. At the moment only the last stage (i.e. 6 or post-flowering) is allowed to be larger than zero. An error will be returned if kGrain1-5 are different from 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).

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.

soilLayer 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.

wsFun one of 'logistic','linear','exp' or 'none'. Controls the method for the relationship between soil water content and water stress factor.

scsf stomatal conductance sensitivity factor (default = 1). This is an empirical coefficient that needs to be adjusted for different species.

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.

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 in the soil. 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.

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

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
## Not run: 
data(weather05)

res0 <- BioGro(weather05)

plot(res0)

## Looking at the soil model

res1 <- BioGro(weather05, soilControl = soilParms(soilLayers = 6))
plot(res1, plot.kind='SW') ## Without hydraulic distribution
res2 <- BioGro(weather05, soilControl = soilParms(soilLayers = 6, hydrDist=TRUE))
plot(res2, plot.kind='SW') ## With hydraulic distribution


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

ll.0 <- soilParms(FieldC=0.37,WiltP=0.2,phi2=1)
ll.1 <- soilParms(FieldC=0.37,WiltP=0.2,phi2=2)
ll.2 <- soilParms(FieldC=0.37,WiltP=0.2,phi2=3)
ll.3 <- soilParms(FieldC=0.37,WiltP=0.2,phi2=4)

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

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

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




## End(Not run)

serbinsh/biocro documentation built on May 29, 2019, 6:57 p.m.