mirror of https://gitlab.com/pamhyr/pamhyr2
export mage SIN file
parent
d6753dc986
commit
07451899c4
|
|
@ -212,3 +212,15 @@ class Graph(object):
|
||||||
|
|
||||||
def is_enable_edge(self, edge):
|
def is_enable_edge(self, edge):
|
||||||
return edge._enable
|
return edge._enable
|
||||||
|
|
||||||
|
#def get_edge_id(self, reach):
|
||||||
|
# for i, e in enumerate(self.enable_edges):
|
||||||
|
# if e.id == reach.id:
|
||||||
|
# return i
|
||||||
|
|
||||||
|
def get_edge_id(self, reach):
|
||||||
|
return next(
|
||||||
|
filter(
|
||||||
|
lambda e: e[1].id == reach.id, enumerate(self.enable_edges)
|
||||||
|
)
|
||||||
|
)[0]
|
||||||
|
|
|
||||||
|
|
@ -374,13 +374,7 @@ class Mage(CommandLineSolver):
|
||||||
with mage_file_open(os.path.join(repertory, f"{name}.INI"), "w+") as f:
|
with mage_file_open(os.path.join(repertory, f"{name}.INI"), "w+") as f:
|
||||||
has_ini = False
|
has_ini = False
|
||||||
id = 1
|
id = 1
|
||||||
reachs = study.river.edges()
|
reachs = study.river.enable_edges()
|
||||||
reachs = list(
|
|
||||||
filter(
|
|
||||||
lambda e: e.is_enable(),
|
|
||||||
reachs
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# TODO put real date...
|
# TODO put real date...
|
||||||
f.write(f"$ date en minutes : 0.00\n")
|
f.write(f"$ date en minutes : 0.00\n")
|
||||||
|
|
@ -442,6 +436,29 @@ class Mage(CommandLineSolver):
|
||||||
|
|
||||||
return files
|
return files
|
||||||
|
|
||||||
|
@timer
|
||||||
|
def _export_SIN(self, study, repertory, qlog, name="0"):
|
||||||
|
files = []
|
||||||
|
|
||||||
|
hydraulic_structures = study.river.hydraulic_structures.lst
|
||||||
|
if len(hydraulic_structures) == 0:
|
||||||
|
return files
|
||||||
|
|
||||||
|
if qlog is not None:
|
||||||
|
qlog.put("Export SIN file")
|
||||||
|
|
||||||
|
with mage_file_open(os.path.join(repertory, f"{name}.SIN"), "w+") as f:
|
||||||
|
files.append(f"{name}.SIN")
|
||||||
|
|
||||||
|
for hs in hydraulic_structures:
|
||||||
|
if hs.reach.is_enable:
|
||||||
|
reach_id = study.river.get_edge_id(hs.reach)
|
||||||
|
params = [p.value for p in hs.basic_hydraulic_structure.param]
|
||||||
|
param_str = ' '.join([f'{p.value:>10.3f}' for p in hs.basic_hydraulic_structure.param])
|
||||||
|
f.write(f"{reach_id} {hs.kp:>12.3f} {params} {hs.name}\n")
|
||||||
|
|
||||||
|
return files
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def _export_REP(self, study, repertory, files, qlog, name="0"):
|
def _export_REP(self, study, repertory, files, qlog, name="0"):
|
||||||
if qlog is not None:
|
if qlog is not None:
|
||||||
|
|
@ -683,6 +700,7 @@ class Mage8(Mage):
|
||||||
self._export_bound_cond(study, repertory, qlog, name=name)
|
self._export_bound_cond(study, repertory, qlog, name=name)
|
||||||
files = files + self._export_RUG(study, repertory, qlog, name=name)
|
files = files + self._export_RUG(study, repertory, qlog, name=name)
|
||||||
files = files + self._export_INI(study, repertory, qlog, name=name)
|
files = files + self._export_INI(study, repertory, qlog, name=name)
|
||||||
|
files = files + self._export_SIN(study, repertory, qlog, name=name)
|
||||||
files = files + self._export_CAS(study, repertory, qlog, name=name)
|
files = files + self._export_CAS(study, repertory, qlog, name=name)
|
||||||
self._export_REP(study, repertory, files, qlog, name=name)
|
self._export_REP(study, repertory, files, qlog, name=name)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue