model { Tau.noninformative <- 1.0E-2 Error.gamma <- 1.0E-2 Hyper.gamma <- 1.0E-2 # DBH for (i in 1:N.sample) { log.dbh[i] ~ dnorm(m.log.dbh, tau[2]) LogDbh[i] ~ dnorm(log.dbh[i], tau[1]) } m.log.dbh ~ dnorm(0.0, Tau.noninformative) # height for (i in 1:N.sample) { height[i] <- ( exp(bb[1] + bs[1, Spc[i]]) * (1 - exp(-exp(bb[2] + bs[2, Spc[i]] + log.dbh[i]))) * exp(cdamage * Damage[i]) ) log.height[i] <- log(height[i]) LogHeight[i] ~ dnorm(log.height[i], tau[3]) } cdamage ~ dnorm(0.0, Tau.noninformative) # heightL for (i in 1:N.sample) { log.heightL[i] <- log.height[i] - exp( bb[3] + bs[3, Spc[i]] + (bb[4] + bs[4, Spc[i]]) * height[i] ) LogHeightL[i] ~ dnorm(log.heightL[i], tau[4]) } # canopy width for (i in 1:N.sample) { log.r1[i] <- log(exp(log.height[i]) - exp(log.heightL[i])) + ( bb[5] + bs[5, Spc[i]] + (bb[6] + bs[6, Spc[i]]) * height[i] ) log.r2[i] <- log.r1[i] + log.r12 LogR1[i] ~ dnorm(log.r1[i], tau[5]) LogR2[i] ~ dnorm(log.r2[i], tau[5]) } log.r12 ~ dnorm(0.0, Tau.noninformative) # coefficients for (k in 1:N.parameter) { bb[k] ~ dnorm(0.0, Tau.noninformative) # common part 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 } # ``errors'' for (k in 1:N.tau) { tau[k] ~ dgamma(Error.gamma, Error.gamma) } }