##// END OF EJS Templates
fixed missing code lines
fixed missing code lines

File last commit:

r1396:f39ad5b721a3
r1731:48993fcf23e3
Show More
pedestal_client.py
87 lines | 2.8 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))