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 v = self._data[0].solver_name
return str(v) return str(v)
elif self._opt_data == "raw_data": 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 self._headers[column] == "name":
if p.name == "": if p.name == "":
return f"{p.rk:.4f}" return f"{p.rk:.4f}"
return f"{p.name}" return f"{p.name}"
elif self._headers[column] == "water_elevation": 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: if v is None:
v = 0.0 v = 0.0
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "discharge": elif self._headers[column] == "discharge":
v = p.get_ts_key(self._timestamp, "Q") v = table["Q"][ts, p.global_index]
if v is None: if v is None:
v = 0.0 v = 0.0
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "velocity": elif self._headers[column] == "velocity":
v = p.get_ts_key(self._timestamp, "V") v = table["V"][ts, p.global_index]
if v is None: if v is None:
v = 0.0 v = 0.0
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "width": 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) v = p.geometry.wet_width(z)
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "depth": 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) v = p.geometry.max_water_depth(z)
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "mean_depth": 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) v = p.geometry.mean_water_depth(z)
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "wet_area": 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) v = p.geometry.wet_area(z)
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "wet_perimeter": 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) v = p.geometry.wet_perimeter(z)
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "hydraulic_radius": 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) v = p.geometry.wet_radius(z)
return f"{v:.4f}" return f"{v:.4f}"
elif self._headers[column] == "froude": elif self._headers[column] == "froude":
q = p.get_ts_key(self._timestamp, "Q") q = table["Q"][ts, p.global_index]
z = p.get_ts_key(self._timestamp, "Z") z = table["Z"][ts, p.global_index]
v = p.get_ts_key(self._timestamp, "V") v = table["V"][ts, p.global_index]
a = p.geometry.wet_area(z) a = p.geometry.wet_area(z)
b = p.geometry.wet_width(z) b = p.geometry.wet_width(z)
if b == 0.0 or a == 0.0: if b == 0.0 or a == 0.0:
froude = 0.0 froude = 0.0
else: else:
froude = v / sqrt(9.81 * (a / b)) froude = v / sqrt(9.81 * (a / b))
return f"{froude:.4f}" return f"{froude:.4f}"
else: else:
v = 0.0 v = 0.0