wtrstr: Simple function to illustrate soil water content effect on...

Description Usage Arguments Details Value See Also Examples

Description

This is a very simple function which implements the 'bucket' model for soil water content and it calculates a coefficient of plant water stress.

Usage

1
2
3
4
5
wtrstr(precipt, evapo, cws, soildepth, fieldc, wiltp, phi1 = 0.01, 
    phi2 = 10, smthresh = 0.3, wsFun = c("linear", "logistic", "exp", "none","thresh")) 

wsRcoef(aw, fieldc, wiltp, phi1, phi2, smthresh, wsFun = c("linear", 
    "logistic", "exp", "none", "thresh")) 

Arguments

precipt

Precipitation (mm).

evapo

Evaporation (Mg H2O ha-1 hr-1).

cws

current water content (fraction).

soildepth

Soil depth, typically 1m.

fieldc

Field capacity of the soil (fraction).

wiltp

Wilting point of the soil (fraction).

phi1

coefficient which controls the spread of the logistic function.

phi2

coefficient which controls the effect on leaf area expansion.

smthresh

Soil moisture threshold for the 'thresh' method

wsFun

option to control which method is used for the water stress function.

function wsRcoef is similar but it takes different arguments.

aw

plant available water.

Details

This is a very simple function and the details can be seen in the code.

Value

A list with components:

rcoefPhoto

coefficient of plant water stress for photosyntheis.

rcoefSpleaf

coefficient of plant water stress for specific leaf area.

naw

New available water in the soil.

See Also

wsRcoef

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
62
63
64
65
66
67
68
## Looking at the three possible models for the effect of soil moisture on water
## stress

aws <- seq(0,0.4,0.001)
wats.L <- numeric(length(aws)) # linear
wats.Log <- numeric(length(aws)) # logistic
wats.exp <- numeric(length(aws)) # exp
wats.none <- numeric(length(aws)) # none
wats.thresh <- numeric(length(aws)) # thresh

for(i in 1:length(aws)){
    wats.L[i] <- wtrstr(1,1,aws[i],0.5,0.37,0.2,2e-2,4)$wsPhoto
    wats.Log[i] <- wtrstr(1,1,aws[i],0.5,0.37,0.2,2e-2,4,wsFun="logistic")$wsPhoto
    wats.exp[i] <- wtrstr(1,1,aws[i],0.5,0.37,0.2,2e-2,4, wsFun="exp")$wsPhoto
    wats.none[i] <- wtrstr(1,1,aws[i],0.5,0.37,0.2,2e-2,4, wsFun="none")$wsPhoto
    wats.thresh[i] <- wtrstr(1,1,aws[i],0.5,0.37,0.2,2e-2,4, wsFun="thresh")$wsPhoto
}
     
xyplot(wats.L + wats.Log + wats.exp + wats.none + wats.thresh ~ aws,
       col=c("blue","green","purple","red","black"),
       type = "l",      
       xlab="Soil Water",
       ylab="Stress Coefficient",
       key = list(text=list(c("linear","logistic","exp", "none", "thresh")),
       col=c("blue","green","purple","red","black"), lines = TRUE) )

## This function is sensitive to the soil depth parameter

SDepth <- seq(0.05,2,0.05)

wats <- numeric(length(SDepth))

for(i in 1:length(SDepth)){
wats[i] <- wtrstr(1,4,0.3,SDepth[i],0.37,0.2,2e-2,3)$wsPhoto
}

xyplot(wats ~ SDepth, ylab="Water Stress Coef",
       xlab="Soil depth")

## Difference between the effect on assimilation and leaf expansion rate

aws <- seq(0,0.4,0.001)
wats.P <- numeric(length(aws))
wats.L <- numeric(length(aws))
for(i in 1:length(aws)){
wats.P[i] <- wtrstr(1,1,aws[i],0.5,0.37,0.2,2e-2,4)$wsPhoto
wats.L[i] <- wtrstr(1,1,aws[i],0.5,0.37,0.2,2e-2,4)$wsSpleaf
}

xyplot(wats.P + wats.L ~ aws,
       xlab="Soil Water",
       ylab="Stress Coefficient")


## An example for wsRcoef
## The scale parameter makes a big difference

aws <- seq(0.2,0.4,0.001)
wats.1 <- wsRcoef(aw=aws,fieldc=0.37,wiltp=0.2,phi1=1e-2,phi2=1, wsFun="logistic")$wsPhoto
wats.2 <- wsRcoef(aw=aws,fieldc=0.37,wiltp=0.2,phi1=2e-2,phi2=1, wsFun="logistic")$wsPhoto
wats.3 <- wsRcoef(aw=aws,fieldc=0.37,wiltp=0.2,phi1=3e-2,phi2=1, wsFun="logistic")$wsPhoto

xyplot(wats.1 + wats.2 + wats.3 ~ aws,type="l",
       col=c("blue","red","green"),
       ylab="Water Stress Coef",
       xlab="SoilWater Content",
       key=list(text=list(c("phi1 = 1e-2","phi1 = 2e-2","phi1 = 3e-2")),
         lines=TRUE,col=c("blue","red","green")))

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