model { Tau.noninformative <- 1.0E-2 Rate.gamma <- 1.0E-2 Hyper.gamma <- 1.0E-2 Error.gamma <- 1.0E-2 # DBH for (i in 1:N.sample) { dbh[i] ~ dexp(rate.dbh[Spc[i]]) DBH[i] ~ dnorm(dbh[i], tau[1]) } # rnd D-H for (s in 1:N.spc) { rate.dbh[s] ~ dgamma(Rate.gamma, Rate.gamma) rnd.dbh[s] ~ dexp(rate.dbh[s]) rnd.height[s] <- ( (bb[1] + bs[1, s]) * (1 - exp(-exp(bb[2] + bs[2, s]) * rnd.dbh[s])) ) } # height for (i in 1:N.sample) { height[i] <- ( (bb[1] + bs[1, Spc[i]]) * (1 - exp(-exp(bb[2] + bs[2, Spc[i]]) * dbh[i])) * exp(cdamage[1] * Damage[i]) ) HEIGHT[i] ~ dnorm(height[i], tau[2]) # centralization cnt.height[i] <- height[i] - Mean.height } # heightL for (i in 1:N.sample) { logit(pL[i]) <- ( bb[3] + bs[3, Spc[i]] + bb[6] * cnt.height[i] + cdamage[2] * Damage[i] ) log.mean.heightL[i] <- log(height[i]) + log(pL[i]) log.heightL[i] ~ dnorm(log.mean.heightL[i], tau.re[1]) heightL[i] <- exp(log.heightL[i]) HEIGHTL[i] ~ dnorm(heightL[i], tau[3]) } # canopy width for (i in 1:N.sample) { log.mean.r1[i] <- ( ### log(dbh[i]) * exp(bb[5] + bs[5, Spc[i]]) ### log(height[i]) * exp(bb[5] + bs[5, Spc[i]]) log(height[i] * (1 - pL[i])) * exp(bb[5] + bs[5, Spc[i]]) + bb[4] + bs[4, Spc[i]] + bb[7] * cnt.height[i] ) log.r1[i] ~ dnorm(log.mean.r1[i], tau.re[2]) log.r2[i] <- log.r1[i] + log.r12 r1[i] <- exp(log.r1[i]) r2[i] <- exp(log.r2[i]) R1[i] ~ dnorm(r1[i], tau[4]) R2[i] ~ dnorm(r2[i], tau[4]) } log.r12 ~ dnorm(0.0, Tau.noninformative) # coefficients for (k in 1:N.bb) { bb[k] ~ dnorm(0.0, Tau.noninformative) # common part } for (k in 1:N.bs) { for (s in 1:N.spc) { # differences among species bs[k, s] ~ dnorm(0.0, tau.bs[k]) } tau.bs[k] ~ dgamma(Hyper.gamma, Hyper.gamma) # non-informative } # tree ``measurement'' errors for (k in 1:N.tau) { tau[k] ~ dgamma(Error.gamma, Error.gamma) } # tree random effects? for (k in 1:N.tau.re) { tau.re[k] ~ dgamma(Error.gamma, Error.gamma) } # damage for (k in 1:N.cdamage) { cdamage[k] ~ dnorm(0.0, Tau.noninformative) } }