diff --git a/src/Model/Scenario.py b/src/Model/Scenario.py index 1be93176..321eaeac 100644 --- a/src/Model/Scenario.py +++ b/src/Model/Scenario.py @@ -16,6 +16,8 @@ # -*- coding: utf-8 -*- +import os + from tools import logger_exception from Model.Tools.PamhyrDB import SQLSubModel @@ -271,3 +273,13 @@ class Scenario(SQLSubModel): return self.parent return None + + def workdir(self): + srep = "" + if self.id != 0: + srep = os.path.join( + self.parent.workdir(), + "senario_" + str(self.id) + ) + + return srep diff --git a/src/View/RunSolver/Window.py b/src/View/RunSolver/Window.py index 15cb2169..3918f72d 100644 --- a/src/View/RunSolver/Window.py +++ b/src/View/RunSolver/Window.py @@ -191,17 +191,27 @@ class SolverLogWindow(PamhyrWindow): self._alarm.timeout.connect(self.update) def setup_workdir(self): + scenario = self._study.status.scenario + srep = scenario.workdir() + self._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) def setup_process(self): self._alarm.start(100)