mirror of https://gitlab.com/pamhyr/pamhyr2
Mage: Add REP file export.
parent
573a3fca2b
commit
8149d0e6f7
|
|
@ -54,7 +54,9 @@ class Mage(AbstractSolver):
|
||||||
##########
|
##########
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def _export_ST(self, study, repertory, qlog = None):
|
def _export_ST(self, study, repertory, qlog):
|
||||||
|
files = []
|
||||||
|
|
||||||
if qlog is not None:
|
if qlog is not None:
|
||||||
qlog.put("Export ST file")
|
qlog.put("Export ST file")
|
||||||
|
|
||||||
|
|
@ -63,6 +65,7 @@ class Mage(AbstractSolver):
|
||||||
name = f"Reach_{edge.id}"
|
name = f"Reach_{edge.id}"
|
||||||
|
|
||||||
with open(os.path.join(repertory, f"{name}.ST"), "w+") as f:
|
with open(os.path.join(repertory, f"{name}.ST"), "w+") as f:
|
||||||
|
files.append(f"{name}.ST")
|
||||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||||
|
|
||||||
for profile in edge.reach.profiles:
|
for profile in edge.reach.profiles:
|
||||||
|
|
@ -87,7 +90,11 @@ class Mage(AbstractSolver):
|
||||||
|
|
||||||
f.write("* END OF FILE")
|
f.write("* END OF FILE")
|
||||||
|
|
||||||
def _export_BC(self, bound, repertory, qlog = None):
|
return files
|
||||||
|
|
||||||
|
def _export_BC(self, bound, repertory, qlog):
|
||||||
|
files = []
|
||||||
|
|
||||||
t = "XX"
|
t = "XX"
|
||||||
if bound.bctype == "ZD":
|
if bound.bctype == "ZD":
|
||||||
t = "AVA"
|
t = "AVA"
|
||||||
|
|
@ -100,6 +107,8 @@ class Mage(AbstractSolver):
|
||||||
qlog.put(f"Export {t} file")
|
qlog.put(f"Export {t} file")
|
||||||
|
|
||||||
with open(os.path.join(repertory, f"0.{t}"), "w+") as f:
|
with open(os.path.join(repertory, f"0.{t}"), "w+") as f:
|
||||||
|
files.append(f"0.{t}")
|
||||||
|
|
||||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||||
|
|
||||||
name = f"{bound.node.id:3}".replace(" ", "x")
|
name = f"{bound.node.id:3}".replace(" ", "x")
|
||||||
|
|
@ -113,22 +122,29 @@ class Mage(AbstractSolver):
|
||||||
|
|
||||||
f.write("* END OF FILE")
|
f.write("* END OF FILE")
|
||||||
|
|
||||||
|
return files
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def _export_bound_cond(self, study, repertory, qlog = None):
|
def _export_bound_cond(self, study, repertory, qlog):
|
||||||
# Write header
|
files = []
|
||||||
lst = study.river.boundary_condition
|
lst = study.river.boundary_condition
|
||||||
|
|
||||||
for tab in ["liquid", "solid", "suspenssion"]:
|
for tab in ["liquid", "solid", "suspenssion"]:
|
||||||
for bound in lst.get_tab(tab):
|
for bound in lst.get_tab(tab):
|
||||||
self._export_BC(bound, repertory, qlog)
|
files = files + self._export_BC(bound, repertory, qlog)
|
||||||
|
|
||||||
|
return files
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def _export_RUG(self, study, repertory, qlog = None):
|
def _export_RUG(self, study, repertory, qlog):
|
||||||
|
files = []
|
||||||
|
|
||||||
if qlog is not None:
|
if qlog is not None:
|
||||||
qlog.put("Export RUG file")
|
qlog.put("Export RUG file")
|
||||||
|
|
||||||
# Write header
|
# Write header
|
||||||
with open(os.path.join(repertory, f"0.RUG"), "w+") as f:
|
with open(os.path.join(repertory, "0.RUG"), "w+") as f:
|
||||||
|
files.append("0.RUG")
|
||||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||||
|
|
||||||
id = 1
|
id = 1
|
||||||
|
|
@ -153,6 +169,28 @@ class Mage(AbstractSolver):
|
||||||
|
|
||||||
f.write("* END OF FILE")
|
f.write("* END OF FILE")
|
||||||
|
|
||||||
|
return files
|
||||||
|
|
||||||
|
def _export_REP(self, study, repertory, files, qlog):
|
||||||
|
if qlog is not None:
|
||||||
|
qlog.put("Export REP file")
|
||||||
|
|
||||||
|
# Write header
|
||||||
|
with open(os.path.join(repertory, f"0.REP"), "w+") as f:
|
||||||
|
f.write("confirmation=non\n")
|
||||||
|
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||||
|
|
||||||
|
edges = study.river.edges()
|
||||||
|
for file in files:
|
||||||
|
EXT = file.split('.')[1]
|
||||||
|
|
||||||
|
f.write(f"{EXT} {file}\n")
|
||||||
|
|
||||||
|
f.write("* OUTPUT\n")
|
||||||
|
f.write(f"TRA 0.TRA\n")
|
||||||
|
f.write(f"BIN 0.BIN\n")
|
||||||
|
f.write("* END OF FILE")
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def export(self, study, repertory, qlog = None):
|
def export(self, study, repertory, qlog = None):
|
||||||
self._export_ST(study, repertory, qlog)
|
self._export_ST(study, repertory, qlog)
|
||||||
|
|
@ -202,10 +240,14 @@ class Mage8(Mage):
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def _export_PAR(self, study, repertory, qlog = None):
|
def _export_PAR(self, study, repertory, qlog = None):
|
||||||
|
files = []
|
||||||
|
|
||||||
if qlog is not None:
|
if qlog is not None:
|
||||||
qlog.put("Export PAR file")
|
qlog.put("Export PAR file")
|
||||||
|
|
||||||
with open(os.path.join(repertory, "0.PAR"), "w+") as f:
|
with open(os.path.join(repertory, "0.PAR"), "w+") as f:
|
||||||
|
files.append("0.PAR")
|
||||||
|
|
||||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||||
|
|
||||||
params = study.river.get_params(self.type).parameters
|
params = study.river.get_params(self.type).parameters
|
||||||
|
|
@ -219,12 +261,18 @@ class Mage8(Mage):
|
||||||
|
|
||||||
f.write("* END OF FILE")
|
f.write("* END OF FILE")
|
||||||
|
|
||||||
|
return files
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def _export_NET(self, study, repertory, qlog = None):
|
def _export_NET(self, study, repertory, qlog = None):
|
||||||
|
files = []
|
||||||
|
|
||||||
if qlog is not None:
|
if qlog is not None:
|
||||||
qlog.put("Export NET file")
|
qlog.put("Export NET file")
|
||||||
|
|
||||||
with open(os.path.join(repertory, "0.NET"), "w+") as f:
|
with open(os.path.join(repertory, "0.NET"), "w+") as f:
|
||||||
|
files.append("0.NET")
|
||||||
|
|
||||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||||
|
|
||||||
edges = study.river.edges()
|
edges = study.river.edges()
|
||||||
|
|
@ -235,18 +283,23 @@ class Mage8(Mage):
|
||||||
|
|
||||||
n1 = f"{e.node1.id:3}".replace(" ", "x")
|
n1 = f"{e.node1.id:3}".replace(" ", "x")
|
||||||
n2 = f"{e.node2.id:3}".replace(" ", "x")
|
n2 = f"{e.node2.id:3}".replace(" ", "x")
|
||||||
files = name + ".ST"
|
file = name + ".ST"
|
||||||
|
|
||||||
f.write(f"{name} {n1} {n2} {files}\n")
|
f.write(f"{name} {n1} {n2} {file}\n")
|
||||||
|
|
||||||
f.write("* END OF FILE")
|
f.write("* END OF FILE")
|
||||||
|
|
||||||
|
return files
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def export(self, study, repertory, qlog = None):
|
def export(self, study, repertory, qlog = None):
|
||||||
self._export_PAR(study, repertory, qlog)
|
files = []
|
||||||
self._export_NET(study, repertory, qlog)
|
|
||||||
self._export_ST(study, repertory, qlog)
|
files = files + self._export_PAR(study, repertory, qlog)
|
||||||
self._export_bound_cond(study, repertory, qlog)
|
files = files + self._export_NET(study, repertory, qlog)
|
||||||
self._export_RUG(study, repertory, qlog)
|
files = files + self._export_ST(study, repertory, qlog)
|
||||||
|
files = files + self._export_bound_cond(study, repertory, qlog)
|
||||||
|
files = files + self._export_RUG(study, repertory, qlog)
|
||||||
|
self._export_REP(study, repertory, files, qlog)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue