mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
No commits in common. "f97d4ce3c57de7d84f5531b8510f5d291f8fcdc3" and "5fec95cc4de79b01ca12a6d8dbe5021dcfc82be9" have entirely different histories.
f97d4ce3c5
...
5fec95cc4d
|
|
@ -39,7 +39,7 @@ class Rubar3(CommandLineSolver):
|
||||||
self._type = "rubar3"
|
self._type = "rubar3"
|
||||||
|
|
||||||
self._cmd_input = ""
|
self._cmd_input = ""
|
||||||
self._cmd_solver = "@path @args @input"
|
self._cmd_solver = "@path @input -o @output"
|
||||||
self._cmd_output = ""
|
self._cmd_output = ""
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -129,7 +129,7 @@ class Rubar3(CommandLineSolver):
|
||||||
|
|
||||||
def output_param(self):
|
def output_param(self):
|
||||||
name = self._study.name
|
name = self._study.name
|
||||||
return f"hydlim.{name}"
|
return f"{name}"
|
||||||
|
|
||||||
def log_file(self):
|
def log_file(self):
|
||||||
name = self._study.name
|
name = self._study.name
|
||||||
|
|
@ -143,12 +143,10 @@ class Rubar3(CommandLineSolver):
|
||||||
self._export_ts(study, repertory, qlog, name=name)
|
self._export_ts(study, repertory, qlog, name=name)
|
||||||
self._export_geomac_i(study, repertory, qlog, name=name)
|
self._export_geomac_i(study, repertory, qlog, name=name)
|
||||||
self._export_mail(study, repertory, qlog, name=name)
|
self._export_mail(study, repertory, qlog, name=name)
|
||||||
self._export_devers(study, repertory, qlog, name=name)
|
|
||||||
self._export_condin(study, repertory, qlog, name=name)
|
self._export_condin(study, repertory, qlog, name=name)
|
||||||
self._export_stricklers(study, repertory, qlog, name=name)
|
self._export_stricklers(study, repertory, qlog, name=name)
|
||||||
self._export_hydro(study, repertory, qlog, name=name)
|
self._export_hydro(study, repertory, qlog, name=name)
|
||||||
self._export_condav(study, repertory, qlog, name=name)
|
self._export_condav(study, repertory, qlog, name=name)
|
||||||
self._export_abshyd(study, repertory, qlog, name=name)
|
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
@ -332,50 +330,6 @@ class Rubar3(CommandLineSolver):
|
||||||
if ind % 3 != 0:
|
if ind % 3 != 0:
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
|
|
||||||
def _export_devers(self, study, repertory, qlog, name="0"):
|
|
||||||
if qlog is not None:
|
|
||||||
qlog.put("Export ABSHYD file")
|
|
||||||
|
|
||||||
with open(
|
|
||||||
os.path.join(
|
|
||||||
repertory, f"abshyd.{name}"
|
|
||||||
), "w+"
|
|
||||||
) as f:
|
|
||||||
reach_ind = 1
|
|
||||||
for edge in study.river.enable_edges():
|
|
||||||
reach = edge.reach
|
|
||||||
lm = len(reach) + 1
|
|
||||||
f.write(f"{lm:>13}\n")
|
|
||||||
|
|
||||||
ind = 1
|
|
||||||
for mail in reach.inter_profiles_rk():
|
|
||||||
f.write(f"{ind:>4} {mail:15.3f} {reach_ind:>4}\n")
|
|
||||||
ind += 1
|
|
||||||
|
|
||||||
reach_ind += 1
|
|
||||||
|
|
||||||
def _export_abshyd(self, study, repertory, qlog, name="0"):
|
|
||||||
if qlog is not None:
|
|
||||||
qlog.put("Export DEVERS file")
|
|
||||||
|
|
||||||
with open(
|
|
||||||
os.path.join(
|
|
||||||
repertory, f"devers.{name}"
|
|
||||||
), "w+"
|
|
||||||
) as f:
|
|
||||||
reach_ind = 1
|
|
||||||
for edge in study.river.enable_edges():
|
|
||||||
reach = edge.reach
|
|
||||||
lm = len(reach) + 1
|
|
||||||
f.write(f"{lm:>13}\n")
|
|
||||||
|
|
||||||
ind = 1
|
|
||||||
for mail in reach.inter_profiles_rk():
|
|
||||||
f.write(f"{ind:>4} {0.0:15.3f} {0.0:15.3f} {1.0:>15.3f}\n")
|
|
||||||
ind += 1
|
|
||||||
|
|
||||||
reach_ind += 1
|
|
||||||
|
|
||||||
def _export_stricklers(self, study, repertory, qlog, name="0"):
|
def _export_stricklers(self, study, repertory, qlog, name="0"):
|
||||||
self._export_frot(study, repertory, qlog, name=name, version="")
|
self._export_frot(study, repertory, qlog, name=name, version="")
|
||||||
self._export_frot(study, repertory, qlog, name=name, version="2")
|
self._export_frot(study, repertory, qlog, name=name, version="2")
|
||||||
|
|
@ -428,9 +382,8 @@ class Rubar3(CommandLineSolver):
|
||||||
) as f:
|
) as f:
|
||||||
for edge in study.river.enable_edges():
|
for edge in study.river.enable_edges():
|
||||||
reach = edge.reach
|
reach = edge.reach
|
||||||
lm = len(reach) + 1
|
|
||||||
|
|
||||||
f.write(f"{0.0:>6.4f} {lm:>6}\n")
|
f.write(f"0.0\n")
|
||||||
|
|
||||||
ics = study.river.initial_conditions.get(edge)
|
ics = study.river.initial_conditions.get(edge)
|
||||||
data = self._export_condin_init_data(ics)
|
data = self._export_condin_init_data(ics)
|
||||||
|
|
@ -543,32 +496,6 @@ class Rubar3(CommandLineSolver):
|
||||||
for d0, d1 in bc.data:
|
for d0, d1 in bc.data:
|
||||||
f.write(f"{d1} {d0}\n")
|
f.write(f"{d1} {d0}\n")
|
||||||
|
|
||||||
def read_hydlim(self, study, fname, results, qlog=None, name="0"):
|
|
||||||
return
|
|
||||||
|
|
||||||
@timer
|
|
||||||
def results(self, study, repertory, qlog=None, name="0"):
|
|
||||||
results = Results(
|
|
||||||
study=study,
|
|
||||||
solver=self,
|
|
||||||
repertory=repertory,
|
|
||||||
name=name,
|
|
||||||
)
|
|
||||||
results_file = f"hydlim.{name}"
|
|
||||||
|
|
||||||
fname = os.path.join(repertory, results_file)
|
|
||||||
if not os.path.isfile(fname):
|
|
||||||
logger.info(f"Result file {results_file} does not exist")
|
|
||||||
return None
|
|
||||||
try:
|
|
||||||
self.read_hydlim(study, fname, results, qlog, name=name)
|
|
||||||
except Exception as e:
|
|
||||||
logger.error(f"Failed to read results")
|
|
||||||
logger_exception(e)
|
|
||||||
return None
|
|
||||||
|
|
||||||
return results
|
|
||||||
|
|
||||||
|
|
||||||
class RubarBE(Rubar3):
|
class RubarBE(Rubar3):
|
||||||
_type = "rubarbe"
|
_type = "rubarbe"
|
||||||
|
|
@ -579,5 +506,5 @@ class RubarBE(Rubar3):
|
||||||
self._type = "rubarbe"
|
self._type = "rubarbe"
|
||||||
|
|
||||||
self._cmd_input = ""
|
self._cmd_input = ""
|
||||||
self._cmd_solver = "@path @args @input"
|
self._cmd_solver = "@path @input -o @output"
|
||||||
self._cmd_output = ""
|
self._cmd_output = ""
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ solver_long_name = {
|
||||||
# "mage_fake7": "Mage fake v7",
|
# "mage_fake7": "Mage fake v7",
|
||||||
"adistswc": "Adis-TS_WC",
|
"adistswc": "Adis-TS_WC",
|
||||||
# "rubarbe": "RubarBE",
|
# "rubarbe": "RubarBE",
|
||||||
"rubar3": "Rubar3",
|
# "rubar3": "Rubar3",
|
||||||
}
|
}
|
||||||
|
|
||||||
solver_type_list = {
|
solver_type_list = {
|
||||||
|
|
@ -44,5 +44,5 @@ solver_type_list = {
|
||||||
# "mage_fake7": MageFake7,
|
# "mage_fake7": MageFake7,
|
||||||
"adistswc": AdisTSwc,
|
"adistswc": AdisTSwc,
|
||||||
# "rubarbe": RubarBE,
|
# "rubarbe": RubarBE,
|
||||||
"rubar3": Rubar3,
|
# "rubar3": Rubar3,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue