diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py
index d77e2498d96dd71c65666c9805c8ed5a033d3ff1..be12428f27a46c8b99762ba6f454c31b28e496f7 100644
--- a/src/Model/InitialConditions/InitialConditions.py
+++ b/src/Model/InitialConditions/InitialConditions.py
@@ -140,7 +140,6 @@ class Data(SQLSubModel):
             reach=self._reach,
             status=self._status,
         )
-
         return new
 
     @property
@@ -368,53 +367,68 @@ class InitialConditions(SQLSubModel):
                 key=lambda p: p.kp
             )
 
-    def generate_growing_constante_height(self, height: float):
-        self._data = []
+    def generate_growing_constante_height(self, height: float, compute_discharge: bool):
 
         profiles = self._reach.reach.profiles.copy()
         self._sort_by_z_and_kp(profiles)
 
-        incline = self._reach.reach.get_incline_median_mean()
         logger.debug(f"incline = {incline}")
 
         previous_elevation = -99999.99
-        for profile in profiles:
-            width = profile.width_approximation()
-            strickler = 25
-            discharge = (
-                ((width * 0.8)
-                 * strickler
-                 * (height ** (5/3))
-                 * (abs(incline) ** (0.5)))
-            )
 
-            elevation = max(
-                profile.z_min() + height,
-                previous_elevation
-            )
+        if compute_discharge:
+            incline = self._reach.reach.get_incline_median_mean()
+            self._data = []
+            for profile in profiles:
+                width = profile.width_approximation()
+                strickler = 25
+                discharge = (
+                    ((width * 0.8)
+                    * strickler
+                    * (height ** (5/3))
+                    * (abs(incline) ** (0.5)))
+                )
 
-            logger.debug(f"({profile.kp}):")
-            logger.debug(f"  width  = {width}")
-            logger.debug(f"  strickler = {strickler}")
-            logger.debug(f"  discharge = {discharge}")
+                elevation = max(
+                    profile.z_min() + height,
+                    previous_elevation
+                )
 
-            new = Data(reach=self._reach, status=self._status)
-            new["kp"] = profile.kp
-            new["discharge"] = discharge
+                logger.debug(f"({profile.kp}):")
+                logger.debug(f"  width  = {width}")
+                logger.debug(f"  strickler = {strickler}")
+                logger.debug(f"  discharge = {discharge}")
 
-            new["elevation"] = elevation
+                new = Data(reach=self._reach, status=self._status)
+                new["kp"] = profile.kp
+                new["discharge"] = discharge
 
-            self._data.append(new)
-            previous_elevation = elevation
+                new["elevation"] = elevation
+
+                self._data.append(new)
+        else:
+            for data, profile in zip(self._data, profiles):
+
+                elevation = max(
+                    profile.z_min() + height,
+                    previous_elevation
+                )
+                data["elevation"] = elevation
+                previous_elevation = elevation
 
         self._generate_resort_data(profiles)
 
-    def generate_discharge(self, discharge: float):
-        self._data = []
+    def generate_discharge(self, discharge: float, compute_height: bool):
 
-        self._generate_height_estimation_from_discharge(
-            discharge
-        )
+        if compute_height:
+            self._data = []
+
+            self._generate_height_estimation_from_discharge(
+                discharge
+            )
+        else:
+            for data in self._data:
+                data["discharge"] = discharge
 
     def _generate_height_estimation_from_discharge(self, discharge: float):
         profiles = self._reach.reach.profiles.copy()
diff --git a/src/View/InitialConditions/DialogDischarge.py b/src/View/InitialConditions/DialogDischarge.py
index 9b63bdabd70c5285cc12ceddef3c5c98861d7c06..3f0a83bb66d819a6931db650e28f945a22f5cc78 100644
--- a/src/View/InitialConditions/DialogDischarge.py
+++ b/src/View/InitialConditions/DialogDischarge.py
@@ -28,7 +28,7 @@ from PyQt5.QtCore import (
 
 from PyQt5.QtWidgets import (
     QDialogButtonBox, QComboBox, QUndoStack, QShortcut,
-    QDoubleSpinBox,
+    QDoubleSpinBox, QCheckBox,
 )
 
 
@@ -45,9 +45,11 @@ class DischargeDialog(PamhyrDialog):
         )
 
         self.value = None
+        self.option = None
 
     def accept(self):
         self.value = self.find(QDoubleSpinBox, "doubleSpinBox").value()
+        self.option = self.find(QCheckBox, "checkBox").isChecked()
         super().accept()
 
     def reject(self):
diff --git a/src/View/InitialConditions/DialogHeight.py b/src/View/InitialConditions/DialogHeight.py
index 408212324c0f47116c97795436f2fe97812d1954..d4e541aaa34bd296aa30b62e6c81b64b363f5836 100644
--- a/src/View/InitialConditions/DialogHeight.py
+++ b/src/View/InitialConditions/DialogHeight.py
@@ -28,7 +28,7 @@ from PyQt5.QtCore import (
 
 from PyQt5.QtWidgets import (
     QDialogButtonBox, QComboBox, QUndoStack, QShortcut,
-    QDoubleSpinBox,
+    QDoubleSpinBox, QCheckBox,
 )
 
 
@@ -45,9 +45,11 @@ class HeightDialog(PamhyrDialog):
         )
 
         self.value = None
+        self.option = None
 
     def accept(self):
         self.value = self.find(QDoubleSpinBox, "doubleSpinBox").value()
+        self.option = self.find(QCheckBox, "checkBox").isChecked()
         super().accept()
 
     def reject(self):
diff --git a/src/View/InitialConditions/Table.py b/src/View/InitialConditions/Table.py
index 5461e862105ec08b3bb7cf0a9ad0e17210b246b7..cc7e712ed2cb12b953da05e39fe57dfd00da4783 100644
--- a/src/View/InitialConditions/Table.py
+++ b/src/View/InitialConditions/Table.py
@@ -289,10 +289,10 @@ class InitialConditionTableModel(PamhyrTableModel):
         self._undo.redo()
         self.layoutChanged.emit()
 
-    def generate(self, generator, param):
+    def generate(self, generator, param, option):
         self._undo.push(
             GenerateCommand(
-                self._lst, generator, param
+                self._lst, generator, param, option
             )
         )
         self.layoutChanged.emit()
diff --git a/src/View/InitialConditions/UndoCommand.py b/src/View/InitialConditions/UndoCommand.py
index fecb6c6d4a0c2f7341047889ee424e4b61876e39..cb880bc985d68129a1a1ac9dfb5501ed0dcc36a5 100644
--- a/src/View/InitialConditions/UndoCommand.py
+++ b/src/View/InitialConditions/UndoCommand.py
@@ -174,11 +174,12 @@ class DuplicateCommand(QUndoCommand):
 
 
 class GenerateCommand(QUndoCommand):
-    def __init__(self, ics, generator, param):
+    def __init__(self, ics, generator, param, option):
         QUndoCommand.__init__(self)
 
         self._ics = ics
         self._param = param
+        self._option = option
         self._copy = self._ics.data
         self._generator = generator
 
@@ -187,6 +188,8 @@ class GenerateCommand(QUndoCommand):
 
     def redo(self):
         if self._generator == "growing":
-            self._ics.generate_growing_constante_height(self._param)
+            self._ics.generate_growing_constante_height(self._param,
+                                                        self._option)
         elif self._generator == "discharge":
-            self._ics.generate_discharge(self._param)
+            self._ics.generate_discharge(self._param,
+                                         self._option)
diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py
index a9f4c6adbbca142b1aebc9b0bbf1ad30aa4ac3e0..02cdd7913de963b8badcfd42a26d3640af2bac62 100644
--- a/src/View/InitialConditions/Window.py
+++ b/src/View/InitialConditions/Window.py
@@ -349,12 +349,14 @@ class InitialConditionsWindow(PamhyrWindow):
         dlg = HeightDialog(trad=self._trad, parent=self)
         if dlg.exec():
             value = dlg.value
