image(makebeta(c(1,2,3,4,5),30))
#
makebeta=function(par,nl) {  #have pretty much four values -> estimate three parameters#
    betamat=matrix(0,nl,nl)#
    betamat[] <- abs(par[1])#
    betamat[1,1]=abs(par[1])#
    betamat[2:5,2:5]=betamat[2:5,2:5]+abs(par[2])#
    betamat[6:10,6:10]=betamat[6:15,6:15]+abs(par[3])#
    betamat[11:15,11:15]=betamat[6:15,6:15]+abs(par[3])#
    betamat[16:20,16:20]=betamat[16:20,16:20]+abs(par[4])#
    betamat[21:30,21:30]=betamat[21:30,21:30]+abs(par[5])#
	return(betamat)#
}
image(makebeta(c(1,2,3,4,5,6),30))
#
#
makebeta=function(par,nl) {  #have pretty much four values -> estimate three parameters#
    betamat=matrix(0,nl,nl)#
    betamat[] <- abs(par[1])#
    betamat[1,1]=abs(par[1])#
    betamat[2:5,2:5]=betamat[2:5,2:5]+abs(par[2])#
    betamat[6:10,6:10]=betamat[6:10,6:10]+abs(par[3])#
    betamat[11:15,11:15]=betamat[11:15,11:15]+abs(par[4])#
    betamat[16:20,16:20]=betamat[16:20,16:20]+abs(par[5])#
    betamat[21:30,21:30]=betamat[21:30,21:30]+abs(par[6])#
	return(betamat)#
}
image(makebeta(c(1,2,3,4,5,6),30))
#
makebeta=function(par,nl) {  #have pretty much four values -> estimate three parameters#
    betamat=matrix(0,nl,nl)#
    betamat[] <- abs(par[1])#
    betamat[1,1]=abs(par[1])#
    betamat[2:5,2:5]=betamat[2:5,2:5]+abs(par[2])#
    betamat[6:10,6:10]=betamat[6:10,6:10]+abs(par[3])#
    betamat[11:15,11:15]=betamat[11:15,11:15]+abs(par[4])#
    betamat[16:20,16:20]=betamat[16:20,16:20]+abs(par[5])#
    betamat[21:30,21:30]=betamat[21:30,21:30]+abs(par[6])#
	return(betamat)#
}#
#
#
#
#
find.WAIFW=function(par){ #just use to re-create lam_i#
    #create betamat#
    betamat=makebeta(par)#
    #get "phi" e.g. proportion of susceptibles and pop size#
    infected=c.a#
    length.age=c(size.ageclass1,diff(knownages[1:nl])+1)#
    #use eq. D14 in Anderson and May    #
    phi=cumsum(lama*length.age)                     #cumulative hazard#
    bigphi=c(1-exp(-phi[1]),-diff(exp(-c(phi))))    #different between survivorship at every age#
    u=rep(0,nl)#
    for (k in 1:nl){ u[k]=sum(betamat[,k]*bigphi)} #
    resp=sum((lama-u)^2)#
      return(resp)#
    }#
#
#
#
#
## get equilibrium lambda (by interation) Wallinga paper #
#
findlamx<-function(lamstart,prams=rep(0.01,6),knownages=ages,chs_npop=totPop,length.age=diff(c(0,ages))) {   #non-zero starting values  #
	delta=0#
	s0<-seq(1,0.1,length=length(knownages))		#
	nl <- length(knownages)#
	betas=makebeta(prams, nl=nl)#
	lamn<-lamstart	#
     for (k in 1:30) { #
		lamn1<-lamn#
		 lamn1[1]=max((1/length.age[1])*sum(betas[1,]*chs_npop[1]*(c(1,s0[1:(nl-1)])-s0[1:nl])),1e-9)#
		 s0[1]=exp(-lamn1[1]*length.age[1])#
		 for (x in 2:length(length.age)) { #
			s0[x]=exp(-sum(lamn1[1:x]*length.age[1:x]))#
			lamn1[x]=max((1/length.age[x])*sum(betas[x,]*chs_npop[x]*(c(1,s0[1:(nl-1)])-s0[1:nl])),1e-9)#
		}#
		lamn<-lamn1	    	#
	}#
		#
	return(list(lamn=lamn,s0=s0))#
}#
#
#
#DEFINE #
likelihood_par<-function(params=rep(0.01,6),observedS=obsSusc,knownages=ages,Npop=totPop,length.age=diff(c(0,ages))){ #
	params=abs(params)#
	lamstart<-seq(0.001,0.15,length=length(knownages))#
	lamget=findlamx(lamstart,prams=params,knownages=knownages,chs_npop=Npop,length.age=length.age)#
	lambda=lamget$lamn#
	s0=lamget$s0#
	#eqn 6b in Wallinga#
	pk <- (1/(length.age))*s0#
	loglik <- sum(log(choose(Npop,observedS))+observedS*log(pk)+(Npop-observedS)*log(2-pk))#
	return(-loglik)#
#
}#
#
#
#
#
##make up serology#
logit <- function(x) { u <- exp(x); return(u/(1+u))}#
ages <- c(1:30)#
propSusc <- logit(20-2*ages)#
totPop <- rep(100,length(ages))#
obsSusc <- rbinom(length(ages),totPop,propSusc)#
#
#
##from this, get the FOI#
data.test <- data.frame(age=ages,
#
            sick=totPop-obsSusc,n=totPop,neach=(totPop-obsSusc))#
#
tmp <- findpiecewiseFOI(c(0.008,0.077,0.024,0.008),data.test,
#
                                index.a=c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,rep(4,50))[1:length(ages)])#

#
#plot#
plot(tmp$mid.age,tmp$FOI,xlab="age", ylab="FOI", type="l")#
#
##from the FOI, get the WAIFW#
#

#
#
#
##check waifw bit#
#
#
tpp=optim(c(1,1,1,1,1,1)/100,likelihood_par,method="Nelder-Mead")#
#
#
bet <- makebeta(tpp$par,length(ages))#
a1<-findlamx(lamstart=seq(0.001,0.15,length=length(ages)),prams=abs(tpp$par),knownages=ages,chs_npop=totPop,length.age=diff(c(0,ages)))#
#
par(mfrow=c(2,2))#
image(ages,ages,bet)#
plot(a1$lamn, type="l", xlab="age", ylab="foi")#
points(tmp$mid.age,max(a1$lamn)*tmp$FOI/max(tmp$FOI),type="l",col=2,lty=3)#
#
plot(a1$s0, type="l", xlab="age", ylab="susc")#
points(obsSusc/totPop, type="l",lty=2,col=2)
findpiecewiseFOI
piecewiseFOI
head(data)
head(data.test)
#
#
##make up serology#
logit <- function(x) { u <- exp(x); return(u/(1+u))}#
ages <- c(1:30)#
propSusc <- logit(20-1.5*ages)#
totPop <- rep(100,length(ages))#
obsSusc <- rbinom(length(ages),totPop,propSusc)#
#
#
##from this, get the FOI#
data.test <- data.frame(age=ages,#
            sick=totPop-obsSusc,n=totPop,neach=(totPop-obsSusc))#
#
tmp <- findpiecewiseFOI(c(0.008,0.077,0.024,0.008),data.test,#
                                index.a=c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,rep(4,50))[1:length(ages)])#

#
#plot#
plot(tmp$mid.age,tmp$FOI,xlab="age", ylab="FOI", type="l")#
#
##from the FOI, get the WAIFW
#
tmp <- findpiecewiseFOI(c(0.008,0.077,0.024,0.008,0.001,0.001),data.test,#
                                index.a=c(rep(1,5),rep(2,5),rep(3,5),rep(4,5),rep(5,5),rep(6,50))[1:length(ages)])#

#
#plot#
plot(tmp$mid.age,tmp$FOI,xlab="age", ylab="FOI", type="l")
#
#
##make up serology#
logit <- function(x) { u <- exp(x); return(u/(1+u))}#
ages <- c(1:30)#
propSusc <- logit(20-1.5*ages)#
totPop <- rep(100,length(ages))#
obsSusc <- rbinom(length(ages),totPop,propSusc)#
#
#
##from this, get the FOI#
data.test <- data.frame(age=ages,#
            sick=totPop-obsSusc,n=totPop,neach=(totPop-obsSusc))#
#
tmp <- findpiecewiseFOI(c(0.008,0.077,0.024,0.008,0.001,0.001),data.test,#
                                index.a=c(rep(1,5),rep(2,5),rep(3,5),rep(4,5),rep(5,5),rep(6,50))[1:length(ages)])#
