ThreepParallelModel14 {SoilR} | R Documentation |
This function creates a model for two independent (parallel) pools. It is a
wrapper for the more general function GeneralModel_14
that can
handle an arbitrary number of pools.
ThreepParallelModel14( t, ks, C0, F0_Delta14C, In, gam1, gam2, xi = 1, inputFc, lambda = -0.0001209681, lag = 0, solver = deSolve.lsoda.wrapper, pass = FALSE )
t |
A vector containing the points in time where the solution is
sought. It must be specified within the same period for which the Delta 14 C
of the atmosphere is provided. The default period in the provided dataset
|
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. |
F0_Delta14C |
A vector of length 3 containing the initial amount of the radiocarbon fraction for the 3 pools in Delta14C values in per mil. |
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. |
inputFc |
A Data Frame object containing values of atmospheric Delta14C per time. First column must be time values, second column must be Delta14C values in per mil. |
lambda |
Radioactive decay constant. By default lambda=-0.0001209681 y^-1 . This has the side effect that all your time related data are treated as if the time unit was year. |
lag |
A positive scalar representing a time lag for radiocarbon to enter the system. |
solver |
A function that solves the system of ODEs. This can be
|
pass |
if TRUE Forces the constructor to create the model even if it is invalid |
There are other predefinedModels
and also more
general functions like Model_14
.
years=seq(1903,2009,by=0.5) # note that we LitterInput=700 Ex=ThreepParallelModel14( t=years, ks=c(k1=1/2.8, k2=1/35, k3=1/100), C0=c(200,5000,500), F0_Delta14C=c(0,0,0), In=LitterInput, gam1=0.7, gam2=0.1, inputFc=C14Atm_NH, lag=2 ) R14m=getF14R(Ex) C14m=getF14C(Ex) C14t=getF14(Ex) par(mfrow=c(2,1)) plot(C14Atm_NH,type="l",xlab="Year",ylab="Delta 14C (per mil)",xlim=c(1940,2010)) lines(years, C14t[,1], col=4) lines(years, C14t[,2],col=4,lwd=2) lines(years, C14t[,3],col=4,lwd=3) legend( "topright", c( "Delta 14C Atmosphere", "Delta 14C pool 1", "Delta 14C pool 2", "Delta 14C pool 3" ), lty=rep(1,4), col=c(1,4,4,4), lwd=c(1,1,2,3), bty="n" ) plot(C14Atm_NH,type="l",xlab="Year",ylab="Delta 14C (per mil)",xlim=c(1940,2010)) lines(years,C14m,col=4) lines(years,R14m,col=2) legend("topright",c("Delta 14C Atmosphere","Delta 14C SOM", "Delta 14C Respired"), lty=c(1,1,1), col=c(1,4,2),bty="n") par(mfrow=c(1,1))