work on results, type_pol

adists_release
Theophile Terraz 2024-12-03 14:59:38 +01:00
parent a1ae3f42f4
commit b85962bfcd
6 changed files with 105 additions and 102 deletions

View File

@ -47,12 +47,7 @@ class Results(object):
for el in glob.glob(repertory_results + "/*.bin")
]
self.type_pol = type_pol
if type_pol == 7:
self._phys_var_list = ["C", "G", "M", "D", "L", "N", "R"]
else:
self._phys_var_list = ["C"]
self._phys_var_list = ["C", "G", "M", "D", "L", "N", "R"]
@property
def date(self):
@ -75,6 +70,10 @@ class Results(object):
def phys_var_list(self):
return self._phys_var_list
@property
def nb_pollutants(self):
return len(self._pollutants_list)
def set(self, key, value):
self._meta_data[key] = value

View File

@ -184,10 +184,10 @@ class PlotAdis_dt(PamhyrPlot):
self.canvas.axes.get_ylim()
)
self.hide_current
self.hide_current()
self.canvas.axes.relim(visible_only=True)
self.canvas.axes.autoscale_view()
self.show_current
self.show_current()
def update_current(self):
self._current.set_data(

View File

@ -218,10 +218,10 @@ class PlotAdis_dx(PamhyrPlot):
self.update_current()
self.hide_current
self.hide_current()
self.canvas.axes.relim(visible_only=True)
self.canvas.axes.autoscale_view()
self.show_current
self.show_current()
def update_current(self):
reach = self.results.river.reach(self._current_reach_id)

View File

@ -58,7 +58,6 @@ class TableModel(PamhyrTableModel):
self._lst = _river.reach(0).profiles
elif self._opt_data == "pollutants":
tmp_list = self._data.pollutants_list.copy()
tmp_list.remove("total_sediment")
###print(type(tmp_list))
#tmp_list.insert(len(tmp_list), "total_sediment")
self._lst = tmp_list

View File

@ -85,12 +85,10 @@ class ResultsWindowAdisTS(PamhyrWindow):
parent=None):
self._solver = solver
self._results = results
self._type_pol = results.type_pol #####
pollutants_headers = self._results.pollutants_list.copy()
print("***///---+++///***---+++pollutants translate: ", pollutants_headers)
trad = ResultsTranslate(pollutants_headers, self._type_pol)
trad = ResultsTranslate(pollutants_headers)
name = (
trad[self._pamhyr_name] + " - "
+ study.name + " - "
@ -109,38 +107,42 @@ class ResultsWindowAdisTS(PamhyrWindow):
self._hash_data.append(self._results)
self._additional_plot = {}
self._pol_id = 0
self._reach_id = 0
self._profile_id = 0
try:
# print("timestamps results: ", self._results)
self._timestamps = sorted(list(self._results.get("timestamps")))
print("setup table adists results")
self.set_type_pol()
self.setup_slider()
print("///setup slider correct")
self.setup_table()
print("///setup table correct")
self.setup_plots()
print("///setup plots correct")
self.setup_statusbar()
print("///setup status bar correct")
self.setup_connections()
print("///setup connections correct")
self.update_table_selection_reach(0)
self.update_table_selection_profile(0)
self.update_table_selection_pol(0)
self.update_table_selection_reach(self._reach_id)
self.update_table_selection_profile(self._profile_id)
self.update_table_selection_pol(self._pol_id)
except Exception as e:
logger_exception(e)
return
def set_type_pol(self):
self._type_pol = []
tmp_list = self._results.river.reach(0).profiles
print(self._results.pollutants_list)
for pol_index in range(self._results.nb_pollutants):
if self._results.pollutants_list[pol_index] == "total_sediment":
self._type_pol.append(-1)
else:
self._type_pol.append(len(
tmp_list[0].get_ts_key(
self._timestamps[0], "pols")[pol_index])
)
def setup_table(self):
print("setup table adists results")
print("results study name: ", self._results.study.name)
print("results study river: ", self._results.study.river)
print("*********files names resultats from Results Window: ", self._results.pollutants_list)
self._table = {}
for t in ["reach", "profile", "pollutants", "raw_data"]:
print("t: ", t)
table = self.find(QTableView, f"tableView_{t}")
self._table[t] = TableModel(
self._type_pol,
@ -192,9 +194,9 @@ class ResultsWindowAdisTS(PamhyrWindow):
self.plot_c_dt = PlotAdis_dt(
canvas=self.canvas_dt,
results=self._results,
reach_id=0,
profile_id=0,
pol_id=0,
reach_id=self._reach_id,
profile_id=self._profile_id,
pol_id=self._pol_id,
key="C",
trad=self._trad,
toolbar=self.toolbar_dt
@ -217,48 +219,54 @@ class ResultsWindowAdisTS(PamhyrWindow):
self.plot_c_dx = PlotAdis_dx(
canvas=self.canvas_dx,
results=self._results,
reach_id=0,
profile_id=0,
pol_id=0,
reach_id=self._reach_id,
profile_id=self._profile_id,
pol_id=self._pol_id,
key="C",
trad=self._trad,
toolbar=self.toolbar_dx
)
self.plot_c_dx.draw()
print("///plot c adists correct")
self.canvas_3 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_3.setObjectName("canvas_3")
self.toolbar_3 = PamhyrPlotToolbar(
self.canvas_3, self, items=[
"home", "move", "zoom", "save",
"iso", "back/forward"
]
)
self.plot_layout_3 = self.find(
QVBoxLayout, "verticalLayout_mass")
self.plot_layout_3.addWidget(self.toolbar_3)
self.plot_layout_3.addWidget(self.canvas_3)
if self._type_pol == 7:
self.canvas_3 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_3.setObjectName("canvas_3")
self.toolbar_3 = PamhyrPlotToolbar(
self.canvas_3, self, items=[
"home", "move", "zoom", "save",
"iso", "back/forward"
]
)
self.plot_layout_3 = self.find(
QVBoxLayout, "verticalLayout_mass")
self.plot_layout_3.addWidget(self.toolbar_3)
self.plot_layout_3.addWidget(self.canvas_3)
#self.plot_m = PlotM(
#canvas=self.canvas_3,
#results=self._results,
#reach_id=self._reach_id,
#profile_id=self._profile_id,
#pol_id=self._pol_id,
#trad=self._trad,
#toolbar=self.toolbar_3
#)
self.plot_m = PlotM(
canvas=self.canvas_3,
results=self._results,
reach_id=0,
profile_id=0,
pol_id=0,
trad=self._trad,
toolbar=self.toolbar_3
)
self.plot_m.draw()
else:
print("hear -------------------------------------------------------------------------------")
#self.find(QVBoxLayout, "verticalLayout_mass").setDisabled(True)
self.find(QTabWidget, "tabWidget").setTabVisible(3, False) ###setTabEnabled(2, False)
self.plot_m = PlotAdis_dx(
canvas=self.canvas_3,
results=self._results,
reach_id=self._reach_id,
profile_id=self._profile_id,
pol_id=self._pol_id,
key="M",
trad=self._trad,
toolbar=self.toolbar_3
)
print("///plot m adists correct")
self.plot_m.draw()
if self._type_pol[self._pol_id] != 7:
self.find(QTabWidget, "tabWidget").setTabVisible(3, False)
self.canvas_2 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_2.setObjectName("canvas_2")
@ -276,8 +284,8 @@ class ResultsWindowAdisTS(PamhyrWindow):
self.plot_tot_c = PlotTotSedC(
canvas=self.canvas_2,
results=self._results,
reach_id=0,
profile_id=0,
reach_id=self._reach_id,
profile_id=self._profile_id,
pol_id=self._results.pollutants_list.index("total_sediment"),
trad=self._trad,
toolbar=self.toolbar_2
@ -301,8 +309,8 @@ class ResultsWindowAdisTS(PamhyrWindow):
self.plot_tot_eg = PlotTotSedEG(
canvas=self.canvas_1,
results=self._results,
reach_id=0,
profile_id=0,
reach_id=self._reach_id,
profile_id=self._profile_id,
pol_id=self._results.pollutants_list.index("total_sediment"),
trad=self._trad,
toolbar=self.toolbar_1
@ -326,8 +334,8 @@ class ResultsWindowAdisTS(PamhyrWindow):
self.plot_tot_em = PlotTotSedEM(
canvas=self.canvas_0,
results=self._results,
reach_id=0,
profile_id=0,
reach_id=self._reach_id,
profile_id=self._profile_id,
pol_id=self._results.pollutants_list.index("total_sediment"),
trad=self._trad,
toolbar=self.toolbar_0
@ -346,15 +354,13 @@ class ResultsWindowAdisTS(PamhyrWindow):
self.plot_layout_5 = self.find(
QVBoxLayout, "verticalLayout_tot_right")
self.plot_layout_5.addWidget(self.toolbar_5)
print("///***---+++///+++add toolbar correct")
self.plot_layout_5.addWidget(self.canvas_5)
print("///***---+++///+++add canvas correct")
self.plot_tot_ed = PlotTotSedED(
canvas=self.canvas_5,
results=self._results,
reach_id=0,
profile_id=0,
reach_id=self._reach_id,
profile_id=self._profile_id,
pol_id=self._results.pollutants_list.index("total_sediment"),
trad=self._trad,
toolbar=self.toolbar_5
@ -507,7 +513,8 @@ class ResultsWindowAdisTS(PamhyrWindow):
if reach_id is not None:
self.plot_c_dt.set_reach(reach_id)
self.plot_c_dx.set_reach(reach_id)
#self.plot_m.set_reach(reach_id)
if self._type_pol[self._pol_id] == 7:
self.plot_m.set_reach(reach_id)
self.plot_tot_c.set_reach(reach_id)
self.plot_tot_eg.set_reach(reach_id)
self.plot_tot_em.set_reach(reach_id)
@ -520,7 +527,8 @@ class ResultsWindowAdisTS(PamhyrWindow):
if profile_id is not None:
self.plot_c_dt.set_profile(profile_id)
self.plot_c_dx.set_profile(profile_id)
#self.plot_m.set_profile(profile_id)
if self._type_pol[self._pol_id] == 7:
self.plot_m.set_profile(profile_id)
self.plot_tot_c.set_profile(profile_id)
self.plot_tot_eg.set_profile(profile_id)
self.plot_tot_em.set_profile(profile_id)
@ -528,20 +536,23 @@ class ResultsWindowAdisTS(PamhyrWindow):
self.update_table_selection_profile(profile_id)
print("--**//++update pol_id before None: ", pol_id)
if pol_id is not None:
print("--**//++//**//** update pol_id: ", pol_id)
self.plot_c_dt.set_pollutant(pol_id)
self.plot_c_dx.set_pollutant(pol_id)
#self.plot_m.set_pollutant(pol_id)
self._pol_id = pol_id
self.plot_c_dt.set_pollutant(self._pol_id)
self.plot_c_dx.set_pollutant(self._pol_id)
if self._type_pol[self._pol_id] == 7:
self.find(QTabWidget, "tabWidget").setTabVisible(3, True)
self.plot_m.set_pollutant(self._pol_id)
else:
self.find(QTabWidget, "tabWidget").setTabVisible(3, False)
self.update_table_selection_pol(pol_id)
self.update_table_selection_pol(self._pol_id)
if timestamp is not None:
self.plot_c_dt.set_timestamp(timestamp)
self.plot_c_dx.set_timestamp(timestamp)
#self.plot_m.set_timestamp(timestamp)
if self._type_pol[self._pol_id] == 7:
self.plot_m.set_timestamp(timestamp)
#self.plot_tot_c.set_timestamp(timestamp)
#self.plot_tot_eg.set_timestamp(timestamp)
#self.plot_tot_em.set_timestamp(timestamp)
@ -570,8 +581,7 @@ class ResultsWindowAdisTS(PamhyrWindow):
if len(indexes) == 0:
return
ind = indexes[0].row()
self.update(profile_id=ind)
self.update(profile_id=indexes[0].row())
###self._slider_profile.setValue(ind)
def _set_current_pol(self):
@ -580,9 +590,7 @@ class ResultsWindowAdisTS(PamhyrWindow):
if len(indexes) == 0:
return
ind = indexes[0].row()
print("set pol id: ", ind)
self.update(pol_id=ind)
self.update(pol_id=indexes[0].row())
def _set_current_profile_raw_data(self):
table = self.find(QTableView, f"tableView_raw_data")
@ -605,7 +613,8 @@ class ResultsWindowAdisTS(PamhyrWindow):
def _reload_plots(self):
self.plot_c_dt.results = self._results
self.plot_c_dx.results = self._results
#self.plot_m.results = self._results
if self._type_pol[self._pol_id] == 7:
self.plot_m.results = self._results
self.plot_tot_c.results = self._results
self.plot_tot_eg.results = self._results
self.plot_tot_em.results = self._results
@ -613,7 +622,8 @@ class ResultsWindowAdisTS(PamhyrWindow):
self.plot_c_dt.draw()
self.plot_c_dx.draw()
#self.plot_m.draw()
if self._type_pol[self._pol_id] == 7:
self.plot_m.draw()
self.plot_tot_c.draw()
self.plot_tot_eg.draw()
self.plot_tot_em.draw()

View File

@ -24,7 +24,7 @@ _translate = QCoreApplication.translate
class ResultsTranslate(MainTranslate):
def __init__(self, pollutants=None, type_pol=None):
def __init__(self, pollutants=None):
if pollutants is not None:
self.pollutants = pollutants
if "total_sediment" in self.pollutants:
@ -32,8 +32,6 @@ class ResultsTranslate(MainTranslate):
else:
self.pollutants = pollutants
self._type_pol = type_pol
super(ResultsTranslate, self).__init__()
self._dict["Results"] = _translate("Results", "Results")
@ -104,12 +102,9 @@ class ResultsTranslate(MainTranslate):
self._sub_dict["table_headers_raw_data"] = {
"name": _translate("Results", "Profile"),
}
for pol in self.pollutants:
if self._type_pol == 7:
self._sub_dict["table_headers_raw_data"][pol + " Concentration"] = pol + "\n Concentration"
self._sub_dict["table_headers_raw_data"][pol + " Mass"] = pol + "\n Mass"
else:
self._sub_dict["table_headers_raw_data"][pol + " Concentration"] = pol + "\n Concentration"
for i, pol in enumerate(self.pollutants):
self._sub_dict["table_headers_raw_data"][pol + " Concentration"] = pol + "\n Concentration"
self._sub_dict["table_headers_raw_data"][pol + " Mass"] = pol + "\n Mass"
else:
self._sub_dict["table_headers_raw_data"] = {
"name": _translate("Results", "Profile"),