#
#plot#
plot(tmp$mid.age,tmp$FOI,xlab="age", ylab="FOI", type="l")#
#
##from the FOI, get the WAIFW#
#
#
#
#
##check waifw bit#
#
#
tpp=optim(c(1,1,1,1,1,1)/100,likelihood_par,method="Nelder-Mead")#
#
#
bet <- makebeta(tpp$par,length(ages))#
a1<-findlamx(lamstart=seq(0.001,0.15,length=length(ages)),prams=abs(tpp$par),knownages=ages,chs_npop=totPop,length.age=diff(c(0,ages)))#
#
par(mfrow=c(2,2))#
image(ages,ages,bet)#
plot(a1$lamn, type="l", xlab="age", ylab="foi")#
points(tmp$mid.age,max(a1$lamn)*tmp$FOI/max(tmp$FOI),type="l",col=2,lty=3)#
#
plot(a1$s0, type="l", xlab="age", ylab="susc")#
points(obsSusc/totPop, type="l",lty=2,col=2)
tpp
tmp
unique(tmp$FOI)
tpp=optim(tmp$par,likelihood_par,method="Nelder-Mead")
tmp$par
#
tpp <- optim(unique(tmp$FOI),likelihood_par,method="Nelder-Mead")#
#
#
bet <- makebeta(tpp$par,length(ages))#
a1<-findlamx(lamstart=seq(0.001,0.15,length=length(ages)),prams=abs(tpp$par),knownages=ages,chs_npop=totPop,length.age=diff(c(0,ages)))#
#
par(mfrow=c(2,2))#
image(ages,ages,bet)#
plot(a1$lamn, type="l", xlab="age", ylab="foi")#
points(tmp$mid.age,max(a1$lamn)*tmp$FOI/max(tmp$FOI),type="l",col=2,lty=3)#
#
plot(a1$s0, type="l", xlab="age", ylab="susc")#
points(obsSusc/totPop, type="l",lty=2,col=2)
tpp
tpp <- optim(2*unique(tmp$FOI),likelihood_par,method="Nelder-Mead")
tpp
tpp <- optim(rep(1e-3,6),likelihood_par,method="Nelder-Mead")
tpp
#
#
##make up serology#
logit <- function(x) { u <- exp(x); return(u/(1+u))}#
ages <- c(1:30)#
propSusc <- logit(20-2*ages)#
totPop <- rep(100,length(ages))#
obsSusc <- rbinom(length(ages),totPop,propSusc)#
#
#
##from this, get the FOI#
data.test <- data.frame(age=ages,#
            sick=totPop-obsSusc,n=totPop,neach=(totPop-obsSusc))#
#
tmp <- findpiecewiseFOI(c(0.008,0.077,0.024,0.008,0.001,0.001),data.test,#
                                index.a=c(rep(1,5),rep(2,5),rep(3,5),rep(4,5),rep(5,5),rep(6,50))[1:length(ages)])#
#
#plot#
plot(tmp$mid.age,tmp$FOI,xlab="age", ylab="FOI", type="l")#
#
tpp <- optim(2*unique(tmp$FOI),likelihood_par,method="Nelder-Mead")#
#
#
bet <- makebeta(tpp$par,length(ages))#
a1<-findlamx(lamstart=seq(0.001,0.15,length=length(ages)),prams=abs(tpp$par),knownages=ages,chs_npop=totPop,length.age=diff(c(0,ages)))#
#
par(mfrow=c(2,2))#
image(ages,ages,bet)#
plot(a1$lamn, type="l", xlab="age", ylab="foi")#
points(tmp$mid.age,max(a1$lamn)*tmp$FOI/max(tmp$FOI),type="l",col=2,lty=3)#
#
plot(a1$s0, type="l", xlab="age", ylab="susc")#
points(obsSusc/totPop, type="l",lty=2,col=2)
#
#
reload.source <- function(){#
    source("Users/cjessicametcalf/Documents/EvolMatImmunity/EvolMat-Util.R")#
}
reload.source()
gtwd()
#
reload.source <- function(){#
    source("/Users/cjessicametcalf/Documents/EvolMatImmunity/EvolMat-Util.R")#
}#
#
## Function to simulate evolution of maternal immunity   #########################
# Ne
reload.source()
	a1<-TrackPopStruct(period=10)#
	b1<-TrackPopStruct(period=100)#
#
	par(mfrow=c(2,2),bty="l")#
	tlim <- 1000:1200#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l")#
	points(colSums(	b1[[1]][b1[[2]],tlim]), type="l", col=2)#
	plot(colSums(a1[[1]][a1[[3]],tlim]), xlab="time", ylab="S", type="l")#
	points(colSums(	b1[[1]][b1[[3]],tlim]), type="l", col=2)#
	plot(colSums(a1[[1]][a1[[4]],tlim]), xlab="time", ylab="I", type="l")#
	points(colSums(	b1[[1]][b1[[4]],tlim]), type="l", col=2)#
	plot(colSums(a1[[1]][a1[[5]],tlim]), xlab="time", ylab="R", type="l")#
	points(colSums(	b1[[1]][b1[[5]],tlim]), type="l", col=2)#
#
	par(mfrow=c(2,2)) #pop structure#
	image(tlim,1:(nrow(a1$nt.store)/4),t(log(a1[[1]][a1[[2]],tlim])), xlab="time", ylab="age",main="M")#
	image(tlim,1:(nrow(a1$nt.store)/4),t(log(a1[[1]][a1[[3]],tlim])), xlab="time", ylab="age",main="S")#
	image(tlim,1:(nrow(a1$nt.store)/4),t(log(a1[[1]][a1[[4]],tlim])), xlab="time", ylab="age",main="I")#
	image(tlim,1:(nrow(a1$nt.store)/4),t(log(a1[[1]][a1[[5]],tlim])), xlab="time", ylab="age",main="R")#
#
	#total pop size compare#
	plot(colSums(a1[[1]][,tlim]), xlab="time", ylab="M", type="l")#
	points(colSums(b1[[1]][,tlim]), type="l",col=2)	#
#
	#highlights that problem with comparison across different seasonalities is that the more frequent have higher risk death anyway#
	mean(diff(colSums(a1[[1]][,tlim])))#
	mean(diff(colSums(b1[[1]][,tlim])))#
#
#
	##compare across a range of periodicities three different wanings#
	wanes <- seq(1e-9,0.6,length=50)#
	pd <- c(2,10,50,100,500)#
	st <- matrix(NA,length(wanes),length(pd))#
	tMax <- 2000#
	for (j in 1:length(wanes)) { #
		for (k in 1:length(pd)) { #
		a1<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
				waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
				mu.sick=1.5)#
		st[j,k] <- mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
		}#
	print(j)#
	}#
	image(wanes,pd,(st),xlab="waning rate", ylab="periodicity of outbreaks")#
#
	matplot(wanes,(st), type="b",pch=19)#
#
	plot(1:50,exp(-wanes[1]*(1:50)), type="l", ylim=c(0,1))#
	points(1:50,exp(-wanes[2]*(1:50)), type="l",col=2)#
	points(1:50,exp(-wanes[3]*(1:50)), type="l",col=1)
#
        #compare these first four#
        k<-1#
        a1<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[1],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        a2<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[2],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        a3<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[3],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        a4<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[4],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)
   par(mfrow=c(2,2),bty="l")#
	tlim <- 1000:1200#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l")#
	points(colSums(a2[[1]][a2[[2]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[2]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[2]],tlim]), type="l", col=4)#
#
	plot(colSums(a1[[1]][a1[[3]],tlim]), xlab="time", ylab="S", type="l")#
        points(colSums(a2[[1]][a2[[3]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[3]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[3]],tlim]), type="l", col=4)#
	#
	plot(colSums(a1[[1]][a1[[4]],tlim]), xlab="time", ylab="I", type="l")#
	points(colSums(a2[[1]][a2[[4]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[4]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[4]],tlim]), type="l", col=4)#
#
        plot(colSums(a1[[1]][a1[[5]],tlim]), xlab="time", ylab="R", type="l")#
	points(colSums(a2[[1]][a2[[5]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[5]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[5]],tlim]), type="l", col=4)
tMax
        par(mfrow=c(2,2),bty="l")#
	tlim <- 1800:1900#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l",#
             ylim=range(c(colSums(a1[[1]][a1[[2]],tlim]),colSums(a2[[1]][a2[[2]],tlim]),#
             colSums(a3[[1]][a3[[2]],tlim]),colSums(a4[[1]][a4[[2]],tlim]))))#
	points(colSums(a2[[1]][a2[[2]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[2]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[2]],tlim]), type="l", col=4)
#
#
        par(mfrow=c(2,2),bty="l")#
	tlim <- 1800:1900#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l",#
             ylim=range(c(colSums(a1[[1]][a1[[2]],tlim]),colSums(a2[[1]][a2[[2]],tlim]),#
             colSums(a3[[1]][a3[[2]],tlim]),colSums(a4[[1]][a4[[2]],tlim]))), log="y")#
	points(colSums(a2[[1]][a2[[2]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[2]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[2]],tlim]), type="l", col=4)
#
        par(mfrow=c(2,2),bty="l")#
	tlim <- 1800:1900#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l",#
             ylim=range(c(colSums(a1[[1]][a1[[2]],tlim]),colSums(a2[[1]][a2[[2]],tlim]),#
             colSums(a3[[1]][a3[[2]],tlim]),colSums(a4[[1]][a4[[2]],tlim]))), log="y")#
	points(colSums(a2[[1]][a2[[2]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[2]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[2]],tlim]), type="l", col=4)#
