Description Usage Arguments Value Author(s) References See Also Examples
The function creates a model for three independent (parallel) pools. It is a wrapper for the more general function
ParallelModel
that can handle an arbitrary number of pools.
1 2 3 | ThreepParallelModel(t,
ks, C0, In, gam1, gam2, xi = 1, solver = deSolve.lsoda.wrapper,
pass = FALSE)
|
t |
A vector containing the points in time where the solution is sought. |
ks |
A vector of length 3 containing the decomposition rates for the 3 pools. |
C0 |
A vector of length 3 containing the initial amount of carbon for the 3 pools. |
In |
A scalar or a data.frame object specifying the amount of litter inputs by time. |
gam1 |
A scalar representing the partitioning coefficient, i.e. the proportion from the total amount of inputs that goes to pool 1. |
gam2 |
A scalar representing the partitioning coefficient, i.e. the proportion from the total amount of inputs that goes to pool 2. |
xi |
A scalar or a data.frame specifying the external (environmental and/or edaphic) effects on decomposition rates. |
solver |
A function that solves the system of ODEs. This can be |
pass |
A Model Object that can be further queried
Carlos A. Sierra, Markus Mueller
Sierra, C.A., M. Mueller, S.E. Trumbore. 2012. Models of soil organic matter decomposition: the SoilR package version 1.0. Geoscientific Model Development 5, 1045-1060.
TwopParallelModel
and ParallelModel
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 | t_start=0
t_end=10
tn=50
timestep=(t_end-t_start)/tn
t=seq(t_start,t_end,timestep)
Ex=ThreepParallelModel(t,ks=c(k1=0.5,k2=0.2,k3=0.1),
C0=c(c10=100, c20=150,c30=50),In=20,gam1=0.7,gam2=0.1,xi=0.5)
Ct=getC(Ex)
plot(t,rowSums(Ct),type="l",lwd=2,
ylab="Carbon stocks (arbitrary units)",xlab="Time",ylim=c(0,sum(Ct[1,])))
lines(t,Ct[,1],col=2)
lines(t,Ct[,2],col=4)
lines(t,Ct[,3],col=3)
legend("topright",c("Total C","C in pool 1", "C in pool 2","C in pool 3"),
lty=c(1,1,1,1),col=c(1,2,4,3),lwd=c(2,1,1,1),bty="n")
Rt=getReleaseFlux(Ex)
plot(t,rowSums(Rt),type="l",ylab="Carbon released (arbitrary units)",
xlab="Time",lwd=2,ylim=c(0,sum(Rt[1,])))
lines(t,Rt[,1],col=2)
lines(t,Rt[,2],col=4)
lines(t,Rt[,3],col=3)
legend("topright",c("Total C release","C release from pool 1",
"C release from pool 2","C release from pool 3"),
lty=c(1,1,1,1),col=c(1,2,4,3),lwd=c(2,1,1,1),bty="n")
|
Loading required package: deSolve
Loading required package: parallel
Loading required package: RUnit
Warning messages:
1: In TimeMap.new(min(t), max(t), function(times) { :
This function is going deprecated for 2 reasons:
1.) There are new more specialized classes to replace it.( BoundedInFlux,BoundedLinDecompOp)
2.) Constructors for SoilR classes have been renamed consistently to the name of the class (NameOfClass( ) instead of NameOfClass.new() )
2: In .local(.Object, ...) : This function is going to be deprecated :
There are new more specialized classes to replace it.( BoundedInFlux,BoundedLinDecompOp)
2.) There are Constructors for SoilR classes, named consistently to the name of the class (NameOfClass( ). For stable code rather use those instead of new("NameOfClass",...) )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.