##// END OF EJS Templates
Last Commit foreva!
Last Commit foreva!

File last commit:

r1157:823d4012bd34
r1157:823d4012bd34
Show More
jroplot_parameters.py
2393 lines | 76.3 KiB | text/x-python | PythonLexer
Julio Valdez
Processing Modules added:...
r502 import os
import datetime
import numpy
José Chávez
checking misspelled kwargs in operations/processing units
r929 import inspect
Julio Valdez
-Parameters Plot corrected...
r832 from figure import Figure, isRealtime, isTimeInHourRange
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 from plotting_codes import *
Juan C. Valdez
Restore previous version...
r877
ebocanegra
Last Commit foreva!
r1157 class ParamLine(Figure):
isConfig = None
def __init__(self):
self.isConfig = False
self.WIDTH = 300
self.HEIGHT = 200
self.counter_imagwr = 0
def getSubplots(self):
nrow = self.nplots
ncol = 3
return nrow, ncol
def setup(self, id, nplots, wintitle, show):
self.nplots = nplots
self.createFigure(id=id,
wintitle=wintitle,
show=show)
nrow,ncol = self.getSubplots()
colspan = 3
rowspan = 1
for i in range(nplots):
self.addAxes(nrow, ncol, i, 0, colspan, rowspan)
def plot_iq(self, x, y, id, channelIndexList, thisDatetime, wintitle, show, xmin, xmax, ymin, ymax):
yreal = y[channelIndexList,:].real
yimag = y[channelIndexList,:].imag
title = wintitle + " Scope: %s" %(thisDatetime.strftime("%d-%b-%Y %H:%M:%S"))
xlabel = "Range (Km)"
ylabel = "Intensity - IQ"
if not self.isConfig:
nplots = len(channelIndexList)
self.setup(id=id,
nplots=nplots,
wintitle='',
show=show)
if xmin == None: xmin = numpy.nanmin(x)
if xmax == None: xmax = numpy.nanmax(x)
if ymin == None: ymin = min(numpy.nanmin(yreal),numpy.nanmin(yimag))
if ymax == None: ymax = max(numpy.nanmax(yreal),numpy.nanmax(yimag))
self.isConfig = True
self.setWinTitle(title)
for i in range(len(self.axesList)):
title = "Channel %d" %(i)
axes = self.axesList[i]
axes.pline(x, yreal[i,:],
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax,
xlabel=xlabel, ylabel=ylabel, title=title)
axes.addpline(x, yimag[i,:], idline=1, color="red", linestyle="solid", lw=2)
def plot_power(self, x, y, id, channelIndexList, thisDatetime, wintitle, show, xmin, xmax, ymin, ymax):
y = y[channelIndexList,:] * numpy.conjugate(y[channelIndexList,:])
yreal = y.real
title = wintitle + " Scope: %s" %(thisDatetime.strftime("%d-%b-%Y %H:%M:%S"))
xlabel = "Range (Km)"
ylabel = "Intensity"
if not self.isConfig:
nplots = len(channelIndexList)
self.setup(id=id,
nplots=nplots,
wintitle='',
show=show)
if xmin == None: xmin = numpy.nanmin(x)
if xmax == None: xmax = numpy.nanmax(x)
if ymin == None: ymin = numpy.nanmin(yreal)
if ymax == None: ymax = numpy.nanmax(yreal)
self.isConfig = True
self.setWinTitle(title)
for i in range(len(self.axesList)):
title = "Channel %d" %(i)
axes = self.axesList[i]
ychannel = yreal[i,:]
axes.pline(x, ychannel,
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax,
xlabel=xlabel, ylabel=ylabel, title=title)
def run(self, dataOut, id, wintitle="", channelList=None,
xmin=None, xmax=None, ymin=None, ymax=None, save=False,
figpath='./', figfile=None, show=True, wr_period=1,
ftp=False, server=None, folder=None, username=None, password=None):
"""
Input:
dataOut :
id :
wintitle :
channelList :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
"""
if channelList == None:
channelIndexList = dataOut.channelIndexList
else:
channelIndexList = []
for channel in channelList:
if channel not in dataOut.channelList:
raise ValueError, "Channel %d is not in dataOut.channelList"
channelIndexList.append(dataOut.channelList.index(channel))
thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.getTimeRange()[0])
y = dataOut.RR
title = wintitle + " Scope: %s" %(thisDatetime.strftime("%d-%b-%Y %H:%M:%S"))
xlabel = "Range (Km)"
ylabel = "Intensity"
if not self.isConfig:
nplots = len(channelIndexList)
self.setup(id=id,
nplots=nplots,
wintitle='',
show=show)
if xmin == None: xmin = numpy.nanmin(x)
if xmax == None: xmax = numpy.nanmax(x)
if ymin == None: ymin = numpy.nanmin(y)
if ymax == None: ymax = numpy.nanmax(y)
self.isConfig = True
self.setWinTitle(title)
for i in range(len(self.axesList)):
title = "Channel %d" %(i)
axes = self.axesList[i]
ychannel = y[i,:]
axes.pline(x, ychannel,
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax,
xlabel=xlabel, ylabel=ylabel, title=title)
self.draw()
str_datetime = thisDatetime.strftime("%Y%m%d_%H%M%S") + "_" + str(dataOut.profileIndex)
figfile = self.getFilename(name = str_datetime)
self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime)
Juan C. Valdez
Version 2.2.5 Fixed several bugs, add jro colormap for spectra/rti, add ParamWriter, TODO: Fix decimation currently disabled
r860
ebocanegra
7 de marzo 2018
r1148 class SpcParamPlot(Figure):
ebocanegra
15/08/2017
r1001
isConfig = None
__nsubplots = None
WIDTHPROF = None
HEIGHTPROF = None
ebocanegra
7 de marzo 2018
r1148 PREFIX = 'SpcParam'
ebocanegra
15/08/2017
r1001
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
self.isConfig = False
self.__nsubplots = 1
self.WIDTH = 250
self.HEIGHT = 250
self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
self.PLOT_CODE = SPEC_CODE
self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
self.__xfilter_ena = False
self.__yfilter_ena = False
def getSubplots(self):
ncol = int(numpy.sqrt(self.nplots)+0.9)
nrow = int(self.nplots*1./ncol + 0.9)
return nrow, ncol
def setup(self, id, nplots, wintitle, showprofile=True, show=True):
self.__showprofile = showprofile
self.nplots = nplots
ncolspan = 1
colspan = 1
if showprofile:
ncolspan = 3
colspan = 2
self.__nsubplots = 2
self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
nrow, ncol = self.getSubplots()
counter = 0
for y in range(nrow):
for x in range(ncol):
if counter >= self.nplots:
break
self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan, colspan, 1)
if showprofile:
self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan+colspan, 1, 1)
counter += 1
def run(self, dataOut, id, wintitle="", channelList=None, showprofile=True,
xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None,
save=False, figpath='./', figfile=None, show=True, ftp=False, wr_period=1,
server=None, folder=None, username=None, password=None,
ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, realtime=False,
ebocanegra
7 de marzo 2018
r1148 xaxis="frequency", colormap='jet', normFactor=None , Selector = 0):
ebocanegra
15/08/2017
r1001
"""
Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
if realtime:
if not(isRealtime(utcdatatime = dataOut.utctime)):
print 'Skipping this plot function'
return
if channelList == None:
channelIndexList = dataOut.channelIndexList
else:
channelIndexList = []
for channel in channelList:
if channel not in dataOut.channelList:
raise ValueError, "Channel %d is not in dataOut.channelList" %channel
channelIndexList.append(dataOut.channelList.index(channel))
# if normFactor is None:
# factor = dataOut.normFactor
# else:
# factor = normFactor
if xaxis == "frequency":
ebocanegra
7 de marzo 2018
r1148 x = dataOut.spcparam_range[0]
ebocanegra
15/08/2017
r1001 xlabel = "Frequency (kHz)"
elif xaxis == "time":
ebocanegra
7 de marzo 2018
r1148 x = dataOut.spcparam_range[1]
ebocanegra
15/08/2017
r1001 xlabel = "Time (ms)"
ebocanegra
23/11/2017
r1123 else:
ebocanegra
7 de marzo 2018
r1148 x = dataOut.spcparam_range[2]
ebocanegra
15/08/2017
r1001 xlabel = "Velocity (m/s)"
ebocanegra
15/3/18
r1149 print "Vmax=",x[-1]
ebocanegra
15/08/2017
r1001
ebocanegra
25/04/18
r1156 ylabel = "Range (km)"
ebocanegra
15/08/2017
r1001
y = dataOut.getHeiRange()
ebocanegra
15/3/18
r1149 z = dataOut.SPCparam[Selector] /1966080.0#/ dataOut.normFactor#GauSelector] #dataOut.data_spc/factor
ebocanegra
7 de marzo 2018
r1148 #print 'GausSPC', z[0,32,10:40]
ebocanegra
15/08/2017
r1001 z = numpy.where(numpy.isfinite(z), z, numpy.NAN)
zdB = 10*numpy.log10(z)
avg = numpy.average(z, axis=1)
avgdB = 10*numpy.log10(avg)
noise = dataOut.spc_noise
noisedB = 10*numpy.log10(noise)
thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.getTimeRange()[0])
title = wintitle + " Spectra"
if ((dataOut.azimuth!=None) and (dataOut.zenith!=None)):
title = title + '_' + 'azimuth,zenith=%2.2f,%2.2f'%(dataOut.azimuth, dataOut.zenith)
if not self.isConfig:
nplots = len(channelIndexList)
self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
showprofile=showprofile,
show=show)
if xmin == None: xmin = numpy.nanmin(x)
if xmax == None: xmax = numpy.nanmax(x)
if ymin == None: ymin = numpy.nanmin(y)
if ymax == None: ymax = numpy.nanmax(y)
if zmin == None: zmin = numpy.floor(numpy.nanmin(noisedB)) - 3
if zmax == None: zmax = numpy.ceil(numpy.nanmax(avgdB)) + 3
self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
self.isConfig = True
self.setWinTitle(title)
for i in range(self.nplots):
index = channelIndexList[i]
str_datetime = '%s %s'%(thisDatetime.strftime("%Y/%m/%d"),thisDatetime.strftime("%H:%M:%S"))
title = "Channel %d: %4.2fdB: %s" %(dataOut.channelList[index], noisedB[index], str_datetime)
if len(dataOut.beam.codeList) != 0:
title = "Ch%d:%4.2fdB,%2.2f,%2.2f:%s" %(dataOut.channelList[index], noisedB[index], dataOut.beam.azimuthList[index], dataOut.beam.zenithList[index], str_datetime)
axes = self.axesList[i*self.__nsubplots]
axes.pcolor(x, y, zdB[index,:,:],
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, zmin=zmin, zmax=zmax,
xlabel=xlabel, ylabel=ylabel, title=title, colormap=colormap,
ticksize=9, cblabel='')
if self.__showprofile:
axes = self.axesList[i*self.__nsubplots +1]
axes.pline(avgdB[index,:], y,
xmin=zmin, xmax=zmax, ymin=ymin, ymax=ymax,
xlabel='dB', ylabel='', title='',
ytick_visible=False,
grid='x')
noiseline = numpy.repeat(noisedB[index], len(y))
axes.addpline(noiseline, y, idline=1, color="black", linestyle="dashed", lw=2)
self.draw()
if figfile == None:
str_datetime = thisDatetime.strftime("%Y%m%d_%H%M%S")
name = str_datetime
if ((dataOut.azimuth!=None) and (dataOut.zenith!=None)):
name = name + '_az' + '_%2.2f'%(dataOut.azimuth) + '_zn' + '_%2.2f'%(dataOut.zenith)
figfile = self.getFilename(name)
self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime)
Julio Valdez
Processing Modules added:...
r502 class MomentsPlot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 WIDTHPROF = None
HEIGHTPROF = None
PREFIX = 'prm'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Julio Valdez
Processing Modules added:...
r502 self.isConfig = False
self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.WIDTH = 280
self.HEIGHT = 250
self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.PLOT_CODE = MOMENTS_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 ncol = int(numpy.sqrt(self.nplots)+0.9)
nrow = int(self.nplots*1./ncol + 0.9)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 def setup(self, id, nplots, wintitle, showprofile=True, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.__showprofile = showprofile
self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 ncolspan = 1
colspan = 1
if showprofile:
ncolspan = 3
colspan = 2
self.__nsubplots = 2
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 counter = 0
for y in range(nrow):
for x in range(ncol):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if counter >= self.nplots:
break
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan, colspan, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if showprofile:
self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan+colspan, 1, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 counter += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 def run(self, dataOut, id, wintitle="", channelList=None, showprofile=True,
xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None,
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 save=False, figpath='./', figfile=None, show=True, ftp=False, wr_period=1,
Julio Valdez
Processing Modules added:...
r502 server=None, folder=None, username=None, password=None,
ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, realtime=False):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if dataOut.flagNoData:
return None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if realtime:
if not(isRealtime(utcdatatime = dataOut.utctime)):
print 'Skipping this plot function'
return
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if channelList == None:
channelIndexList = dataOut.channelIndexList
else:
channelIndexList = []
for channel in channelList:
if channel not in dataOut.channelList:
raise ValueError, "Channel %d is not in dataOut.channelList"
channelIndexList.append(dataOut.channelList.index(channel))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 factor = dataOut.normFactor
Julio Valdez
-Functional HDF5 file writer unit...
r543 x = dataOut.abscissaList
y = dataOut.heightList
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 z = dataOut.data_pre[channelIndexList,:,:]/factor
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 z = numpy.where(numpy.isfinite(z), z, numpy.NAN)
Julio Valdez
Processing Modules added:...
r502 avg = numpy.average(z, axis=1)
noise = dataOut.noise/factor
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 zdB = 10*numpy.log10(z)
avgdB = 10*numpy.log10(avg)
noisedB = 10*numpy.log10(noise)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 #thisDatetime = dataOut.datatime
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.getTimeRange()[0])
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 title = wintitle + " Parameters"
Julio Valdez
Processing Modules added:...
r502 xlabel = "Velocity (m/s)"
ylabel = "Range (Km)"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = False
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 nplots = len(channelIndexList)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
showprofile=showprofile,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if xmin == None: xmin = numpy.nanmin(x)
if xmax == None: xmax = numpy.nanmax(x)
if ymin == None: ymin = numpy.nanmin(y)
if ymax == None: ymax = numpy.nanmax(y)
if zmin == None: zmin = numpy.nanmin(avgdB)*0.9
if zmax == None: zmax = numpy.nanmax(avgdB)*0.9
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.isConfig = True
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.setWinTitle(title)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 for i in range(self.nplots):
str_datetime = '%s %s'%(thisDatetime.strftime("%Y/%m/%d"),thisDatetime.strftime("%H:%M:%S"))
Miguel Valdez
Channel title was fixed in plots
r713 title = "Channel %d: %4.2fdB: %s" %(dataOut.channelList[i], noisedB[i], str_datetime)
Julio Valdez
Processing Modules added:...
r502 axes = self.axesList[i*self.__nsubplots]
axes.pcolor(x, y, zdB[i,:,:],
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, zmin=zmin, zmax=zmax,
xlabel=xlabel, ylabel=ylabel, title=title,
ticksize=9, cblabel='')
#Mean Line
mean = dataOut.data_param[i, 1, :]
axes.addpline(mean, y, idline=0, color="black", linestyle="solid", lw=1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if self.__showprofile:
axes = self.axesList[i*self.__nsubplots +1]
axes.pline(avgdB[i], y,
xmin=zmin, xmax=zmax, ymin=ymin, ymax=ymax,
xlabel='dB', ylabel='', title='',
ytick_visible=False,
grid='x')
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 noiseline = numpy.repeat(noisedB[i], len(y))
axes.addpline(noiseline, y, idline=1, color="black", linestyle="dashed", lw=2)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502
class SkyMapPlot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 __isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 WIDTHPROF = None
HEIGHTPROF = None
Julio Valdez
data...
r608 PREFIX = 'mmap'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Julio Valdez
Processing Modules added:...
r502 self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 # self.WIDTH = 280
# self.HEIGHT = 250
self.WIDTH = 600
self.HEIGHT = 600
self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.PLOT_CODE = MSKYMAP_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 ncol = int(numpy.sqrt(self.nplots)+0.9)
nrow = int(self.nplots*1./ncol + 0.9)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 def setup(self, id, nplots, wintitle, showprofile=False, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.__showprofile = showprofile
self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 ncolspan = 1
colspan = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH, #+ self.WIDTHPROF,
heightplot = self.HEIGHT,# + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
nrow, ncol = 1,1
Julio Valdez
Processing Modules added:...
r502 counter = 0
x = 0
y = 0
self.addAxes(1, 1, 0, 0, 1, 1, True)
def run(self, dataOut, id, wintitle="", channelList=None, showprofile=False,
Julio Valdez
-Functional HDF5 Format Writing and Reading Unit...
r804 tmin=0, tmax=24, timerange=None,
Julio Valdez
Processing Modules added:...
r502 save=False, figpath='./', figfile=None, show=True, ftp=False, wr_period=1,
server=None, folder=None, username=None, password=None,
ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, realtime=False):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Functional HDF5 Format Writing and Reading Unit...
r804 arrayParameters = dataOut.data_param
Julio Valdez
Processing Modules added:...
r502 error = arrayParameters[:,-1]
indValid = numpy.where(error == 0)[0]
finalMeteor = arrayParameters[indValid,:]
Julio Valdez
-Functional HDF5 Format Writing and Reading Unit...
r804 finalAzimuth = finalMeteor[:,3]
finalZenith = finalMeteor[:,4]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 x = finalAzimuth*numpy.pi/180
y = finalZenith
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 x1 = [dataOut.ltctime, dataOut.ltctime]
Julio Valdez
Processing Modules added:...
r502 #thisDatetime = dataOut.datatime
Julio Valdez
-Functional HDF5 Format Writing and Reading Unit...
r804 thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.ltctime)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 title = wintitle + " Parameters"
Julio Valdez
Processing Modules added:...
r502 xlabel = "Zonal Zenith Angle (deg) "
ylabel = "Meridional Zenith Angle (deg)"
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = False
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 nplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
showprofile=showprofile,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
SkyMap new feature: tmin and tmax selection
r787 if self.xmin is None and self.xmax is None:
self.xmin, self.xmax = self.getTimeLim(x1, tmin, tmax, timerange)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 if timerange != None:
self.timerange = timerange
else:
self.timerange = self.xmax - self.xmin
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
self.name = thisDatetime.strftime("%Y%m%d_%H%M%S")
self.firstdate = '%s %s'%(thisDatetime.strftime("%Y/%m/%d"),thisDatetime.strftime("%H:%M:%S"))
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = True
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.setWinTitle(title)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 i = 0
str_datetime = '%s %s'%(thisDatetime.strftime("%Y/%m/%d"),thisDatetime.strftime("%H:%M:%S"))
axes = self.axesList[i*self.__nsubplots]
nevents = axes.x_buffer.shape[0] + x.shape[0]
title = "Meteor Detection Sky Map\n %s - %s \n Number of events: %5.0f\n" %(self.firstdate,str_datetime,nevents)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 axes.polar(x, y,
Julio Valdez
Processing Modules added:...
r502 title=title, xlabel=xlabel, ylabel=ylabel,
ticksize=9, cblabel='')
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
Julio Valdez
Fixed plot bugs
r785 thisDatetime=thisDatetime,
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile=update_figfile)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 if dataOut.ltctime >= self.xmax:
Ivan Valdez
Bug fixed
r797 self.isConfigmagwr = wr_period
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = True
axes.__firsttime = True
self.xmin += self.timerange
self.xmax += self.timerange
Julio Valdez
data...
r608
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 class WindProfilerPlot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 __isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 WIDTHPROF = None
HEIGHTPROF = None
PREFIX = 'wind'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Julio Valdez
data...
r608 self.timerange = None
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Julio Valdez
Processing Modules added:...
r502 self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.WIDTH = 800
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.HEIGHT = 300
Julio Valdez
Processing Modules added:...
r502 self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.PLOT_CODE = WIND_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 self.tmin = None
Julio Valdez
Processing Modules added:...
r502 self.tmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.xmin = None
self.xmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.figfile = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 ncol = 1
nrow = self.nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 def setup(self, id, nplots, wintitle, showprofile=True, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.__showprofile = showprofile
self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 ncolspan = 1
colspan = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 counter = 0
for y in range(nrow):
if counter >= self.nplots:
break
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
self.addAxes(nrow, ncol*ncolspan, y, 0, colspan, 1)
Julio Valdez
Processing Modules added:...
r502 counter += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 def run(self, dataOut, id, wintitle="", channelList=None, showprofile='False',
Julio Valdez
Processing Modules added:...
r502 xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None,
zmax_ver = None, zmin_ver = None, SNRmin = None, SNRmax = None,
timerange=None, SNRthresh = None,
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 save=False, figpath='./', lastone=0,figfile=None, ftp=False, wr_period=1, show=True,
Julio Valdez
Processing Modules added:...
r502 server=None, folder=None, username=None, password=None,
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0):
Julio Valdez
Processing Modules added:...
r502 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 # if timerange is not None:
Julio Valdez
data...
r608 # self.timerange = timerange
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 #
Julio Valdez
data...
r608 # tmin = None
# tmax = None
Erick Valdez
cambio
r870
ebocanegra
15/08/2017
r1001 x = dataOut.getTimeRange1(dataOut.paramInterval)
ebocanegra
Claire, Erick Bocanegra 21-02-18
r1146 y = dataOut.heightList
Juan C. Espinoza
BLTR ok
r1018 z = dataOut.data_output.copy()
Julio Valdez
Processing Modules added:...
r502 nplots = z.shape[0] #Number of wind dimensions estimated
nplotsw = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 #If there is a SNR function defined
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if dataOut.data_SNR is not None:
Julio Valdez
Processing Modules added:...
r502 nplots += 1
ebocanegra
23/11/2017
r1123 SNR = dataOut.data_SNR[0]
SNRavg = SNR#numpy.average(SNR, axis=0)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 SNRdB = 10*numpy.log10(SNR)
SNRavgdB = 10*numpy.log10(SNRavg)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
ebocanegra
23/11/2017
r1123 if SNRthresh == None:
SNRthresh = -5.0
Julio Valdez
Processing Modules added:...
r502 ind = numpy.where(SNRavg < 10**(SNRthresh/10))[0]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 for i in range(nplotsw):
z[i,ind] = numpy.nan
Juan C. Valdez
Restore previous version...
r877
Erick Valdez
cambio
r870 thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.ltctime)
Juan C. Valdez
Restore previous version...
r877 #thisDatetime = datetime.datetime.now()
Julio Valdez
Processing Modules added:...
r502 title = wintitle + "Wind"
xlabel = ""
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 ylabel = "Height (km)"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 update_figfile = False
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
showprofile=showprofile,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if timerange is not None:
Julio Valdez
data...
r608 self.timerange = timerange
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug plotting RTI fixed for jroplot_heispectra, jroplot_parameters, jroplot_spectra
r567 self.xmin, self.xmax = self.getTimeLim(x, xmin, xmax, timerange)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Erick Valdez
cambio
r870 if ymin == None: ymin = numpy.nanmin(y)
if ymax == None: ymax = numpy.nanmax(y)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if zmax == None: zmax = numpy.nanmax(abs(z[range(2),:]))
#if numpy.isnan(zmax): zmax = 50
if zmin == None: zmin = -zmax
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 if nplotsw == 3:
if zmax_ver == None: zmax_ver = numpy.nanmax(abs(z[2,:]))
if zmin_ver == None: zmin_ver = -zmax_ver
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Erick Valdez
cambio
r870 if dataOut.data_SNR is not None:
if SNRmin == None: SNRmin = numpy.nanmin(SNRavgdB)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 if SNRmax == None: SNRmax = numpy.nanmax(SNRavgdB)
Julio Valdez
Processing Modules added:...
r502 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.name = thisDatetime.strftime("%Y%m%d_%H%M%S")
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = True
Julio Valdez
data...
r608 self.figfile = figfile
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.setWinTitle(title)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Erick Valdez
cambio
r870 if ((self.xmax - x[1]) < (x[1]-x[0])):
x[1] = self.xmax
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 strWind = ['Zonal', 'Meridional', 'Vertical']
strCb = ['Velocity (m/s)','Velocity (m/s)','Velocity (cm/s)']
zmaxVector = [zmax, zmax, zmax_ver]
zminVector = [zmin, zmin, zmin_ver]
windFactor = [1,1,100]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 for i in range(nplotsw):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 title = "%s Wind: %s" %(strWind[i], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
axes = self.axesList[i*self.__nsubplots]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Erick Valdez
cambio
r870 z1 = z[i,:].reshape((1,-1))*windFactor[i]
ebocanegra
Claire, Erick Bocanegra 21-02-18
r1146
print 'x', x
print datetime.datetime.utcfromtimestamp(x[0])
print datetime.datetime.utcfromtimestamp(x[1])
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 #z1=numpy.ma.masked_where(z1==0.,z1)
Juan C. Valdez
Restore previous version...
r877
Julio Valdez
Processing Modules added:...
r502 axes.pcolorbuffer(x, y, z1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=zminVector[i], zmax=zmaxVector[i],
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
Erick Valdez
cambio
r870 ticksize=9, cblabel=strCb[i], cbsize="1%", colormap="seismic" )
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if dataOut.data_SNR is not None:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 i += 1
Julio Valdez
Processing Modules added:...
r502 title = "Signal Noise Ratio (SNR): %s" %(thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
axes = self.axesList[i*self.__nsubplots]
Juan C. Valdez
Restore previous version...
r877 SNRavgdB = SNRavgdB.reshape((1,-1))
Julio Valdez
Processing Modules added:...
r502 axes.pcolorbuffer(x, y, SNRavgdB,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=SNRmin, zmax=SNRmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel='', cbsize="1%", colormap="jet")
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Processing Modules added:...
r502 self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime,
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile=update_figfile)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
ebocanegra
15/08/2017
r1001 if dataOut.ltctime + dataOut.paramInterval >= self.xmax:
Erick Valdez
cambio
r870 self.counter_imagwr = wr_period
Julio Valdez
Bug fixed when plot changed from one day to the next
r852 self.isConfig = False
update_figfile = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786
Julio Valdez
-Parameters Plot corrected...
r832 class ParametersPlot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 __isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 WIDTHPROF = None
HEIGHTPROF = None
PREFIX = 'param'
nplots = None
nchan = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Julio Valdez
-Parameters Plot corrected...
r832 self.timerange = None
self.isConfig = False
self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
ebocanegra
Last Commit foreva!
r1157 self.WIDTH = 300
self.HEIGHT = 550
Julio Valdez
-Parameters Plot corrected...
r832 self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.PLOT_CODE = RTI_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 self.tmin = None
Julio Valdez
-Parameters Plot corrected...
r832 self.tmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.xmin = None
self.xmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.figfile = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 ncol = 1
nrow = self.nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 def setup(self, id, nplots, wintitle, show=True):
self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 ncolspan = 1
colspan = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 counter = 0
for y in range(nrow):
for x in range(ncol):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 if counter >= self.nplots:
break
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan, colspan, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 counter += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
ebocanegra
15/08/2017
r1001 def run(self, dataOut, id, wintitle="", channelList=None, paramIndex = 0, colormap="jet",
Julio Valdez
-Parameters Plot corrected...
r832 xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, timerange=None,
showSNR=False, SNRthresh = -numpy.inf, SNRmin=None, SNRmax=None,
save=False, figpath='./', lastone=0,figfile=None, ftp=False, wr_period=1, show=True,
server=None, folder=None, username=None, password=None,
ebocanegra
15/08/2017
r1001 ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, HEIGHT=None):
Julio Valdez
-Parameters Plot corrected...
r832 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
ebocanegra
15/08/2017
r1001
if HEIGHT is not None:
self.HEIGHT = HEIGHT
Julio Valdez
-Parameters Plot corrected...
r832 if not isTimeInHourRange(dataOut.datatime, xmin, xmax):
return
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 if channelList == None:
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 channelIndexList = range(dataOut.data_param.shape[0])
Julio Valdez
-Parameters Plot corrected...
r832 else:
channelIndexList = []
for channel in channelList:
if channel not in dataOut.channelList:
raise ValueError, "Channel %d is not in dataOut.channelList"
channelIndexList.append(dataOut.channelList.index(channel))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 x = dataOut.getTimeRange1(dataOut.paramInterval)
y = dataOut.getHeiRange()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if dataOut.data_param.ndim == 3:
z = dataOut.data_param[channelIndexList,paramIndex,:]
else:
z = dataOut.data_param[channelIndexList,:]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 if showSNR:
#SNR data
SNRarray = dataOut.data_SNR[channelIndexList,:]
SNRdB = 10*numpy.log10(SNRarray)
ind = numpy.where(SNRdB < SNRthresh)
z[ind] = numpy.nan
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 thisDatetime = dataOut.datatime
# thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.getTimeRange()[0])
title = wintitle + " Parameters Plot" #: %s" %(thisDatetime.strftime("%d-%b-%Y"))
xlabel = ""
ebocanegra
Last Commit foreva!
r1157 ylabel = "Range (km)"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 update_figfile = False
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 nchan = len(channelIndexList)
self.nchan = nchan
self.plotFact = 1
nplots = nchan
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 if showSNR:
nplots = nchan*2
self.plotFact = 2
if SNRmin == None: SNRmin = numpy.nanmin(SNRdB)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 if SNRmax == None: SNRmax = numpy.nanmax(SNRdB)
Julio Valdez
-Parameters Plot corrected...
r832 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 if timerange != None:
self.timerange = timerange
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.xmin, self.xmax = self.getTimeLim(x, xmin, xmax, timerange)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 if ymin == None: ymin = numpy.nanmin(y)
if ymax == None: ymax = numpy.nanmax(y)
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if zmin == None: zmin = numpy.nanmin(z)
if zmax == None: zmax = numpy.nanmax(z)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.name = thisDatetime.strftime("%Y%m%d_%H%M%S")
self.isConfig = True
self.figfile = figfile
update_figfile = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.setWinTitle(title)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
ebocanegra
Last Commit foreva!
r1157 # for i in range(self.nchan):
# index = channelIndexList[i]
# title = "Channel %d: %s" %(dataOut.channelList[index], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
# axes = self.axesList[i*self.plotFact]
# z1 = z[i,:].reshape((1,-1))
# axes.pcolorbuffer(x, y, z1,
# xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=zmin, zmax=zmax,
# xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
# ticksize=9, cblabel='', cbsize="1%",colormap=colormap)
#
# if showSNR:
# title = "Channel %d SNR: %s" %(dataOut.channelList[index], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
# axes = self.axesList[i*self.plotFact + 1]
# SNRdB1 = SNRdB[i,:].reshape((1,-1))
# axes.pcolorbuffer(x, y, SNRdB1,
# xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=SNRmin, zmax=SNRmax,
# xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
# ticksize=9, cblabel='', cbsize="1%",colormap='jet')
i=0
index = channelIndexList[i]
title = "Factor de reflectividad Z [dBZ]"
axes = self.axesList[i*self.plotFact]
z1 = z[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, z1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=zmin, zmax=zmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel='', cbsize="1%",colormap=colormap)
if showSNR:
title = "Channel %d SNR: %s" %(dataOut.channelList[index], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
axes = self.axesList[i*self.plotFact + 1]
SNRdB1 = SNRdB[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, SNRdB1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=SNRmin, zmax=SNRmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel='', cbsize="1%",colormap='jet')
i=1
index = channelIndexList[i]
title = "Velocidad vertical Doppler [m/s]"
axes = self.axesList[i*self.plotFact]
z1 = z[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, z1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=-10, zmax=10,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel='', cbsize="1%",colormap='seismic_r')
if showSNR:
title = "Channel %d SNR: %s" %(dataOut.channelList[index], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
axes = self.axesList[i*self.plotFact + 1]
SNRdB1 = SNRdB[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, SNRdB1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=SNRmin, zmax=SNRmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel='', cbsize="1%",colormap='jet')
i=2
index = channelIndexList[i]
title = "Intensidad de lluvia [mm/h]"
axes = self.axesList[i*self.plotFact]
z1 = z[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, z1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=0, zmax=40,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel='', cbsize="1%",colormap='ocean_r')
if showSNR:
title = "Channel %d SNR: %s" %(dataOut.channelList[index], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
axes = self.axesList[i*self.plotFact + 1]
SNRdB1 = SNRdB[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, SNRdB1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=SNRmin, zmax=SNRmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel='', cbsize="1%",colormap='jet')
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 if dataOut.ltctime >= self.xmax:
self.counter_imagwr = wr_period
self.isConfig = False
update_figfile = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Parameters Plot corrected...
r832 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime,
update_figfile=update_figfile)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Erick Valdez
cambio
r870 class Parameters1Plot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 __isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 WIDTHPROF = None
HEIGHTPROF = None
Julio Valdez
New Graphic added: ParametersPlot, plot a user selected parameter as RTI.
r512 PREFIX = 'prm'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.timerange = 2*60*60
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.WIDTH = 800
José Chávez
checking misspelled kwargs in operations/processing units
r929 self.HEIGHT = 180
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.PLOT_CODE = PARMS_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 self.tmin = None
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.tmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.xmin = None
self.xmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.figfile = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 ncol = 1
nrow = self.nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 def setup(self, id, nplots, wintitle, showprofile=True, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.__showprofile = showprofile
self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 ncolspan = 1
colspan = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 counter = 0
for y in range(nrow):
for x in range(ncol):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 if counter >= self.nplots:
break
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan, colspan, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 if showprofile:
self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan+colspan, 1, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 counter += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 def run(self, dataOut, id, wintitle="", channelList=None, showprofile=False,
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None,timerange=None,
Julio Valdez
-Functional HDF5 file writer unit...
r543 parameterIndex = None, onlyPositive = False,
Julio Valdez
data...
r608 SNRthresh = -numpy.inf, SNR = True, SNRmin = None, SNRmax = None, onlySNR = False,
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 DOP = True,
Julio Valdez
-Functional HDF5 file writer unit...
r543 zlabel = "", parameterName = "", parameterObject = "data_param",
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 save=False, figpath='./', lastone=0,figfile=None, ftp=False, wr_period=1, show=True,
Julio Valdez
-Added Radial Velocity graphic ...
r511 server=None, folder=None, username=None, password=None,
ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0):
José Chávez
checking misspelled kwargs in operations/processing units
r929 #print inspect.getargspec(self.run).args
Julio Valdez
-Added Radial Velocity graphic ...
r511 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Functional HDF5 file writer unit...
r543 data_param = getattr(dataOut, parameterObject)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 if channelList == None:
Julio Valdez
-Functional HDF5 file writer unit...
r543 channelIndexList = numpy.arange(data_param.shape[0])
Julio Valdez
-Added Radial Velocity graphic ...
r511 else:
Julio Valdez
-jrodata, parameters class bug fixed...
r550 channelIndexList = numpy.array(channelList)
Julio Valdez
-Functional HDF5 file writer unit...
r543
Julio Valdez
ParametersPlot: Corrections and SNR graphic added.
r548 nchan = len(channelIndexList) #Number of channels being plotted
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 if nchan < 1:
return
nGraphsByChannel = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 if SNR:
nGraphsByChannel += 1
if DOP:
nGraphsByChannel += 1
if nGraphsByChannel < 1:
return
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 nplots = nGraphsByChannel*nchan
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if timerange is not None:
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.timerange = timerange
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 #tmin = None
#tmax = None
Julio Valdez
-Functional HDF5 file writer unit...
r543 if parameterIndex == None:
parameterIndex = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Functional HDF5 Format Writing and Reading Unit...
r804 x = dataOut.getTimeRange1(dataOut.paramInterval)
Julio Valdez
-Functional HDF5 file writer unit...
r543 y = dataOut.heightList
z = data_param[channelIndexList,parameterIndex,:].copy()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Functional HDF5 file writer unit...
r543 zRange = dataOut.abscissaList
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 # nChannels = z.shape[0] #Number of wind dimensions estimated
Julio Valdez
-Added Radial Velocity graphic ...
r511 # thisDatetime = dataOut.datatime
Julio Valdez
ParametersPlot: Corrections and SNR graphic added.
r548
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if dataOut.data_SNR is not None:
Julio Valdez
-jrodata, parameters class bug fixed...
r550 SNRarray = dataOut.data_SNR[channelIndexList,:]
Julio Valdez
ParametersPlot: Corrections and SNR graphic added.
r548 SNRdB = 10*numpy.log10(SNRarray)
# SNRavgdB = 10*numpy.log10(SNRavg)
ind = numpy.where(SNRdB < 10**(SNRthresh/10))
z[ind] = numpy.nan
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.getTimeRange()[0])
Julio Valdez
New Graphic added: ParametersPlot, plot a user selected parameter as RTI.
r512 title = wintitle + " Parameters Plot" #: %s" %(thisDatetime.strftime("%d-%b-%Y"))
Julio Valdez
-Added Radial Velocity graphic ...
r511 xlabel = ""
Julio Valdez
New Graphic added: ParametersPlot, plot a user selected parameter as RTI.
r512 ylabel = "Range (Km)"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 if (SNR and not onlySNR): nplots = 2*nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
New Graphic added: ParametersPlot, plot a user selected parameter as RTI.
r512 if onlyPositive:
colormap = "jet"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 zmin = 0
Julio Valdez
New Graphic added: ParametersPlot, plot a user selected parameter as RTI.
r512 else: colormap = "RdBu_r"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
showprofile=showprofile,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug plotting RTI fixed for jroplot_heispectra, jroplot_parameters, jroplot_spectra
r567 self.xmin, self.xmax = self.getTimeLim(x, xmin, xmax, timerange)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 if ymin == None: ymin = numpy.nanmin(y)
if ymax == None: ymax = numpy.nanmax(y)
if zmin == None: zmin = numpy.nanmin(zRange)
if zmax == None: zmax = numpy.nanmax(zRange)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 if SNR:
Julio Valdez
ParametersPlot: Corrections and SNR graphic added.
r548 if SNRmin == None: SNRmin = numpy.nanmin(SNRdB)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 if SNRmax == None: SNRmax = numpy.nanmax(SNRdB)
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.name = thisDatetime.strftime("%Y%m%d_%H%M%S")
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = True
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.figfile = figfile
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 self.setWinTitle(title)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Added Radial Velocity graphic ...
r511 if ((self.xmax - x[1]) < (x[1]-x[0])):
x[1] = self.xmax
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
ParametersPlot: Corrections and SNR graphic added.
r548 for i in range(nchan):
Julio Valdez
data...
r608
if (SNR and not onlySNR): j = 2*i
else: j = i
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 j = nGraphsByChannel*i
Julio Valdez
data...
r608
if ((dataOut.azimuth!=None) and (dataOut.zenith!=None)):
title = title + '_' + 'azimuth,zenith=%2.2f,%2.2f'%(dataOut.azimuth, dataOut.zenith)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 if not onlySNR:
axes = self.axesList[j*self.__nsubplots]
z1 = z[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, z1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=zmin, zmax=zmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,colormap=colormap,
ticksize=9, cblabel=zlabel, cbsize="1%")
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 if DOP:
Miguel Valdez
Channel title was fixed in plots
r713 title = "%s Channel %d: %s" %(parameterName, channelIndexList[i], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 if ((dataOut.azimuth!=None) and (dataOut.zenith!=None)):
title = title + '_' + 'azimuth,zenith=%2.2f,%2.2f'%(dataOut.azimuth, dataOut.zenith)
axes = self.axesList[j]
z1 = z[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, z1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=zmin, zmax=zmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,colormap=colormap,
ticksize=9, cblabel=zlabel, cbsize="1%")
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
ParametersPlot: Corrections and SNR graphic added.
r548 if SNR:
Miguel Valdez
Channel title was fixed in plots
r713 title = "Channel %d Signal Noise Ratio (SNR): %s" %(channelIndexList[i], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
Julio Valdez
data...
r608 axes = self.axesList[(j)*self.__nsubplots]
if not onlySNR:
axes = self.axesList[(j + 1)*self.__nsubplots]
Miguel Valdez
parametrs plotting: SNR and DOP arguments have been added
r588 axes = self.axesList[(j + nGraphsByChannel-1)]
Julio Valdez
data...
r608
Julio Valdez
ParametersPlot: Corrections and SNR graphic added.
r548 z1 = SNRdB[i,:].reshape((1,-1))
axes.pcolorbuffer(x, y, z1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=SNRmin, zmax=SNRmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,colormap="jet",
ticksize=9, cblabel=zlabel, cbsize="1%")
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
New Graphic added: ParametersPlot, plot a user selected parameter as RTI.
r512
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if x[1] >= self.axesList[0].xmax:
self.counter_imagwr = wr_period
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.figfile = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime,
update_figfile=False)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 class SpectralFittingPlot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 __isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 WIDTHPROF = None
HEIGHTPROF = None
PREFIX = 'prm'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 N = None
ippSeconds = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.PLOT_CODE = SPECFIT_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.WIDTH = 450
self.HEIGHT = 250
self.WIDTHPROF = 0
self.HEIGHTPROF = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 ncol = int(numpy.sqrt(self.nplots)+0.9)
nrow = int(self.nplots*1./ncol + 0.9)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 def setup(self, id, nplots, wintitle, showprofile=False, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
showprofile = False
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.__showprofile = showprofile
self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 ncolspan = 5
colspan = 4
if showprofile:
ncolspan = 5
colspan = 4
self.__nsubplots = 2
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 counter = 0
for y in range(nrow):
for x in range(ncol):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if counter >= self.nplots:
break
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan, colspan, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if showprofile:
self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan+colspan, 1, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 counter += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 def run(self, dataOut, id, cutHeight=None, fit=False, wintitle="", channelList=None, showprofile=True,
xmin=None, xmax=None, ymin=None, ymax=None,
save=False, figpath='./', figfile=None, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
zmin : None,
zmax : None
"""
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if cutHeight==None:
h=270
heightindex = numpy.abs(cutHeight - dataOut.heightList).argmin()
cutHeight = dataOut.heightList[heightindex]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 factor = dataOut.normFactor
Julio Valdez
-Functional HDF5 file writer unit...
r543 x = dataOut.abscissaList[:-1]
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 #y = dataOut.getHeiRange()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 z = dataOut.data_pre[:,:,heightindex]/factor
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 z = numpy.where(numpy.isfinite(z), z, numpy.NAN)
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 avg = numpy.average(z, axis=1)
listChannels = z.shape[0]
#Reconstruct Function
if fit==True:
groupArray = dataOut.groupList
listChannels = groupArray.reshape((groupArray.size))
listChannels.sort()
spcFitLine = numpy.zeros(z.shape)
constants = dataOut.constants
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 nGroups = groupArray.shape[0]
nChannels = groupArray.shape[1]
nProfiles = z.shape[1]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 for f in range(nGroups):
groupChann = groupArray[f,:]
p = dataOut.data_param[f,:,heightindex]
# p = numpy.array([ 89.343967,0.14036615,0.17086219,18.89835291,1.58388365,1.55099167])
fitLineAux = dataOut.library.modelFunction(p, constants)*nProfiles
fitLineAux = fitLineAux.reshape((nChannels,nProfiles))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 spcFitLine[groupChann,:] = fitLineAux
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 # spcFitLine = spcFitLine/factor
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 z = z[listChannels,:]
spcFitLine = spcFitLine[listChannels,:]
spcFitLinedB = 10*numpy.log10(spcFitLine)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 zdB = 10*numpy.log10(z)
#thisDatetime = dataOut.datatime
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.getTimeRange()[0])
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 title = wintitle + " Doppler Spectra: %s" %(thisDatetime.strftime("%d-%b-%Y %H:%M:%S"))
xlabel = "Velocity (m/s)"
ylabel = "Spectrum"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 nplots = listChannels.size
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
showprofile=showprofile,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if xmin == None: xmin = numpy.nanmin(x)
if xmax == None: xmax = numpy.nanmax(x)
if ymin == None: ymin = numpy.nanmin(zdB)
if ymax == None: ymax = numpy.nanmax(zdB)+2
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.setWinTitle(title)
for i in range(self.nplots):
# title = "Channel %d: %4.2fdB" %(dataOut.channelList[i]+1, noisedB[i])
Miguel Valdez
Channel title was fixed in plots
r713 title = "Height %4.1f km\nChannel %d:" %(cutHeight, listChannels[i])
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 axes = self.axesList[i*self.__nsubplots]
if fit == False:
axes.pline(x, zdB[i,:],
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax,
xlabel=xlabel, ylabel=ylabel, title=title
)
if fit == True:
fitline=spcFitLinedB[i,:]
y=numpy.vstack([zdB[i,:],fitline] )
legendlabels=['Data','Fitting']
axes.pmultilineyaxis(x, y,
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax,
xlabel=xlabel, ylabel=ylabel, title=title,
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 legendlabels=legendlabels, marker=None,
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 linestyle='solid', grid='both')
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 class EWDriftsPlot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 __isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 WIDTHPROF = None
HEIGHTPROF = None
PREFIX = 'drift'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.timerange = 2*60*60
self.isConfig = False
self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.WIDTH = 800
self.HEIGHT = 150
self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.PLOT_CODE = EWDRIFT_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 self.tmin = None
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.tmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.xmin = None
self.xmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.figfile = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 ncol = 1
nrow = self.nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 def setup(self, id, nplots, wintitle, showprofile=True, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.__showprofile = showprofile
self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 ncolspan = 1
colspan = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 counter = 0
for y in range(nrow):
if counter >= self.nplots:
break
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
self.addAxes(nrow, ncol*ncolspan, y, 0, colspan, 1)
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 counter += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def run(self, dataOut, id, wintitle="", channelList=None,
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None,
zmaxVertical = None, zminVertical = None, zmaxZonal = None, zminZonal = None,
timerange=None, SNRthresh = -numpy.inf, SNRmin = None, SNRmax = None, SNR_1 = False,
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 save=False, figpath='./', lastone=0,figfile=None, ftp=False, wr_period=1, show=True,
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 server=None, folder=None, username=None, password=None,
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0):
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if timerange is not None:
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.timerange = timerange
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 tmin = None
tmax = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
-Functional HDF5 Format Writing and Reading Unit...
r804 x = dataOut.getTimeRange1(dataOut.outputInterval)
Julio Valdez
-Functional HDF5 file writer unit...
r543 # y = dataOut.heightList
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 y = dataOut.heightList
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 z = dataOut.data_output
nplots = z.shape[0] #Number of wind dimensions estimated
nplotsw = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 #If there is a SNR function defined
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if dataOut.data_SNR is not None:
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 nplots += 1
Julio Valdez
First Draft HDF5 IO module
r514 SNR = dataOut.data_SNR
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if SNR_1:
SNR += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 SNRavg = numpy.average(SNR, axis=0)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 SNRdB = 10*numpy.log10(SNR)
SNRavgdB = 10*numpy.log10(SNRavg)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 ind = numpy.where(SNRavg < 10**(SNRthresh/10))[0]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 for i in range(nplotsw):
z[i,ind] = numpy.nan
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
showprofile = False
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 # thisDatetime = dataOut.datatime
Julio Valdez
-Functional HDF5 file writer unit...
r543 thisDatetime = datetime.datetime.utcfromtimestamp(x[1])
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 title = wintitle + " EW Drifts"
xlabel = ""
ylabel = "Height (Km)"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
showprofile=showprofile,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug plotting RTI fixed for jroplot_heispectra, jroplot_parameters, jroplot_spectra
r567 self.xmin, self.xmax = self.getTimeLim(x, xmin, xmax, timerange)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if ymin == None: ymin = numpy.nanmin(y)
if ymax == None: ymax = numpy.nanmax(y)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if zmaxZonal == None: zmaxZonal = numpy.nanmax(abs(z[0,:]))
if zminZonal == None: zminZonal = -zmaxZonal
if zmaxVertical == None: zmaxVertical = numpy.nanmax(abs(z[1,:]))
if zminVertical == None: zminVertical = -zmaxVertical
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if dataOut.data_SNR is not None:
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if SNRmin == None: SNRmin = numpy.nanmin(SNRavgdB)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 if SNRmax == None: SNRmax = numpy.nanmax(SNRavgdB)
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.name = thisDatetime.strftime("%Y%m%d_%H%M%S")
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.setWinTitle(title)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if ((self.xmax - x[1]) < (x[1]-x[0])):
x[1] = self.xmax
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 strWind = ['Zonal','Vertical']
strCb = 'Velocity (m/s)'
zmaxVector = [zmaxZonal, zmaxVertical]
zminVector = [zminZonal, zminVertical]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 for i in range(nplotsw):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 title = "%s Drifts: %s" %(strWind[i], thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
axes = self.axesList[i*self.__nsubplots]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
z1 = z[i,:].reshape((1,-1))
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 axes.pcolorbuffer(x, y, z1,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=zminVector[i], zmax=zmaxVector[i],
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel=strCb, cbsize="1%", colormap="RdBu_r")
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if dataOut.data_SNR is not None:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 i += 1
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 if SNR_1:
title = "Signal Noise Ratio + 1 (SNR+1): %s" %(thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
else:
title = "Signal Noise Ratio (SNR): %s" %(thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
axes = self.axesList[i*self.__nsubplots]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 SNRavgdB = SNRavgdB.reshape((1,-1))
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 axes.pcolorbuffer(x, y, SNRavgdB,
xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax, zmin=SNRmin, zmax=SNRmax,
xlabel=xlabel, ylabel=ylabel, title=title, rti=True, XAxisAsTime=True,
ticksize=9, cblabel='', cbsize="1%", colormap="jet")
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
First Spectral Fitting and EW Drifts operative module inside Signal Chain TRUNK
r513 self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Bug fixed in RTI and Wind Profiler Plots, when data time exceeded the xmax, the new plot generated was overwriting the first one.
r509 if x[1] >= self.axesList[0].xmax:
self.counter_imagwr = wr_period
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.figfile = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 class PhasePlot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 __isConfig = None
__nsubplots = None
PREFIX = 'mphase'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Julio Valdez
data...
r608 self.timerange = 24*60*60
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Julio Valdez
data...
r608 self.__nsubplots = 1
self.counter_imagwr = 0
self.WIDTH = 600
self.HEIGHT = 300
self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.xdata = None
self.ydata = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.PLOT_CODE = MPHASE_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.filename_phase = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.figfile = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 ncol = 1
nrow = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 def setup(self, id, nplots, wintitle, showprofile=True, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.__showprofile = showprofile
self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 ncolspan = 7
colspan = 6
self.__nsubplots = 2
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH+self.WIDTHPROF,
heightplot = self.HEIGHT+self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.addAxes(nrow, ncol*ncolspan, 0, 0, colspan, 1)
def run(self, dataOut, id, wintitle="", pairsList=None, showprofile='True',
xmin=None, xmax=None, ymin=None, ymax=None,
timerange=None,
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 save=False, figpath='./', figfile=None, show=True, ftp=False, wr_period=1,
Julio Valdez
data...
r608 server=None, folder=None, username=None, password=None,
ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 tmin = None
tmax = None
Julio Valdez
-Functional HDF5 Format Writing and Reading Unit...
r804 x = dataOut.getTimeRange1(dataOut.outputInterval)
Julio Valdez
data...
r608 y = dataOut.getHeiRange()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 #thisDatetime = dataOut.datatime
Julio Valdez
Bug fixed when plot changed from one day to the next
r852 thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.ltctime)
Julio Valdez
data...
r608 title = wintitle + " Phase of Beacon Signal" # : %s" %(thisDatetime.strftime("%d-%b-%Y"))
xlabel = "Local Time"
ylabel = "Phase"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 #phase = numpy.zeros((len(pairsIndexList),len(dataOut.beacon_heiIndexList)))
phase_beacon = dataOut.data_output
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = False
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.nplots = phase_beacon.size
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.setup(id=id,
nplots=self.nplots,
wintitle=wintitle,
showprofile=showprofile,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Miguel Valdez
-Bug fixed: selecting channels and cross pairs...
r612 if timerange is not None:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 self.timerange = timerange
Julio Valdez
-timerange bug fix at Meteor Phase Plot...
r610 self.xmin, self.xmax = self.getTimeLim(x, xmin, xmax, timerange)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 if ymin == None: ymin = numpy.nanmin(phase_beacon) - 10.0
if ymax == None: ymax = numpy.nanmax(phase_beacon) + 10.0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.name = thisDatetime.strftime("%Y%m%d_%H%M%S")
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = True
Julio Valdez
data...
r608 self.figfile = figfile
self.xdata = numpy.array([])
self.ydata = numpy.array([])
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 #open file beacon phase
path = '%s%03d' %(self.PREFIX, self.id)
beacon_file = os.path.join(path,'%s.txt'%self.name)
self.filename_phase = os.path.join(figpath,beacon_file)
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 #store data beacon phase
#self.save_data(self.filename_phase, phase_beacon, thisDatetime)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.setWinTitle(title)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 title = "Phase Offset %s" %(thisDatetime.strftime("%Y/%m/%d %H:%M:%S"))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 legendlabels = ["phase %d"%(chan) for chan in numpy.arange(self.nplots)]
axes = self.axesList[0]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.xdata = numpy.hstack((self.xdata, x[0:1]))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 if len(self.ydata)==0:
self.ydata = phase_beacon.reshape(-1,1)
else:
self.ydata = numpy.hstack((self.ydata, phase_beacon.reshape(-1,1)))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 axes.pmultilineyaxis(x=self.xdata, y=self.ydata,
Julio Valdez
-timerange bug fix at Meteor Phase Plot...
r610 xmin=self.xmin, xmax=self.xmax, ymin=ymin, ymax=ymax,
Julio Valdez
data...
r608 xlabel=xlabel, ylabel=ylabel, title=title, legendlabels=legendlabels, marker='x', markersize=8, linestyle="solid",
XAxisAsTime=True, grid='both'
)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
data...
r608 self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Bug fixed when plot changed from one day to the next
r852 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime,
update_figfile=update_figfile)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Bug fixed when plot changed from one day to the next
r852 if dataOut.ltctime + dataOut.outputInterval >= self.xmax:
Julio Valdez
data...
r608 self.counter_imagwr = wr_period
Miguel Valdez
Bug fixed in jroplot_heispectra: Error when RTI creates a new graphic (lctime > Tmax)
r793 self.isConfig = False
Julio Valdez
Bug fixed in Sky Map and Phase Plots
r786 update_figfile = True
Julio Valdez
Bug fixed when plot changed from one day to the next
r852
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 class NSMeteorDetection1Plot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 WIDTHPROF = None
HEIGHTPROF = None
PREFIX = 'nsm'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 zminList = None
zmaxList = None
cmapList = None
titleList = None
nPairs = None
nChannels = None
nParam = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.isConfig = False
self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.WIDTH = 750
self.HEIGHT = 250
self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.PLOT_CODE = SPEC_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.__xfilter_ena = False
self.__yfilter_ena = False
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 ncol = 3
nrow = int(numpy.ceil(self.nplots/3.0))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 def setup(self, id, nplots, wintitle, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 ncolspan = 1
colspan = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 counter = 0
for y in range(nrow):
for x in range(ncol):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if counter >= self.nplots:
break
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan, colspan, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 counter += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 def run(self, dataOut, id, wintitle="", channelList=None, showprofile=True,
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 xmin=None, xmax=None, ymin=None, ymax=None, SNRmin=None, SNRmax=None,
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 vmin=None, vmax=None, wmin=None, wmax=None, mode = 'SA',
save=False, figpath='./', figfile=None, show=True, ftp=False, wr_period=1,
server=None, folder=None, username=None, password=None,
ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, realtime=False,
xaxis="frequency"):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
#SEPARAR EN DOS PLOTS
nParam = dataOut.data_param.shape[1] - 3
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
utctime = dataOut.data_param[0,0]
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 tmet = dataOut.data_param[:,1].astype(int)
hmet = dataOut.data_param[:,2].astype(int)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 x = dataOut.abscissaList
y = dataOut.heightList
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 z = numpy.zeros((nParam, y.size, x.size - 1))
z[:,:] = numpy.nan
z[:,hmet,tmet] = dataOut.data_param[:,3:].T
z[0,:,:] = 10*numpy.log10(z[0,:,:])
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 xlabel = "Time (s)"
ylabel = "Range (km)"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.ltctime)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 nplots = nParam
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if xmin is None: xmin = numpy.nanmin(x)
if xmax is None: xmax = numpy.nanmax(x)
if ymin is None: ymin = numpy.nanmin(y)
if ymax is None: ymax = numpy.nanmax(y)
if SNRmin is None: SNRmin = numpy.nanmin(z[0,:])
if SNRmax is None: SNRmax = numpy.nanmax(z[0,:])
if vmax is None: vmax = numpy.nanmax(numpy.abs(z[1,:]))
if vmin is None: vmin = -vmax
if wmin is None: wmin = 0
if wmax is None: wmax = 50
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 pairsList = dataOut.groupList
self.nPairs = len(dataOut.groupList)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 zminList = [SNRmin, vmin, cmin] + [pmin]*self.nPairs
zmaxList = [SNRmax, vmax, cmax] + [pmax]*self.nPairs
titleList = ["SNR","Radial Velocity","Coherence"]
cmapList = ["jet","RdBu_r","jet"]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 for i in range(self.nPairs):
strAux1 = "Phase Difference "+ str(pairsList[i][0]) + str(pairsList[i][1])
titleList = titleList + [strAux1]
cmapList = cmapList + ["RdBu_r"]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.zminList = zminList
self.zmaxList = zmaxList
self.cmapList = cmapList
self.titleList = titleList
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.isConfig = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 str_datetime = '%s %s'%(thisDatetime.strftime("%Y/%m/%d"),thisDatetime.strftime("%H:%M:%S"))
for i in range(nParam):
title = self.titleList[i] + ": " +str_datetime
axes = self.axesList[i]
axes.pcolor(x, y, z[i,:].T,
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, zmin=self.zminList[i], zmax=self.zmaxList[i],
xlabel=xlabel, ylabel=ylabel, title=title, colormap=self.cmapList[i],ticksize=9, cblabel='')
self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if figfile == None:
str_datetime = thisDatetime.strftime("%Y%m%d_%H%M%S")
name = str_datetime
if ((dataOut.azimuth!=None) and (dataOut.zenith!=None)):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 name = name + '_az' + '_%2.2f'%(dataOut.azimuth) + '_zn' + '_%2.2f'%(dataOut.zenith)
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 figfile = self.getFilename(name)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
thisDatetime=thisDatetime)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841
class NSMeteorDetection2Plot(Figure):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 isConfig = None
__nsubplots = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 WIDTHPROF = None
HEIGHTPROF = None
PREFIX = 'nsm'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 zminList = None
zmaxList = None
cmapList = None
titleList = None
nPairs = None
nChannels = None
nParam = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
def __init__(self, **kwargs):
Figure.__init__(self, **kwargs)
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.isConfig = False
self.__nsubplots = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.WIDTH = 750
self.HEIGHT = 250
self.WIDTHPROF = 120
self.HEIGHTPROF = 0
self.counter_imagwr = 0
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.PLOT_CODE = SPEC_CODE
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.FTP_WEI = None
self.EXP_CODE = None
self.SUB_EXP_CODE = None
self.PLOT_POS = None
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.__xfilter_ena = False
self.__yfilter_ena = False
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 def getSubplots(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 ncol = 3
nrow = int(numpy.ceil(self.nplots/3.0))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 return nrow, ncol
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 def setup(self, id, nplots, wintitle, show=True):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.nplots = nplots
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 ncolspan = 1
colspan = 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.createFigure(id = id,
wintitle = wintitle,
widthplot = self.WIDTH + self.WIDTHPROF,
heightplot = self.HEIGHT + self.HEIGHTPROF,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 nrow, ncol = self.getSubplots()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 counter = 0
for y in range(nrow):
for x in range(ncol):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if counter >= self.nplots:
break
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan, colspan, 1)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 counter += 1
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 def run(self, dataOut, id, wintitle="", channelList=None, showprofile=True,
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 xmin=None, xmax=None, ymin=None, ymax=None, SNRmin=None, SNRmax=None,
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 vmin=None, vmax=None, wmin=None, wmax=None, mode = 'SA',
save=False, figpath='./', figfile=None, show=True, ftp=False, wr_period=1,
server=None, folder=None, username=None, password=None,
ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, realtime=False,
xaxis="frequency"):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 Input:
dataOut :
id :
wintitle :
channelList :
showProfile :
xmin : None,
xmax : None,
ymin : None,
ymax : None,
zmin : None,
zmax : None
"""
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 #Rebuild matrix
utctime = dataOut.data_param[0,0]
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 cmet = dataOut.data_param[:,1].astype(int)
tmet = dataOut.data_param[:,2].astype(int)
hmet = dataOut.data_param[:,3].astype(int)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 nParam = 3
nChan = len(dataOut.groupList)
x = dataOut.abscissaList
y = dataOut.heightList
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 z = numpy.full((nChan, nParam, y.size, x.size - 1),numpy.nan)
z[cmet,:,hmet,tmet] = dataOut.data_param[:,4:]
z[:,0,:,:] = 10*numpy.log10(z[:,0,:,:]) #logarithmic scale
z = numpy.reshape(z, (nChan*nParam, y.size, x.size-1))
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 xlabel = "Time (s)"
ylabel = "Range (km)"
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 thisDatetime = datetime.datetime.utcfromtimestamp(dataOut.ltctime)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if not self.isConfig:
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 nplots = nParam*nChan
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.setup(id=id,
nplots=nplots,
wintitle=wintitle,
show=show)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if xmin is None: xmin = numpy.nanmin(x)
if xmax is None: xmax = numpy.nanmax(x)
if ymin is None: ymin = numpy.nanmin(y)
if ymax is None: ymax = numpy.nanmax(y)
if SNRmin is None: SNRmin = numpy.nanmin(z[0,:])
if SNRmax is None: SNRmax = numpy.nanmax(z[0,:])
if vmax is None: vmax = numpy.nanmax(numpy.abs(z[1,:]))
if vmin is None: vmin = -vmax
if wmin is None: wmin = 0
if wmax is None: wmax = 50
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.nChannels = nChan
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
zminList = []
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 zmaxList = []
titleList = []
cmapList = []
for i in range(self.nChannels):
strAux1 = "SNR Channel "+ str(i)
strAux2 = "Radial Velocity Channel "+ str(i)
strAux3 = "Spectral Width Channel "+ str(i)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 titleList = titleList + [strAux1,strAux2,strAux3]
cmapList = cmapList + ["jet","RdBu_r","jet"]
zminList = zminList + [SNRmin,vmin,wmin]
zmaxList = zmaxList + [SNRmax,vmax,wmax]
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.zminList = zminList
self.zmaxList = zmaxList
self.cmapList = cmapList
self.titleList = titleList
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.FTP_WEI = ftp_wei
self.EXP_CODE = exp_code
self.SUB_EXP_CODE = sub_exp_code
self.PLOT_POS = plot_pos
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.isConfig = True
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 str_datetime = '%s %s'%(thisDatetime.strftime("%Y/%m/%d"),thisDatetime.strftime("%H:%M:%S"))
for i in range(self.nplots):
title = self.titleList[i] + ": " +str_datetime
axes = self.axesList[i]
axes.pcolor(x, y, z[i,:].T,
xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, zmin=self.zminList[i], zmax=self.zmaxList[i],
xlabel=xlabel, ylabel=ylabel, title=title, colormap=self.cmapList[i],ticksize=9, cblabel='')
self.draw()
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 if figfile == None:
str_datetime = thisDatetime.strftime("%Y%m%d_%H%M%S")
name = str_datetime
if ((dataOut.azimuth!=None) and (dataOut.zenith!=None)):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 name = name + '_az' + '_%2.2f'%(dataOut.azimuth) + '_zn' + '_%2.2f'%(dataOut.zenith)
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 figfile = self.getFilename(name)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Julio Valdez
Parameters libraries reorganized, now each operation is a separated class
r841 self.save(figpath=figpath,
figfile=figfile,
save=save,
ftp=ftp,
wr_period=wr_period,
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897 thisDatetime=thisDatetime)