#
	plot(colSums(a1[[1]][a1[[3]],tlim]), xlab="time", ylab="S", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[3]],tlim]),colSums(a2[[1]][a2[[3]],tlim]),#
             colSums(a3[[1]][a3[[3]],tlim]),colSums(a4[[1]][a4[[3]],tlim]))),log="y")#
        points(colSums(a2[[1]][a2[[3]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[3]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[3]],tlim]), type="l", col=4)#
	#
	plot(colSums(a1[[1]][a1[[4]],tlim]), xlab="time", ylab="I", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[4]],tlim]),colSums(a2[[1]][a2[[4]],tlim]),#
             colSums(a3[[1]][a3[[4]],tlim]),colSums(a4[[1]][a4[[4]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[4]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[4]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[4]],tlim]), type="l", col=4)#
#
        plot(colSums(a1[[1]][a1[[5]],tlim]), xlab="time", ylab="R", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[5]],tlim]),colSums(a2[[1]][a2[[5]],tlim]),#
             colSums(a3[[1]][a3[[5]],tlim]),colSums(a4[[1]][a4[[5]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[5]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[5]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[5]],tlim]), type="l", col=4)
#
        par(mfrow=c(2,2),bty="l")#
	tlim <- 1950:2000#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l",#
             ylim=range(c(colSums(a1[[1]][a1[[2]],tlim]),colSums(a2[[1]][a2[[2]],tlim]),#
             colSums(a3[[1]][a3[[2]],tlim]),colSums(a4[[1]][a4[[2]],tlim]))), log="y")#
	points(colSums(a2[[1]][a2[[2]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[2]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[2]],tlim]), type="l", col=4)#
#
	plot(colSums(a1[[1]][a1[[3]],tlim]), xlab="time", ylab="S", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[3]],tlim]),colSums(a2[[1]][a2[[3]],tlim]),#
             colSums(a3[[1]][a3[[3]],tlim]),colSums(a4[[1]][a4[[3]],tlim]))),log="y")#
        points(colSums(a2[[1]][a2[[3]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[3]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[3]],tlim]), type="l", col=4)#
	#
	plot(colSums(a1[[1]][a1[[4]],tlim]), xlab="time", ylab="I", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[4]],tlim]),colSums(a2[[1]][a2[[4]],tlim]),#
             colSums(a3[[1]][a3[[4]],tlim]),colSums(a4[[1]][a4[[4]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[4]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[4]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[4]],tlim]), type="l", col=4)#
#
        plot(colSums(a1[[1]][a1[[5]],tlim]), xlab="time", ylab="R", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[5]],tlim]),colSums(a2[[1]][a2[[5]],tlim]),#
             colSums(a3[[1]][a3[[5]],tlim]),colSums(a4[[1]][a4[[5]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[5]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[5]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[5]],tlim]), type="l", col=4)
    mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))
    mean(diff(colSums(a2[[1]][,(tMax-500):tMax])))
    mean(diff(colSums(a3[[1]][,(tMax-500):tMax])))
    mean(diff(colSums(a4[[1]][,(tMax-500):tMax])))
        plot(cumsum(colSums(a1[[1]])), type="l")
        plot(cumsum(colSums(a1[[1]])), type="l")#
        points(cumsum(colSums(a2[[1]])), type="l")#
        points(cumsum(colSums(a3[[1]])), type="l")#
        points(cumsum(colSums(a4[[1]])), type="l")
        plot(cumsum(colSums(a1[[1]])), type="l")#
        points(cumsum(colSums(a2[[1]])), type="l", col=2)#
        points(cumsum(colSums(a3[[1]])), type="l", col=3)#
        points(cumsum(colSums(a4[[1]])), type="l", col=4)
#
        #compare these first four#
        k<-10#
        a1<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[1],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
#
        a2<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[2],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        mean(diff(colSums(a2[[1]][,(tMax-500):tMax])))#
#
        a3<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[3],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        mean(diff(colSums(a3[[1]][,(tMax-500):tMax])))#
#
        a4<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[4],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        mean(diff(colSums(a4[[1]][,(tMax-500):tMax])))#
#
#
        par(mfrow=c(2,2),bty="l")#
	tlim <- 1950:2000#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l",#
             ylim=range(c(colSums(a1[[1]][a1[[2]],tlim]),colSums(a2[[1]][a2[[2]],tlim]),#
             colSums(a3[[1]][a3[[2]],tlim]),colSums(a4[[1]][a4[[2]],tlim]))), log="y")#
	points(colSums(a2[[1]][a2[[2]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[2]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[2]],tlim]), type="l", col=4)#
#
	plot(colSums(a1[[1]][a1[[3]],tlim]), xlab="time", ylab="S", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[3]],tlim]),colSums(a2[[1]][a2[[3]],tlim]),#
             colSums(a3[[1]][a3[[3]],tlim]),colSums(a4[[1]][a4[[3]],tlim]))),log="y")#
        points(colSums(a2[[1]][a2[[3]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[3]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[3]],tlim]), type="l", col=4)#
	#
	plot(colSums(a1[[1]][a1[[4]],tlim]), xlab="time", ylab="I", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[4]],tlim]),colSums(a2[[1]][a2[[4]],tlim]),#
             colSums(a3[[1]][a3[[4]],tlim]),colSums(a4[[1]][a4[[4]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[4]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[4]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[4]],tlim]), type="l", col=4)#
#
        plot(colSums(a1[[1]][a1[[5]],tlim]), xlab="time", ylab="R", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[5]],tlim]),colSums(a2[[1]][a2[[5]],tlim]),#
             colSums(a3[[1]][a3[[5]],tlim]),colSums(a4[[1]][a4[[5]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[5]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[5]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[5]],tlim]), type="l", col=4)#
#
#
        plot(cumsum(colSums(a1[[1]][,tlim])), type="l", xlab="time", ylab="cumulative totals")#
        points(cumsum(colSums(a2[[1]][,tlim])), type="l", col=2)#
        points(cumsum(colSums(a3[[1]][,tlim])), type="l", col=3)#
        points(cumsum(colSums(a4[[1]][,tlim])), type="l", col=4)
#
        #compare these first four#
        k<-3#
        a1<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[1],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
#
        a2<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[2],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        mean(diff(colSums(a2[[1]][,(tMax-500):tMax])))#
#
        a3<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[3],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        mean(diff(colSums(a3[[1]][,(tMax-500):tMax])))#
#
        a4<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[4],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
        mean(diff(colSums(a4[[1]][,(tMax-500):tMax])))#
#
#
        par(mfrow=c(2,2),bty="l")#
	tlim <- 1950:2000#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l",#
             ylim=range(c(colSums(a1[[1]][a1[[2]],tlim]),colSums(a2[[1]][a2[[2]],tlim]),#
             colSums(a3[[1]][a3[[2]],tlim]),colSums(a4[[1]][a4[[2]],tlim]))), log="y")#
	points(colSums(a2[[1]][a2[[2]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[2]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[2]],tlim]), type="l", col=4)#
#
	plot(colSums(a1[[1]][a1[[3]],tlim]), xlab="time", ylab="S", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[3]],tlim]),colSums(a2[[1]][a2[[3]],tlim]),#
             colSums(a3[[1]][a3[[3]],tlim]),colSums(a4[[1]][a4[[3]],tlim]))),log="y")#
        points(colSums(a2[[1]][a2[[3]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[3]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[3]],tlim]), type="l", col=4)#
	#
	plot(colSums(a1[[1]][a1[[4]],tlim]), xlab="time", ylab="I", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[4]],tlim]),colSums(a2[[1]][a2[[4]],tlim]),#
             colSums(a3[[1]][a3[[4]],tlim]),colSums(a4[[1]][a4[[4]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[4]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[4]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[4]],tlim]), type="l", col=4)#
#
        plot(colSums(a1[[1]][a1[[5]],tlim]), xlab="time", ylab="R", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[5]],tlim]),colSums(a2[[1]][a2[[5]],tlim]),#
             colSums(a3[[1]][a3[[5]],tlim]),colSums(a4[[1]][a4[[5]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[5]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[5]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[5]],tlim]), type="l", col=4)
wanes[1:4]
  #compare these first four#
        k<-2#
        a1<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[1],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
        mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
#
        a2<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[2],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
        mean(diff(colSums(a2[[1]][,(tMax-500):tMax])))#
#
        a3<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[3],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
        mean(diff(colSums(a3[[1]][,(tMax-500):tMax])))#
#
        a4<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[4],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
        mean(diff(colSums(a4[[1]][,(tMax-500):tMax])))#
#
#
        par(mfrow=c(2,2),bty="l")#
	tlim <- 1950:2000#
	plot(colSums(a1[[1]][a1[[2]],tlim]), xlab="time", ylab="M", type="l",#
             ylim=range(c(colSums(a1[[1]][a1[[2]],tlim]),colSums(a2[[1]][a2[[2]],tlim]),#
             colSums(a3[[1]][a3[[2]],tlim]),colSums(a4[[1]][a4[[2]],tlim]))), log="y")#
	points(colSums(a2[[1]][a2[[2]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[2]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[2]],tlim]), type="l", col=4)#
