diff --git a/src/Solver/AdisTS.py b/src/Solver/AdisTS.py index e3eddc4c..76f063d3 100644 --- a/src/Solver/AdisTS.py +++ b/src/Solver/AdisTS.py @@ -164,11 +164,11 @@ class AdisTS(CommandLineSolver): return lst def input_param(self): - name = self._study.name + name = self._study.name.replace(" ", "_") return f"{name}.REP" def log_file(self): - name = self._study.name + name = self._study.name.replace(" ", "_") return f"{name}.TRA" def _export_ST(self, study, repertory, qlog, name="0"): diff --git a/src/View/RunSolver/WindowAdisTS.py b/src/View/RunSolver/WindowAdisTS.py index 450b2275..47c7c803 100644 --- a/src/View/RunSolver/WindowAdisTS.py +++ b/src/View/RunSolver/WindowAdisTS.py @@ -185,6 +185,9 @@ class SolverLogWindowAdisTS(PamhyrWindow): parent=parent ) + self._workdir = "" + self._workdir_mage = "" + self.setup_action() self.setup_alarm() self.setup_connections() @@ -227,17 +230,47 @@ class SolverLogWindowAdisTS(PamhyrWindow): self._alarm.timeout.connect(self.update) def setup_workdir(self): - self._workdir = "" + scenario = self._study.status.scenario + srep = scenario.workdir() + if self._study.filename == "": - self._workdir = tempfile.TemporaryDirectory() + self._workdir = os.path.join( + tempfile.TemporaryDirectory(), + srep + ) else: self._workdir = os.path.join( os.path.dirname(self._study.filename), "_PAMHYR_", self._study.name.replace(" ", "_"), self._solver.name.replace(" ", "_"), + srep ) - os.makedirs(self._workdir, exist_ok=True) + + logger.info(f"Create workdir: '{self._workdir}'") + os.makedirs(self._workdir, exist_ok=True) + + self.setup_mage_workdir() + + def setup_mage_workdir(self): + scenario = self._study.status.scenario + srep = scenario.workdir() + + if self._study.filename == "": + self._workdir_mage = os.path.join( + tempfile.TemporaryDirectory(), + srep + ) + else: + self._workdir_mage = os.path.join( + os.path.dirname(self._study.filename), + "_PAMHYR_", + self._study.name.replace(" ", "_"), + self._mage_rep.replace(" ", "_"), + srep + ) + + logger.info(f"Create workdir: '{self._workdir_mage}'") def setup_process(self): self._alarm.start(100) @@ -253,7 +286,8 @@ class SolverLogWindowAdisTS(PamhyrWindow): def export(self): self._log(f" *** Export study {self._solver.name}", color="blue") ok = self._solver.export( - self._study, self._workdir, self._mage_rep, qlog=self._output + self._study, self._workdir, self._workdir_mage, + qlog=self._output ) self.update() @@ -367,7 +401,8 @@ class SolverLogWindowAdisTS(PamhyrWindow): self._log(f" *** Export study {self._solver.name}", color="blue") ok = self._solver.export( - self._study, self._workdir, self._mage_rep, qlog=self._output + self._study, self._workdir, self._workdir_mage, + qlog=self._output ) if not ok: @@ -443,12 +478,7 @@ class SolverLogWindowAdisTS(PamhyrWindow): mage_solver = next(filter( lambda x: x._name == self._mage_rep, self._config.solvers )) - workdir_mage = os.path.join( - os.path.dirname(self._study.filename), - "_PAMHYR_", - self._study.name.replace(" ", "_"), - mage_solver.name.replace(" ", "_"), - ) + workdir_mage = self._workdir_mage def reading_fn(): self._results_mage = mage_solver.results(