diff --git a/schainpy/model/graphics/jroplot_data.py b/schainpy/model/graphics/jroplot_data.py index 1e056db..e7aad89 100644 --- a/schainpy/model/graphics/jroplot_data.py +++ b/schainpy/model/graphics/jroplot_data.py @@ -47,6 +47,10 @@ class PlotData(Operation, Process): __MAXNUMX = 80 __missing = 1E30 + __attrs__ = ['show', 'save', 'xmin', 'xmax', 'ymin', 'ymax', 'zmin', 'zmax', + 'zlimits', 'xlabel', 'ylabel', 'cb_label', 'title', 'titles', 'colorbar', + 'bgcolor', 'width', 'height', 'localtime', 'oneFigure', 'showprofile'] + def __init__(self, **kwargs): Operation.__init__(self, plot=True, **kwargs) @@ -380,7 +384,7 @@ class PlotData(Operation, Process): [tick.set_visible(False) for tick in self.pf_axes[n].get_yticklabels()] if self.colorbar: - ax.cbar = plt.colorbar(ax.plt, ax=ax, fraction=0.1, pad=0.02, aspect=10) + ax.cbar = plt.colorbar(ax.plt, ax=ax, fraction=0.05, pad=0.02, aspect=10) ax.cbar.ax.tick_params(labelsize=8) ax.cbar.ax.press = None if self.cb_label: diff --git a/schainpy/model/io/jroIO_base.py b/schainpy/model/io/jroIO_base.py index ebb4ccd..90aab67 100644 --- a/schainpy/model/io/jroIO_base.py +++ b/schainpy/model/io/jroIO_base.py @@ -553,7 +553,10 @@ class JRODataIO: return dtype_width def getAllowedArgs(self): - return inspect.getargspec(self.run).args + if hasattr(self, '__attrs__'): + return self.__attrs__ + else: + return inspect.getargspec(self.run).args class JRODataReader(JRODataIO): diff --git a/schainpy/model/io/jroIO_bltr.py b/schainpy/model/io/jroIO_bltr.py index 4049dd2..6a1c6a5 100644 --- a/schainpy/model/io/jroIO_bltr.py +++ b/schainpy/model/io/jroIO_bltr.py @@ -513,10 +513,8 @@ class BLTRSpectraReader (ProcessingUnit, FileHeaderBLTR, RecordHeaderBLTR, JRODa self.dataOut = Spectra() self.profileIndex = 1 # Always self.dataOut.flagNoData = False - self.dataOut.nRdPairs = 0 - self.dataOut.pairsList = [] - self.dataOut.data_spc = None - self.dataOut.noise = [] + self.dataOut.nRdPairs = 0 + self.dataOut.data_spc = None self.dataOut.velocityX = [] self.dataOut.velocityY = [] self.dataOut.velocityV = [] diff --git a/schainpy/model/io/jroIO_mira35c.py b/schainpy/model/io/jroIO_mira35c.py index 684b106..5ecc67a 100644 --- a/schainpy/model/io/jroIO_mira35c.py +++ b/schainpy/model/io/jroIO_mira35c.py @@ -494,17 +494,14 @@ class MIRA35CReader (ProcessingUnit, FileHeaderMIRA35c, SRVIHeader, RecordHeader self.dataOut = Spectra() self.profileIndex = 1 # Always self.dataOut.flagNoData = False - self.dataOut.nRdPairs = 0 - self.dataOut.pairsList = [] - self.dataOut.data_spc = None - - self.dataOut.normFactor = 1 + self.dataOut.nRdPairs = 0 + self.dataOut.data_spc = None self.nextfileflag = True self.dataOut.RadarConst = 0 self.dataOut.HSDV = [] self.dataOut.NPW = [] self.dataOut.COFA = [] - self.dataOut.noise = 0 + # self.dataOut.noise = 0 def Files2Read(self, fp): ''' @@ -588,6 +585,7 @@ class MIRA35CReader (ProcessingUnit, FileHeaderMIRA35c, SRVIHeader, RecordHeader self.dataOut.noise = self.dataOut.getNoise() # print 'ACAAAAAA', self.dataOut.noise self.dataOut.data_spc = self.dataOut.data_spc + self.dataOut.noise + self.dataOut.normFactor = 1 # print 'self.dataOut.noise',self.dataOut.noise return self.dataOut.data_spc diff --git a/schainpy/model/proc/jroproc_base.py b/schainpy/model/proc/jroproc_base.py index 0a58e50..31873d6 100644 --- a/schainpy/model/proc/jroproc_base.py +++ b/schainpy/model/proc/jroproc_base.py @@ -71,7 +71,10 @@ class ProcessingUnit(object): checkKwargs(self.run, kwargs) def getAllowedArgs(self): - return inspect.getargspec(self.run).args + if hasattr(self, '__attrs__'): + return self.__attrs__ + else: + return inspect.getargspec(self.run).args def addOperationKwargs(self, objId, **kwargs): ''' @@ -318,7 +321,10 @@ class Operation(object): checkKwargs(self.run, kwargs) def getAllowedArgs(self): - return inspect.getargspec(self.run).args + if hasattr(self, '__attrs__'): + return self.__attrs__ + else: + return inspect.getargspec(self.run).args def setup(self): diff --git a/schainpy/model/utils/jroutils_publish.py b/schainpy/model/utils/jroutils_publish.py index 906688a..56d6163 100644 --- a/schainpy/model/utils/jroutils_publish.py +++ b/schainpy/model/utils/jroutils_publish.py @@ -250,6 +250,8 @@ class PublishData(Operation): Operation to send data over zmq. ''' + __attrs__ = ['host', 'port', 'delay', 'zeromq', 'mqtt', 'verbose'] + def __init__(self, **kwargs): """Inicio.""" Operation.__init__(self, **kwargs) @@ -434,6 +436,8 @@ class PublishData(Operation): class ReceiverData(ProcessingUnit): + __attrs__ = ['server'] + def __init__(self, **kwargs): ProcessingUnit.__init__(self, **kwargs) @@ -472,6 +476,7 @@ class ReceiverData(ProcessingUnit): class PlotterReceiver(ProcessingUnit, Process): throttle_value = 5 + __attrs__ = ['server', 'plottypes', 'realtime', 'localtime', 'throttle'] def __init__(self, **kwargs): diff --git a/schainpy/utils/paramsFinder.py b/schainpy/utils/paramsFinder.py index 3361134..0efaf1c 100644 --- a/schainpy/utils/paramsFinder.py +++ b/schainpy/utils/paramsFinder.py @@ -1,6 +1,5 @@ import schainpy from schainpy.model import Operation, ProcessingUnit -from importlib import import_module from pydoc import locate def clean_modules(module): @@ -11,17 +10,17 @@ def clean_modules(module): def check_module(possible, instance): def check(x): - try: + try: instancia = locate('schainpy.model.{}'.format(x)) return isinstance(instancia(), instance) except Exception as e: - return False + return False clean = clean_modules(possible) return [x for x in clean if check(x)] def getProcs(): - module = dir(import_module('schainpy.model')) + module = dir(schainpy.model) procs = check_module(module, ProcessingUnit) try: procs.remove('ProcessingUnit') @@ -30,7 +29,7 @@ def getProcs(): return procs def getOperations(): - module = dir(import_module('schainpy.model')) + module = dir(schainpy.model) noProcs = [x for x in module if not x.endswith('Proc')] operations = check_module(noProcs, Operation) try: @@ -53,7 +52,7 @@ def getArgs(op): return args def getAll(): - allModules = dir(import_module('schainpy.model')) + allModules = dir(schainpy.model) modules = check_module(allModules, Operation) modules.extend(check_module(allModules, ProcessingUnit)) return modules