library(RTMB) turbot <- read.table("turbot.dat", head=FALSE) dat <- list() dat$pos <- turbot[,2] dat$catch <- turbot[,3] dat$N00 <- 3529 dat$w <- 4.5 dat$t <- 2 par <- list(alpha=0, logSigma=5, logitQ=0) l <- function(par){ getAll(par,dat) # now we can directly access everything in the two lists sd <- exp(logSigma)*sqrt(t) q <- plogis(logitQ) C.bar <- q*N00*(pnorm((pos+w/2-alpha*t)/sd)-pnorm((pos-w/2-alpha*t)/sd)) -sum(dpois(catch, C.bar, log=TRUE)) } obj <- MakeADFun(l,par,silent=TRUE) fit <- nlminb(obj$par,obj$fn, obj$gr)