model {
   mu ~ dbeta(1,1) 
   degrees <- mu*360
   cosmu <- cos(mu*2*3.14159265359)
   sinmu <- sin(mu*2*3.14159265359)
   kappa ~ dnorm(1,1)
   lambda <- kappa*kappa/4
   I0 <- 1 + lambda + pow(lambda,2)/4 + pow(lambda,3)/36 +
             pow(lambda,4)/576 + pow(lambda,5)/14400
   for (i in 1:n) {
      zeros[i] <- 0
      eta[i] <- 360*(hr[i]+min[i]/60)/24
      coseta[i]  <- cos(eta[i]*3.14159265359/180)
      sineta[i]  <- sin(eta[i]*3.14159265359/180)
      phi[i] <- -kappa*coseta[i]*cosmu-kappa*sineta[i]*sinmu+log(I0)+6
      zeros[i] ~ dpois(phi[i])
   }
}
                     
data;
list(n=21,
hr=c(00,03,04,07,08,10,11,12,13,14,16,16,17,17,17,18,18,18,19,20,22),
min=c(56,08,52,16,08,00,24,08,28,16,20,44,04,20,24,08,16,56,32,52,08))

inits;
list(mu=0.5,kappa=1)

Note: We use here the  section  "Tricks:  Advanced  Use of the BUGS  Languge",
subsection  "Specifying  a new  sampling  distribution"  from the WinBUGS User
Manual at http://www.mrc-bsu.cam.ac.uk/bugs/winbugs/manual14.pdf