diff --git a/schainpy/controller/__init__.py b/schainpy/controller/__init__.py new file mode 100644 index 0000000..352de00 --- /dev/null +++ b/schainpy/controller/__init__.py @@ -0,0 +1 @@ +import controller \ No newline at end of file diff --git a/schainpy/model/jrodata.py b/schainpy/model/jrodata.py index 429a5d4..d2c9596 100644 --- a/schainpy/model/jrodata.py +++ b/schainpy/model/jrodata.py @@ -79,7 +79,7 @@ class JROData: def isEmpty(self): - return flagNoData + return self.flagNoData class Voltage(JROData): diff --git a/schainpy/model/jrodataIO.py b/schainpy/model/jrodataIO.py index 86c0a7e..cd62d20 100644 --- a/schainpy/model/jrodataIO.py +++ b/schainpy/model/jrodataIO.py @@ -436,9 +436,6 @@ class JRODataReader(JRODataIO): if ext == None: ext = self.ext - if dataOut != None: - self.dataOut = dataOut - if online: print "Searching files in online mode..." doypath, file, year, doy, set = self.__searchFilesOnLine(path=path, expLabel=expLabel, ext=ext) diff --git a/schainpy/model/jroprocessing.py b/schainpy/model/jroprocessing.py index 654c120..1524f38 100644 --- a/schainpy/model/jroprocessing.py +++ b/schainpy/model/jroprocessing.py @@ -100,7 +100,7 @@ class ProcessingUnit: None """ - object = self.objectList[objId] + object = self.objectDict[objId] object.run(self.dataOut, **kwargs) @@ -366,7 +366,7 @@ class CohInt(Operation): def byProfiles(self, data): self.__dataReady = False - avg_data = None + avgdata = None nCohInt = None self.putData(data) @@ -376,12 +376,12 @@ class CohInt(Operation): avgdata, nCohInt = self.pushData() self.__dataReady = True - return avgdata, nCohInt + return avgdata def byTime(self, data, datatime): self.__dataReady = False - avg_data = None + avgdata = None nCohInt = None self.putData(data) @@ -391,7 +391,7 @@ class CohInt(Operation): self.nCohInt = nCohInt self.__dataReady = True - return avgdata, nCohInt + return avgdata def integrate(self, data, datatime=None): @@ -407,7 +407,7 @@ class CohInt(Operation): self.__lastdatatime = datatime if avgdata == None: - return None + return None, None avgdatatime = self.__initime @@ -428,8 +428,8 @@ class CohInt(Operation): avgdata, avgdatatime = self.integrate(dataOut.data, dataOut.utctime) -# self.dataOut.timeInterval *= nCohInt - self.dataOut.flagNoData = True +# dataOut.timeInterval *= nCohInt + dataOut.flagNoData = True if self.__dataReady: dataOut.data = avgdata diff --git a/schainpy/test4NewSignalChain.py b/schainpy/test4NewSignalChain.py new file mode 100644 index 0000000..4dce49b --- /dev/null +++ b/schainpy/test4NewSignalChain.py @@ -0,0 +1,78 @@ +""" +$Author$ +$Id$ + +""" +import datetime +from controller import * +from model import * + + +class Test(): + def __init__(self): + self.createObjects() + self.run() + + def createObjects(self): + + + + self.upConfig = controller.UPConf(id=1, name="voltageproc", type="voltage") + + opConf = self.upConfig.addOperation(name="init", priority=0) + + opConf1 = self.upConfig.addOperation(name="CohInt", priority=1, type="other") + + opConf1.addParameter(name="nCohInt", value=10) + + + opConf = self.upConfig.addOperation(name="selectChannels", priority=2) + + opConf.addParameter(name="channelList", value=[0,1]) + + + ######################################### + self.objR = jrodataIO.VoltageReader() + self.objP = jroprocessing.VoltageProc() + + self.objInt = jroprocessing.CohInt() + + self.objP.addOperation(self.objInt, opConf1.id) + + self.connect(self.objR, self.objP) + + def connect(self, obj1, obj2): + obj2.dataIn = obj1.dataOut + + def run(self): + + while(True): + self.objR.run(path="/Users/dsuarez/Remote/Meteors", + startDate=datetime.date(2012,1,1), + endDate=datetime.date(2012,12,30), + startTime=datetime.time(0,0,0), + endTime=datetime.time(23,59,59), + set=0, + expLabel = "", + ext = None, + online = False) + + for opConf in self.upConfig.getOperationObjList(): + kwargs={} + for parm in opConf.getParameterObjList(): + kwargs[parm.name]=parm.value + + self.objP.call(opConf,**kwargs) + + if self.objR.flagNoMoreFiles: + break + + if self.objR.flagIsNewBlock: + print 'Block No %04d, Time: %s' %(self.objR.nTotalBlocks, + datetime.datetime.fromtimestamp(self.objR.basicHeaderObj.utc + self.objR.basicHeaderObj.miliSecond/1000.0),) + + + + +if __name__ == "__main__": + Test() \ No newline at end of file