#
	plot(colSums(a1[[1]][a1[[3]],tlim]), xlab="time", ylab="S", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[3]],tlim]),colSums(a2[[1]][a2[[3]],tlim]),#
             colSums(a3[[1]][a3[[3]],tlim]),colSums(a4[[1]][a4[[3]],tlim]))),log="y")#
        points(colSums(a2[[1]][a2[[3]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[3]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[3]],tlim]), type="l", col=4)#
	#
	plot(colSums(a1[[1]][a1[[4]],tlim]), xlab="time", ylab="I", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[4]],tlim]),colSums(a2[[1]][a2[[4]],tlim]),#
             colSums(a3[[1]][a3[[4]],tlim]),colSums(a4[[1]][a4[[4]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[4]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[4]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[4]],tlim]), type="l", col=4)#
#
        plot(colSums(a1[[1]][a1[[5]],tlim]), xlab="time", ylab="R", type="l",#
                       ylim=range(c(colSums(a1[[1]][a1[[5]],tlim]),colSums(a2[[1]][a2[[5]],tlim]),#
             colSums(a3[[1]][a3[[5]],tlim]),colSums(a4[[1]][a4[[5]],tlim]))),log="y")#
	points(colSums(a2[[1]][a2[[5]],tlim]), type="l", col=2)#
	points(colSums(a3[[1]][a3[[5]],tlim]), type="l", col=3)#
	points(colSums(a4[[1]][a4[[5]],tlim]), type="l", col=4)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <- rep(NA,4)#
        for (j in 1:4) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
        }
list.a[[1]]$nt.store
dim(list.a[[1]]$nt.store)
      indx <- list.a[[1]]$m.inds
indx
     par(mfrow=c(4,4)) #pop structure#
        j <- 1#
        mindx <- list.a[[1]]$m.inds; sindx <- list.a[[1]]$s.inds;#
        iindx <- list.a[[1]]$i.inds; rindx <- list.a[[1]]$r.inds; #
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[1]]$ntstore[mindx,tlim])), xlab="time", ylab="age",main="M")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[1]]$ntstore[sindx,tlim])), xlab="time", ylab="age",main="S")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[1]]$ntstore[iindx,tlim])), xlab="time", ylab="age",main="I")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[1]]$ntstore[rindx,tlim])), xlab="time", ylab="age",main="R")
tlim
indx
mindx
iilist.a[[1]]$ntstore
head(list.a[[1]]$ntstore)
names(list.a[[1]])
        par(mfrow=c(4,4)) #pop structure#
        j <- 1#
        mindx <- list.a[[1]]$m.inds; sindx <- list.a[[1]]$s.inds;#
        iindx <- list.a[[1]]$i.inds; rindx <- list.a[[1]]$r.inds; #
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[mindx,tlim])), xlab="time", ylab="age",main="M")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[sindx,tlim])), xlab="time", ylab="age",main="S")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[iindx,tlim])), xlab="time", ylab="age",main="I")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[rindx,tlim])), xlab="time", ylab="age",main="R")
j<-2
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[mindx,tlim])), xlab="time", ylab="age",main="M")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[sindx,tlim])), xlab="time", ylab="age",main="S")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[iindx,tlim])), xlab="time", ylab="age",main="I")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[rindx,tlim])), xlab="time", ylab="age",main="R")
j<-3
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[mindx,tlim])), xlab="time", ylab="age",main="M")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[sindx,tlim])), xlab="time", ylab="age",main="S")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[iindx,tlim])), xlab="time", ylab="age",main="I")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[rindx,tlim])), xlab="time", ylab="age",main="R")
j<-4
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[mindx,tlim])), xlab="time", ylab="age",main="M")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[sindx,tlim])), xlab="time", ylab="age",main="S")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[iindx,tlim])), xlab="time", ylab="age",main="I")#
	image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[rindx,tlim])), xlab="time", ylab="age",main="R")
        par(mfrow=c(4,4), mar=c(4,3,2,2)) #pop structure#
        mindx <- list.a[[1]]$m.inds; sindx <- list.a[[1]]$s.inds;#
        iindx <- list.a[[1]]$i.inds; rindx <- list.a[[1]]$r.inds; #
        for (j in 1:4) { #
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[mindx,tlim])), xlab="time", ylab="age",main="M")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[sindx,tlim])), xlab="time", ylab="age",main="S")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[iindx,tlim])), xlab="time", ylab="age",main="I")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[rindx,tlim])), xlab="time", ylab="age",main="R")#
        }
plot(list.a[[j]]$nt.store[mindx,tlim[1]])
        plot(list.a[[1]]$nt.store[mindx,tlim[1]], type="l")#
        points(list.a[[2]]$nt.store[mindx,tlim[2]], type="l")#
        points(list.a[[3]]$nt.store[mindx,tlim[2]], type="l")#
        points(list.a[[4]]$nt.store[mindx,tlim[2]], type="l")
        plot(list.a[[1]]$nt.store[mindx,tlim[1]], type="l", ylim=c(0,1))#
        points(list.a[[2]]$nt.store[mindx,tlim[2]], type="l")#
        points(list.a[[3]]$nt.store[mindx,tlim[2]], type="l")#
        points(list.a[[4]]$nt.store[mindx,tlim[2]], type="l")
        plot(list.a[[1]]$nt.store[mindx,tlim[1]], type="l", ylim=c(0,0.00015))#
        points(list.a[[2]]$nt.store[mindx,tlim[2]], type="l")#
        points(list.a[[3]]$nt.store[mindx,tlim[2]], type="l")#
        points(list.a[[4]]$nt.store[mindx,tlim[2]], type="l")
        plot(list.a[[1]]$nt.store[mindx,tlim[1]], type="l", ylim=c(0,0.00015))#
        points(list.a[[2]]$nt.store[mindx,tlim[2]], type="l", col=2)#
        points(list.a[[3]]$nt.store[mindx,tlim[2]], type="l", col=3)#
        points(list.a[[4]]$nt.store[mindx,tlim[2]], type="l", col=4)
#
#
        #glance pop struct#
        plot(list.a[[j]]$nt.store[mindx,tlim[1]]+list.a[[j]]$nt.store[sindx,tlim[1]]+#
             list.a[[j]]$nt.store[iindx,tlim[1]]+list.a[[j]]$nt.store[rindx,tlim[1]],#
             type="l")#
        for (j in 2:4) points(list.a[[j]]$nt.store[mindx,tlim[1]]+list.a[[j]]$nt.store[sindx,tlim[1]]+#
                              list.a[[j]]$nt.store[iindx,tlim[1]]+list.a[[j]]$nt.store[rindx,tlim[1]],#
                              type="l", col=j)
#
#
        #glance pop struct#
        plot(list.a[[j]]$nt.store[mindx,tlim[1]]+list.a[[j]]$nt.store[sindx,tlim[1]]+#
             list.a[[j]]$nt.store[iindx,tlim[1]]+list.a[[j]]$nt.store[rindx,tlim[1]],#
             type="l",log="y")#
        for (j in 2:4) points(list.a[[j]]$nt.store[mindx,tlim[1]]+list.a[[j]]$nt.store[sindx,tlim[1]]+#
                              list.a[[j]]$nt.store[iindx,tlim[1]]+list.a[[j]]$nt.store[rindx,tlim[1]],#
                              type="l", col=j)
names(list.a[[j]])
dim(list.a[[j]][[1]])
200/5
200/4
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:4) { #
             fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*(1:50))#
        }
j
 mean((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*(1:50))
j
   #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:4) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*(1:50))#
        }
avg.age.inf
plot(avg.age.inf)
for (j in 1:4){
            avg.age.inf[j] <- mean(t((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }
plot(avg.age.inf)
#
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:4) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),beta=0.01,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(t((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        par(mfrow=c(4,4), mar=c(4,3,2,2)) #pop structure#
        mindx <- list.a[[1]]$m.inds; sindx <- list.a[[1]]$s.inds;#
        iindx <- list.a[[1]]$i.inds; rindx <- list.a[[1]]$r.inds; #
        tlim <- 1950:2000#
#
        for (j in 1:4) { #
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[mindx,tlim])), xlab="time", ylab="age",main="M")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[sindx,tlim])), xlab="time", ylab="age",main="S")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[iindx,tlim])), xlab="time", ylab="age",main="I")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[rindx,tlim])), xlab="time", ylab="age",main="R")#
        }#
        #
        #glance mat immunity#
        plot(list.a[[1]]$nt.store[mindx,tlim[1]], type="l", ylim=c(0,0.00015))#
        points(list.a[[2]]$nt.store[mindx,tlim[2]], type="l", col=2)#
        points(list.a[[3]]$nt.store[mindx,tlim[2]], type="l", col=3)#
        points(list.a[[4]]$nt.store[mindx,tlim[2]], type="l", col=4)
plot(avg.age.inf)
#
#
        #glance pop struct#
        plot(list.a[[j]]$nt.store[mindx,tlim[1]]+list.a[[j]]$nt.store[sindx,tlim[1]]+#
             list.a[[j]]$nt.store[iindx,tlim[1]]+list.a[[j]]$nt.store[rindx,tlim[1]],#
             type="l")#
        for (j in 2:4) points(list.a[[j]]$nt.store[mindx,tlim[1]]+list.a[[j]]$nt.store[sindx,tlim[1]]+#
                              list.a[[j]]$nt.store[iindx,tlim[1]]+list.a[[j]]$nt.store[rindx,tlim[1]],#
                              type="l", col=j)
        plot(avg.age.inf, type="l")
