Commit dc114f75 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Solver: Mage: Enable LC export.

No related merge requests found
Pipeline #54927 passed with stages
in 3 minutes and 20 seconds
Showing with 40 additions and 42 deletions
+40 -42
......@@ -147,14 +147,7 @@ class Mage(CommandLineSolver):
os.makedirs(os.path.join(repertory, "net"), exist_ok=True)
# Write header
edges = study.river.edges()
edges = list(
filter(
lambda e: e.is_enable(),
edges
)
)
edges = study.river.enable_edges()
for edge in edges:
name = f"Reach_{edge.id + 1:>3}".replace(" ", "0")
......@@ -308,40 +301,50 @@ class Mage(CommandLineSolver):
return files
# @timer
# def _export_LC(self, lateral, repertory, qlog, name="0"):
# files = []
# if qlog is not None:
# qlog.put(f"Export LAT file")
@timer
def _export_lateral_contrib(self, study, repertory, qlog, name="0"):
files = []
lst = study.river.lateral_contribution
# with mage_file_open(
# os.path.join(repertory, f"{name}.LAT"),
# "w+"
# ) as f:
# files.append(f"{name}.LAT")
with mage_file_open(
os.path.join(repertory, f"{name}.LAT"),
"w+"
) as f:
if qlog is not None:
qlog.put(f"Export LAT file")
files.append(f"{name}.LAT")
# 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 tab in ["liquid", "solid", "suspenssion"]:
for lateral in lst.get_tab(tab):
self._export_LC(study, lateral, f, qlog)
# for d in lateral.data:
# f.write(f"{d[0]:1{name}.3f}{d[1]:10.3f}\n")
return files
# return files
@timer
def _export_LC(self, study, lateral, f, qlog, name="0"):
edges = study.river.enable_edges()
if lateral.edge not in edges:
return
# @timer
# def _export_lateral_contrib(self, study, repertory, qlog, name="0"):
# files = []
# lst = study.river.lateral_contribution
eid, _ = next(
filter(
lambda e: e[1] == lateral.edge,
enumerate(edges)
)
)
# for tab in ["liquid", "solid", "suspenssion"]:
# for lateral in lst.get_tab(tab):
# files = files + self._export_LC(lateral, repertory, qlog)
name = f"{eid+1:>3}"
# name = f"Reach_{lateral.edge.id + 1:>3}".replace(" ", "0")
f.write(f"* {lateral.edge.name} ({name}) {lateral.lctype}\n")
f.write(f"${name} {lateral.begin_kp:>10.4f} {lateral.end_kp:>10.4f}\n")
header = lateral.header
f.write(f"*{header[0]:>9}|{header[1]:>10}\n")
# return files
for d in lateral.data:
if lateral.lctype in ["EV"]:
f.write(f"{d[0]:10.3f}{-d[1]:10.3f}\n")
else:
f.write(f"{d[0]:10.3f}{d[1]:10.3f}\n")
@timer
def _export_RUG(self, study, repertory, qlog, name="0"):
......@@ -821,13 +824,7 @@ class Mage8(Mage):
with mage_file_open(os.path.join(repertory, f"{name}.NET"), "w+") as f:
files.append(f"{name}.NET")
edges = study.river.edges()
edges = list(
filter(
lambda e: e.is_enable(),
edges
)
)
edges = study.river.enable_edges()
for e in edges:
name = f"Reach_{e.id + 1:>3}".replace(" ", "0")
......@@ -884,6 +881,7 @@ class Mage8(Mage):
self._export_RUG, self._export_INI,
self._export_SIN, self._export_VAR,
self._export_CAS, self._export_DEV,
self._export_lateral_contrib,
]
@timer
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment