diff --git a/src/Model/Results/ResultsAdisTS.py b/src/Model/Results/ResultsAdisTS.py index cd7d09f9..caeeb49f 100644 --- a/src/Model/Results/ResultsAdisTS.py +++ b/src/Model/Results/ResultsAdisTS.py @@ -28,7 +28,7 @@ logger = logging.getLogger() class Results(object): def __init__(self, study=None, solver=None, - repertory="", name="0"): + repertory="", name="0", type_pol=None): self._study = study self._solver = solver self._repertory = repertory @@ -40,11 +40,15 @@ class Results(object): # Keep results creation date "creation_date": datetime.now(), } - repertory_results = os.path.join(repertory, "resultats") self._pollutants_list = [el.split("/")[-1][0:-4] for el in glob.glob(repertory_results + "/*.bin")] - self._phys_var_list = ["C", "G", "M", "D", "L", "N", "R"] + 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"] #, "G", "M", "D"] print("*********files names resultats from Results Object: ", self._pollutants_list) diff --git a/src/Solver/AdisTS.py b/src/Solver/AdisTS.py index 58cb7050..1c523373 100644 --- a/src/Solver/AdisTS.py +++ b/src/Solver/AdisTS.py @@ -160,12 +160,13 @@ class AdisTS(CommandLineSolver): return @timer - def results(self, study, repertory, qlog=None, name="0"): + def results(self, study, repertory, qlog=None, name="0", type_pol=None): results = Results( study=study, solver=self, repertory=repertory, name=name, + type_pol=type_pol, ) self.read_bin(study, repertory, results, qlog, name=name) @@ -703,6 +704,7 @@ class AdisTSwc(AdisTS): pollutants_keys = list(data_tmp.keys()) timestamps_keys = list(data_tmp[pollutants_keys[0]].keys()) phys_data_names = list(data_tmp[pollutants_keys[0]][timestamps_keys[0]].keys()) + type_pol_index = len(phys_data_names) ###print("pol keys: ", pollutants_keys) ###print("t keys: ", timestamps_keys) diff --git a/src/View/Results/TableAdisTS.py b/src/View/Results/TableAdisTS.py index 2a377410..7899c855 100644 --- a/src/View/Results/TableAdisTS.py +++ b/src/View/Results/TableAdisTS.py @@ -66,6 +66,7 @@ class TableModel(PamhyrTableModel): def __init__(self, **kwargs): self._timestamp = 0.0 + #####self._type_pol = type_pol super(TableModel, self).__init__(**kwargs) def data(self, index, role=Qt.DisplayRole): @@ -100,6 +101,8 @@ class TableModel(PamhyrTableModel): tmp_list.remove("total_sediment") tmp_list2 = self._data.pollutants_list.copy() for pol in tmp_list: + print('head name: ', self._headers[column]) + print("pols: ", tmp_list, pol) pol_index = tmp_list2.index(pol) header_name = pol + " Concentration" #print(f"_lst({row}): {len(self._lst[row])}") @@ -107,7 +110,8 @@ class TableModel(PamhyrTableModel): if self._headers[column] == header_name: v = self._lst[row].get_ts_key(self._timestamp, "pols")[pol_index][0] return f"{v:.4f}" - elif self._headers[column] == pol + " Mass": + elif self._headers[column] == pol + " Mass" and self._: ##### + print(self._lst[row].get_ts_key(self._timestamp, "pols")[pol_index]) m1 = self._lst[row].get_ts_key(self._timestamp, "pols")[pol_index][1] m2 = self._lst[row].get_ts_key(self._timestamp, "pols")[pol_index][2] m3 = self._lst[row].get_ts_key(self._timestamp, "pols")[pol_index][3] diff --git a/src/View/Results/WindowAdisTS.py b/src/View/Results/WindowAdisTS.py index 9e614845..aca475d1 100644 --- a/src/View/Results/WindowAdisTS.py +++ b/src/View/Results/WindowAdisTS.py @@ -83,11 +83,12 @@ 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) + trad = ResultsTranslate(pollutants_headers, self._type_pol) name = ( trad[self._pamhyr_name] + " - " + study.name + " - " @@ -141,7 +142,8 @@ class ResultsWindowAdisTS(PamhyrWindow): table_headers=self._trad.get_dict(f"table_headers_{t}"), data=self._results, undo=self._undo_stack, - opt_data=t + opt_data=t, + #####type_pol= self._type_pol, ) def setup_slider(self): diff --git a/src/View/Results/translate.py b/src/View/Results/translate.py index 258d1a19..07751956 100644 --- a/src/View/Results/translate.py +++ b/src/View/Results/translate.py @@ -24,7 +24,7 @@ _translate = QCoreApplication.translate class ResultsTranslate(MainTranslate): - def __init__(self, pollutants=None): + def __init__(self, pollutants=None, type_pol=None): if pollutants is not None: self.pollutants = pollutants if "total_sediment" in self.pollutants: @@ -32,6 +32,8 @@ class ResultsTranslate(MainTranslate): else: self.pollutants = pollutants + self._type_pol = type_pol + super(ResultsTranslate, self).__init__() self._dict["Results"] = _translate("Results", "Results") @@ -103,8 +105,11 @@ class ResultsTranslate(MainTranslate): "name": _translate("Results", "Profile"), } for pol in 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" + 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" else: self._sub_dict["table_headers_raw_data"] = { "name": _translate("Results", "Profile"), diff --git a/tests_cases/MassZero/TestMultibiefs.pamhyr b/tests_cases/MassZero/TestMultibiefs.pamhyr new file mode 100644 index 00000000..5a87cab4 Binary files /dev/null and b/tests_cases/MassZero/TestMultibiefs.pamhyr differ diff --git a/tests_cases/Saigon/Poluant1.pamhyr b/tests_cases/Saigon/Poluant1.pamhyr new file mode 100644 index 00000000..cd9605ad Binary files /dev/null and b/tests_cases/Saigon/Poluant1.pamhyr differ