##// END OF EJS Templates
Cambio en la lectura de archivos, se incluyó detección de cambio de experimento
Cambio en la lectura de archivos, se incluyó detección de cambio de experimento

File last commit:

r1320:b95a88f00937
r1373:fa4c334951aa
Show More
pedestal_client.py
87 lines | 2.7 KiB | text/x-python | PythonLexer
import numpy
import sys
import zmq
import time
import h5py
import os
path="/home/alex/Downloads/pedestal"
ext=".hdf5"
port ="5556"
if len(sys.argv)>1:
port = sys.argv[1]
int(port)
if len(sys.argv)>2:
port1 = sys.argv[2]
int(port1)
#Socket to talk to server
context = zmq.Context()
socket = context.socket(zmq.SUB)
print("Collecting updates from weather server...")
socket.connect("tcp://localhost:%s"%port)
if len(sys.argv)>2:
socket.connect("tcp://localhost:%s"%port1)
#Subscribe to zipcode, default is NYC,10001
topicfilter = "10001"
socket.setsockopt_string(zmq.SUBSCRIBE,topicfilter)
#Process 5 updates
total_value=0
count= -1
azi= []
elev=[]
time0=[]
#for update_nbr in range(250):
while(True):
string= socket.recv()
topic,ang_elev,ang_elev_dec,ang_azi,ang_azi_dec,seconds,seconds_dec= string.split()
ang_azi =float(ang_azi)+1e-3*float(ang_azi_dec)
ang_elev =float(ang_elev)+1e-3*float(ang_elev_dec)
seconds =float(seconds) +1e-6*float(seconds_dec)
azi.append(ang_azi)
elev.append(ang_elev)
time0.append(seconds)
count +=1
if count == 100:
timetuple=time.localtime()
epoc = time.mktime(timetuple)
#print(epoc)
fullpath = path + ("/" if path[-1]!="/" else "")
if not os.path.exists(fullpath):
os.mkdir(fullpath)
azi_array = numpy.array(azi)
elev_array = numpy.array(elev)
time0_array= numpy.array(time0)
pedestal_array=numpy.array([azi,elev,time0])
count=0
azi= []
elev=[]
time0=[]
#print(pedestal_array[0])
#print(pedestal_array[1])
meta='PE'
filex="%s%4.4d%3.3d%10.4d%s"%(meta,timetuple.tm_year,timetuple.tm_yday,epoc,ext)
filename = os.path.join(fullpath,filex)
fp = h5py.File(filename,'w')
#print("Escribiendo HDF5...",epoc)
#·················· Data·....······································
grp = fp.create_group("Data")
dset = grp.create_dataset("azimuth" , data=pedestal_array[0])
dset = grp.create_dataset("elevacion", data=pedestal_array[1])
dset = grp.create_dataset("utc" , data=pedestal_array[2])
#·················· Metadata·······································
grp = fp.create_group("Metadata")
dset = grp.create_dataset("utctimeInit", data=pedestal_array[2][0])
timeInterval = pedestal_array[2][1]-pedestal_array[2][0]
dset = grp.create_dataset("timeInterval", data=timeInterval)
fp.close()
#print ("Average messagedata value for topic '%s' was %dF" % ( topicfilter,total_value / update_nbr))