diff --git a/doc/dev/documentation.org b/doc/dev/documentation.org
index 7e96edc4..40fe4e0e 100644
--- a/doc/dev/documentation.org
+++ b/doc/dev/documentation.org
@@ -1375,7 +1375,7 @@ contribution.
#+INCLUDE: "../../AUTHORS" src text
[fn:p2-gitlab] The {{{pamhyr2}}} Gitlab project page:
-https://gitlab.irstea.fr/theophile.terraz/pamhyr
+https://gitlab.com/pamhyr/pamhyr2
[fn:inrae] The INRAE web site: https://www.inrae.fr/
** Translate
diff --git a/doc/paper/2023/simhydro/presentation/presentation.org b/doc/paper/2023/simhydro/presentation/presentation.org
index 8cabf332..f8457d23 100644
--- a/doc/paper/2023/simhydro/presentation/presentation.org
+++ b/doc/paper/2023/simhydro/presentation/presentation.org
@@ -424,7 +424,7 @@ Create a new version of {{{pamhyr}}} called {{{pamhyr2}}}
** Contribution
#+LaTeX: \begin{center}
-\faIcon{gitlab} https://gitlab.irstea.fr/theophile.terraz/pamhyr/
+\faIcon{gitlab} https://gitlab.com/pamhyr/pamhyr2/
#+LaTeX: \end{center}
*** For users
@@ -462,7 +462,7 @@ Create a new version of {{{pamhyr}}} called {{{pamhyr2}}}
# #+END_EXPORT
#+LaTeX: \begin{center}
-\faIcon{gitlab} https://gitlab.irstea.fr/theophile.terraz/pamhyr/
+\faIcon{gitlab} https://gitlab.com/pamhyr/pamhyr2/
#+LaTeX: \end{center}
#+LaTeX: \begin{center}
diff --git a/doc/users/TP_Hydraulique_Hogneau/step-by-step.tex b/doc/users/TP_Hydraulique_Hogneau/step-by-step.tex
index 87e1a37f..4541f95a 100644
--- a/doc/users/TP_Hydraulique_Hogneau/step-by-step.tex
+++ b/doc/users/TP_Hydraulique_Hogneau/step-by-step.tex
@@ -101,7 +101,7 @@ Authors : & Pierre-Antoine Rouby & pierre-antoine.rouby@inrae.fr\tabularnewline
\section{Install Pamhyr2}
-Pamhyr2 can be downloaded from \url{https://gitlab.irstea.fr/theophile.terraz/pamhyr}.
+Pamhyr2 can be downloaded from \url{https://gitlab.com/pamhyr/pamhyr2}.
\begin{center}
\includegraphics[width=15cm]{img/dl.png}
\par\end{center}
diff --git a/src/View/Results/CustomPlot/Plot.py b/src/View/Results/CustomPlot/Plot.py
index 28ae310c..e67a6ea6 100644
--- a/src/View/Results/CustomPlot/Plot.py
+++ b/src/View/Results/CustomPlot/Plot.py
@@ -49,7 +49,7 @@ unit = {
class CustomPlot(PamhyrPlot):
def __init__(self, x, y, envelop, reach, profile, timestamp,
- data=None, canvas=None, trad=None, res_id=0,
+ data=None, canvas=None, trad=None, res_id=[0],
toolbar=None, parent=None):
super(CustomPlot, self).__init__(
canvas=canvas,
@@ -65,7 +65,7 @@ class CustomPlot(PamhyrPlot):
self._reach = reach
self._profile = profile
self._timestamp = timestamp
- self._current_res_id = res_id
+ self._current_res_id = res_id[0]
self._parent = parent
logger.debug(
@@ -133,7 +133,7 @@ class CustomPlot(PamhyrPlot):
"""
Get SL list for profile p at initial time (initial data)
"""
- t0 = min(list(self.data[self._current_res_id].get("timestamps")))
+ t0 = min(list(self.data[self._current_res_id[0]].get("timestamps")))
return map(
lambda p: p.get_ts_key(t0, "sl")[0],
reach.profiles
@@ -148,8 +148,8 @@ class CustomPlot(PamhyrPlot):
reach.profiles
)
- def get_ts_zmin(self, profile):
- results = self.data[self._current_res_id]
+ def get_ts_zmin(self, profile, res_id):
+ results = self.data[res_id]
nt = len(list(results.get("timestamps")))
reach = results.river.reach(self._reach)
berdrock = self.sl_compute_bedrock(reach)
@@ -170,6 +170,7 @@ class CustomPlot(PamhyrPlot):
return ts_z_min
def _draw_rk(self):
+ #for res_id in self._current_res_id:
results = self.data[self._current_res_id]
reach = results.river.reach(self._reach)
if self._current_res_id == 2: # compare results
@@ -215,7 +216,7 @@ class CustomPlot(PamhyrPlot):
if "bed_elevation" in self._y:
ax = self._axes[unit["bed_elevation"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
line = ax.plot(
rk, z_min,
color='grey', lw=1.,
@@ -242,13 +243,13 @@ class CustomPlot(PamhyrPlot):
if (self._envelop and
reach.has_sediment() and
- self._current_res_id != 2):
+ self._current_res_id < 2):
ax = self._axes[unit["bed_elevation_envelop"]]
e = list(
map(
- lambda p: max(self.get_ts_zmin(p)),
+ lambda p: max(self.get_ts_zmin(p, res_id)),
range(len(reach))
)
)
@@ -261,7 +262,7 @@ class CustomPlot(PamhyrPlot):
e = list(
map(
- lambda p: min(self.get_ts_zmin(p)),
+ lambda p: min(self.get_ts_zmin(p, res_id)),
range(len(reach))
)
)
@@ -281,7 +282,7 @@ class CustomPlot(PamhyrPlot):
)
self.lines["water_elevation"] = line
- if "bed_elevation" in self._y and self._current_res_id != 2:
+ if "bed_elevation" in self._y and self._current_res_id < 2:
self.fill = ax.fill_between(
rk, z_min, z,
color='blue', alpha=0.5, interpolate=True
@@ -398,7 +399,7 @@ class CustomPlot(PamhyrPlot):
if "depth" in self._y:
ax = self._axes[unit["depth"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(
lambda p: p.geometry.max_water_depth(
@@ -434,7 +435,7 @@ class CustomPlot(PamhyrPlot):
)
self.lines["depth"] = line
- if self._envelop and self._current_res_id != 2:
+ if self._envelop and self._current_res_id < 2:
ax = self._axes[unit["depth_envelop"]]
@@ -467,7 +468,7 @@ class CustomPlot(PamhyrPlot):
if "mean_depth" in self._y:
ax = self._axes[unit["mean_depth"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(
lambda p: p.geometry.mean_water_depth(
@@ -506,7 +507,7 @@ class CustomPlot(PamhyrPlot):
if "froude" in self._y:
ax = self._axes[unit["froude"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
fr = list(
map(
lambda p:
@@ -562,7 +563,7 @@ class CustomPlot(PamhyrPlot):
if "wet_area" in self._y:
ax = self._axes[unit["wet_area"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(
lambda p: p.geometry.wet_area(
@@ -640,7 +641,7 @@ class CustomPlot(PamhyrPlot):
)
)
if "bed_elevation" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
dz = z_min
else:
if reach.has_sediment():
@@ -660,7 +661,7 @@ class CustomPlot(PamhyrPlot):
if "water_elevation" in self._y:
self.lines["water_elevation"][0].set_ydata(z)
- if "bed_elevation" in self._y and self._current_res_id != 2:
+ if "bed_elevation" in self._y and self._current_res_id < 2:
ax = self._axes[unit["water_elevation"]]
self.fill.remove()
self.fill = ax.fill_between(
@@ -675,7 +676,7 @@ class CustomPlot(PamhyrPlot):
self.lines["velocity"][0].set_ydata(v)
if "depth" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(
lambda p: p.geometry.max_water_depth(
@@ -708,7 +709,7 @@ class CustomPlot(PamhyrPlot):
self.lines["depth"][0].set_ydata(d)
if "mean_depth" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(
lambda p: p.geometry.mean_water_depth(
@@ -741,7 +742,7 @@ class CustomPlot(PamhyrPlot):
self.lines["mean_depth"][0].set_ydata(d)
if "froude" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
fr = list(
map(
lambda p:
@@ -792,7 +793,7 @@ class CustomPlot(PamhyrPlot):
self.lines["froude"][0].set_ydata(fr)
if "wet_area" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(
lambda p: p.geometry.wet_area(
@@ -901,9 +902,9 @@ class CustomPlot(PamhyrPlot):
z = profile.get_key("Z")
v = profile.get_key("V")
z_min = profile.geometry.z_min()
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
if reach.has_sediment():
- ts_z_min = self.get_ts_zmin(self._profile)
+ ts_z_min = self.get_ts_zmin(self._profile, res_id)
else:
ts_z_min = list(
map(
@@ -920,8 +921,8 @@ class CustomPlot(PamhyrPlot):
if self._current_res_id == 2:
if reach.has_sediment():
- ts_z_min1 = self.get_ts_zmin(self._profile1)
- ts_z_min2 = self.get_ts_zmin(self._profile2)
+ ts_z_min1 = self.get_ts_zmin(self._profile1, 0)
+ ts_z_min2 = self.get_ts_zmin(self._profile2, 1)
ts_z_min = list(
map(
lambda x, y: x - y,
@@ -953,7 +954,7 @@ class CustomPlot(PamhyrPlot):
)
self.lines["water_elevation"] = line
- if "bed_elevation" in self._y and self._current_res_id != 2:
+ if "bed_elevation" in self._y and self._current_res_id < 2:
self.fill = ax.fill_between(
ts, ts_z_min, z,
@@ -982,7 +983,7 @@ class CustomPlot(PamhyrPlot):
if "depth" in self._y:
ax = self._axes[unit["depth"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(lambda z: profile.geometry.max_water_depth(z), z)
)
@@ -1009,7 +1010,7 @@ class CustomPlot(PamhyrPlot):
if "mean_depth" in self._y:
ax = self._axes[unit["mean_depth"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(lambda z: profile.geometry.mean_water_depth(z), z)
)
@@ -1036,7 +1037,7 @@ class CustomPlot(PamhyrPlot):
if "froude" in self._y:
ax = self._axes[unit["froude"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(lambda z, v:
v /
@@ -1077,7 +1078,7 @@ class CustomPlot(PamhyrPlot):
if "wet_area" in self._y:
ax = self._axes[unit["wet_area"]]
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(lambda z: profile.geometry.wet_area(z), z)
)
@@ -1136,7 +1137,7 @@ class CustomPlot(PamhyrPlot):
q = profile.get_key("Q")
z = profile.get_key("Z")
v = profile.get_key("V")
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
if reach.has_sediment():
ts_z_min = self.get_ts_zmin(self._profile)
else:
@@ -1150,8 +1151,8 @@ class CustomPlot(PamhyrPlot):
if "bed_elevation" in self._y:
if self._current_res_id == 2:
if reach.has_sediment():
- ts_z_min1 = self.get_ts_zmin(self._profile1)
- ts_z_min2 = self.get_ts_zmin(self._profile2)
+ ts_z_min1 = self.get_ts_zmin(self._profile1, 0)
+ ts_z_min2 = self.get_ts_zmin(self._profile2, 1)
ts_z_min = list(
map(
lambda x, y: x - y,
@@ -1172,7 +1173,7 @@ class CustomPlot(PamhyrPlot):
if "water_elevation" in self._y:
self.lines["water_elevation"][0].set_ydata(z)
- if "bed_elevation" in self._y and self._current_res_id != 2:
+ if "bed_elevation" in self._y and self._current_res_id < 2:
ax = self._axes[unit["bed_elevation"]]
self.fill.remove()
self.fill = ax.fill_between(
@@ -1187,7 +1188,7 @@ class CustomPlot(PamhyrPlot):
self.lines["velocity"][0].set_ydata(v)
if "depth" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(lambda z: profile.geometry.max_water_depth(z), z)
)
@@ -1208,7 +1209,7 @@ class CustomPlot(PamhyrPlot):
self.lines["depth"][0].set_ydata(d)
if "mean_depth" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(lambda z: profile.geometry.mean_water_depth(z), z)
)
@@ -1229,7 +1230,7 @@ class CustomPlot(PamhyrPlot):
self.lines["mean_depth"][0].set_ydata(d)
if "froude" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(lambda z, v:
v /
@@ -1265,7 +1266,7 @@ class CustomPlot(PamhyrPlot):
self.lines["froude"][0].set_ydata(d)
if "wet_area" in self._y:
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
d = list(
map(lambda z: profile.geometry.wet_area(z), z)
)
@@ -1319,7 +1320,7 @@ class CustomPlot(PamhyrPlot):
color='black', fontsize=10
)
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
self.canvas.axes.set_ylabel(
self._trad[self._y_axes[0]],
color='black', fontsize=10
@@ -1334,14 +1335,13 @@ class CustomPlot(PamhyrPlot):
if len(self.lines) != 0:
self.lines.clear()
for axes in self._y_axes[1:]:
- print("axes: ", axes)
if axes in self._axes.keys():
for ll in self._axes[axes].lines:
ll.remove()
else:
ax_new = self.canvas.axes.twinx()
self._axes[axes] = ax_new
- if self._current_res_id != 2:
+ if self._current_res_id < 2:
self._axes[axes].set_ylabel(
self._trad[axes],
color='black', fontsize=10
@@ -1398,7 +1398,7 @@ class CustomPlot(PamhyrPlot):
self.draw_current()
def set_result(self, res_id):
- self._current_res_id = res_id
+ self._current_res_id = res_id[0]
self.draw()
def set_timestamp(self, timestamp):
diff --git a/src/View/Results/PlotAC.py b/src/View/Results/PlotAC.py
index 614d1b4e..77877022 100644
--- a/src/View/Results/PlotAC.py
+++ b/src/View/Results/PlotAC.py
@@ -41,7 +41,7 @@ class PlotAC(PamhyrPlot):
self._current_reach_id = reach_id
self._current_profile_id = profile_id
- self._current_res_id = res_id
+ self._current_res_id = res_id[0]
self._timestamps = parent._timestamps
self._current_timestamp = max(self._timestamps)
@@ -144,7 +144,7 @@ class PlotAC(PamhyrPlot):
self.update()
def set_result(self, res_id):
- self._current_res_id = res_id
+ self._current_res_id = res_id[0]
self.update()
def set_timestamp(self, timestamp):
diff --git a/src/View/Results/PlotH.py b/src/View/Results/PlotH.py
index 09d6acb3..3dfe2466 100644
--- a/src/View/Results/PlotH.py
+++ b/src/View/Results/PlotH.py
@@ -35,7 +35,7 @@ logger = logging.getLogger()
class PlotH(PamhyrPlot):
def __init__(self, canvas=None, trad=None, toolbar=None,
- results=None, reach_id=0, profile_id=0, res_id=0,
+ results=None, reach_id=0, profile_id=0, res_id=[0],
parent=None):
super(PlotH, self).__init__(
canvas=canvas,
@@ -65,6 +65,9 @@ class PlotH(PamhyrPlot):
# self._auto_relim_update = False
# self._autoscale_update = False
+ self._line_max = []
+ self._line = []
+
@property
def results(self):
return self.data
@@ -82,19 +85,33 @@ class PlotH(PamhyrPlot):
if self.results is None:
return
- if self.results[self._current_res_id] is None:
+ if len(self._current_res_id) < 1:
return
- results = self.results[self._current_res_id]
- reach = results.river.reach(self._current_reach_id)
- profile = reach.profile(self._current_profile_id)
+ for res_id in self._current_res_id:
+ if self.results[res_id] is None:
+ continue
- if reach.geometry.number_profiles == 0:
- self._init = False
- return
+ results = self.results[res_id]
+ reach = results.river.reach(self._current_reach_id)
+ profile = reach.profile(self._current_profile_id)
- self.draw_max(reach)
- self.draw_data(reach, profile)
+ if reach.geometry.number_profiles == 0:
+ self._init = False
+ return
+
+ self.draw_max(reach)
+ self.draw_data(reach, profile)
+
+ self.canvas.axes.set_xlabel(
+ self._trad["unit_time_s"],
+ color='black', fontsize=10
+ )
+
+ self.canvas.axes.set_ylabel(
+ self._trad["unit_discharge"],
+ color='black', fontsize=10
+ )
self.set_ticks_time_formater()
@@ -110,12 +127,13 @@ class PlotH(PamhyrPlot):
x = self._timestamps
y = profile.get_key("Q")
- self._line, = self.canvas.axes.plot(
+ line, = self.canvas.axes.plot(
x, y,
label=self.label_discharge,
color=self.color_plot,
**self.plot_default_kargs
)
+ self._line.append(line)
def draw_current(self):
self._current, = self.canvas.axes.plot(
@@ -138,13 +156,14 @@ class PlotH(PamhyrPlot):
ts_y = max(ts_y, q)
y.append(ts_y)
- self._line_max, = self.canvas.axes.plot(
+ m, = self.canvas.axes.plot(
x, y,
label=self.label_discharge_max,
color=self.color_plot_highlight,
linestyle='dotted',
**self.plot_default_kargs
)
+ self._line_max.append(m)
def set_reach(self, reach_id):
self._current_reach_id = reach_id
@@ -173,14 +192,15 @@ class PlotH(PamhyrPlot):
self.update_idle()
def update_data(self):
- results = self.results[self._current_res_id]
- reach = results.river.reach(self._current_reach_id)
- profile = reach.profile(self._current_profile_id)
+ for res, res_id in enumerate(self._current_res_id):
+ results = self.results[res_id]
+ reach = results.river.reach(self._current_reach_id)
+ profile = reach.profile(self._current_profile_id)
- x = self._timestamps
- y = profile.get_key("Q")
+ x = self._timestamps
+ y = profile.get_key("Q")
- self._line.set_data(x, y)
+ self._line[res].set_data(x, y)
def update_current(self):
y = self._current.get_ydata()
diff --git a/src/View/Results/PlotRKC.py b/src/View/Results/PlotRKC.py
index 8abe8ad9..e1f53c6c 100644
--- a/src/View/Results/PlotRKC.py
+++ b/src/View/Results/PlotRKC.py
@@ -44,7 +44,7 @@ class PlotRKC(PamhyrPlot):
self._current_reach_id = reach_id
self._current_profile_id = profile_id
- self._current_res_id = res_id
+ self._current_res_id = res_id[0]
self._timestamps = parent._timestamps
self._current_timestamp = max(self._timestamps)
@@ -323,7 +323,7 @@ class PlotRKC(PamhyrPlot):
self.update_current()
def set_result(self, res_id):
- self._current_res_id = res_id
+ self._current_res_id = res_id[0]
self.update()
def set_timestamp(self, timestamp):
diff --git a/src/View/Results/PlotXY.py b/src/View/Results/PlotXY.py
index 013e746e..5fb00460 100644
--- a/src/View/Results/PlotXY.py
+++ b/src/View/Results/PlotXY.py
@@ -56,7 +56,7 @@ class PlotXY(PamhyrPlot):
self._current_timestamp = max(self._timestamps)
self._current_reach_id = reach_id
self._current_profile_id = profile_id
- self._current_res_id = res_id
+ self._current_res_id = res_id[0]
self.label_x = _translate("Results", "X (m)")
self.label_y = _translate("Results", "Y (m)")
@@ -316,7 +316,7 @@ class PlotXY(PamhyrPlot):
self.update_idle()
def set_result(self, res_id):
- self._current_res_id = res_id
+ self._current_res_id = res_id[0]
self.update()
def set_timestamp(self, timestamp):
diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index ad1c2b7f..6616ac8b 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -88,7 +88,7 @@ class ResultsWindow(PamhyrWindow):
results=None, parent=None, trad=None):
self._solvers = [r._solver for r in results]
self._results = results
- self._current_results = 0
+ self._current_results = [0]
if trad is None:
trad = ResultsTranslate()
@@ -125,8 +125,9 @@ class ResultsWindow(PamhyrWindow):
return
self.update(reach_id=0,
- profile_id=0,
- solver_id=0)
+ profile_id=0)
+
+ self.update_table_selection_solver(0)
def setup_table(self):
self._table = {}
@@ -147,7 +148,7 @@ class ResultsWindow(PamhyrWindow):
table.hide()
def setup_slider(self):
- default_reach = self._results[self._current_results].river.reach(0)
+ default_reach = self._results[self._current_results[0]].river.reach(0)
self._slider_time = self.find(QSlider, f"horizontalSlider_time")
self._slider_time.setMaximum(len(self._timestamps) - 1)
@@ -450,8 +451,6 @@ class ResultsWindow(PamhyrWindow):
for plot in self._additional_plot:
self._additional_plot[plot].set_result(solver_id)
- self.update_table_selection_solver(solver_id)
-
if timestamp is not None:
self.plot_xy.set_timestamp(timestamp)
self.plot_ac.set_timestamp(timestamp)
@@ -512,7 +511,7 @@ class ResultsWindow(PamhyrWindow):
if len(indexes) == 0:
return
- self.update(solver_id=indexes[0].row())
+ self.update(solver_id=[i.row() for i in indexes])
def _set_current_timestamp(self):
timestamp = self._timestamps[self._slider_time.value()]
diff --git a/src/View/Translate.py b/src/View/Translate.py
index 988f55db..3abf9b9c 100644
--- a/src/View/Translate.py
+++ b/src/View/Translate.py
@@ -106,16 +106,13 @@ class UnitTranslate(CommonWordTranslate):
self._dict["unit_min_velocity"] = _translate(
"Unit", "Min Velocity (m/s)"
)
- self._dict["unit_discharge"] = _translate("Unit", "Discharge (m³/s)")
+ self._dict["unit_discharge"] = _translate("Unit", "Discharge") + " (m³/s)"
self._dict["unit_discharge_envelop"] = _translate(
- "Unit", "Discharge Envelop (m³/s)"
- )
+ "Unit", "Discharge Envelop") + " (m³/s)"
self._dict["unit_max_discharge"] = _translate(
- "Unit", "Max Discharge (m³/s)"
- )
+ "Unit", "Max Discharge") + " (m³/s)"
self._dict["unit_min_discharge"] = _translate(
- "Unit", "Min Discharge (m³/s)"
- )
+ "Unit", "Min Discharge") + " (m³/s)"
self._dict["unit_area_he"] = _translate("Unit", "Area (hectare)")
self._dict["unit_time_s"] = _translate("Unit", "Time (sec)")
@@ -136,7 +133,7 @@ class UnitTranslate(CommonWordTranslate):
self._dict["unit_concentration"] = _translate(
"Unit", "Concentration (g/l)"
)
- self._dict["unit_wet_area"] = _translate("Unit", "Wet Area (m²)")
+ self._dict["unit_wet_area"] = _translate("Unit", "Wet Area") + " (m²)"
self._dict["unit_wet_perimeter"] = _translate(
"Unit", "Wet Perimeter (m)"
)
@@ -146,8 +143,7 @@ class UnitTranslate(CommonWordTranslate):
self._dict["unit_froude"] = _translate("Unit", "Froude number")
self._dict["unit_mass"] = _translate("Unit", "Mass (kg)")
self._dict["unit_concentration"] = _translate(
- "Unit", "Concentration (kg/m³)"
- )
+ "Unit", "Concentration") + " (kg/m³)"
class MainTranslate(UnitTranslate):
diff --git a/src/lang/fr.ts b/src/lang/fr.ts
index 7baa3c41..3c36b6cf 100644
--- a/src/lang/fr.ts
+++ b/src/lang/fr.ts
@@ -28,11 +28,6 @@
BasicHydraulicStructures
-
-
- Basic Hydraulic Structure
- Ouvrage hydraulique élémentaire
-
Change hydraulic structure type
@@ -269,19 +264,6 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Polluant
-
- BoundaryConditionAdisTS
-
-
- Edit boundary conditions AdisTS
- Éditer les conditions aux limites AdisTS
-
-
-
- Concentration
- Concentration
-
-
BoundaryConditions
@@ -525,11 +507,6 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Custom plot selection
Sélection des graphiques personnalisés
-
-
- Bed elevation (m)
- Cote du fond (m)
-
Elevation (m)
@@ -852,11 +829,6 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Parameters
Paramètres
-
-
- Langue
- Langue
-
<html><head/><body><p>Comment lines start with '*' char (let see Mage documentation for more details)</p></body></html>
@@ -1102,11 +1074,6 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie....
...
-
-
- Version: @version
- Version : @version
-
License: GPLv3+
@@ -1290,16 +1257,6 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.End (m)
PK de fin (m)
-
-
- Start coefficient
- Coefficient de départ
-
-
-
- End coefficient
- Coefficient de fin
-
Stricklers
@@ -1473,18 +1430,6 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Shift
Translater
-
-
- No geometry
- Aucune géométrie
-
-
-
- No geometry found for this reach.
-This feature requires a reach with a geometry.
- Aucune géométrie n'a été trouvée sur ce bief.
-Cette fonctionnalité nécessite un bief muni d'une géométrie.
-
HydraulicStructures
@@ -1594,17 +1539,17 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.
MainWindow
-
+
Open debug window
Ouvrir la fenêtre de débogage
-
+
Open SQLite debuging tool ('sqlitebrowser')
Ouvrir l'outil de débogage SQLite ('sqlitebrowser')
-
+
Enable this window
Activer cette fenêtre
@@ -2449,12 +2394,12 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Maillage
-
+
Summary
Résumé
-
+
Checks
Vérifications
@@ -2674,52 +2619,47 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Données
-
+
Please select a reach
Veuillez sélectionner un bief
-
- Geometry edition need a reach selected into the river network to work on it
- L'édition de la géométrie nécessite un bief sélectionné dans le réseau fluvial pour pouvoir travailler dessus
-
-
-
+
Last open study
Dernière étude ouverte
-
+
Do you want to open again the last open study?
Voulez-vous rouvrir la dernière étude ?
-
+
This edition window need a reach selected into the river network to work on it
Cette fenêtre d'édition a besoin d'un bief sélectionné dans le réseau pour travailler dessus
-
+
Close without saving study
Fermer sans sauvegarder l'étude
-
+
Do you want to save current study before closing it?
Souhaitez-vous sauvegarder l'étude en cours avant de la fermer ?
-
+
Warning
Avertissement
-
+
X (m)
X (m)
-
+
Y (m)
Y (m)
@@ -2894,12 +2834,12 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Export données brutes
-
+
Yes
Oui
-
+
No
Non
@@ -3128,12 +3068,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Lecture des résultats
-
- River bottom
- Fond de la rivière
-
-
-
+
Water elevation
Cote de l'eau
@@ -3148,7 +3083,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Nom du bief
-
+
Profile
Profil
@@ -3644,32 +3579,27 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Cote (m)
-
- Water elevation (m)
- Cote de l'eau (m)
-
-
-
+
Area (hectare)
Aire (hectare)
-
+
Time (sec)
Temps (s)
-
+
Time (JJJ:HH:MM:SS)
Temps (JJJ:HH:MM:SS)
-
+
Date (sec)
Date (s)
-
+
Date (ISO format)
Date (format ISO)
@@ -3694,25 +3624,20 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Vitesse (m/s)
-
+
Wet Perimeter (m)
Périmètre mouillé (m)
-
+
Hydraulic Radius (m)
Rayon hydraulique (m)
-
+
Froude number
Nombre de Froude
-
-
- Discharge (m^3/s)
- Débit (m³/s)
-
EG (m)
@@ -3832,75 +3757,55 @@ moyen droit (m)
Vitesse min (m/s)
-
- Discharge Envelop (m^3/s)
- Enveloppe du débit (m³/s)
-
-
-
- Max Discharge (m^3/s)
- Débit max (m³/s)
-
-
-
- Min Discharge (m^3/s)
- Débit min (m³/s)
-
-
-
+
Area
Aire
-
+
Rho
Rho
-
+
Porosity
Porosité
-
+
CDC_RIV
CDC_RIV
-
+
CDC_CAS
CDC_CAS
-
+
APD
APD
-
+
AC
AC
-
+
BC
BC
-
+
Concentration (g/l)
Concentration (g/l)
-
+
Mass (kg)
Masse
-
-
- Concentration (kg/m^3)
- Concentration (kg/m³)
-
DIF
@@ -3916,65 +3821,35 @@ moyen droit (m)
Coeff c
Coeff c
-
-
- Wet Area (m²)
- Aire Mouillée (m²)
-
- Discharge (m³/s)
- Débit (m³/s)
+ Discharge
+ Débit
- Discharge Envelop (m³/s)
- Enveloppe du débit (m³/s)
+ Discharge Envelop
+ Enveloppe du débit
-
- Max Discharge (m³/s)
- Débit max (m³/s)
+
+ Max Discharge
+ Débit max
-
- Min Discharge (m³/s)
- Débit min (m³/s)
+
+ Min Discharge
+ Débit min
-
- Concentration (kg/m³)
- Concentration (kg/m³)
+
+ Concentration
+ Concentration
-
-
- Discharge (m³/s)
-
-
-
-
- Discharge Envelop (m³/s)
-
-
-
-
- Max Discharge (m³/s)
-
-
-
-
- Min Discharge (m³/s)
-
-
-
-
- Wet Area (m²)
-
-
-
-
- Concentration (kg/m³)
-
+
+
+ Wet Area
+ Aire mouillée