Dear Rahel,
I did no use this aproach, but if you want to try the zero's trick from Chandler (
https://groups.google.com/forum/#!searchin/spatialcapturerecapture/zero$20trick%7Csort:date/spatialcapturerecapture/NzqUovn8jF0/4Z4OzGRAAgAJ) it works very well in Nimble to reduce the computation time.
You have to supply buffer as a data, not a constant
Regards,
José
#####################################################################
# IN JAGS:
.............
for (i in 1:M) {
z[i] ~ dbern(psi)
s[i,1] ~ dunif(xlim[1], xlim[2])
s[i,2] ~ dunif(ylim[1], ylim[2])
for(j in 1:J) {
d2[i,j] <- (X[j,1] - s[i,1])^2 + (X[j,2] - s[i,2])^2
outj[i,j] <- sqrt(d2[i,j]) > buffer # is d(i,j) > buffer??
lambda[i,j] <- lambda0*exp(-d2[i,j]/(2*sigma^2))
# No need to loop over occs
lzk[i,j] <- lambda[i,j]*z[i]*K[j]
}
out[i] <- equals(sum(outj[i,]), J) # Is s(i) outside buffer?
zeros[i] ~ dbern(out[i])
}
................
#####################################################################
# IN NIMBLE:
................
for (i in 1:M) {
z[i] ~ dbern(psi)
s[i, 1] ~ dunif(xlim[1], xlim[2])
s[i, 2] ~ dunif(ylim[1], ylim[2])
d2[i,1:J] <- (s[i,1] - X[1:J,1])^2 + (s[i,2] - X[1:J,2])^2
p[i,1:J] <- z[i] * p0[1:J] * exp(-d2[i,1:J]/(2*sigma^2))
for (j in 1:J) {
outj[i,j] <- sqrt(d2[i,j]) > buffer
y[i,j] ~ dpois(p[i,j]*K[j])
}
out[i] <- sum(outj[i,1:J])==J # Is s(i) outside buffer?
zeros[i] ~ dbern(out[i])
}
................