Ejemplo n.º 1
0
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]
Ejemplo n.º 2
0
         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])):
         
Ejemplo n.º 3
0
 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