X-Git-Url: http://git.smho.de/gw/?p=owSlave2.git;a=blobdiff_plain;f=stest%2Fseparate1.py;fp=stest%2Fseparate1.py;h=b1c28717fe87d4b998205796dcca5a76710c9464;hp=bffda776a6a485a306123f8c8284d2972aea99fd;hb=a6a04f58e4afd20f206fdf4a8a7b3ce4062f1b67;hpb=cd92472e6fd63693741f8e168123a4182802651b diff --git a/stest/separate1.py b/stest/separate1.py index bffda77..b1c2871 100644 --- a/stest/separate1.py +++ b/stest/separate1.py @@ -1,103 +1,103 @@ -import sys -import os -import os.path -import subprocess -import io -import time -import math -import shutil -import datetime - - -#Parameter: -#a = 7.5, b = 237.3 fuer T >= 0 -#a = 7.6, b = 240.7 fuer T < 0 ueber Wasser (Taupunkt) -#a = 9.5, b = 265.5 fuer T < 0 ueber Eis (Frostpunkt) -a=7.5 -b=237.3 -Rs = 8314.3 #J/(kmol*K) (universelle Gaskonstante) -mw = 18.016 #kg/kmol (Molekulargewicht des Wasserdampfes) - -def SDD(T): - return 6.1078 * 10**((a*T)/(b+T)) - -def AF1(r,T): - return r/100.0*SDD(T)/(T+273.15)*mw/Rs*10000 - -def RF1(a,T): - return a*100/(SDD(T)/(T+273.15)*mw/Rs*10000) -#print(0.5*SDD(20)/(20+273.15)*mw/Rs*10000) - -def rdiff(r1,t1,t2): - return (r1)-RF1(AF1(r1,t1),t2) - - -def calcDerivation(Name,Valuetype,Value,T): - return [0.5,0.5] - - -devdict={} -devwholist=[] -f=open("DEVLIST.txt","r") -for l in f.readlines(): - ls=l.split(" ") - if (len(ls)>1): - devdict[ls[0]]=l.replace("\n","").split(",")[0].split(" ")[1] - devwholist.append(ls[0]) -f.close() - -sel_list=["Temperatur","Luftfeuchte","Beleuchtungsstaerke","R0","VOC","RS","Corr"] -data=[] -for s in sel_list: - data.append(["Time"]) - -for ds in devwholist: #fuer Jedes Geraet in DEVLIST.txt - fname="log_%s.ow1" %(ds) #Sind Daten da? - if os.path.exists(fname): - f=open(fname,"r") #Lesen - lines=f.readlines() - ti=lines[0][:-1].split("\t") #Ueberschriften aufteilen - i=0 - if ("Temperatur" in ti): - tempindex=ti.index("Temperatur") - for t in ti: #fuer jedes Element in der Ueberschrift - if t in sel_list: #schauen ob es Uebernommen werden soll - p=sel_list.index(t) #schaue nach Nummer in der Datenbank - data[p][0]=data[p][0]+","+ds+" "+devdict[ds] #hinzufuegen der Ueberschrift in der Tabelle - if len(data[p])==1: #erstes Element, Time einfuegen und neue zeile anlegen - for l in lines[1:]: - l=l[:-1] - ll=l.split("\t") - la=ll[0].split(" ") - lb=la[0].split(".") - ts=lb[2]+"/"+lb[1]+"/"+lb[0]+" "+la[1] - data[p].append(ts) - j=1; - for l in lines[1:]: - #print(ll) - l=l[:-1] #\n wegmachen - ll=l.split("\t") #telen - fl=float(ll[i].replace(",",".")) - if "VOC" in devdict[ds] or "Lum" in devdict[ds]: - if (t=="Temperatur"): - ltemp=fl - fl=fl-1 - if (t=="Luftfeuchte"): - ltemp=float(ll[tempindex].replace(",",".")) - fl=fl-rdiff(fl,ltemp,ltemp-1) - data[p][j]=data[p][j]+",%0.2f" % (fl) - j=j+1 - i=i+1 - f.close() - - -#print data - -for i in range(len(sel_list)): - f=open("/var/www/html/"+sel_list[i]+".csv","w") - for l in data[i]: - f.write(l+"\n") - f.close() - - - +import sys +import os +import os.path +import subprocess +import io +import time +import math +import shutil +import datetime + + +#Parameter: +#a = 7.5, b = 237.3 fuer T >= 0 +#a = 7.6, b = 240.7 fuer T < 0 ueber Wasser (Taupunkt) +#a = 9.5, b = 265.5 fuer T < 0 ueber Eis (Frostpunkt) +a=7.5 +b=237.3 +Rs = 8314.3 #J/(kmol*K) (universelle Gaskonstante) +mw = 18.016 #kg/kmol (Molekulargewicht des Wasserdampfes) + +def SDD(T): + return 6.1078 * 10**((a*T)/(b+T)) + +def AF1(r,T): + return r/100.0*SDD(T)/(T+273.15)*mw/Rs*10000 + +def RF1(a,T): + return a*100/(SDD(T)/(T+273.15)*mw/Rs*10000) +#print(0.5*SDD(20)/(20+273.15)*mw/Rs*10000) + +def rdiff(r1,t1,t2): + return (r1)-RF1(AF1(r1,t1),t2) + + +def calcDerivation(Name,Valuetype,Value,T): + return [0.5,0.5] + + +devdict={} +devwholist=[] +f=open("DEVLIST.txt","r") +for l in f.readlines(): + ls=l.split(" ") + if (len(ls)>1): + devdict[ls[0]]=l.replace("\n","").split(",")[0].split(" ")[1] + devwholist.append(ls[0]) +f.close() + +sel_list=["Temperatur","Luftfeuchte","Beleuchtungsstaerke","R0","VOC","RS","Corr"] +data=[] +for s in sel_list: + data.append(["Time"]) + +for ds in devwholist: #fuer Jedes Geraet in DEVLIST.txt + fname="log_%s.ow1" %(ds) #Sind Daten da? + if os.path.exists(fname): + f=open(fname,"r") #Lesen + lines=f.readlines() + ti=lines[0][:-1].split("\t") #Ueberschriften aufteilen + i=0 + if ("Temperatur" in ti): + tempindex=ti.index("Temperatur") + for t in ti: #fuer jedes Element in der Ueberschrift + if t in sel_list: #schauen ob es Uebernommen werden soll + p=sel_list.index(t) #schaue nach Nummer in der Datenbank + data[p][0]=data[p][0]+","+ds+" "+devdict[ds] #hinzufuegen der Ueberschrift in der Tabelle + if len(data[p])==1: #erstes Element, Time einfuegen und neue zeile anlegen + for l in lines[1:]: + l=l[:-1] + ll=l.split("\t") + la=ll[0].split(" ") + lb=la[0].split(".") + ts=lb[2]+"/"+lb[1]+"/"+lb[0]+" "+la[1] + data[p].append(ts) + j=1; + for l in lines[1:]: + #print(ll) + l=l[:-1] #\n wegmachen + ll=l.split("\t") #telen + fl=float(ll[i].replace(",",".")) + if "VOC" in devdict[ds] or "Lum" in devdict[ds]: + if (t=="Temperatur"): + ltemp=fl + fl=fl-1 + if (t=="Luftfeuchte"): + ltemp=float(ll[tempindex].replace(",",".")) + fl=fl-rdiff(fl,ltemp,ltemp-1) + data[p][j]=data[p][j]+",%0.2f" % (fl) + j=j+1 + i=i+1 + f.close() + + +#print data + +for i in range(len(sel_list)): + f=open("/var/www/html/"+sel_list[i]+".csv","w") + for l in data[i]: + f.write(l+"\n") + f.close() + + +