wanes
	wanes <- seq(1e-9,0.04,length=50)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:4) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),beta=0.01,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(t((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        par(mfrow=c(4,4), mar=c(4,3,2,2)) #pop structure#
        mindx <- list.a[[1]]$m.inds; sindx <- list.a[[1]]$s.inds;#
        iindx <- list.a[[1]]$i.inds; rindx <- list.a[[1]]$r.inds; #
        tlim <- 1950:2000#
#
        for (j in 1:4) { #
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[mindx,tlim])), xlab="time", ylab="age",main="M")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[sindx,tlim])), xlab="time", ylab="age",main="S")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[iindx,tlim])), xlab="time", ylab="age",main="I")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[rindx,tlim])), xlab="time", ylab="age",main="R")#
        }#
        #
        #glance mat immunity#
        plot(list.a[[1]]$nt.store[mindx,tlim[1]], type="l", ylim=c(0,0.00015))#
        points(list.a[[2]]$nt.store[mindx,tlim[2]], type="l", col=2)#
        points(list.a[[3]]$nt.store[mindx,tlim[2]], type="l", col=3)#
        points(list.a[[4]]$nt.store[mindx,tlim[2]], type="l", col=4)#
#
        plot(avg.age.inf, type="l")
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:4) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),beta=0.001,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(t((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        par(mfrow=c(4,4), mar=c(4,3,2,2)) #pop structure#
        mindx <- list.a[[1]]$m.inds; sindx <- list.a[[1]]$s.inds;#
        iindx <- list.a[[1]]$i.inds; rindx <- list.a[[1]]$r.inds; #
        tlim <- 1950:2000#
#
        for (j in 1:4) { #
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[mindx,tlim])), xlab="time", ylab="age",main="M")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[sindx,tlim])), xlab="time", ylab="age",main="S")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[iindx,tlim])), xlab="time", ylab="age",main="I")#
            image(tlim,1:(nrow(list.a[[j]]$nt.store)/4),t(log(list.a[[j]]$nt.store[rindx,tlim])), xlab="time", ylab="age",main="R")#
        }#
        #
        #glance mat immunity#
        plot(list.a[[1]]$nt.store[mindx,tlim[1]], type="l", ylim=c(0,0.00015))#
        points(list.a[[2]]$nt.store[mindx,tlim[2]], type="l", col=2)#
        points(list.a[[3]]$nt.store[mindx,tlim[2]], type="l", col=3)#
        points(list.a[[4]]$nt.store[mindx,tlim[2]], type="l", col=4)#
#
        plot(avg.age.inf, type="l")
    #glance mat infected#
        plot(list.a[[1]]$nt.store[iindx,tlim[1]], type="l", ylim=c(0,0.00015))#
        points(list.a[[2]]$nt.store[iindx,tlim[2]], type="l", col=2)#
        points(list.a[[3]]$nt.store[iindx,tlim[2]], type="l", col=3)#
        points(list.a[[4]]$nt.store[iindx,tlim[2]], type="l", col=4)
    #glance mat infected#
        plot(list.a[[1]]$nt.store[iindx,tlim[1]], type="l", ylim=c(0,0.000015))#
        points(list.a[[2]]$nt.store[iindx,tlim[2]], type="l", col=2)#
        points(list.a[[3]]$nt.store[iindx,tlim[2]], type="l", col=3)#
        points(list.a[[4]]$nt.store[iindx,tlim[2]], type="l", col=4)
avg.age.inf
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,5)#
        for (j in 1:5) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),beta=0.01,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(t((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(avg.age.inf, type="l", xlab="wane", ylab="avg age inf", type="b")
        par(mfrow=c(4,4), mar=c(4,3,2,2)) #pop structure
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
    #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:5) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),beta=0.0001,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(t((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
avg.age.inf
    #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:5) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),beta=1e-9,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(t((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
+                                      (1:5
}
t((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
+                                      (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])
 mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))
   par(mfrow=c(4,4), mar=c(4,3,2,2)) #pop structure
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:5) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),beta=0.01,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:5) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),beta=1e-10,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
periodTrans
reload.source()
  source("/Users/cjessicametcalf/Documents/EvolMatImmunity/EvolMat-Util.R")
   #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:5) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=0.01,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
   #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:5) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=0.1,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
   #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:5) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=0.9,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
   #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:4) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=1.9,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
   #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:4) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=2.9,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        #
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")
wanews
wanes
        plot(wanes[1:length(fit.st)],fit.st, xlab="wane", ylab="avg age inf", type="b")
#
	plot(1:50,exp(-wanes[1]*(1:50)), type="l", ylim=c(0,1))#
	points(1:50,exp(-wanes[2]*(1:50)), type="l",col=2)#
	points(1:50,exp(-wanes[3]*(1:50)), type="l",col=1)
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=0.8,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=1e-9,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=3,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=3,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
	wanes <- seq(1e-9,0.04,length=4)
      par(mfrow=c(4,4), mar=c(4,3,2,2)) #pop structure
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=0.8,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=1e-9,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=2)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=0.8,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=1e-9,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=1.5)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
#
        #compare these first four#
        k<-2#
        list.a <- list(); fit.st <-  avg.age.inf <- rep(NA,4)#
        for (j in 1:length(fit.st)) { #
            list.a[[j]]<-TrackPopStruct(fert=0.1*dnorm(1:50,25,5)/max(dnorm(1:50,25,5)),mag=0.8,#
                           waning.maternal.par=wanes[j],period=pd[k],tMax=tMax,#
                           mu.sick=1.1)#
            fit.st[j] <- mean(diff(colSums(list.a[[j]][[1]][,(tMax-500):tMax])))#
            avg.age.inf[j] <- mean(colSums((list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax])*#
                                     (1:50))/colSums(list.a[[j]][[1]][list.a[[j]]$i.inds,(tMax-500):tMax]))#
        }#
#
        plot(wanes[1:length(fit.st)],avg.age.inf, xlab="wane", ylab="avg age inf", type="b")#
        points(wanes[1:length(fit.st)],max(avg.age.inf,na.rm=TRUE)*fit.st/max(fit.st,na.rm=TRUE), type="b",lty=3)
    plot(1:50,exp(-0.01*(1:50)), type="l", ylim=c(0,1), xlab="age", ylab="loss of maternal immunity")#
    points(1:50,exp(-0.1*(1:50)), type="l",col=2)#
    points(1:50,exp(-1*(1:50)), type="l",col=1)
    par(mfrow=c(1,1),bty="l")#
    plot(0:50,exp(-0.01*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="probability of loss of maternal immunity")#
    points(0:50,exp(-0.1*(0:50)), type="l",col=1)#
    points(0:50,exp(-1*(0:50)), type="l",col=1)
   par(mfrow=c(1,1),bty="l")#
    plot(0:50,exp(-0.01*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="probability of loss of maternal immunity")#
    points(0:50,exp(-0.1*(0:50)), type="l",col=1)#
    points(0:50,exp(-0.5*(0:50)), type="l",col=1)
#
    par(mfrow=c(1,1),bty="l")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="probability of loss of maternal immunity")#
    points(0:50,exp(-0.3*(0:50)), type="l",col=1)#
    points(0:50,exp(-0.5*(0:50)), type="l",col=1)
#
#
    par(mfrow=c(1,1),bty="l")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="probability of loss of maternal immunity")#
    points(0:50,exp(-0.5*(0:50)), type="l",col=1)#
    points(0:50,exp(-0.7*(0:50)), type="l",col=1)
#
    par(mfrow=c(1,1),bty="l")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="probability of loss of maternal immunity")#
    points(0:50,exp(-0.2*(0:50)), type="l",col=1)#
    points(0:50,exp(-0.5*(0:50)), type="l",col=1)
#
    par(mfrow=c(1,1),bty="l")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="", main="Loss maternal immunity",#
         col="white", col.axis="white",col.lab="white" )#
    points(0:50,exp(-0.2*(0:50)), type="l", col="white")#
    points(0:50,exp(-0.5*(0:50)), type="l", col="white")
#
    par(mfrow=c(1,1),bty="l")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="", main="Loss maternal immunity",#
         col="white", col.axis="white",col.lab="white", col.main="white")#
    points(0:50,exp(-0.2*(0:50)), type="l", col="white")#
    points(0:50,exp(-0.5*(0:50)), type="l", col="white")
   par(mfrow=c(1,1),bty="l")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="", main="Loss maternal immunity",#
         col=1, bg="white",lwd=3)#
    points(0:50,exp(-0.2*(0:50)), type="l", col=2,lwd=3)#
    points(0:50,exp(-0.5*(0:50)), type="l", col=4,lwd=3)
    par(mfrow=c(1,1),bty="l", text="helvetica")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="", main="Loss of maternal immunity",#
         col=1, bg="white",lwd=3)#
    points(0:50,exp(-0.2*(0:50)), type="l", col=2,lwd=3)#
    points(0:50,exp(-0.5*(0:50)), type="l", col=4,lwd=3)
