#  SISAM

TS<-data.frame(Year=fit.current$years, SSB=round(tab1[,7]), F=round(tab1[,10],3))
TS<-TS[-nrow(TS),]
write.table(TS, sep="\t", file="TimeSeriesResults.tab", row.names=FALSE, quote=FALSE)


filen<-"ObsErrorData.tab"

cat("Species\tNSCOD\n", file=filen)
cat("Assessment Model\tSAM\n", file=filen, append=TRUE)
cat("Your Name\tNielsen\n", file=filen, append=TRUE)
cat("Statistical Assumption\tlog-normal (normal for log-observations)\n\n", file=filen, append=TRUE)

Year<-fit.current$years
Year<-Year[Year!=2012]
minAge<-min(fit.current$res[,3])  
maxAge<-max(fit.current$res[,3])  
Age<-minAge:maxAge

get.sd<-function(i){
  f<-fit.current$res[i,2]
  a<-fit.current$res[i,3]
  exp(fit.current$est[fit.current$names=="logSdLogObs"][fit.current$keys$keyVarObs[f,a]])
}
res<-fit.current$res
res<-data.frame(res, sd=sapply(1:nrow(res), get.sd))
 
mat<-expand.grid(Age=Age, Year=Year)
 
get.catch.res<-function(i, fleet=1){
  stdres<-res[(res[,1]==mat$Year[i])&(res[,3]==mat$Age[i])&(res[,2]==fleet),6]
  sd<-res[(res[,1]==mat$Year[i])&(res[,3]==mat$Age[i])&(res[,2]==fleet),7]
  ret<-stdres*sd
  ifelse(length(ret)==0,NA,ret)
}

get.catch.sd<-function(i, fleet=1){
  ret<-res[(res[,1]==mat$Year[i])&(res[,3]==mat$Age[i])&(res[,2]==fleet),7]
  ifelse(length(ret)==0,NA,ret)
}

N<-exp(fit.current$stateEst[,1:noN])
rownames(N)<-fit.current$years
colnames(N)<-Age

F<-exp(fit.current$stateEst[,-c(1:noN)])[,fit.current$keys$keyLogFsta[1,]]
rownames(F)<-fit.current$years
colnames(F)<-Age

getQ<-function(i, fleet=NA){
  ret<-exp(fit.current$logFpar[,1])[fit.current$keys$keyLogFpar[fleet,mat$Age[i]-minAge+1]]
  ifelse(length(ret)==0,NA,ret)
}




mat<-data.frame(mat, 
                Catch.fleet.residuals.logscale=sapply(1:nrow(mat),get.catch.res), 
                Sd.log.catch.fleet=sapply(1:nrow(mat),get.catch.sd),
                Survey.fleet1.residuals.logscale=sapply(1:nrow(mat),get.catch.res, fleet=2), 
                Sd.log.survey.fleet1=sapply(1:nrow(mat),get.catch.sd, fleet=2),
                N=sapply(1:nrow(mat), function(i)N[rownames(N)==mat$Year[i],colnames(N)==mat$Age[i]]),
                F=sapply(1:nrow(mat), function(i)F[rownames(F)==mat$Year[i],colnames(F)==mat$Age[i]]), 
                Survey.fleet1.q=sapply(1:nrow(mat), getQ, fleet=2)
               )  

if(fit.current$keys$noScaledYears>0){
  scaleKey<-fit.current$keys$keyParScaledYA
  rownames(scaleKey)<-fit.current$keys$keyScaledYears
  colnames(scaleKey)<-Age
  getCS<-function(i){
    ret<-exp(fit.current$logscale[,1])[scaleKey[rownames(scaleKey)==mat$Year[i],colnames(scaleKey)==mat$Age[i]]]
    ifelse(length(ret)==0,NA,ret)
  }
  mat<-data.frame(mat,Catch.scaling=sapply(1:nrow(mat), getCS))
}


suppressWarnings(
  write.table(mat, file=filen, append=TRUE, quote=FALSE, row.names=FALSE)
)

filen<-"CurrentFSSBResults.csv"

headers<-c('Your Name','Species name','Your assessment model',
           'Original assessment model','Stock leader name',
           'SSBcur','Fcur','SSBref','Fref','SSBcur/SSBref',
           'Fcur/Fref','Yrep','comments')
           
currentYear<-2011
SSBcur<-fit.current$ssb[fit.current$years==currentYear,1]
Fcur<-fit.current$fbar[fit.current$years==currentYear,1]
SSBref<-150000
Fref<-0.19
answers<-c('Nielsen', 'NSCOD', 'SAM', 'SAM', 'Jose De Oliveira', 
           SSBcur, round(Fcur,3), SSBref, Fref, round(SSBcur/SSBref, 3), round(Fcur/Fref,3), NA, "")
names(answers)<-headers

write.table(t(answers), sep=',', row.names=FALSE, quote=FALSE, file=filen)












