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 * Damage[i]) ) HEIGHT[i] ~ dnorm(height[i], tau[2]) # centralization cnt.height[i] <- height[i] - Mean.height } cdamage ~ dnorm(0.0, Tau.noninformative) # heightL for (i in 1:N.sample) { heightL[i] <- height[i] * exp( bb[3] + bs[3, Spc[i]] + bb[5] * cnt.height[i] ) HEIGHTL[i] ~ dnorm(heightL[i], tau[3]) } # canopy width for (i in 1:N.sample) { r1[i] <- (height[i] - heightL[i]) * exp( bb[4] + bs[4, Spc[i]] + bb[6] * cnt.height[i] ) r2[i] <- r1[i] * exp(log.r12) 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) } }