From 05e70d40d0a331971c05f6880d6559bd52b88d47 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Mon, 26 Jun 2023 13:34:25 +0200 Subject: [PATCH] Mage: Get only enable edges for export files. --- src/Solver/Mage.py | 79 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 72 insertions(+), 7 deletions(-) diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py index b7ddba43..22e026d2 100644 --- a/src/Solver/Mage.py +++ b/src/Solver/Mage.py @@ -74,7 +74,15 @@ class Mage(AbstractSolver): qlog.put("Export ST file") # Write header - for edge in study.river.edges(): + edges = study.river.edges() + edges = list( + filter( + lambda e: e.is_enable(), + edges + ) + ) + + for edge in edges: name = edge.name.replace(" ", "_") if edge._name == "": name = f"Reach_{edge.id}" @@ -114,6 +122,8 @@ class Mage(AbstractSolver): t = "AVA" elif bound.bctype == "TD": t = "HYD" + elif bound.bctype == "TZ": + t = "LIM" else: return None @@ -134,7 +144,6 @@ class Mage(AbstractSolver): for d in bound.data: f.write(f"{d[0]:10.3f}{d[1]:10.3f}\n") - return files @timer @@ -148,6 +157,40 @@ class Mage(AbstractSolver): return files + # @timer + # def _export_LC(self, lateral, repertory, qlog): + # files = [] + + # if qlog is not None: + # qlog.put(f"Export LAT file") + + # with open(os.path.join(repertory, f"0.LAT"), "w+") as f: + # files.append(f"0.LAT") + + # f.write("* This file is generate by PAMHYR, please don't modify\n") + + # name = f"{lateral.node.id:3}".replace(" ", "x") + # f.write(f"* {lateral.node.name} ({name}) {lateral.bctype}\n") + # f.write(f"${name}\n") + # header = lateral.header + # f.write(f"*{header[0]:>9}|{header[1]:>10}\n") + + # for d in lateral.data: + # f.write(f"{d[0]:10.3f}{d[1]:10.3f}\n") + + # return files + + # @timer + # def _export_lateral_contrib(self, study, repertory, qlog): + # files = [] + # lst = study.river.lateral_contribution + + # for tab in ["liquid", "solid", "suspenssion"]: + # for lateral in lst.get_tab(tab): + # files = files + self._export_LC(lateral, repertory, qlog) + + # return files + @timer def _export_RUG(self, study, repertory, qlog): files = [] @@ -160,8 +203,15 @@ class Mage(AbstractSolver): files.append("0.RUG") f.write("* This file is generate by PAMHYR, please don't modify\n") - id = 1 edges = study.river.edges() + edges = list( + filter( + lambda e: e.is_enable(), + edges + ) + ) + + id = 1 for edge in edges: sections = edge.sections @@ -170,15 +220,16 @@ class Mage(AbstractSolver): bkp = f"{section.begin_kp:>10.3f}" ekp = f"{section.end_kp:>10.3f}" - if section.begin_kp != section.end_kp: - print("TODO") + # if section.begin_kp != section.end_kp: + # print("TODO") strickler = section.begin_strickler coef_1 = f"{strickler.minor:>10.3f}" coef_2 = f"{strickler.medium:>10.3f}" f.write(f"K{num} {bkp}{ekp}{coef_1}{coef_2}\n") - id += 1 + + id += 1 return files @@ -199,6 +250,14 @@ class Mage(AbstractSolver): id = 1 reachs = study.river.edges() + reachs = list( + filter( + lambda e: e.is_enable(), + reachs + ) + ) + + id = 1 for reach in reachs: cond = study.river.initial_conditions.get(reach) data = cond.data @@ -228,7 +287,6 @@ class Mage(AbstractSolver): f.write("confirmation=non\n") f.write("* This file is generate by PAMHYR, please don't modify\n") - edges = study.river.edges() for file in files: EXT = file.split('.')[1] @@ -322,6 +380,13 @@ class Mage8(Mage): f.write("* This file is generate by PAMHYR, please don't modify\n") edges = study.river.edges() + edges = list( + filter( + lambda e: e.is_enable(), + edges + ) + ) + for e in edges: name = e.name.replace(" ", "_") if e._name == "": -- GitLab