def evalbreaks(shuf): breaklist = {} yearlist = {} yearseglist={} # analysis=r[:-2] for bs in shuf.keys(): with open(shuf[bs][0]+'.shuffle', 'w') as outf: b=shuffler(shuf[bs][0]) for line in shuf[bs]: print >>outf, line #bs=str(shuf.data().breaks()) print >>outf,bs if not bs in breaklist: breaklist[bs]=0 breaklist[bs] += 1 bse=eval(bs) for bry in bse: if not bry in yearlist: yearlist[bry] = 0 yearlist[bry] += 1 for i in range(1,len(bs) -1): ysl=str(bse[i-1:i+2]) if not ysl in yearseglist: yearseglist[ysl] =0 yearseglist[ysl] += 1 for i in range(1,len(b.data().breaks())-1): for offset in [-2,-1,0,1,2]: st=b.shuffle(i,offset=offset) print >>outf,i, b.data().breaks()[i], offset,st[3:], histog=[(st[2][j], st[1][j]) for j in range(len(st[1]))] print >>outf, histog for i in range(1,len(b.data().breaks())-1): xs,ys,yrs=b.spanned(i) pcb=convergent_breaks.resample_break(np.array(ys), np.array(yrs), N=100,withmode=True) print >>outf,"C",pcb#, detrend=False) print >>outf,"S",b.shuffle(i, span=0)[-2]
for i in range(1,len(bs) -1): ysl=str(bse[i-1:i+2]) if not ysl in yearseglist: yearseglist[ysl] =0 yearseglist[ysl] += 1 for i in range(1,len(b.data().breaks())-1): for offset in [-2,-1,0,1,2]: st=b.shuffle(i,offset=offset) print >>outf,i, b.data().breaks()[i], offset,st[3:], histog=[(st[2][j], st[1][j]) for j in range(len(st[1]))] print >>outf, histog for i in range(1,len(b.data().breaks())-1): xs,ys,yrs=b.spanned(i) pcb=convergent_breaks.resample_break(np.array(ys), np.array(yrs), N=100,withmode=True) print >>outf,"C",pcb#, detrend=False) print >>outf,"S",b.shuffle(i, span=0)[-2] # with open(b.filename()+'.shuffle', 'r') as inf: # lines =inf.readlines() # for line in lines: # print line[:-1] outf=open(finalname,"w") print finalname for brl in breaklist: bre=eval(brl) for Y in range(len(bre[1:-1])):
bre=eval(brl) for Y in range(len(bre[1:-1])): Year=bre[1:-1][Y] if Y==0: lowyr= list(b.data().years()).index(bre[Y]) else: lowyr= list(b.data().years()).index(bre[Y])+1 highyr=list(b.data().years()).index(bre[Y+2])+1 midyr=list(b.data().years()).index(bre[Y+1])+1 print >>outf, '"'+str(brl)+'"', saveddata["breaklist"][brl], Year, bre[Y], bre[Y+2], saveddata["yearseglist"][str(bre[Y:Y+3])], #print '"'+str(brl)+'"', saveddata["breaklist"][brl], Year, bre[Y], bre[Y+2], saveddata["yearseglist"][str(bre[Y:Y+3])], segstr=str((lowyr,highyr)) if not segstr in saveddata["segs"]: saveddata["segs"][segstr]=convergent_breaks.resample_break(b.data().ys()[lowyr:highyr],b.data().years()[lowyr:highyr], N=100,withmode=True) pcb=saveddata["segs"][segstr] print >>outf,pcb[1][0], pcb[2][0], saveddata["yearlist"][Year], pcb[3][0][0], pcb[3][0][1], if pcb[3][1] == None: print >>outf,0, 0, else: print >>outf,pcb[3][1][0], pcb[3][1][1], betaseg, alphaseg=regress.regress(b.data().ys()[lowyr:highyr],b.data().years()[lowyr:highyr]) betalow, alphalow=regress.regress(b.data().ys()[lowyr:midyr],b.data().years()[lowyr:midyr]) betahigh, alphahigh=regress.regress(b.data().ys()[midyr:highyr],b.data().years()[midyr:highyr]) print >>outf,betaseg, betalow, betahigh, #now do a diagnostic on 15 year enclosed low15 = max(0, midyr-8) hi15=midyr+8