?par
    par(mfrow=c(1,1),bty="l", font="helvetica")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="", main="Loss of maternal immunity",#
         col=1, bg="white",lwd=3)#
    points(0:50,exp(-0.2*(0:50)), type="l", col=2,lwd=3)#
    points(0:50,exp(-0.5*(0:50)), type="l", col=4,lwd=3)
?font
??font
#
    par(mfrow=c(1,1),bty="l")#, text="helvetica")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="age", ylab="", main="Loss of maternal immunity",#
         col=1, bg="white",lwd=3)#
    points(0:50,exp(-0.2*(0:50)), type="l", col=2,lwd=3)#
    points(0:50,exp(-0.5*(0:50)), type="l", col=4,lwd=3)
#
    par(mfrow=c(1,1),bty="l")#, text="helvetica")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="Age (years)", ylab="", main="Loss of maternal immunity",#
         col=1, bg="white",lwd=3)#
    points(0:50,exp(-0.2*(0:50)), type="l", col=2,lwd=3)#
    points(0:50,exp(-0.5*(0:50)), type="l", col=4,lwd=3)
ç
    par(mfrow=c(1,1),bty="l")#, text="helvetica")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="Age (years)", ylab="", main="Loss of maternal immunity",#
         col=1, bg="white",lwd=3)#
    points(0:50,exp(-0.2*(0:50)), type="l", col=1,lwd=3, lty=2)#
    points(0:50,exp(-0.5*(0:50)), type="l", col=1,lwd=3, lty=3)
#
    par(mfrow=c(1,1),bty="l")#, text="helvetica")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="Age (years)", ylab="", main="Loss of maternal immunity",#
         col=3, bg="white",lwd=3)#
    points(0:50,exp(-0.2*(0:50)), type="l", col=1,lwd=3, lty=2)#
    points(0:50,exp(-0.5*(0:50)), type="l", col=1,lwd=3, lty=1)
#
    par(mfrow=c(1,1),bty="l")#, text="helvetica")#
    plot(0:50,exp(-0.1*(0:50)), type="l", ylim=c(0,1), xlab="Age (years)", ylab="", main="Loss of maternal immunity",#
         lty=3, bg="white",lwd=3)#
    points(0:50,exp(-0.2*(0:50)), type="l", col=1,lwd=3, lty=2)#
    points(0:50,exp(-0.5*(0:50)), type="l", col=1,lwd=3, lty=1)
10*10*10*3*50
10*10*10*3*20
10*8*8*3*20
8*8*3*20
#
	##compare across 1) three periodicities 2) 10 different transmission, 3) 10 different mortality excess #
	wanes <- seq(1e-9,0.04,length=20)#
#
        pd <- c(2,10,100)#
        trans.mag <- seq(1e-9,1,length=8)#
        excess.mort <- seq(1.1,2,length=8)#
        #
        store.fitness <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
        store.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
        optimal.wane <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
        optimal.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
                                                            #
	tMax <- 2000#
        for (j in 1:length(pd)) { #
            for (k in 1:length(trans.mag)) { #
                for (l in 1:length(excess.mort)) { #
                    for (m in 1:length(wanes)) { #
#
                        a1<-TrackPopStruct(waning.maternal.par=wanes[m],period=pd[j],tMax=tMax,#
                                           mag=trans.mag[k],#
                                           mu.sick=excess.mort[l])#
                        #
                        store.fitness[j,k,l,m] <- mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
                        avg.age.inf[j,k,l,m] <- mean(colSums((a1[[1]][a1$i.inds,(tMax-500):tMax])*#
                                                             (1:50))/colSums(a1[[1]][a1$i.inds,(tMax-500):tMax]))#
                    }#
                optimal.wane[j,k,l] <- wanes[median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                       na.rm=TRUE), arr.ind=TRUE))]#
                optimal.age.infected[j,k,l] <- avg.age.inf[j,k,l,median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                       na.rm=TRUE), arr.ind=TRUE))]#
                }#
            }#
            #
        }
    source("/Users/cjessicametcalf/Documents/EvolMatImmunity/EvolMat-Util.R")
#
	##compare across 1) three periodicities 2) 10 different transmission, 3) 10 different mortality excess #
	wanes <- seq(1e-9,0.04,length=20)#
#
        pd <- c(2,10,100)#
        trans.mag <- seq(1e-9,1,length=8)#
        excess.mort <- seq(1.1,2,length=8)#
        #
        store.fitness <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
        store.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
        optimal.wane <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
        optimal.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
                                                            #
	tMax <- 2000#
        for (j in 1:length(pd)) { #
            for (k in 1:length(trans.mag)) { #
                for (l in 1:length(excess.mort)) { #
                    for (m in 1:length(wanes)) { #
#
                        a1<-TrackPopStruct(waning.maternal.par=wanes[m],period=pd[j],tMax=tMax,#
                                           mag=trans.mag[k],#
                                           mu.sick=excess.mort[l])#
                        #
                        store.fitness[j,k,l,m] <- mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
                        avg.age.inf[j,k,l,m] <- mean(colSums((a1[[1]][a1$i.inds,(tMax-500):tMax])*#
                                                             (1:50))/colSums(a1[[1]][a1$i.inds,(tMax-500):tMax]))#
                    }#
                optimal.wane[j,k,l] <- wanes[median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                       na.rm=TRUE), arr.ind=TRUE))]#
                optimal.age.infected[j,k,l] <- avg.age.inf[j,k,l,median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                       na.rm=TRUE), arr.ind=TRUE))]#
                }#
            }#
            #
        }
	##compare across 1) three periodicities 2) 10 different transmission, 3) 10 different mortality excess #
	wanes <- seq(1e-9,0.04,length=20)#
#
        pd <- c(2,10,100)#
        trans.mag <- seq(1e-9,1,length=8)#
        excess.mort <- seq(1.1,2,length=8)#
        #
        store.fitness <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
        store.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
        optimal.wane <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
        optimal.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
                                                            #
	tMax <- 2000#
        for (j in 1:length(pd)) { #
            for (k in 1:length(trans.mag)) { #
                for (l in 1:length(excess.mort)) { #
                    for (m in 1:length(wanes)) { #
#
                        a1<-TrackPopStruct(waning.maternal.par=wanes[m],period=pd[j],tMax=tMax,#
                                           mag=trans.mag[k],#
                                           mu.sick=excess.mort[l])#
                        #
                        store.fitness[j,k,l,m] <- mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
                        store.age.infected[j,k,l,m] <- mean(colSums((a1[[1]][a1$i.inds,(tMax-500):tMax])*#
                                                             (1:50))/colSums(a1[[1]][a1$i.inds,(tMax-500):tMax]))#
                    }#
                optimal.wane[j,k,l] <- wanes[median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                       na.rm=TRUE), arr.ind=TRUE))]#
                optimal.age.infected[j,k,l] <- store.age.infected[j,k,l,median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                       na.rm=TRUE), arr.ind=TRUE))]#
                }#
            }#
            #
        }
#
    #Pics#
    par(mfrow=c(2,3),bty="l")#
    for (j in 1:3) {#
        image(trans.mag,excess.mort,optimal.wane[j,,], xlab="Magnitude of transmission", ylab="Excess mortality")#
        contour(trans.mag,excess.mort,optimal.wane[j,,],add=TRUE)#
        title(paste("Periodicity ", pd[j]))#
    }#
    #
    for (j in 1:3) {#
        image(trans.mag,excess.mort,optimal.age.infected[j,,], xlab="Magnitude of transmission", ylab="Excess mortality")#
        contour(trans.mag,excess.mort,optimal.age.infected[j,,],add=TRUE)#
        title(paste("Periodicity ", pd[j]))#
        }
gc()
    ##compare across 1) three periodicities 2) 10 different transmission, 3) 10 different mortality excess #
    wanes <- seq(1e-9,0.04,length=30)#
#
    pd <- c(2,10,100)#
    trans.mag <- seq(1e-9,1,length=8)#
    excess.mort <- seq(1.1,4,length=3)#
    #
    store.fitness <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
    store.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
    optimal.wane <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
    optimal.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
    #
    tMax <- 2000#
    for (j in 1:length(pd)) { #
        for (k in 1:length(trans.mag)) { #
            for (l in 1:length(excess.mort)) { #
                for (m in 1:length(wanes)) { #
                    #
                    a1<-TrackPopStruct(waning.maternal.par=wanes[m],period=pd[j],tMax=tMax,#
                                       mag=trans.mag[k],#
                                       mu.sick=excess.mort[l])#
                    #
                    store.fitness[j,k,l,m] <- mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
                    store.age.infected[j,k,l,m] <- mean(colSums((a1[[1]][a1$i.inds,(tMax-500):tMax])*#
                                                                (1:50))/colSums(a1[[1]][a1$i.inds,(tMax-500):tMax]))#
                }#
                optimal.wane[j,k,l] <- wanes[median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                       na.rm=TRUE), arr.ind=TRUE))]#
                optimal.age.infected[j,k,l] <- store.age.infected[j,k,l,median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                                                  na.rm=TRUE), arr.ind=TRUE))]#
            }#
            print(k)#
        }#
        #
    }#
