Results: Table: Use results tables.

opt-result
Pierre-Antoine 2026-06-30 15:30:44 +02:00
parent 662a218e41
commit ffad53a331
1 changed files with 17 additions and 12 deletions

View File

@ -94,59 +94,64 @@ class TableModel(PamhyrTableModel):
v = self._data[0].solver_name
return str(v)
elif self._opt_data == "raw_data":
table = self._data[0].get("table")
ts = self._data[0].get_timestamp_id(self._timestamp)
if self._headers[column] == "name":
if p.name == "":
return f"{p.rk:.4f}"
return f"{p.name}"
elif self._headers[column] == "water_elevation":
v = p.get_ts_key(self._timestamp, "Z")
v = table["Z"][ts, p.global_index]
if v is None:
v = 0.0
return f"{v:.4f}"
elif self._headers[column] == "discharge":
v = p.get_ts_key(self._timestamp, "Q")
v = table["Q"][ts, p.global_index]
if v is None:
v = 0.0
return f"{v:.4f}"
elif self._headers[column] == "velocity":
v = p.get_ts_key(self._timestamp, "V")
v = table["V"][ts, p.global_index]
if v is None:
v = 0.0
return f"{v:.4f}"
elif self._headers[column] == "width":
z = p.get_ts_key(self._timestamp, "Z")
z = table["Z"][ts, p.global_index]
v = p.geometry.wet_width(z)
return f"{v:.4f}"
elif self._headers[column] == "depth":
z = p.get_ts_key(self._timestamp, "Z")
z = table["Z"][ts, p.global_index]
v = p.geometry.max_water_depth(z)
return f"{v:.4f}"
elif self._headers[column] == "mean_depth":
z = p.get_ts_key(self._timestamp, "Z")
z = table["Z"][ts, p.global_index]
v = p.geometry.mean_water_depth(z)
return f"{v:.4f}"
elif self._headers[column] == "wet_area":
z = p.get_ts_key(self._timestamp, "Z")
z = table["Z"][ts, p.global_index]
v = p.geometry.wet_area(z)
return f"{v:.4f}"
elif self._headers[column] == "wet_perimeter":
z = p.get_ts_key(self._timestamp, "Z")
z = table["Z"][ts, p.global_index]
v = p.geometry.wet_perimeter(z)
return f"{v:.4f}"
elif self._headers[column] == "hydraulic_radius":
z = p.get_ts_key(self._timestamp, "Z")
z = table["Z"][ts, p.global_index]
v = p.geometry.wet_radius(z)
return f"{v:.4f}"
elif self._headers[column] == "froude":
q = p.get_ts_key(self._timestamp, "Q")
z = p.get_ts_key(self._timestamp, "Z")
v = p.get_ts_key(self._timestamp, "V")
q = table["Q"][ts, p.global_index]
z = table["Z"][ts, p.global_index]
v = table["V"][ts, p.global_index]
a = p.geometry.wet_area(z)
b = p.geometry.wet_width(z)
if b == 0.0 or a == 0.0:
froude = 0.0
else:
froude = v / sqrt(9.81 * (a / b))
return f"{froude:.4f}"
else:
v = 0.0