mirror of https://gitlab.com/pamhyr/pamhyr2
work on results, type_pol
parent
a1ae3f42f4
commit
b85962bfcd
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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"),
|
||||
|
|
|
|||
Loading…
Reference in New Issue