diff --git a/src/View/BoundaryCondition/Edit/Window.py b/src/View/BoundaryCondition/Edit/Window.py
index 34c9e503..dba64da5 100644
--- a/src/View/BoundaryCondition/Edit/Window.py
+++ b/src/View/BoundaryCondition/Edit/Window.py
@@ -204,12 +204,17 @@ class EditBoundaryConditionWindow(PamhyrWindow):
self.find(QAction, "action_generate_critical").triggered.connect(
self.generate_critical
)
+ self.find(QAction, "action_increasing").triggered.connect(
+ self.make_increasing
+ )
if self._data.bctype != "ZD" or not self._data.has_node:
self.find(QAction, "action_generate_uniform").setVisible(False)
self.find(QAction, "action_generate_critical").setVisible(False)
+ self.find(QAction, "action_increasing").setVisible(False)
else:
self.find(QAction, "action_generate_uniform").setVisible(True)
self.find(QAction, "action_generate_critical").setVisible(True)
+ self.find(QAction, "action_increasing").setVisible(True)
self._table.dataChanged.connect(self.update)
self._table.layoutChanged.connect(self.update)
@@ -382,3 +387,21 @@ class EditBoundaryConditionWindow(PamhyrWindow):
height[i] += z_min
self._table.replace_data(height, q)
return
+
+ def make_increasing(self):
+ if self._data.has_node:
+ node = self._data.node
+ if node is None:
+ return
+ if len(self._table._data) < 2:
+ return
+ h = [self._data.get_i(0)[0]]
+ q = [self._data.get_i(0)[1]]
+ for i in range(len(self._table._data)):
+ if i == 0:
+ continue
+ row = self._data.get_i(i)
+ if row[1] > q[-1]:
+ h.append(row[0])
+ q.append(row[1])
+ self._table.replace_data(h, q)
diff --git a/src/View/ui/EditBoundaryConditions.ui b/src/View/ui/EditBoundaryConditions.ui
index c2c81378..f24120f4 100644
--- a/src/View/ui/EditBoundaryConditions.ui
+++ b/src/View/ui/EditBoundaryConditions.ui
@@ -75,6 +75,7 @@
+
@@ -140,6 +141,14 @@
Generate rating curve as Q(z) = Sqrt(g*S(z)^3/L(z))
+
+
+ Make increasing
+
+
+ Remove points to make the curve increasing
+
+
diff --git a/src/View/ui/InitialConditions_Dialog_Generator_Height.ui b/src/View/ui/InitialConditions_Dialog_Generator_Height.ui
index ee015bd1..414c3d12 100644
--- a/src/View/ui/InitialConditions_Dialog_Generator_Height.ui
+++ b/src/View/ui/InitialConditions_Dialog_Generator_Height.ui
@@ -22,7 +22,7 @@
-
- Upstream Height (m)
+ Upstream height (m)
@@ -64,7 +64,7 @@
-
- Downstream Height (m)
+ Downstream height (m)
@@ -95,7 +95,7 @@
-
- Generate Constant Discharge
+ Generate constant discharge