1 |
state |
|
weather |
|
site |
|
parms |
|
general.info |
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 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (state, weather, site, parms, general.info)
{
Rain <- weather[["Rain"]]
MonthIrrig <- weather[["MonthIrrig"]]
ASW <- state[["ASW"]]
ASWrain <- ASW + Rain + MonthIrrig
LAImaxIntcptn <- parms[["LAImaxIntcptn"]]
MaxIntcptn <- parms[["MaxIntcptn"]]
RainIntcptn <- MaxIntcptn * ifelse(LAImaxIntcptn <= 0, 1,
min(1, LAI/LAImaxIntcptn)) * Rain
Qa <- parms[["Qa"]]
Qb <- parms[["Qb"]]
month <- weather[["Month"]]
latitude <- site[["latitude"]]
RAD.day <- state[["RAD.day"]]
h <- GetDayLength(Lat = latitude, month = month)
netRad <- Qa + Qb * (RAD.day * 1e+06/h)
MinCond <- parms[["MinCond"]]
MaxCond <- parms[["MaxCond"]]
LAIgcx <- parms[["LAIgcx"]]
fCg0 <- parms[["fCg0"]]
CO2 <- site[["CO2"]]
PhysMod <- state[["PhysMod"]]
LAI <- state[["LAI"]]
fCg <- fCg0/(1 + (fCg0 - 1) * CO2/350)
CanCond <- (MinCond + (MaxCond - MinCond) * (min(1, LAI/LAIgcx))) *
PhysMod * fCg
CanCond <- ifelse(CanCond == 0, 1e-04, CanCond)
e20 <- parms[["e20"]]
rhoAir <- parms[["rhoAir"]]
lambda <- parms[["lambda"]]
VPDconv <- parms[["VPDconv"]]
BLcond <- parms[["BLcond"]]
VPD <- weather[["VPD"]]
Etransp <- (e20 * netRad + rhoAir * lambda * VPDconv * VPD *
BLcond)/(1 + e20 + BLcond/CanCond)
CanTransp <- Etransp/lambda * h
Transp <- general.info$daysinmonth[month] * CanTransp
EvapTransp <- min(Transp + RainIntcptn, ASWrain)
MaxASW <- site[["MaxASW"]]
excessSW <- max(ASWrain - EvapTransp - MaxASW, 0)
state[["ASW"]] <- ASWrain - EvapTransp - excessSW
scaleSW <- EvapTransp/(Transp + RainIntcptn)
GPP <- state[["GPP"]]
NPP <- state[["NPP"]]
state[["GPP"]] <- GPP * scaleSW
state[["NPP"]] <- NPP * scaleSW
state[c("RainIntcptn", "netRad", "CanCond", "Etransp", "CanTransp",
"Transp", "EvapTransp", "excessSW", "scaleSW")] <- c(RainIntcptn,
netRad, CanCond, Etransp, CanTransp, Transp, EvapTransp,
excessSW, scaleSW)
return(state)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.