def _ioconditions(self, conditiondirectory, controldirectory, projectdirectory, loadflag): if loadflag: _conditiondirectory = pub.conditionmanager._loaddirectory else: _conditiondirectory = pub.conditionmanager._savedirectory _controldirectory = pub.controlmanager._controldirectory _projectdirectory = pub.conditionmanager._projectdirectory try: if projectdirectory: pub.conditionmanager.projectdirectory = projectdirectory if conditiondirectory: if loadflag: pub.conditionmanager.loaddirectory = conditiondirectory else: pub.conditionmanager.savedirectory = conditiondirectory if controldirectory: pub.controlmanager.controldirectory = controldirectory for (name, element) in magictools.progressbar(self.elements): if loadflag: element.model.sequences.loadconditions() else: element.model.sequences.saveconditions() finally: if loadflag: pub.conditionmanager._loaddirectory = _conditiondirectory else: pub.conditionmanager._savedirectory = _conditiondirectory pub.controlmanager._controldirectory = _controldirectory pub.conditionmanager._projectdirectory = _projectdirectory
def doit(self): idx_start, idx_end = self.simindices self.openfiles(idx_start) funcorder = self.funcorder for idx in magictools.progressbar(range(idx_start, idx_end)): for func in funcorder: func(idx) self.closefiles()
def _save_nodeseries(self, seqname, overwrite): for (name, node) in magictools.progressbar(self.nodes): seq = getattr(node.sequences, seqname) if seq.memoryflag: if overwrite or not os.path.exists(seq.filepath_ext): seq.save_ext() else: warnings.warn('Due to the argument `overwrite` beeing ' '`False` it is not allowed to overwrite ' 'the already existing file `%s`.' % seq.filepath_ext)
def _save_modelseries(self, name_subseqs, overwrite): for (name1, element) in magictools.progressbar(self.elements): sequences = element.model.sequences subseqs = getattr(sequences, name_subseqs, ()) for (name2, seq) in subseqs: if seq.memoryflag: if overwrite or not os.path.exists(seq.filepath_ext): seq.save_ext() else: warnings.warn('Due to the argument `overwrite` beeing ' '`False` it is not allowed to overwrite ' 'the already existing file `%s`.' % seq.filepath_ext)
def savecontrols(self, controldirectory=None, projectdirectory=None, parameterstep=None, simulationstep=None): _controldirectory = pub.controlmanager._controldirectory _projectdirectory = pub.controlmanager._projectdirectory try: if controldirectory: pub.controlmanager.controldirectory = controldirectory if projectdirectory: pub.controlmanager.projectdirectory = projectdirectory for (name, element) in magictools.progressbar(self.elements): element.model.parameters.savecontrols(parameterstep, simulationstep) finally: pub.controlmanager._controldirectory = _controldirectory pub.controlmanager._projectdirectory = _projectdirectory
def initmodels(self): warn = pub.options.warnsimulationstep pub.options.warnsimulationstep = False try: for (name, element) in magictools.progressbar(self.elements): try: element.initmodel() except IOError as exc: temp = 'While trying to load the control file' if ((temp in str(exc)) and pub.options.warnmissingcontrolfile): warnings.warn('No model could be initialized for ' 'element `%s`' % name) self.model = None else: objecttools.augmentexcmessage( 'While trying to initialize the model of ' 'element `%s`' % name) else: element.model.parameters.update() element.model.connect() finally: pub.options.warnsimulationstep = warn
def prepare_obsseries(self, ramflag=True): for (name, node) in magictools.progressbar(self.nodes): node.prepare_obsseries(ramflag)
def prepare_stateseries(self, ramflag=True): for (name, element) in magictools.progressbar(self.elements): element.prepare_stateseries(ramflag)