#
#
#
    #Pics#
    par(mfrow=c(2,3),bty="l")#
    for (j in 1:3) {#
        image(trans.mag,excess.mort,optimal.wane[j,,], xlab="Magnitude of transmission", ylab="Excess mortality")#
        contour(trans.mag,excess.mort,optimal.wane[j,,],add=TRUE)#
        title(paste("Periodicity ", pd[j]))#
    }#
    #
    for (j in 1:3) {#
        image(trans.mag,excess.mort,optimal.age.infected[j,,], xlab="Magnitude of transmission", ylab="Excess mortality")#
        contour(trans.mag,excess.mort,optimal.age.infected[j,,],add=TRUE)#
        title(paste("Periodicity ", pd[j]))#
        }
plot(store.fitness[1,1,1,], type="l")
plot(store.fitness[1,1,10,], type="l")
plot(store.fitness[1,10,1,], type="l")
dim(store.fitness)
plot(store.fitness[1,8,1,], type="l")
plot(store.fitness[1,4,1,], type="l")
plot(store.fitness[1,4,3,], type="l")
plot(exp(store.fitness[1,4,3,]), type="l")
exp(store.fitness[1,4,3,])
   ##compare across 1) three periodicities 2) 10 different transmission, 3) 10 different mortality excess #
    wanes <- seq(1e-9,0.05,length=50)#
#
    pd <- c(2,10,20)#
    trans.mag <- seq(1e-9,0.4,length=10)#
    excess.mort <- seq(1.1,2,length=3)#
    #
    store.fitness <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
    store.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort),length(wanes)))#
    optimal.wane <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
    optimal.age.infected <- array(dim=c(length(pd), length(trans.mag), length(excess.mort)))#
    #
    tMax <- 2000#
    for (j in 1:length(pd)) { #
        for (k in 1:length(trans.mag)) { #
            for (l in 1:length(excess.mort)) { #
                for (m in 1:length(wanes)) { #
                    #
                    a1<-TrackPopStruct(waning.maternal.par=wanes[m],period=pd[j],tMax=tMax,#
                                       mag=trans.mag[k],#
                                       mu.sick=excess.mort[l])#
                    #
                    store.fitness[j,k,l,m] <- mean(diff(colSums(a1[[1]][,(tMax-500):tMax])))#
                    store.age.infected[j,k,l,m] <- mean(colSums((a1[[1]][a1$i.inds,(tMax-500):tMax])*#
                                                                (1:50))/colSums(a1[[1]][a1$i.inds,(tMax-500):tMax]))#
                }#
                optimal.wane[j,k,l] <- wanes[median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                       na.rm=TRUE), arr.ind=TRUE))]#
                optimal.age.infected[j,k,l] <- store.age.infected[j,k,l,median(which(store.fitness[j,k,l,]==max(store.fitness[j,k,l,],#
                                                                                                  na.rm=TRUE), arr.ind=TRUE))]#
            }#
            print(k)#
        }#
        #
    }#
#
#
#
    #Pics#
    par(mfrow=c(2,3),bty="l")#
    for (j in 1:3) {#
        image(trans.mag,excess.mort,optimal.wane[j,,], xlab="Magnitude of transmission", ylab="Excess mortality")#
        contour(trans.mag,excess.mort,optimal.wane[j,,],add=TRUE)#
        title(paste("Periodicity ", pd[j]))#
    }#
    #
    for (j in 1:3) {#
        image(trans.mag,excess.mort,optimal.age.infected[j,,], xlab="Magnitude of transmission", ylab="Excess mortality")#
        contour(trans.mag,excess.mort,optimal.age.infected[j,,],add=TRUE)#
        title(paste("Periodicity ", pd[j]))#
        }
   #Pics#
    par(mfrow=c(2,3),bty="l")#
    for (j in 1:3) {#
        image(trans.mag,excess.mort,log(optimal.wane[j,,]), xlab="Magnitude of transmission", ylab="Excess mortality")#
        contour(trans.mag,excess.mort,optimal.wane[j,,],add=TRUE)#
        title(paste("Periodicity ", pd[j]))#
    }
plot(1:50,exp(-0.035*(1:50)), type="l")
points(1:50,exp(-0.045*(1:50)), type="l",col=2)
     image(trans.mag,excess.mort,optimal.age.infected[j,,], xlab="Magnitude of transmission", ylab="Excess mortality")#
        contour(trans.mag,excess.mort,optimal.age.infected[j,,],add=TRUE)#
        title(paste("Periodicity ", pd[j]))
370*280
source("Users/jessicametcalf/Dropbox/DrugUse - Jen and Jess/extraction/TreatMalaria-Util4.R")
getwd()
source("/Users/jessicametcalf/Dropbox/DrugUse - Jen and Jess/extraction/TreatMalaria-Util4.R")
a1<-list(country="Madagascar", year=2008,#
	ylim=c(), xlim=c(),fname1="/Users/jessicametcalf/Dropbox/DrugUse - Jen and Jess/extraction/",#
	fname2="/Users/cjessicametcalf/Documents/WWARN/data/DHSdata/",#
	dbf.filename = "MDGE53FL/MDGE53FL.dbf")
attach(a1)
   res<-getDHSdataDetailed(year=year,country=country, fname1=fname1, fname2=fname2)
dbf.filename = "GPSdata/MDGE53FL/MDGE53FL.dbf"
#
	#get dbf stuff   #
	 geog.loc <- dataDHS$v001#
         dbf <- read.dbf(dbf.filename)#
         if (length(dbf$DHSCLUST)==0) dbf$DHSCLUST <- dbf$CLUSTER#
        #
         mtch <- match(geog.loc,as.numeric(dbf$DHSCLUST))#
         long <- dbf$LONGNUM[mtch]; #print(long[1:10])#
         lat <- dbf$LATNUM[mtch]
dataDHS<-res
#
	#get dbf stuff   #
	 geog.loc <- dataDHS$v001#
         dbf <- read.dbf(dbf.filename)#
         if (length(dbf$DHSCLUST)==0) dbf$DHSCLUST <- dbf$CLUSTER#
        #
         mtch <- match(geog.loc,as.numeric(dbf$DHSCLUST))#
         long <- dbf$LONGNUM[mtch]; #print(long[1:10])#
         lat <- dbf$LATNUM[mtch]
getwd()
         dbf <- read.dbf(paste(fname2,dbf.filename,sep=""))#
         if (length(dbf$DHSCLUST)==0) dbf$DHSCLUST <- dbf$CLUSTER#
        #
         mtch <- match(geog.loc,as.numeric(dbf$DHSCLUST))#
         long <- dbf$LONGNUM[mtch]; #print(long[1:10])#
         lat <- dbf$LATNUM[mtch]
paste(fname2,dbf.filename,sep="")
dbf.filename = "GPS/MDGE53FL/MDGE53FL.dbf"
paste(fname2,dbf.filename,sep="")
         dbf <- read.dbf(paste(fname2,dbf.filename,sep=""))#
         if (length(dbf$DHSCLUST)==0) dbf$DHSCLUST <- dbf$CLUSTER#
        #
         mtch <- match(geog.loc,as.numeric(dbf$DHSCLUST))#
         long <- dbf$LONGNUM[mtch]; #print(long[1:10])#
         lat <- dbf$LATNUM[mtch]
head(dataDHS)
         dataDHS$long <- dbf$LONGNUM[mtch]; #print(long[1:10])#
         dataDHS$lat <- dbf$LATNUM[mtch]#
	  #
#
	fit1 <- gam(CQ~ s(long,lat,k=100)+s(age.in.months), family=binomial, data=dataDHS)
 long
head(dataDHS)
table(dataDHS$geog.loc)
head(dbf)
mtch
geog.loc
head(dataDHS)
as.numeric(dbf$DHSCLUST)[1:10]
geog.loc[1:10]
#
	#get dbf stuff   #
	 geog.loc <- dataDHS$geog.loc#
         dbf <- read.dbf(paste(fname2,dbf.filename,sep=""))#
         if (length(dbf$DHSCLUST)==0) dbf$DHSCLUST <- dbf$CLUSTER#
        #
         mtch <- match(geog.loc,as.numeric(dbf$DHSCLUST))#
         dataDHS$long <- dbf$LONGNUM[mtch]; #print(long[1:10])#
         dataDHS$lat <- dbf$LATNUM[mtch]#
	  #
#
	fit1 <- gam(CQ~ s(long,lat,k=100)+s(age.in.months), family=binomial, data=dataDHS)
