mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
DB: Some fixes for db update 0.1.0.
This commit is contained in:
1 parent
bc157fcde7
commit
ce8c4ebd91
5 files changed
+101
-62
No files matched your search
+48
-9
@@ -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
|
||||
|
||||
Reference in new issue
Block a user