mirror of https://gitlab.com/pamhyr/pamhyr2
Solver: RubarBE: Add ts export.
parent
ca3ba3adb6
commit
fead93f0b9
|
|
@ -77,6 +77,31 @@ class RubarBE(CommandLineSolver):
|
||||||
("rubarbe_ros", "2650.0"),
|
("rubarbe_ros", "2650.0"),
|
||||||
("rubarbe_dm", "0.1"),
|
("rubarbe_dm", "0.1"),
|
||||||
("rubarbe_segma", "1.0"),
|
("rubarbe_segma", "1.0"),
|
||||||
|
# Sediment parameters
|
||||||
|
("rubarbe_sediment_ros", "2650.0"),
|
||||||
|
("rubarbe_sediment_por", "0.4"),
|
||||||
|
("rubarbe_sediment_dcharg", "0.0"),
|
||||||
|
("rubarbe_sediment_halfa", "1.0"),
|
||||||
|
("rubarbe_sediment_mult_1", "1.0"),
|
||||||
|
("rubarbe_sediment_mult_2", ""),
|
||||||
|
("rubarbe_sediment_mult_3", ""),
|
||||||
|
("rubarbe_sediment_mult_4", ""),
|
||||||
|
("rubarbe_sediment_mult_5", ""),
|
||||||
|
("rubarbe_sediment_visc", "0.047"),
|
||||||
|
("rubarbe_sediment_opts", "6"),
|
||||||
|
("rubarbe_sediment_odchar", "0"),
|
||||||
|
("rubarbe_sediment_unisol", "1"),
|
||||||
|
("rubarbe_sediment_typdef", "3"),
|
||||||
|
("rubarbe_sediment_depot", "2"),
|
||||||
|
("rubarbe_sediment_choixc", "2"),
|
||||||
|
("rubarbe_sediment_option", "2"),
|
||||||
|
("rubarbe_sediment_capsol", "1"),
|
||||||
|
("rubarbe_sediment_bmiu", "0.85"),
|
||||||
|
("rubarbe_sediment_demix", "0"),
|
||||||
|
("rubarbe_sediment_defond", "1"),
|
||||||
|
("rubarbe_sediment_varcons", "1"),
|
||||||
|
("rubarbe_sediment_dchard", "0.0"),
|
||||||
|
("rubarbe_sediment_dchars", "0.0"),
|
||||||
]
|
]
|
||||||
|
|
||||||
return lst
|
return lst
|
||||||
|
|
@ -118,7 +143,10 @@ class RubarBE(CommandLineSolver):
|
||||||
repertory, f"donnee.{name}"
|
repertory, f"donnee.{name}"
|
||||||
), "w+"
|
), "w+"
|
||||||
) as f:
|
) as f:
|
||||||
params = study.river.get_params(self.type).parameters
|
params = filter(
|
||||||
|
lambda p: "rubarbe_sediment_" not in p[0],
|
||||||
|
study.river.get_params(self.type).parameters
|
||||||
|
)
|
||||||
it = iter(params)
|
it = iter(params)
|
||||||
|
|
||||||
line = 0
|
line = 0
|
||||||
|
|
@ -132,7 +160,7 @@ class RubarBE(CommandLineSolver):
|
||||||
value = f"{value:>12.5e}".upper()
|
value = f"{value:>12.5e}".upper()
|
||||||
|
|
||||||
if value.count('.') == 1:
|
if value.count('.') == 1:
|
||||||
value = f"{value:>12.5e}".upper()
|
value = f"{float(value):>12.5e}".upper()
|
||||||
|
|
||||||
if value == "y" or value == "n":
|
if value == "y" or value == "n":
|
||||||
value = "O" if value == "y" else "N"
|
value = "O" if value == "y" else "N"
|
||||||
|
|
@ -153,6 +181,48 @@ class RubarBE(CommandLineSolver):
|
||||||
|
|
||||||
line += 1
|
line += 1
|
||||||
|
|
||||||
|
def _export_ts(self, study, repertory, files, qlog, name="0"):
|
||||||
|
if qlog is not None:
|
||||||
|
qlog.put("Export TS file")
|
||||||
|
|
||||||
|
with open(
|
||||||
|
os.path.join(
|
||||||
|
repertory, f"ts.{name}"
|
||||||
|
), "w+"
|
||||||
|
) as f:
|
||||||
|
params = filter(
|
||||||
|
lambda p: "rubarbe_sediment_" in p[0],
|
||||||
|
study.river.get_params(self.type).parameters
|
||||||
|
)
|
||||||
|
it = iter(params)
|
||||||
|
|
||||||
|
line = 0
|
||||||
|
while line < 20:
|
||||||
|
lh, value = next(it)
|
||||||
|
|
||||||
|
if value != "":
|
||||||
|
# Value format
|
||||||
|
if value.count('.') == 1:
|
||||||
|
value = f"{float(value):>10.0f}"
|
||||||
|
|
||||||
|
# Write value
|
||||||
|
f.write(f"{lh:<50}{value}")
|
||||||
|
|
||||||
|
# Add values of 'rubarbe_iodebord' and
|
||||||
|
# 'rubarbe_iostockage'
|
||||||
|
if lh == "rubarbe_sediment_mult_1":
|
||||||
|
_, m2 = f"{float(next(it)):>10.0f}"
|
||||||
|
_, m3 = f"{float(next(it)):>10.0f}"
|
||||||
|
_, m4 = f"{float(next(it)):>10.0f}"
|
||||||
|
_, m5 = f"{float(next(it)):>10.0f}"
|
||||||
|
|
||||||
|
f.write(f"{m2}{m3}{m4}{m5}")
|
||||||
|
|
||||||
|
# New line
|
||||||
|
f.write(f"\n")
|
||||||
|
|
||||||
|
line += 1
|
||||||
|
|
||||||
def _export_geomac_i(self, study, repertory, files, qlog, name="0"):
|
def _export_geomac_i(self, study, repertory, files, qlog, name="0"):
|
||||||
if qlog is not None:
|
if qlog is not None:
|
||||||
qlog.put("Export GEOMAC-i file")
|
qlog.put("Export GEOMAC-i file")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue