From 4590ae2fa23221c7567b5cdc36a629b2eaefdc5f 2022-02-10 17:27:37 From: avaldezp Date: 2022-02-10 17:27:37 Subject: [PATCH] last commit --- diff --git a/schainpy/model/io/jroIO_param.py b/schainpy/model/io/jroIO_param.py index 0794c1a..9d5e3d0 100644 --- a/schainpy/model/io/jroIO_param.py +++ b/schainpy/model/io/jroIO_param.py @@ -357,6 +357,8 @@ class HDFWriter(Operation): last_Azipos = None last_Elepos = None mode = None + #----------------------- + Typename = None @@ -365,6 +367,17 @@ class HDFWriter(Operation): Operation.__init__(self) return + + def set_kwargs(self, **kwargs): + + for key, value in kwargs.items(): + setattr(self, key, value) + + def set_kwargs_obj(self,obj, **kwargs): + + for key, value in kwargs.items(): + setattr(obj, key, value) + def generalFlag(self): ####rint("GENERALFLAG") if self.mode== "weather": @@ -381,13 +394,21 @@ class HDFWriter(Operation): flag = True return flag - def setup(self, path=None, blocksPerFile=10, metadataList=None, dataList=None, setType=None, description=None): + def setup(self, path=None, blocksPerFile=10, metadataList=None, dataList=None, setType=None, description=None,type_data=None,**kwargs): self.path = path self.blocksPerFile = blocksPerFile self.metadataList = metadataList self.dataList = [s.strip() for s in dataList] - self.setType = setType + if self.mode == "weather": + self.setType = "weather" + #---------------------------------------- + self.set_kwargs(**kwargs) + self.set_kwargs_obj(self.dataOut,**kwargs) + #print("-----------------------------------------------------------",self.Typename) + #print("hola",self.ContactInformation) + self.description = description + self.type_data=type_data if self.metadataList is None: self.metadataList = self.dataOut.metadata_list @@ -443,14 +464,16 @@ class HDFWriter(Operation): return False def run(self, dataOut, path, blocksPerFile=10, metadataList=None, - dataList=[], setType=None, description={},mode= None): + dataList=[], setType=None, description={},mode= None,type_data=None,**kwargs): + ###print("VOY A ESCRIBIR----------------------") + #print("CHECKTHIS------------------------------------------------------------------*****---",**kwargs) self.dataOut = dataOut self.mode = mode if not(self.isConfig): self.setup(path=path, blocksPerFile=blocksPerFile, metadataList=metadataList, dataList=dataList, - setType=setType, description=description) + setType=setType, description=description,type_data=type_data,**kwargs) self.isConfig = True self.setNextFile() @@ -459,10 +482,11 @@ class HDFWriter(Operation): return def setNextFile(self): - + ###print("HELLO WORLD--------------------------------") ext = self.ext path = self.path setFile = self.setFile + type_data = self.type_data timeTuple = time.localtime(self.dataOut.utctime) subfolder = 'd%4.4d%3.3d' % (timeTuple.tm_year,timeTuple.tm_yday) @@ -487,6 +511,7 @@ class HDFWriter(Operation): os.makedirs(fullpath) setFile = -1 #inicializo mi contador de seteo + ###print("**************************",self.setType) if self.setType is None: setFile += 1 file = '%s%4.4d%3.3d%03d%s' % (self.optchar, @@ -494,6 +519,35 @@ class HDFWriter(Operation): timeTuple.tm_yday, setFile, ext ) + elif self.setType == "weather": + print("HOLA AMIGOS") + wr_exp = self.dataOut.wr_exp + if wr_exp== "PPI": + wr_type = 'E' + ang_ = numpy.mean(self.dataOut.elevation) + else: + wr_type = 'A' + ang_ = numpy.mean(self.dataOut.azimuth) + + wr_writer = '%s%s%2.1f%s'%('-', + wr_type, + ang_, + '-') + ###print("wr_writer********************",wr_writer) + file = '%s%4.4d%2.2d%2.2d%s%2.2d%2.2d%2.2d%s%s%s' % (self.optchar, + timeTuple.tm_year, + timeTuple.tm_mon, + timeTuple.tm_mday, + '-', + timeTuple.tm_hour, + timeTuple.tm_min, + timeTuple.tm_sec, + wr_writer, + type_data, + ext ) + ###print("FILENAME", file) + + else: setFile = timeTuple.tm_hour*60+timeTuple.tm_min file = '%s%4.4d%3.3d%04d%s' % (self.optchar, @@ -505,6 +559,7 @@ class HDFWriter(Operation): self.filename = os.path.join( path, subfolder, file ) #Setting HDF5 File + self.fp = h5py.File(self.filename, 'w') #write metadata self.writeMetadata(self.fp) @@ -615,7 +670,7 @@ class HDFWriter(Operation): return def putData(self): - ####print("**************************PUT DATA***************************************************") + ###print("**************************PUT DATA***************************************************") if (self.blockIndex == self.blocksPerFile) or self.timeFlag() or self.generalFlag(): self.closeFile() self.setNextFile() diff --git a/schainpy/model/proc/jroproc_parameters.py b/schainpy/model/proc/jroproc_parameters.py index 18add0a..a3ad21f 100755 --- a/schainpy/model/proc/jroproc_parameters.py +++ b/schainpy/model/proc/jroproc_parameters.py @@ -3913,11 +3913,12 @@ class WeatherRadar(Operation): Parameters affected: ''' isConfig = False + variableList = None def __init__(self): Operation.__init__(self) - def setup(self,dataOut,Pt=0,Gt=0,Gr=0,lambda_=0, aL=0, + def setup(self,dataOut,variableList= None,Pt=0,Gt=0,Gr=0,lambda_=0, aL=0, tauW= 0,thetaT=0,thetaR=0,Km =0): self.nCh = dataOut.nChannels self.nHeis = dataOut.nHeights @@ -3938,9 +3939,7 @@ class WeatherRadar(Operation): Numerator = ((4*numpy.pi)**3 * aL**2 * 16 *numpy.log(2)) Denominator = (Pt * Gt * Gr * lambda_**2 * SPEED_OF_LIGHT * tauW * numpy.pi*thetaT*thetaR) self.RadarConstant = Numerator/Denominator - '''-----------2 Reflectividad del Radar y Factor de Reflectividad------''' - self.n_radar = numpy.zeros((self.nCh,self.nHeis)) - self.Z_radar = numpy.zeros((self.nCh,self.nHeis)) + self.variableList= variableList def setMoments(self,dataOut,i): @@ -3960,19 +3959,48 @@ class WeatherRadar(Operation): data_param[:,2,:] = dataOut.data_WIDTH data_param[:,3,:] = dataOut.data_SNR - return data_param[:,i,:] + return data_param[:,i,:] + def getCoeficienteCorrelacionROhv_R(self.dataOut): + type = dataOut.inputUnit + nHeis = dataOut.nHeights + data_RhoHV_R = numpy.zeros((nHeis)) + if type == "Voltage": + powa = dataOut.dataPP_POWER[0] + powb = dataOut.dataPP_POWER[1] + ccf = dataOut.dataPP_CCF + avgcoherenceComplex = ccf / numpy.sqrt(powa * powb) + data_RhoHV_R = numpy.abs(avgcoherenceComplex) + if type == "Spectra": + data_RhoHV_R = dataOut.getCoherence() - def run(self,dataOut,Pt=25,Gt=200.0,Gr=50.0,lambda_=0.32, aL=2.5118, - tauW= 4.0e-6,thetaT=0.165,thetaR=0.367,Km =0.93): + return data_RhoHV_R - if not self.isConfig: - self.setup(dataOut= dataOut,Pt=25,Gt=200.0,Gr=50.0,lambda_=0.32, aL=2.5118, - tauW= 4.0e-6,thetaT=0.165,thetaR=0.367,Km =0.93) - self.isConfig = True + def getFasediferencialPhiD_P(self.dataOut,phase= True): + type = dataOut.inputUnit + nHeis = dataOut.nHeights + data_PhiD_P = numpy.zeros((nHeis)) + if type == "Voltage": + powa = dataOut.dataPP_POWER[0] + powb = dataOut.dataPP_POWER[1] + ccf = dataOut.dataPP_CCF + avgcoherenceComplex = ccf / numpy.sqrt(powa * powb) + if phase: + data_PhiD_P = numpy.arctan2(avgcoherenceComplex.imag, + avgcoherenceComplex.real) * 180 / numpy.pi + if type == "Spectra": + data_PhiD_P = dataOut.getCoherence(phase = phase) + + return data_PhiD_P + + def getReflectividad_D(self,dataOut): '''-----------------------------Potencia de Radar -Signal S-----------------------------''' + Pr = self.setMoments(dataOut,0) + '''-----------2 Reflectividad del Radar y Factor de Reflectividad------''' + self.n_radar = numpy.zeros((self.nCh,self.nHeis)) + self.Z_radar = numpy.zeros((self.nCh,self.nHeis)) for R in range(self.nHeis): self.n_radar[:,R] = self.RadarConstant*Pr[:,R]* (self.Range[:,R])**2 @@ -3981,10 +4009,37 @@ class WeatherRadar(Operation): '''----------- Factor de Reflectividad Equivalente lamda_ < 10 cm , lamda_= 3.2cm-------''' Zeh = self.Z_radar dBZeh = 10*numpy.log10(Zeh) - dataOut.factor_Zeh= dBZeh - self.n_radar = numpy.zeros((self.nCh,self.nHeis)) - self.Z_radar = numpy.zeros((self.nCh,self.nHeis)) + Zdb_D = dBZeh[0] - dBZeh[1] + return Zdb_D + + def getRadialVelocity_V(self,dataOut): + velRadial_V = self.setMoments(dataOut,1) + return velRadial_V + + def getAnchoEspectral_W(self,dataOut): + Sigmav_W = self.setMoments(dataOut,2) + return Sigmav_W + + + def run(self,dataOut,variableList=None,Pt=25,Gt=200.0,Gr=50.0,lambda_=0.32, aL=2.5118, + tauW= 4.0e-6,thetaT=0.165,thetaR=0.367,Km =0.93): + if not self.isConfig: + self.setup(dataOut= dataOut,variableList=None,Pt=25,Gt=200.0,Gr=50.0,lambda_=0.32, aL=2.5118, + tauW= 4.0e-6,thetaT=0.165,thetaR=0.367,Km =0.93) + self.isConfig = True + + for i in range(len(self.variableList)): + if self.variableList[i]=='ReflectividadDiferencial': + dataOut.Zdb_D =self.getReflectividad_D(dataOut=dataOut) + if self.variableList[i]=='FaseDiferencial': + dataOut.PhiD_P =self.getFasediferencialPhiD_P(dataOut=dataOut, phase=True) + if self.variableList[i] == "CoeficienteCorrelacion": + dataOut.RhoHV_R = self.getCoeficienteCorrelacionROhv_R(dataOut) + if self.variableList[i] =="VelocidadRadial": + dataOut.velRadial_V = self.getRadialVelocity_V(dataOut) + if self.variableList[i] =="AnchoEspectral": + dataOut.Sigmav_W = self.getAnchoEspectral_W(dataOut) return dataOut class PedestalInformation(Operation): @@ -4015,7 +4070,7 @@ class PedestalInformation(Operation): utc_ped_list.append(self.gettimeutcfromDirFilename(path=self.path_ped,file=list_pedestal[i])) nro_file,utc_ped,utc_ped_1 =self.getNROFile(utc_adq,utc_ped_list) - + ###print("NROFILE************************************", nro_file) if nro_file < 0: return numpy.NaN,numpy.NaN else: @@ -4092,7 +4147,7 @@ class PedestalInformation(Operation): c=0 #print(utc_adq) #print(len(utc_ped_list)) - #print(utc_ped_list) + ###print(utc_ped_list) for i in range(len(utc_ped_list)): if utc_adq>utc_ped_list[i]: #print("mayor") @@ -4111,11 +4166,13 @@ class PedestalInformation(Operation): pass #def setup(self,dataOut,path_ped,path_adq,t_Interval_p,n_Muestras_p,blocksPerfile,f_a_p,online): - def setup(self,dataOut,path_ped,t_Interval_p): + def setup(self,dataOut,path_ped,t_Interval_p,wr_exp): self.__dataReady = False self.path_ped = path_ped self.t_Interval_p = t_Interval_p self.list_pedestal = self.getfirstFilefromPath(path=self.path_ped,meta="PE",ext=".hdf5") + dataOut.wr_exp = wr_exp + def setNextFileP(self,dataOut): pass @@ -4129,17 +4186,20 @@ class PedestalInformation(Operation): def setNextFileonline(self): pass - def run(self, dataOut,path_ped,t_Interval_p): + def run(self, dataOut,path_ped,t_Interval_p,wr_exp): + ###print("INTEGRATION -----") if not self.isConfig: - self.setup(dataOut, path_ped,t_Interval_p) + self.setup(dataOut, path_ped,t_Interval_p,wr_exp) self.__dataReady = True self.isConfig = True #print("config TRUE") utc_adq = dataOut.utctime - ####print("utc_adq---------------",utc_adq) + ###print("utc_adq---------------",utc_adq) + list_pedestal = self.list_pedestal + #print("list_pedestal",list_pedestal) angulo,angulo_ele = self.getAnguloProfile(utc_adq=utc_adq,list_pedestal=list_pedestal) - ####print("angulo**********",angulo) + ###print("angulo**********",angulo) dataOut.flagNoData = False if numpy.isnan(angulo) or numpy.isnan(angulo_ele) : dataOut.flagNoData = True @@ -4200,6 +4260,8 @@ class Block360(Operation): self.__buffer3 = numpy.zeros(n) + + def putData(self,data,mode): ''' Add a profile to he __buffer and increase in one the __profiel Index diff --git a/schainpy/model/proc/jroproc_voltage.py b/schainpy/model/proc/jroproc_voltage.py index 2267b81..3b55957 100644 --- a/schainpy/model/proc/jroproc_voltage.py +++ b/schainpy/model/proc/jroproc_voltage.py @@ -1377,6 +1377,8 @@ class PulsePair(Operation): pair0 = self.__buffer*numpy.conj(self.__buffer) pair0 = pair0.real lag_0 = numpy.sum(pair0,1) + #-----------------Calculo de Cscp------------------------------ New + cspc_pair01 = self.__buffer[0]*__self.buffer[1] #------------------Calculo de Ruido x canal-------------------- self.noise = numpy.zeros(self.__nch) for i in range(self.__nch): @@ -1391,7 +1393,9 @@ class PulsePair(Operation): #------------------ P= S+N ,P=lag_0/N --------------------------------- #-------------------- Power -------------------------------------------------- data_power = lag_0/(self.n*self.nCohInt) - #------------------ Senal --------------------------------------------------- + #--------------------CCF------------------------------------------------------ + data_ccf =numpy.sum(cspc_pair01,axis=0)/(self.n*self.nCohInt) + #------------------ Senal -------------------------------------------------- data_intensity = pair0 - noise_buffer data_intensity = numpy.sum(data_intensity,axis=1)*(self.n*self.nCohInt)#*self.nCohInt) #data_intensity = (lag_0-self.noise*self.n)*(self.n*self.nCohInt) @@ -1431,7 +1435,7 @@ class PulsePair(Operation): self.__buffer = numpy.zeros((self.__nch, self.__nProf,self.__nHeis), dtype='complex') self.__profIndex = 0 - return data_power,data_intensity,data_velocity,data_snrPP,data_specwidth,n + return data_power,data_intensity,data_velocity,data_snrPP,data_specwidth,data_ccf,n def pulsePairbyProfiles(self,dataOut): @@ -1442,19 +1446,20 @@ class PulsePair(Operation): data_velocity = None data_specwidth = None data_snrPP = None + data_ccf = None self.putData(data=dataOut.data) if self.__profIndex == self.n: - data_power,data_intensity, data_velocity,data_snrPP,data_specwidth, n = self.pushData(dataOut=dataOut) + data_power,data_intensity, data_velocity,data_snrPP,data_specwidth,data_ccf, n = self.pushData(dataOut=dataOut) self.__dataReady = True - return data_power, data_intensity, data_velocity, data_snrPP, data_specwidth + return data_power, data_intensity, data_velocity, data_snrPP,data_specwidth,data_ccf def pulsePairOp(self, dataOut, datatime= None): if self.__initime == None: self.__initime = datatime - data_power, data_intensity, data_velocity, data_snrPP, data_specwidth = self.pulsePairbyProfiles(dataOut) + data_power, data_intensity, data_velocity, data_snrPP,data_specwidth,data_ccf = self.pulsePairbyProfiles(dataOut) self.__lastdatatime = datatime if data_power is None: @@ -1464,23 +1469,25 @@ class PulsePair(Operation): deltatime = datatime - self.__lastdatatime self.__initime = datatime - return data_power, data_intensity, data_velocity, data_snrPP, data_specwidth, avgdatatime + return data_power, data_intensity, data_velocity, data_snrPP,data_specwidth,data_ccf, avgdatatime def run(self, dataOut,n = None,removeDC= False, overlapping= False,**kwargs): if not self.isConfig: self.setup(dataOut = dataOut, n = n , removeDC=removeDC , **kwargs) self.isConfig = True - data_power, data_intensity, data_velocity,data_snrPP,data_specwidth, avgdatatime = self.pulsePairOp(dataOut, dataOut.utctime) + data_power, data_intensity, data_velocity,data_snrPP,data_specwidth,data_ccf, avgdatatime = self.pulsePairOp(dataOut, dataOut.utctime) dataOut.flagNoData = True if self.__dataReady: + ###print("READY ----------------------------------") dataOut.nCohInt *= self.n dataOut.dataPP_POW = data_intensity # S dataOut.dataPP_POWER = data_power # P valor que corresponde a POTENCIA MOMENTO dataOut.dataPP_DOP = data_velocity dataOut.dataPP_SNR = data_snrPP dataOut.dataPP_WIDTH = data_specwidth + dataOut.dataPP_CCF = data_ccf dataOut.PRFbyAngle = self.n #numero de PRF*cada angulo rotado que equivale a un tiempo. dataOut.nProfiles = int(dataOut.nProfiles/n) dataOut.utctime = avgdatatime diff --git a/schainpy/scripts/basic_proc00003.py b/schainpy/scripts/basic_proc00003.py index 856561b..1e06ae9 100644 --- a/schainpy/scripts/basic_proc00003.py +++ b/schainpy/scripts/basic_proc00003.py @@ -5,19 +5,25 @@ import os, sys import datetime import time import numpy +import json from ext_met import getfirstFilefromPath,getDatavaluefromDirFilename from schainpy.controller import Project #----------------------------------------------------------------------------------------- +# path_ped = "/DATA_RM/TEST_PEDESTAL/P20211110-171003" +## print("PATH PEDESTAL :",path_ped) + print("[SETUP]-RADAR METEOROLOGICO-") -path_ped = "/DATA_RM/TEST_PEDESTAL/P20211110-171003" +path_ped = "/DATA_RM/TEST_PEDESTAL/P20211111-173856" print("PATH PEDESTAL :",path_ped) -path_adq = "/DATA_RM/10" +path_adq = "/DATA_RM/11" print("PATH DATA :",path_adq) + + figpath_pp_rti = "/home/soporte/Pictures/TEST_PP_RTI" print("PATH PP RTI :",figpath_pp_rti) figpath_pp_ppi = "/home/soporte/Pictures/TEST_PP_PPI" print("PATH PP PPI :",figpath_pp_ppi) -path_pp_save_int = "/DATA_RM/TEST_SAVE_PP_INT" +path_pp_save_int = "/DATA_RM/TEST_NEW_FORMAT" print("PATH SAVE PP INT :",path_pp_save_int) print(" ") #------------------------------------------------------------------------------------------- @@ -54,19 +60,33 @@ n= int(1/(VEL*ipp_sec)) print("N° Profiles : ", n) #--------------------------------------------------------------------------------------- plot_rti = 0 -plot_ppi = 1 +plot_ppi = 0 integration = 1 -save = 0 +save = 1 #---------------------------RANGO DE PLOTEO---------------------------------- dBmin = '1' dBmax = '85' -xmin = '17' -xmax = '17.25' +xmin = '14' +xmax = '16' ymin = '0' ymax = '600' #---------------------------------------------------------------------------- time.sleep(3) #---------------------SIGNAL CHAIN ------------------------------------ +desc_wr= { + 'Data': { + 'dataPP_POW': 'Power', + 'utctime': 'Time', + 'azimuth': 'az', + 'elevation':'el' + }, + 'Metadata': { + 'heightList': 'range', + 'channelList': 'Channels' + } +} + + desc = "USRP_WEATHER_RADAR" filename = "USRP_processing.xml" controllerObj = Project() @@ -74,9 +94,9 @@ controllerObj.setup(id = '191', name='Test_USRP', description=desc) #---------------------UNIDAD DE LECTURA-------------------------------- readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', path=path_adq, - startDate="2021/11/10",#today, + startDate="2021/11/11",#today, endDate="2021/12/30",#today, - startTime='17:10:25', + startTime='17:39:17', endTime='23:59:59', delay=0, #set=0, @@ -111,7 +131,20 @@ if mode_proc==0: opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation') opObj11.addParameter(name='path_ped', value=path_ped) opObj11.addParameter(name='t_Interval_p', value='0.01', format='float') - + opObj11.addParameter(name='wr_exp', value='PPI') + #------------------------------------------------------------------------------ + ''' + opObj11.addParameter(name='Datatype', value='RadialSet') + opObj11.addParameter(name='Scantype', value='PPI') + opObj11.addParameter(name='Latitude', value='-11.96') + opObj11.addParameter(name='Longitud', value='-76.54') + opObj11.addParameter(name='Heading', value='293') + opObj11.addParameter(name='Height', value='293') + opObj11.addParameter(name='Waveform', value='OFM') + opObj11.addParameter(name='PRF', value='2000') + opObj11.addParameter(name='CreatedBy', value='WeatherRadarJROTeam') + opObj11.addParameter(name='ContactInformation', value='avaldez@igp.gob.pe') + ''' if plot_ppi==1: opObj11 = procUnitConfObjB.addOperation(name='Block360') opObj11.addParameter(name='n', value='10', format='int') @@ -125,9 +158,27 @@ if mode_proc==0: opObj10 = procUnitConfObjB.addOperation(name='HDFWriter') opObj10.addParameter(name='path',value=path_pp_save_int) opObj10.addParameter(name='mode',value="weather") + opObj10.addParameter(name='type_data',value='F') opObj10.addParameter(name='blocksPerFile',value='360',format='int') - opObj10.addParameter(name='metadataList',value='utctimeInit,timeZone,paramInterval,profileIndex,channelList,heightList,flagDataAsBlock',format='list') - opObj10.addParameter(name='dataList',value='dataPP_POW,dataPP_DOP,azimuth,elevation,utctime',format='list')#,format='list' + #opObj10.addParameter(name='metadataList',value='utctimeInit,paramInterval,channelList,heightList,flagDataAsBlock',format='list') + opObj10.addParameter(name='metadataList',value='heightList,channelList,Typename,Datatype,Scantype,Latitude,Longitud,Heading,Height,Waveform,PRF,CreatedBy,ContactInformation',format='list') + #-------------------- + opObj10.addParameter(name='Typename', value='Differential_Reflectivity') + opObj10.addParameter(name='Datatype', value='RadialSet') + opObj10.addParameter(name='Scantype', value='PPI') + opObj10.addParameter(name='Latitude', value='-11.96') + opObj10.addParameter(name='Longitud', value='-76.54') + opObj10.addParameter(name='Heading', value='293') + opObj10.addParameter(name='Height', value='293') + opObj10.addParameter(name='Waveform', value='OFM') + opObj10.addParameter(name='PRF', value='2000') + opObj10.addParameter(name='CreatedBy', value='WeatherRadarJROTeam') + opObj10.addParameter(name='ContactInformation', value='avaldez@igp.gob.pe') + #--------------------------------------------------- + #opObj10.addParameter(name='dataList',value='dataPP_POW,dataPP_DOP,azimuth,elevation,utctime',format='list')#,format='list' + #opObj10.addParameter(name='metadataList',value='utctimeInit,timeZone,paramInterval,profileIndex,channelList,heightList,flagDataAsBlock',format='list') + opObj10.addParameter(name='dataList',value='dataPP_POW,azimuth,elevation,utctime',format='list')#,format='list' + opObj10.addParameter(name='description',value=json.dumps(desc_wr)) controllerObj.start() diff --git a/schainpy/scripts/scripts/avp_001.py b/schainpy/scripts/scripts/avp_001.py new file mode 100644 index 0000000..f121c2b --- /dev/null +++ b/schainpy/scripts/scripts/avp_001.py @@ -0,0 +1,14 @@ +import numpy +a= numpy.array([0,1,2,3,4,5,10,11,12,18,19,20,21,22,23,24,25,26,27,28]) +print(a) +list=[] +list2=[] +for i in reversed(range(1,len(a))): + dif=int(a[i])-int(a[i-1]) + print(i,a[i],dif ) + if dif>1: + list.append(i-1) + list2.append(dif-1) +print("result") +print(list) +print(list2) diff --git a/schainpy/scripts/test_pdata.py b/schainpy/scripts/test_pdata.py new file mode 100644 index 0000000..1e259ab --- /dev/null +++ b/schainpy/scripts/test_pdata.py @@ -0,0 +1,44 @@ +#!/usr/bin/python + +from schainpy.controller import Project + +path ="/home/soporte/Downloads/" + +prj = Project() + +read_unit = prj.addReadUnit( + datatype='Spectra', + path=path, + startDate='2013/01/01', + endDate='2013/12/31', + startTime='00:00:00', + endTime='23:59:59', + online=0, + walk=0 + ) + +proc_unit = prj.addProcUnit( + datatype='Spectra', + inputId=read_unit.getId() + ) + + +op = proc_unit.addOperation(name='IncohInt') +op.addParameter(name='n', value='2') + +op = proc_unit.addOperation(name='selectChannels') +op.addParameter(name='channelList', value='0,1') + +op = proc_unit.addOperation(name='selectHeights') +op.addParameter(name='minHei', value='80') +op.addParameter(name='maxHei', value='200') + +#op = proc_unit.addOperation(name='removeDC') + +op = proc_unit.addOperation(name='SpectraPlot') +op.addParameter(name='wintitle', value='Spectra', format='str') + +op = proc_unit.addOperation(name='RTIPlot') +op.addParameter(name='wintitle', value='RTI', format='str') + +prj.start() diff --git a/schainpy/scripts/test_rdata.py b/schainpy/scripts/test_rdata.py new file mode 100644 index 0000000..6f7c530 --- /dev/null +++ b/schainpy/scripts/test_rdata.py @@ -0,0 +1,55 @@ +#!/usr/bin/python + +from schainpy.controller import Project + +path ="/home/soporte/Downloads/" + +prj = Project() + +read_unit = prj.addReadUnit( + datatype='Voltage', + path=path, + startDate='2015/01/01', + endDate='2015/12/31', + startTime='00:00:00', + endTime='23:59:59', + online=0, + walk=0 + ) + +proc_unit1 = prj.addProcUnit( + datatype='Voltage', + inputId=read_unit.getId() + ) + +#op = proc_unit1.addOperation(name='ProfileSelector') +#op.addParameter( name='rangeList', value="(0,19),(100,119)") + +op = proc_unit1.addOperation(name='MyAverage') +op.addParameter(name='n', value='10') + +#op = proc_unit1.addOperation(name='CohInt') +#op.addParameter(name='n', value='10') + +#op = proc_unit1.addOperation(name='Decoder') +#op.addParameter(name='times', value='10') + + +op = proc_unit1.addOperation(name='ScopePlot') +op.addParameter(name='wintitle', value='Scope', format='str') + +''' +proc_unit2 = prj.addProcUnit( + datatype='Spectra', + inputId=proc_unit1.getId() + ) +proc_unit2.addParameter(name='nFFTPoints', value='64') + + +op = proc_unit2.addOperation(name='SpectraPlot') +op.addParameter(name='wintitle', value='Spectra', format='str') + +op = proc_unit2.addOperation(name='RTIPlot') +op.addParameter(name='wintitle', value='RTI', format='str') +''' +prj.start()