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):
|
||||
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:
|
||||
has_ini = False
|
||||
id = 1
|
||||
reachs = study.river.edges()
|
||||
reachs = list(
|
||||
filter(
|
||||
lambda e: e.is_enable(),
|
||||
reachs
|
||||
)
|
||||
)
|
||||
reachs = study.river.enable_edges()
|
||||
|
||||
# TODO put real date...
|
||||
f.write(f"$ date en minutes : 0.00\n")
|
||||
|
|
@ -442,6 +436,29 @@ class Mage(CommandLineSolver):
|
|||
|
||||
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
|
||||
def _export_REP(self, study, repertory, files, qlog, name="0"):
|
||||
if qlog is not None:
|
||||
|
|
@ -683,6 +700,7 @@ class Mage8(Mage):
|
|||
self._export_bound_cond(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_SIN(study, repertory, qlog, name=name)
|
||||
files = files + self._export_CAS(study, repertory, qlog, name=name)
|
||||
self._export_REP(study, repertory, files, qlog, name=name)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue