dev_dylan
Theophile Terraz 2026-04-03 15:23:47 +02:00
parent 70e09d3b3a
commit 4ed865759a
1 changed files with 18 additions and 13 deletions

View File

@ -1925,7 +1925,6 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
@timer @timer
def _diff_results(self, solver1, solver2, solver3, result1, result2): def _diff_results(self, solver1, solver2, solver3, result1, result2):
result3 = Results(study=self._study, solver=solver3)
ts = sorted( ts = sorted(
list( list(
result1.get("timestamps").intersection( result1.get("timestamps").intersection(
@ -1934,12 +1933,18 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
) )
) )
result3 = Results(self._study, solver3) result3 = Results(study=self._study, solver=solver3)
result4 = Results(self._study, solver1) result4 = Results(study=result1.study, solver=solver1)
result5 = Results(self._study, solver2) result4._river = result1._river
result5 = Results(study=result2.study, solver=solver2)
result5._river = result2._river
result3.set("nb_reach", result1.get("nb_reach")) result3.set("nb_reach", result1.get("nb_reach"))
result4.set("nb_reach", result1.get("nb_reach"))
result5.set("nb_reach", result1.get("nb_reach"))
result3.set("nb_profile", result1.get("nb_profile")) result3.set("nb_profile", result1.get("nb_profile"))
result4.set("nb_profile", result1.get("nb_profile"))
result5.set("nb_profile", result1.get("nb_profile"))
result3.set("timestamps", ts) result3.set("timestamps", ts)
result4.set("timestamps", ts) result4.set("timestamps", ts)
result5.set("timestamps", ts) result5.set("timestamps", ts)
@ -1949,27 +1954,27 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
for timestamp in ts: for timestamp in ts:
for r in range(int(result1.get("nb_reach"))): for r in range(int(result1.get("nb_reach"))):
reach3 = result3.river.reach(r)
reach1 = result4.river.reach(r) reach1 = result4.river.reach(r)
reach2 = result5.river.reach(r) reach2 = result5.river.reach(r)
reach3 = result3.river.reach(r)
for profile1, profile2, profile3 in zip( for p, (profile1, profile2, profile3) in enumerate(zip(
reach1.profiles, reach1.profiles,
reach2.profiles, reach2.profiles,
reach3.profiles): reach3.profiles)):
for key in ["Z", "Q", "V"]: for key in ["Z", "Q", "V"]:
d1 = profile1.get_ts_key(timestamp, key) d1 = profile1.get_ts_key(timestamp, key)
d2 = profile2.get_ts_key(timestamp, key) d2 = profile2.get_ts_key(timestamp, key)
d = d1-d2 d = d1-d2
reach3.set(p, timestamp, key, d) reach3.set(p, timestamp, key, d)
reach4.set(p, timestamp, key, d1) reach1.set(p, timestamp, key, d1)
reach5.set(p, timestamp, key, d2) reach2.set(p, timestamp, key, d2)
if reach1.has_bedload(): if reach1.has_bedload():
d1 = profile1.get_ts_key(timestamp, 'zfd') d1 = profile1.get_ts_key(timestamp, 'zfd')
reach4.set(p, timestamp, 'zfd', d1) reach1.set(p, timestamp, 'zfd', d1)
if reach2.has_bedload(): if reach2.has_bedload():
d2 = profile2.get_ts_key(timestamp, 'zfd') d2 = profile2.get_ts_key(timestamp, 'zfd')
reach5.set(p, timestamp, 'zfd', d2) reach2.set(p, timestamp, 'zfd', d2)
if reach1.has_bedload(): if reach1.has_bedload():
d3 = d1-d2 d3 = d1-d2
reach3.set(p, timestamp, 'zfd', d3) reach3.set(p, timestamp, 'zfd', d3)
@ -1983,9 +1988,9 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
limits limits
) )
limits = profile1.get_ts_key(timestamp, "water_limits") limits = profile1.get_ts_key(timestamp, "water_limits")
reach4.set(p, timestamp, "water_limits", limits) reach1.set(p, timestamp, "water_limits", limits)
limits = profile2.get_ts_key(timestamp, "water_limits") limits = profile2.get_ts_key(timestamp, "water_limits")
reach5.set(p, timestamp, "water_limits", limits) reach2.set(p, timestamp, "water_limits", limits)
for res in (result3, result4, result5): for res in (result3, result4, result5):
for r in range(int(res.get("nb_reach"))): for r in range(int(res.get("nb_reach"))):