MCMCBioGro(niter = 10, niter2 = 10, phen = 6, iCoef = NULL, saTemp = 5, coolSamp = 20, scale = 0.5, WetDat, data, day1 = NULL, dayn = NULL, timestep = 1, lat = 40, iRhizome = 7, irtl = 1e-04, canopyControl = list(), seneControl = list(), photoControl = list(), phenoControl = list(), soilControl = list(), nitroControl = list(), centuryControl = list(), sd = c(0.02, 1e-06))
BioGro
.BioGro
.canopyParms
.seneParms
.photoParms
.phenoParms
.soilParms
.nitroParms
.centuryParms
.Simulated Annealing and Markov chain Monte Carlo for estimating parameters for Biomass Growth
This function atempts to implement the simulated annealing method for estimating parameters of a generic C4 crop growth.
This function implements a hybrid algorithm where the first portion is simulated annealing and the second portion is a Markov chain Monte Carlo. The user controls the number of iterations in each portion of the chain with niter and niter2.
The automatic method for guessing the last day of the
growing season differs slightly from that in BioGro
.
To prevent error due to a shorter simulated growing season
than the observed one the method in MCMCBioGro
adds
one day to the last day of the growing season. Although the
upper limit is fixed at 330.
## <strong>Not run</strong>: # # data(weather05) # # ## Some coefficients # pheno.ll <- phenoParms(kLeaf1=0.48,kStem1=0.47,kRoot1=0.05,kRhizome1=-1e-4, # kLeaf2=0.14,kStem2=0.65,kRoot2=0.21, kRhizome2=-1e-4, # kLeaf3=0.01, kStem3=0.56, kRoot3=0.13, kRhizome3=0.3, # kLeaf4=0.01, kStem4=0.56, kRoot4=0.13, kRhizome4=0.3, # kLeaf5=0.01, kStem5=0.56, kRoot5=0.13, kRhizome5=0.3, # kLeaf6=0.01, kStem6=0.56, kRoot6=0.13, kRhizome6=0.3) # # system.time(ans <- BioGro(weather05, phenoControl = pheno.ll)) # # ans.dat <- as.data.frame(unclass(ans)[1:11]) # sel.rows <- seq(1,nrow(ans.dat),400) # simDat <- ans.dat[sel.rows,c('ThermalT','Stem','Leaf','Root','Rhizome','Grain','LAI')] # plot(ans,simDat) # # ## Residual sum of squares before the optimization # # ans0 <- BioGro(weather05) # RssBioGro(simDat,ans0) # # # op1.mc <- MCMCBioGro(phen=1, niter=200,niter2=200, # WetDat=weather05, # data=simDat) # # # plot(op1.mc) # # plot(op1.mc, plot.kind='trace', subset = nams %in% # \t\t\t\tc('kLeaf_1','kStem_1','kRoot_1')) # # ## <strong>End(Not run)</strong>
BioGro
, OpBioGro
and constrOpBioGro
.