def fetch(self, sim="current", type="default", unit="default"): if sim=="current": sim=SimBuffer.get_current_sim() elif isinstance(sim,int): sim=SimBuffer.get_sim_no(sim) iterator = SimBuffer.get_sim_iterator(sim) results = map(lambda snap: self._function(snap,type=type,unit=unit,**self._kwargs),iterator) if isinstance(results[0],list) or isinstance(results[0],tuple): results_zipped = zip(*results) values = np.asarray(results_zipped[1]) return results_zipped[0][0], values, results_zipped[2][0], results_zipped[3][0] else: values=np.asarray(results) if isinstance(self.scaling_factor,basestring): try: unitobj=getattr(sim.simunits, self.scaling_factor) if unit=="default": unit=unitobj.outunit scaling_factor=unitobj.OutputScale(unit) self.unitinfo.name=unit self.unitinfo.label=unitobj.LatexLabel(unit) except AttributeError: raise AttributeError("Sorry, we do not know the unit " + self.scaling_factor) else: scaling_factor=float(self.scaling_factor) self.unitinfo.label=self.unitlabel self.unitinfo.name=self.unitname return self.unitinfo, values, scaling_factor, self.label
def fetch(self, sim="current", type="default", unit="default"): if sim=="current": sim=SimBuffer.get_current_sim() elif isinstance(sim,int): sim=SimBuffer.get_sim_no(sim) iterator = SimBuffer.get_sim_iterator(sim) results = map(lambda snap: self._function(snap,*self._args,type=type,unit=unit,**self._kwargs),iterator) results_zipped = zip(*results) values = np.asarray(results_zipped[1]) return results_zipped[0][0], values, results_zipped[2][0], results_zipped[3][0]
def fetch(self,type="default", snap="current", unit="default"): if snap=="current": snap=SimBuffer.get_current_snapshot() data=self._function(snap,type=type,unit=unit,**self._kwargs) print data if isinstance(data,list) or isinstance(data,tuple): return data else: if isinstance(self.scaling_factor,basestring): try: unitobj=getattr(snap.sim.simunits, self.scaling_factor) if unit=="default": unit=unitobj.outunit scaling_factor=unitobj.OutputScale(unit) self.unitinfo.name=unit self.unitinfo.label=unitobj.LatexLabel(unit) except AttributeError: raise AttributeError("Sorry, we do not know the unit " + self.scaling_factor) else: scaling_factor=float(self.scaling_factor) self.unitinfo.label=self.unitlabel self.unitinfo.name=self.unitname return self.unitinfo, data, scaling_factor, self.label
def get_sim_and_snap(self): '''Retrieves from the buffer the desired sim and snap''' sim = self.get_sim() snap = SimBuffer.get_snapshot_extended(sim, self.snap) if (self.snap=="current" and sim.snapshots==[]): self.snap = "live" return sim, snap
def fetch(self, type="default", snap="current", unit="default"): if snap == "current": snap = SimBuffer.get_current_snapshot() data = self._function(snap, type=type, unit=unit, **self._kwargs) print data if isinstance(data, list) or isinstance(data, tuple): return data else: if isinstance(self.scaling_factor, basestring): try: unitobj = getattr(snap.sim.simunits, self.scaling_factor) if unit == "default": unit = unitobj.outunit scaling_factor = unitobj.OutputScale(unit) self.unitinfo.name = unit self.unitinfo.label = unitobj.LatexLabel(unit) except AttributeError: raise AttributeError("Sorry, we do not know the unit " + self.scaling_factor) else: scaling_factor = float(self.scaling_factor) self.unitinfo.label = self.unitlabel self.unitinfo.name = self.unitname return self.unitinfo, data, scaling_factor, self.label
def get_sim_and_snap(self): '''Retrieves from the buffer the desired sim and snap''' sim = self.get_sim() snap = SimBuffer.get_snapshot_extended(sim, self.snap) if (self.snap == "current" and sim.snapshots == []): self.snap = "live" return sim, snap
def fetch(self, type="default", snap="current", unit="default"): if snap=="current": snap=SimBuffer.get_current_snapshot() kind = check_requested_quantity(self._quantity, snap) if kind != "direct": raise Exception ("Error: the quantity" + quantity + " is not a direct quantity!") return snap.ExtractArray(self._quantity, type, unit) + [self.quantitylabels[self._quantity]]
def get_sim(self): '''Retrieves from the buffer the desidered sim''' sim = SimBuffer.get_sim_no(self.sim) if not sim.setup: raise Exception("""Error: this simulation has not been set up! / If you have set all the relevant parameters initial conditions, / please run the setupsim command to set it up.""") return sim
def fetch(self, type="default", snap="current", unit="default"): if snap == "current": snap = SimBuffer.get_current_snapshot() kind = check_requested_quantity(self._quantity, snap) if kind != "direct": raise Exception("Error: the quantity" + quantity + " is not a direct quantity!") return snap.ExtractArray(self._quantity, type, unit) + [self.quantitylabels[self._quantity]]
def fetch(self, sim="current", type="default", unit="default"): if sim == "current": sim = SimBuffer.get_current_sim() elif isinstance(sim, int): sim = SimBuffer.get_sim_no(sim) iterator = SimBuffer.get_sim_iterator(sim) results = map( lambda snap: self._function( snap, type=type, unit=unit, **self._kwargs), iterator) if isinstance(results[0], list) or isinstance(results[0], tuple): results_zipped = zip(*results) values = np.asarray(results_zipped[1]) return results_zipped[0][0], values, results_zipped[2][ 0], results_zipped[3][0] else: values = np.asarray(results) if isinstance(self.scaling_factor, basestring): try: unitobj = getattr(sim.simunits, self.scaling_factor) if unit == "default": unit = unitobj.outunit scaling_factor = unitobj.OutputScale(unit) self.unitinfo.name = unit self.unitinfo.label = unitobj.LatexLabel(unit) except AttributeError: raise AttributeError("Sorry, we do not know the unit " + self.scaling_factor) else: scaling_factor = float(self.scaling_factor) self.unitinfo.label = self.unitlabel self.unitinfo.name = self.unitname return self.unitinfo, values, scaling_factor, self.label
def fetch(self, type="default", snap="current", unit="default"): if snap=="current": snap=SimBuffer.get_current_snapshot() result = evaluateStack(list(self._stack), type, snap) if isinstance(self.scaling_factor,basestring): try: unitobj=getattr(snap.sim.simunits, self.scaling_factor) if unit=="default": unit=unitobj.outunit scaling_factor=unitobj.OutputScale(unit) self.unitinfo.name=unit self.unitinfo.label=unitobj.LatexLabel(unit) except AttributeError: raise AttributeError("Sorry, we do not know the unit " + self.scaling_factor) else: scaling_factor=float(self.scaling_factor) return self.unitinfo, result, scaling_factor, self.label
def fetch(self, type="default", snap="current", unit="default"): if snap == "current": snap = SimBuffer.get_current_snapshot() result = evaluateStack(list(self._stack), type, snap) if isinstance(self.scaling_factor, basestring): try: unitobj = getattr(snap.sim.simunits, self.scaling_factor) if unit == "default": unit = unitobj.outunit scaling_factor = unitobj.OutputScale(unit) self.unitinfo.name = unit self.unitinfo.label = unitobj.LatexLabel(unit) except AttributeError: raise AttributeError("Sorry, we do not know the unit " + self.scaling_factor) else: scaling_factor = float(self.scaling_factor) return self.unitinfo, result, scaling_factor, self.label