From 0b04e9cb067549bead11c8bec4031d6ce6a0e225 2012-02-08 16:49:46 From: Miguel Valdez Date: 2012-02-08 16:49:46 Subject: [PATCH] --- diff --git a/schainpy/Graphics/SpectraPlot.py b/schainpy/Graphics/SpectraPlot.py index 0df9a25..c868fdc 100644 --- a/schainpy/Graphics/SpectraPlot.py +++ b/schainpy/Graphics/SpectraPlot.py @@ -10,6 +10,11 @@ class Spectrum: showPowerProfile = True __szchar = 0.7 + __xrange = None + __yrange = None + __zrange = None + specObj = BasicGraph() + def __init__(self): @@ -175,13 +180,22 @@ class CrossSpectrum: showPowerProfile = True __szchar = 0.7 + __showPhase = False + __xrange = None + __yrange = None + __zrange = None + m_BasicGraph= BasicGraph() + def __init__(self): pass - - def setup(self): + + def setup(self, subpage, title, xlabel, ylabel, colormap, showColorbar, showPowerProfile): pass - - def plotData(self): + + def setRanges(self, xrange, yrange, zrange): + pass + + def plotData(self, data, xmin, xmax, ymin, ymax, zmin, zmax): pass if __name__ == '__main__': diff --git a/schainpy/Graphics/VoltagePlot.py b/schainpy/Graphics/VoltagePlot.py new file mode 100644 index 0000000..2d5b5c7 --- /dev/null +++ b/schainpy/Graphics/VoltagePlot.py @@ -0,0 +1,17 @@ +''' +Created on Feb 7, 2012 + +@author: roj-idl71 +''' + +class VoltagePlot(object): + ''' + classdocs + ''' + + + def __init__(self): + ''' + Constructor + ''' + pass \ No newline at end of file diff --git a/schainpy/IO/TestReader.py b/schainpy/IO/TestReader.py index e71911b..9a0a6ce 100644 --- a/schainpy/IO/TestReader.py +++ b/schainpy/IO/TestReader.py @@ -4,28 +4,31 @@ Created on 23/01/2012 @author: danielangelsuarezmunoz ''' -import VoltageReader +import Voltage import datetime import time -objReader = VoltageReader.VoltageReader() +objReader = Voltage.VoltageReader() -path = '/Users/danielangelsuarezmunoz/Documents/Projects' -startDateTime = datetime.datetime(2007,1,1,16,0,0) -endDateTime = datetime.datetime(2007,12,1,17,1,0) + +path = '/home/roj-idl71/Data/RAWDATA/DP_Faraday/' +startDateTime = datetime.datetime(2011,3,11,16,0,0) +endDateTime = datetime.datetime(2011,3,11,20,1,0) set = None expLabel = '' ext = '*.r' t0 = time.time() -objReader.setup(path, startDateTime, endDateTime, set, expLabel, ext) -print time.time() - t0 +objReader.setup(path, startDateTime, endDateTime) +#print time.time() - t0 while(not(objReader.noMoreFiles)): objReader.getData() +# if objReader.flagIsNewFile: +# print objReader.m_BasicHeader.dataBlock #print objReader.objStructShortHeader.dataBlock - #print time.localtime(objReader.objStructShortHeader.universalTime) + #print time.localtime(objReader.m_BasicHeader.utc) \ No newline at end of file diff --git a/schainpy/IO/Voltage.py b/schainpy/IO/Voltage.py index 482f4e9..25ed4d3 100644 --- a/schainpy/IO/Voltage.py +++ b/schainpy/IO/Voltage.py @@ -17,23 +17,23 @@ from Data import DataReader from Data import DataWriter path = os.path.split(os.getcwd())[0] -sys.path.append(os.path.join(path,"Model")) +sys.path.append(path) -from Voltage import Voltage +from Model.Voltage import Voltage class VoltageReader(DataReader): - __idFile = 0 + __idFile = None - __fp = 0 + __fp = None - __startDateTime = 0 + __startDateTime = None - __endDateTime = 0 + __endDateTime = None - __dataType = 0 + __dataType = None - __sizeOfFileByHeader = 0 + __fileSizeByHeader = 0 __pathList = [] @@ -51,9 +51,9 @@ class VoltageReader(DataReader): online = 0 - filename = '' + filename = None - fileSize = 0 + fileSize = None firstHeaderSize = 0 @@ -73,8 +73,11 @@ class VoltageReader(DataReader): __buffer_id = 9999 - def __init__(self, m_Voltage): + def __init__(self, m_Voltage = None): + if m_Voltage == None: + m_Voltage = Voltage() + self.m_Voltage = m_Voltage def __rdSystemHeader(self,fp=None): @@ -95,7 +98,9 @@ class VoltageReader(DataReader): self.m_ProcessingHeader.read(fp) - def __searchFiles(self,path, startDateTime, endDateTime, set=None, expLabel = "", ext = "*.r"): + def __searchFiles(self,path, startDateTime, endDateTime, set=None, expLabel = "", ext = ".r"): + + print "Searching files ..." startUtSeconds = time.mktime(startDateTime.timetuple()) endUtSeconds = time.mktime(endDateTime.timetuple()) @@ -106,50 +111,51 @@ class VoltageReader(DataReader): startDoy = startDateTime.timetuple().tm_yday endDoy = endDateTime.timetuple().tm_yday - rangeOfYears = range(startYear,endYear+1) + yearRange = range(startYear,endYear+1) - listOfListDoys = [] + doyDoubleList = [] if startYear == endYear: doyList = range(startDoy,endDoy+1) else: - for year in rangeOfYears: + for year in yearRange: if (year == startYear): - listOfListDoys.append(range(startDoy,365+1)) + doyDoubleList.append(range(startDoy,365+1)) elif (year == endYear): - listOfListDoys.append(range(1,endDoy+1)) + doyDoubleList.append(range(1,endDoy+1)) else: - listOfListDoys.append(range(1,365+1)) + doyDoubleList.append(range(1,365+1)) doyList = [] - for list in listOfListDoys: + for list in doyDoubleList: doyList = doyList + list - folders = [] + doyPathList = [] for thisPath in os.listdir(path): if os.path.isdir(os.path.join(path,thisPath)): - #folders.append(os.path.join(path,thisPath)) - folders.append(thisPath) + #doyPathList.append(os.path.join(path,thisPath)) + doyPathList.append(thisPath) pathList = [] - dicOfPath = {} - for year in rangeOfYears: + pathDict = {} + for year in yearRange: for doy in doyList: - tmp = fnmatch.filter(folders, 'D' + '%4.4d%3.3d' % (year,doy)) - if len(tmp) == 0: - continue + match = fnmatch.filter(doyPathList, 'D' + '%4.4d%3.3d' % (year,doy)) + if len(match) == 0: + match = fnmatch.filter(doyPathList, 'd' + '%4.4d%3.3d' % (year,doy)) + if len(match) == 0: continue if expLabel == '': - pathList.append(os.path.join(path,tmp[0])) - dicOfPath.setdefault(os.path.join(path,tmp[0])) - dicOfPath[os.path.join(path,tmp[0])] = [] + pathList.append(os.path.join(path,match[0])) + pathDict.setdefault(os.path.join(path,match[0])) + pathDict[os.path.join(path,match[0])] = [] else: - pathList.append(os.path.join(path,os.path.join(tmp[0],expLabel))) - dicOfPath.setdefault(os.path.join(path,os.path.join(tmp[0],expLabel))) - dicOfPath[os.path.join(path,os.path.join(tmp[0],expLabel))] = [] + pathList.append(os.path.join(path,os.path.join(match[0],expLabel))) + pathDict.setdefault(os.path.join(path,os.path.join(match[0],expLabel))) + pathDict[os.path.join(path,os.path.join(match[0],expLabel))] = [] filenameList = [] for thisPath in pathList: - fileList = glob.glob1(thisPath, ext) - #dicOfPath[thisPath].append(fileList) + fileList = glob.glob1(thisPath, "*%s" %ext) + #pathDict[thisPath].append(fileList) fileList.sort() for file in fileList: filename = os.path.join(thisPath,file) @@ -218,7 +224,7 @@ class VoltageReader(DataReader): tmp = 0 self.__dataType = tmp - self.__sizeOfFileByHeader = self.m_ProcessingHeader.dataBlocksPerFile * self.m_ProcessingHeader.blockSize + self.firstHeaderSize + self.basicHeaderSize*(self.m_ProcessingHeader.dataBlocksPerFile - 1) + self.__fileSizeByHeader = self.m_ProcessingHeader.dataBlocksPerFile * self.m_ProcessingHeader.blockSize + self.firstHeaderSize + self.basicHeaderSize*(self.m_ProcessingHeader.dataBlocksPerFile - 1) def __setNextFileOnline(self): return 0 @@ -265,6 +271,9 @@ class VoltageReader(DataReader): def __setNewBlock(self): + if self.__fp == None: + return 0 + if self.__flagIsNewFile: return 1 @@ -337,18 +346,18 @@ class VoltageReader(DataReader): self.readNextBlock() if self.noMoreFiles == 1: - print 'read finished' + print 'Process finished' return None data = self.__buffer[self.__buffer_id,:,:] time = 111 - self.m_Voltage.data = data - self.m_Voltage.timeProfile = time - self.m_Voltage.m_BasicHeader = self.m_BasicHeader.copy() - self.m_Voltage.m_ProcessingHeader = self.m_ProcessingHeader.copy() - self.m_Voltage.m_RadarControllerHeader = self.m_RadarControllerHeader.copy() - self.m_Voltage.m_SystemHeader = self.m_systemHeader.copy() +# self.m_Voltage.data = data +# self.m_Voltage.timeProfile = time +# self.m_Voltage.m_BasicHeader = self.m_BasicHeader.copy() +# self.m_Voltage.m_ProcessingHeader = self.m_ProcessingHeader.copy() +# self.m_Voltage.m_RadarControllerHeader = self.m_RadarControllerHeader.copy() +# self.m_Voltage.m_SystemHeader = self.m_systemHeader.copy() self.__buffer_id += 1 @@ -363,6 +372,8 @@ class VoltageReader(DataReader): pathList, filenameList = self.__searchFiles(path, startDateTime, endDateTime, set, expLabel, ext) if len(filenameList) == 0: + self.__fp = None + self.noMoreFiles = 1 print 'Do not exist files in range: %s - %s'%(startDateTime.ctime(), endDateTime.ctime()) return 0 diff --git a/schainpy/Model/Voltage.py b/schainpy/Model/Voltage.py index a8195e4..12c166f 100644 --- a/schainpy/Model/Voltage.py +++ b/schainpy/Model/Voltage.py @@ -3,6 +3,13 @@ Created on Feb 7, 2012 @author: roj-idl71 ''' +import os, sys + +path = os.path.split(os.getcwd())[0] +sys.path.append(path) + +from Model.Data import Data +from IO.Header import * class Voltage(Data): '''