library(mgcv)
fit1 <- gam(CQ~ s(long,lat,k=100)+s(age.in.months), family=binomial, data=dataDHS)
#
    #picture#
    par(mfrow=c(2,3),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(res1$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(res1$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
    #
    plot(1:60,pred1$fit, type="l", xlab="age in months", ylab="probability of vaccination", ylim=c(0,1))#
    points(1:60,pred1$fit+pred1$se.fit, type="l",lty=2); points(1:60,pred1$fit-pred1$se.fit, type="l",lty=2)#
    points(1:60,pred2$fit, type="l", col=2)#
    points(1:60,pred2$fit+pred2$se.fit, type="l",lty=2,col=2); points(1:60,pred2$fit-pred2$se.fit, type="l",lty=2,col=2)#
    legend("bottomright",legend=c("measles","polio 1st dose"),col=c(2,1), lty=1,bty="n")#
    #
 #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(32.5, 36), ylim=c(-17.2,-9),too.far=0.02, axes=FALSE,main="measles",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(res1$long[!is.na(res1$measles.y)],res1$lat[!is.na(res1$measles.y)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
#
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(32.5, 36), ylim=c(-17.2,-9),too.far=0.02, axes=FALSE,main="polio first dose",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(res1$long[!is.na(res1$measles.y)],res1$lat[!is.na(res1$measles.y)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
   require(maps)#
    require(mgcv)#
    library(maptools)#
    data(world.cities)
#
	fit1 <- gam(CQ~ s(long,lat,k=100)+s(age.in.months), family=binomial, data=dataDHS)#
  #
#
    #picture#
    par(mfrow=c(2,3),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
    #
    plot(1:60,pred1$fit, type="l", xlab="age in months", ylab="probability of vaccination", ylim=c(0,1))#
    points(1:60,pred1$fit+pred1$se.fit, type="l",lty=2); points(1:60,pred1$fit-pred1$se.fit, type="l",lty=2)#
    points(1:60,pred2$fit, type="l", col=2)#
    points(1:60,pred2$fit+pred2$se.fit, type="l",lty=2,col=2); points(1:60,pred2$fit-pred2$se.fit, type="l",lty=2,col=2)#
    legend("bottomright",legend=c("measles","polio 1st dose"),col=c(2,1), lty=1,bty="n")#
    #
 #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(32.5, 36), ylim=c(-17.2,-9),too.far=0.02, axes=FALSE,main="measles",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$measles.y)],dataDHS$lat[!is.na(dataDHS$measles.y)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             #xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)
	fit2 <- gam(ACT~ s(long,lat,k=100), family=binomial, data=dataDHS)#
  #
#
    #picture#
    par(mfrow=c(2,3),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
         #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$CQ)],dataDHS$lat[!is.na(dataDHS$CQ)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
    #
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="ACT",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$ACT)],dataDHS$lat[!is.na(dataDHS$ACT)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
#
    #picture#
    par(mfrow=c(1,2),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
         #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$CQ)],dataDHS$lat[!is.na(dataDHS$CQ)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
    #
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="ACT",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$ACT)],dataDHS$lat[!is.na(dataDHS$ACT)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
  #
#
	fit1 <- gam(CQ~ s(long,lat,k=200), family=binomial, data=dataDHS)#
	fit2 <- gam(ACT~ s(long,lat,k=200), family=binomial, data=dataDHS)#
  #
#
    #picture#
    par(mfrow=c(1,2),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
         #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$CQ)],dataDHS$lat[!is.na(dataDHS$CQ)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
    #
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="ACT",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$ACT)],dataDHS$lat[!is.na(dataDHS$ACT)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
?gam
	fit1 <- gam(CQ~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$CQ==1 | dataDHS$ACT==1))#
	fit2 <- gam(ACT~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$CQ==1 | dataDHS$ACT==1))#
  #
#
    #picture#
    par(mfrow=c(1,2),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
         #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$CQ)],dataDHS$lat[!is.na(dataDHS$CQ)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
    #
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="ACT",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$ACT)],dataDHS$lat[!is.na(dataDHS$ACT)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
	fit1 <- gam(CQ~ s(long,lat,k=100), family=binomial, data=dataDHS,subset=(dataDHS$CQ==1 | dataDHS$ACT==1))#
	fit2 <- gam(ACT~ s(long,lat,k=100), family=binomial, data=dataDHS,subset=(dataDHS$CQ==1 | dataDHS$ACT==1))#
  #
#
    #picture#
    par(mfrow=c(1,2),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
         #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$CQ)],dataDHS$lat[!is.na(dataDHS$CQ)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
    #
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="ACT",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$ACT)],dataDHS$lat[!is.na(dataDHS$ACT)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
head(dataDHS)
	fit1 <- gam(CQ~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$fever==1  & rowSums(!is.na(dataDHS[,10:37]))>0))
	#fit1 <- gam(CQ~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$fever==1  & rowSums(!is.na(dataDHS[,10:37]))>0))#
	fit2 <- gam(ACT~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$fever==1  & rowSums(!is.na(dataDHS[,10:37]))>0))#
  #
#
    #picture#
    par(mfrow=c(1,2),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
         #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$CQ)],dataDHS$lat[!is.na(dataDHS$CQ)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
    #
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="ACT",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$ACT)],dataDHS$lat[!is.na(dataDHS$ACT)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
country="Kenya"
year=2008
        dataDHS<-getDHSdataDetailed(year=year,country=country, fname1=fname1, fname2=fname2)
dbf.filename = "GPS/KEGE52FL/KEGEF52FL.dbf"
#
	#get dbf stuff   #
	 geog.loc <- dataDHS$geog.loc#
         dbf <- read.dbf(paste(fname2,dbf.filename,sep=""))#
         if (length(dbf$DHSCLUST)==0) dbf$DHSCLUST <- dbf$CLUSTER#
        #
         mtch <- match(geog.loc,as.numeric(dbf$DHSCLUST))#
         dataDHS$long <- dbf$LONGNUM[mtch]; #print(long[1:10])#
         dataDHS$lat <- dbf$LATNUM[mtch]#
	  #
#
	fit1 <- gam(CQ~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$fever==1  & rowSums(!is.na(dataDHS[,10:37]))>0))#
	fit2 <- gam(ACT~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$fever==1  & rowSums(!is.na(dataDHS[,10:37]))>0))
fname2
paste(fname2,dbf.filename,sep="")
dbf.filename = "GPS/KEGE52FL/KEGE52FL.dbf"
#
	#get dbf stuff   #
	 geog.loc <- dataDHS$geog.loc#
         dbf <- read.dbf(paste(fname2,dbf.filename,sep=""))#
         if (length(dbf$DHSCLUST)==0) dbf$DHSCLUST <- dbf$CLUSTER#
        #
         mtch <- match(geog.loc,as.numeric(dbf$DHSCLUST))#
         dataDHS$long <- dbf$LONGNUM[mtch]; #print(long[1:10])#
         dataDHS$lat <- dbf$LATNUM[mtch]#
	  #
#
	fit1 <- gam(CQ~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$fever==1  & rowSums(!is.na(dataDHS[,10:37]))>0))#
	fit2 <- gam(ACT~ s(long,lat,k=200), family=binomial, data=dataDHS,subset=(dataDHS$fever==1  & rowSums(!is.na(dataDHS[,10:37]))>0))
#
    #picture#
    par(mfrow=c(1,2),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
         #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             #xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$CQ)],dataDHS$lat[!is.na(dataDHS$CQ)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
    #
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="ACT",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$ACT)],dataDHS$lat[!is.na(dataDHS$ACT)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
  vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             #xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)
axis(1)
axis(2)
  vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(30, 45),# ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)
 map(add=TRUE, col="black",lwd=2)
  vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(30, 45),# ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)3
 map(add=TRUE, col="black",lwd=2)
  #picture#
    par(mfrow=c(1,2),bty="l",pty="s", mar=c(4,4,2,2))#
#
    newdata <- data.frame(long=rep(as.numeric(mean(dataDHS$long,na.rm=TRUE)),60),#
                          lat=rep(as.numeric(mean(dataDHS$lat,na.rm=TRUE)),60),age.in.months=1:60)#
    pred1 <- predict(fit1,newdata, type="response",se.fit=TRUE)#
    pred2 <- predict(fit2,newdata, type="response",se.fit=TRUE)#
         #
    vis.gam(fit1, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
            xlim=c(33,45), #xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="CQ",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$CQ)],dataDHS$lat[!is.na(dataDHS$CQ)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)#
    #
    vis.gam(fit2, view=c("long","lat"),cond=list(age.in.months=60),type="response",plot.type="contour",color="heat",xlab="",ylab="",#
             xlim=c(33,45),#xlim=c(43, 52), ylim=c(-28,-10),#
		#xlim=c(32.5, 36), ylim=c(-17.2,-9),#
		too.far=0.02, axes=FALSE,main="ACT",contour.col="green")#,add=TRUE)#
    map(add=TRUE, col="black",lwd=2)#
    #plot(shpf,col=cols.shpf,lwd=cex.shpf, add=TRUE)#
    av<-table(dataDHS$long[!is.na(dataDHS$ACT)],dataDHS$lat[!is.na(dataDHS$ACT)])#
    points(rep(as.numeric(rownames(av)),ncol(av)),rep(as.numeric(colnames(av)),each=nrow(av)),cex=c(av)*0.03, pch=4)
help("Documentation", package = "methods")
#
#
setwd("/Users/cjessicametcalf/Documents/workspace/IPMpack/pkg/")#
source("R/IPMpack-Util.R")#
source("R/IPMpack-Base.R")#
source("R/IPMpack-Impl.R")#
#
source("/Users/cjessicametcalf/Documents/IPM/source/TreesIndia-Util.R")#
source("/Users/cjessicametcalf/Documents/IPM/source/BeastiaryGrowthFunctions.R")
promptMethods("growth")
getwd()
