DB: Some fixes for db update 0.1.0.

This commit is contained in:
Pierre-Antoine Rouby committed 2024-08-09 10:16:19 +02:00
1 parent bc157fcde7
commit ce8c4ebd91
5 files changed
+101 -62

No files matched your search

+48 -9
View File
@@ -20,6 +20,7 @@ import os
import logging
import numpy as np
from itertools import chain
from tools import timer, trace, logger_exception
from Solver.CommandLine import CommandLineSolver
@@ -109,6 +110,46 @@ class Mage(CommandLineSolver):
# Export #
##########
_alph = list(
map(
chr,
chain(
range(48,58), # 0..9
range(65, 91), # A..Z
range(97, 123) # a..z
)
)
)
_l_alph = len(_alph)
def get_reach_name(self, reach):
return f"Reach_{reach.pamhyr_id:>3}".replace(" ", "0")
def get_node_name(self, node):
"""Generate a 3 char name from node pamhyr_id
Args:
node: The node
Returns:
A 3 char name string
"""
n = node.pamhyr_id
return "".join(
list(
map(
lambda i: self._alph[i % self._l_alph],
[
int(n/1000),
int(n/10),
n
]
)
)
)
def cmd_args(self, study):
lst = super(Mage, self).cmd_args(study)
@@ -251,7 +292,7 @@ class Mage(CommandLineSolver):
if bound.node is None:
continue
name = f"{bound.node.id:3}".replace(" ", "x")
name = self.get_node_name(bound.node)
f.write(f"* {bound.node.name} ({name}) {bound.bctype}\n")
f.write(f"${name}\n")
header = bound.header
@@ -448,7 +489,7 @@ class Mage(CommandLineSolver):
reservoir.sort()
node = reservoir.node
name = f"{node.id:3}".replace(" ", "x")
name = self.get_node_name(node)
f.write(f"* {node.name} ({name}) Reservoir\n")
f.write(f"${name}\n")
f.write(f"*{'Elev(m)':>9}|{'Area(ha)':>10}\n")
@@ -826,14 +867,13 @@ class Mage8(Mage):
edges = study.river.enable_edges()
for e in edges:
name = f"Reach_{e.pamhyr_id:>3}".replace(" ", "0")
id = name
name = self.get_reach_name(e)
n1 = self.get_node_name(e.node1)
n2 = self.get_node_name(e.node2)
n1 = f"{e.node1.id:3}".replace(" ", "x")
n2 = f"{e.node2.id:3}".replace(" ", "x")
file = os.path.join("net", name + ".ST")
f.write(f"{id} {n1} {n2} {file}\n")
f.write(f"{name} {n1} {n2} {file}\n")
return files
@@ -850,8 +890,7 @@ class Mage8(Mage):
files.append(f"{name}.QSO")
for bound in bounds:
# File header
name = f"{bound.node.id:3}".replace(" ", "x")
name = self.get_node_name(bound.node)
f.write(f"* {bound.node.name} ({name}) {bound.bctype}\n")
d50 = bound.d50