TwopMMmodel {SoilR} | R Documentation |
This function implements a two-pool Michaelis-Meneten model with a microbial biomass and a substrate pool.
TwopMMmodel( t, ks = 1.8e-05, kb = 0.007, Km = 900, r = 0.6, Af = 1, ADD = 3.2, ival )
t |
vector of times (in days) to calculate a solution. |
ks |
a scalar representing SOM decomposition rate (m3 d-1 (gCB)-1) |
kb |
a scalar representing microbial decay rate (d-1) |
Km |
a scalar representing the Michaelis constant (g m-3) |
r |
a scalar representing the respired carbon fraction (unitless) |
Af |
a scalar representing the Activity factor; i.e. a temperature and moisture modifier (unitless) |
ADD |
a scalar representing the annual C input to the soil (g m-3 d-1) |
ival |
a vector of length 2 with the initial values of the SOM pool and the microbial biomass pool (g m-3) |
This implementation is similar to the model described in Manzoni and Porporato (2007).
Microbial biomass over time
Manzoni, S, A. Porporato (2007). A theoretical analysis of nonlinearities and feedbacks in soil carbon and nitrogen cycles. Soil Biology and Biochemistry 39: 1542-1556.
There are other predefinedModels
and also more
general functions like Model
.
days=seq(0,1000,0.5) MMmodel=TwopMMmodel(t=days,ival=c(100,10)) Cpools=getC(MMmodel) matplot(days,Cpools,type="l",ylab="Concentrations",xlab="Days",lty=1,ylim=c(0,max(Cpools)*1.2)) legend("topleft",c("SOM-C", "Microbial biomass"),lty=1,col=c(1,2),bty="n") ks=0.000018 kb=0.007 r=0.6 ADD=3.2 #Analytical solution of fixed points #Cs_=kb/((1-r)*ks) wrong look at the sympy test print twopMModel.pdf Km=900 Af=1 Cs=kb*Km/(Af*ks*(1-r)-kb) abline(h=Cs,lty=2) Cb=(ADD*(1-r))/(r*kb) abline(h=Cb,lty=2,col=2) #State-space diagram plot(Cpools[,2],Cpools[,1],type="l",ylab="SOM-C",xlab="Microbial biomass") plot(days,Cpools[,2],type="l",col=2,xlab="Days",ylab="Microbial biomass") #The default parameterization exhaust the microbial biomass. #A different behavior is obtained by increasing ks and decreasing kb MMmodel=TwopMMmodel(t=days,ival=c(972,304) ,Af=3,kb=0.0000001) Cpools=getC(MMmodel) matplot(days,Cpools,type="l",ylab="Concentrations",xlab="Days",lty=1,ylim=c(0,max(Cpools)*1.2)) legend("topleft",c("SOM-C", "Microbial biomass"),lty=1,col=c(1,2),bty="n") plot(Cpools[,2],Cpools[,1],type="l",ylab="SOM-C",xlab="Microbial biomass") plot(days,Cpools[,2],type="l",col=2,xlab="Days",ylab="Microbial biomass")