diff --git a/src/Checker/Adists.py b/src/Checker/Adists.py new file mode 100644 index 0000000000000000000000000000000000000000..36dce3490fedc914a809ac2c6b5bb93ad0f3c940 --- /dev/null +++ b/src/Checker/Adists.py @@ -0,0 +1,51 @@ +# Adists.py -- Pamhyr study checkers +# Copyright (C) 2023-2024 INRAE +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# -*- coding: utf-8 -*- + +import time +import logging +from functools import reduce + +from PyQt5.QtCore import QCoreApplication + +from Modules import Modules +from Checker.Checker import AbstractModelChecker, STATUS + +_translate = QCoreApplication.translate + +logger = logging.getLogger() + +class AdistsOutputKpChecker(AbstractModelChecker): + def __init__(self): + super(AdistsOutputKpChecker, self).__init__() + + self._name = _translate("Checker", "AdisTS output Kp checker") + self._description = _translate( + "Checker", "Check output Kp" + ) + self._modules = Modules.OUTPUT_KP + + def run(self, study): + ok = True + nerror = 0 + self._summary = "ok" + self._status = STATUS.OK + + if not self.basic_check(study): + return False + + return ok diff --git a/src/Modules.py b/src/Modules.py index f8ed5b65d8cfeb67004cffe205de6e06dcc9c910..bc02b6c68ebb7005ad06a6d0f07ff8b91d318e82 100644 --- a/src/Modules.py +++ b/src/Modules.py @@ -54,6 +54,7 @@ class Modules(IterableFlag): RESERVOIR = auto() SEDIMENT_LAYER = auto() ADDITIONAL_FILES = auto() + OUTPUT_KP = auto() # Results RESULTS = auto() @@ -77,6 +78,7 @@ class Modules(IterableFlag): cls.ADDITIONAL_FILES, cls.RESULTS, cls.WINDOW_LIST, + cls.OUTPUT_KP, ] @classmethod diff --git a/src/Solver/AdisTS.py b/src/Solver/AdisTS.py index e60fcde8f2a21bd7e9110ade51c2eb464efa5c97..f135d438fca4787bdd299305452e565823ce6262 100644 --- a/src/Solver/AdisTS.py +++ b/src/Solver/AdisTS.py @@ -27,6 +27,10 @@ from Solver.CommandLine import CommandLineSolver from Model.Results.Results import Results from Model.Results.River.River import River, Reach, Profile +from Checker.Adists import ( + AdistsOutputKpChecker, +) + logger = logging.getLogger() def adists_file_open(filepath, mode): @@ -72,6 +76,14 @@ class AdisTS(CommandLineSolver): return lst + @classmethod + def checkers(cls): + lst = [ + AdistsOutputKpChecker(), + ] + + return lst + def cmd_args(self, study): lst = super(AdisTS, self).cmd_args(study) return lst