def oldstyle(): outf=open("report_2.txt", "w") with open(os.environ["HOMEPATH"]+"\\Documents\\abrupt\\c_test\\x.x_08Jun",'r') as f: lines=f.readlines() for line in lines: #print line pos1=line.find('"') if pos1>=0: pos2=line.find('"',pos1+1) #print pos1,pos2 fn=line[:pos1-1] #print fn+":" yset=eval(line[pos1:pos2+1]) #print "YSET", yset _,yr,pre,post=line[pos2+1:].split()[:4] # print yr,pre,post dfn=fn[:-len('final.csv')-1] tfn=os.environ["HOMEPATH"]+"\\Documents\\abrupt\\c_test\\"+dfn #print fn, tfn if dfn[:len("Global")]=="Global" or dfn[0] == 'r': print "do",tfn try: direc=glob.glob(os.environ["HOMEPATH"]+"\\Documents\\abrupt\\c_test\\"+fn[:-len('final.csv')-1]+'/*.trace')[0] bp=statbreaks.brkrpt(direc) #print bp.years() yrix=int(list(bp.years()).index(float(yr))) preix=int(list(bp.years()).index(float(pre))) postix=int(list(bp.years()).index(float(post))) #print bp.years()[preix:postix+1] ancova=doancova.ANCOVA(bp.years()[preix:postix+1], bp.ys()[preix:postix+1], bp.years()[yrix+1],Rpath='"C:\\Program Files\\R\\R-3.0.2\\bin\\Rscript.exe"') ancova.parseResult(ancova.results()) print >>outf, "slope",line[:-1],":",ancova._ANCOVA__breakYear,ancova.firstSlope(),formatprobs(ancova.firstSlopeProb()), ancova.firstRsq(), ancova.secondSlope(),formatprobs(ancova.secondSlopeProb()),ancova.secondRsq(),ancova.shift(),formatprobs(ancova._ANCOVA__prDiffShift),":", if dfn[:len("Global")]=="Global": print >>outf, cmip3_info.matchfn(tfn), elif dfn[0] == 'r': print >>outf, cmip5_info.matchfn(tfn), print >>outf, formatprobs(ancova.changeOfTrendProb(),ancova._ANCOVA__prDiffShift),formatprobs(ancova.changeOfTrendProb()*ancova._ANCOVA__prDiffShift) #if except Exception as e: fl=os.environ["HOMEPATH"]+"\\Documents\\abrupt\\c_test\\"+fn[:-len('final.csv')-1]+'/*.trace' print >>outf,"\n",line,"Error getting files",fl print "using ", fl #print glob.glob(fl) #raise Exception(str(e)) pass #print direc, outf.close() print "done"
def newstyle(csvrepfn,outfn): #from csv files outf=open(outfn, "w") with open(csvrepfn,'r') as f: lines=f.readlines() for line in lines: #print line if line[:5] == '"Seq"': print >>outf,csvHeader+',":",'+cmip5_info.header+ancovaHeader else: if line.find("no breaks")>=0: nobreaks = True else: nobreaks = False words=line.split('"') try: # nobreaks=False fn=os.path.basename(words[0].split(",")[1]) except Exception as e: print "Oops", line, words, str(e) if line.find("no breaks")>=0: nobreaks = True pass else: raise e #print fn+":" if len(words) < 2: print "oops2" , line, words if not nobreaks: yset=eval(words[1]) #print "YSET", yset yrss=words[2].split(',')[8:11] yr=str(yrss[0]) pre=str(yrss[1]) post=str(yrss[2]) # print yr,pre,post dfn=fn[:-len('final.csv')-1] if dfn[:len("Global-temps")]=="Global-temps": dfn = "Global temps"+dfn[len("Global-temps"):] tfn=os.environ["HOMEPATH"]+"\\Documents\\abrupt\\c_test\\"+dfn #print fn, tfn if dfn[:len("Global")]=="Global" or dfn[0] == 'r': print "do",tfn try: direc=glob.glob(os.environ["HOMEPATH"]+"\\Documents\\abrupt\\c_test\\"+dfn+'/*.trace')[0] bp=statbreaks.brkrpt(direc) #print bp.years() yrix=int(list(bp.years()).index(float(yr))) preix=int(list(bp.years()).index(float(pre))) postix=int(list(bp.years()).index(float(post))) #print bp.years()[preix:postix+1] ancova=doancova.ANCOVA(bp.years()[preix:postix+1], bp.ys()[preix:postix+1], bp.years()[yrix],Rpath='"C:\\Program Files\\R\\R-3.0.2\\bin\\Rscript.exe"') ancova.parseResult(ancova.results()) print >>outf,line[:-1],',":"', if dfn[:len("Global")]=="Global": info=cmip3_info.matchfn(tfn) for inf in info: print >>outf, ",",inf, elif dfn[0] == 'r': info=cmip5_info.matchfn(tfn) for inf in info: print >>outf, ",",inf, print >>outf, ',":"', for inf in [ ancova._ANCOVA__breakYear, ancova.firstSlope(), formatprobs(ancova.firstSlopeProb()), ancova.firstRsq(), ancova.secondSlope(), formatprobs(ancova.secondSlopeProb()), ancova.secondRsq(), ancova.shift(), formatprobs(ancova._ANCOVA__prDiffShift), ":", formatprobs(ancova.changeOfTrendProb(), ancova._ANCOVA__prDiffShift), formatprobs(ancova.changeOfTrendProb()* ancova._ANCOVA__prDiffShift) ]: print >>outf,",",inf, print >>outf #if except Exception as e: fl=os.environ["HOMEPATH"]+"\\Documents\\abrupt\\c_test\\"+fn[:-len('final.csv')-1]+'/*.trace' print >>outf,line[:-1],"Error getting files",fl print "using ", fl #print glob.glob(fl) #raise Exception(str(e)) pass #print direc, outf.close() print "done"