AllocateBiomass: Allocate biomass

Usage Arguments Examples

Usage

1
AllocateBiomass(state, site, parms)

Arguments

state
site
parms

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
##---- 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, site, parms) 
{
    m0 <- parms[["m0"]]
    pRx <- parms[["pRx"]]
    pRn <- parms[["pRn"]]
    FR <- site[["FR"]]
    PhysMod <- state[["PhysMod"]]
    m <- m0 + (1 - m0) * FR
    pR <- pRx * pRn/(pRn + (pRx - pRn) * m * PhysMod)
    pFS2 <- parms[["pFS2"]]
    pFS20 <- parms[["pFS20"]]
    pfsPower <- log(pFS20/pFS2)/log(10)
    pfsConst <- pFS2/(2^pfsPower)
    dg <- state[["dg"]]
    pFS <- pfsConst * dg^pfsPower
    pS <- (1 - pR)/(pFS + 1)
    pF <- 1 - pR - pS
    NPP <- state[["NPP"]]
    difWl <- NPP * pF
    difWr <- NPP * pR
    difWsbr <- NPP * pS
    gammaFx <- parms[["gammaFx"]]
    gammaF0 <- parms[["gammaF0"]]
    tgammaF <- parms[["tgammaF"]]
    t <- state[["t"]]
    Wl <- state[["Wl"]]
    Littfall <- gammaFx * gammaF0/(gammaF0 + (gammaFx - gammaF0) * 
        exp(-12 * log(1 + gammaFx/gammaF0) * t/tgammaF))
    difLitter <- Littfall * Wl
    state[["Wlitt"]] <- state[["Wlitt"]] + difLitter
    Wr <- state[["Wr"]]
    Rttover <- parms[["Rttover"]]
    difRoots <- Rttover * Wr
    TotalLitter <- state[["Wlitt"]]
    Wsbr <- state[["Wsbr"]]
    state[["Wl"]] <- Wl + difWl - difLitter
    state[["Wr"]] <- Wr + difWr - difRoots
    state[["Wsbr"]] <- Wsbr + difWsbr
    TotalLitter <- TotalLitter + difLitter
    state[c("pR", "pFS", "pS", "pF", "difWl", "difWr", "difWsbr", 
        "Littfall", "difLitter", "difRoots", "TotalLitter")] <- c(pR, 
        pFS, pS, pF, difWl, difWr, difWsbr, Littfall, difLitter, 
        difRoots, TotalLitter)
    return(state)
  }

drGeorgeXenakis/fr3PGD documentation built on June 3, 2020, 6:10 a.m.