-            self._table.generate("growing", value)
+            compute_discharge = dlg.option
+            self._table.generate("growing", value, compute_discharge)
             self._update()
 
     def generate_discharge(self):
         dlg = DischargeDialog(trad=self._trad, parent=self)
         if dlg.exec():
             value = dlg.value
-            self._table.generate("discharge", value)
+            compute_height = dlg.option
+            self._table.generate("discharge", value, compute_height)
             self._update()
diff --git a/src/View/Network/translate.py b/src/View/Network/translate.py
index d6024681501bf6b75c997bdac9f22ce5d1c8b859..ea999db2ae4b7402c617b6eceede21a798b6eff7 100644
--- a/src/View/Network/translate.py
+++ b/src/View/Network/translate.py
@@ -54,12 +54,12 @@ class NetworkTranslate(MainTranslate):
         self._sub_dict["table_headers_node"] = {
             "name": self._dict['name'],
             "type": self._dict['type'],
-            # "id": _translate("Network", "Index"),
+            "id": _translate("Network", "Index"),
         }
 
         self._sub_dict["table_headers_edge"] = {
             "name": self._dict['name'],
             "node1": _translate("Network", "Source node"),
             "node2": _translate("Network", "Destination node"),
-            # "id": _translate("Network", "Index"),
+            "id": _translate("Network", "Index"),
         }
diff --git a/src/View/ui/InitialConditions_Dialog_Generator_Discharge.ui b/src/View/ui/InitialConditions_Dialog_Generator_Discharge.ui
index 8a0b7a8ab080603bcceace0dc64843ac87c8043e..58ae2b98cd665336835c75f06af958df315dd462 100644
--- a/src/View/ui/InitialConditions_Dialog_Generator_Discharge.ui
+++ b/src/View/ui/InitialConditions_Dialog_Generator_Discharge.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>284</width>
-    <height>80</height>
+    <height>107</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -17,6 +17,16 @@
    <locale language="English" country="Europe"/>
   </property>
   <layout class="QGridLayout" name="gridLayout">
+   <item row="2" column="0">
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
    <item row="0" column="0">
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
@@ -39,12 +49,12 @@
     </layout>
    </item>
    <item row="1" column="0">
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
+    <widget class="QCheckBox" name="checkBox">
+     <property name="text">
+      <string>Generate height</string>
      </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     <property name="checked">
+      <bool>true</bool>
      </property>
     </widget>
    </item>
diff --git a/src/View/ui/InitialConditions_Dialog_Generator_Height.ui b/src/View/ui/InitialConditions_Dialog_Generator_Height.ui
index 027fb6210c2bae7055d326a3a604d24a1b057b9c..500a2b0b4ece2e0ee65e4543ff62d368f634458c 100644
--- a/src/View/ui/InitialConditions_Dialog_Generator_Height.ui
+++ b/src/View/ui/InitialConditions_Dialog_Generator_Height.ui
@@ -17,6 +17,16 @@
    <locale language="English" country="Europe"/>
   </property>
   <layout class="QGridLayout" name="gridLayout">
+   <item row="2" column="0">
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
    <item row="0" column="0">
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
@@ -29,19 +39,19 @@
      <item>
       <widget class="QDoubleSpinBox" name="doubleSpinBox">
        <property name="maximum">
-        <double>999999.998999999952503</double>
+        <double>1000000.000000000000000</double>
        </property>
       </widget>
      </item>
     </layout>
    </item>
    <item row="1" column="0">
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
+    <widget class="QCheckBox" name="checkBox">
+     <property name="text">
+      <string>Generate discharge</string>
      </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     <property name="checked">
+      <bool>true</bool>
      </property>
     </widget>
    </item>