From 6852b08cfc9c8ea997f3828cfd833d15cabd3386 Mon Sep 17 00:00:00 2001
From: Theophile Terraz <theophile.terraz@inrae.fr>
Date: Tue, 5 Nov 2024 11:16:17 +0100
Subject: [PATCH] debug CI

---
 .../InitialConditions/InitialConditions.py    | 33 +++----------------
 src/View/InitialConditions/PlotDRK.py         | 27 +++++++--------
 src/View/Results/CustomPlot/Plot.py           |  2 +-
 3 files changed, 19 insertions(+), 43 deletions(-)

diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py
index 82756070..b069a5db 100644
--- a/src/Model/InitialConditions/InitialConditions.py
+++ b/src/Model/InitialConditions/InitialConditions.py
@@ -360,26 +360,11 @@ class InitialConditions(SQLSubModel):
     def get_discharge(self):
         return self._data_get("discharge")
 
-    def _sort_by_z_and_rk(self, profiles):
-        profiles.sort(
-            reverse=False,
-            key=lambda p: p.rk
-        )
-
-        first_z = profiles[0].z()
-        last_z = profiles[-1].z()
-
-        if first_z > last_z:
-            profiles.sort(
-                reverse=True,
-                key=lambda p: p.rk
-            )
-
     def generate_growing_constant_depth(self, height: float,
                                         compute_discharge: bool):
 
         profiles = self._reach.reach.profiles.copy()
-        self._sort_by_z_and_rk(profiles)
+        profiles.reverse()
 
         previous_elevation = -99999.99
 
@@ -433,12 +418,12 @@ class InitialConditions(SQLSubModel):
             previous_elevation = elevation
             self._data.append(new)
 
-        self._generate_resort_data(profiles)
+        self._data.reverse()
 
     def generate_discharge(self, discharge: float, compute_height: bool):
 
         profiles = self._reach.reach.profiles.copy()
-        self._sort_by_z_and_rk(profiles)
+        profiles.reverse()
 
         previous_elevation = -99999.99
 
@@ -491,7 +476,7 @@ class InitialConditions(SQLSubModel):
             previous_elevation = elevation
             self._data.append(new)
 
-        self._generate_resort_data(profiles)
+        self._data.reverse()
 
     def generate_height(self,
                         elevation1: float,
@@ -525,13 +510,3 @@ class InitialConditions(SQLSubModel):
             new["discharge"] = d
             new["elevation"] = elevation
             self._data.append(new)
-
-    def _generate_resort_data(self, profiles):
-        is_reverse = False
-        if profiles[0].rk > profiles[-1].rk:
-            is_reverse = True
-
-        self._data.sort(
-            reverse=not is_reverse,
-            key=lambda d: d['rk']
-        )
diff --git a/src/View/InitialConditions/PlotDRK.py b/src/View/InitialConditions/PlotDRK.py
index 352f7e47..42574896 100644
--- a/src/View/InitialConditions/PlotDRK.py
+++ b/src/View/InitialConditions/PlotDRK.py
@@ -77,31 +77,32 @@ class PlotDRK(PamhyrPlot):
             rk = self.data.get_rk()
             elevation = self.data.get_elevation()
 
+            sorted_rk, sorted_elevation = zip(
+                *sorted(zip(rk, elevation))
+            )
+
             self.line_rk_elevation = self.canvas.axes.plot(
-                rk, elevation,
+                sorted_rk, sorted_elevation,
                 color=self.color_plot_river_water,
                 **self.plot_default_kargs
             )
 
             z_min = self.data.reach.reach.get_z_min()
             geometry_rk = self.data.reach.reach.get_rk()
-
-            filtred_elevation = list(
-                map(
-                    lambda x: elevation[x[0]],
-                    filter(
-                        lambda x: x[1] in geometry_rk,
-                        enumerate(rk)
-                    )
-                )
+            sorted_geometry_rk, sorted_z_min = zip(
+                *sorted(zip(geometry_rk, z_min), reverse=True)
             )
 
-            self.collection = self.canvas.axes.fill_between(
-                geometry_rk, z_min, filtred_elevation,
+            poly_x = sorted_rk + sorted_geometry_rk
+            poly_y = sorted_elevation + sorted_z_min
+
+            self.collection = self.canvas.axes.fill(
+                poly_x, poly_y,
                 color=self.color_plot_river_water_zone,
-                alpha=0.7, interpolate=True
+                alpha=0.7,
             )
 
+
     @timer
     def update(self, ind=None):
         self.draw()
diff --git a/src/View/Results/CustomPlot/Plot.py b/src/View/Results/CustomPlot/Plot.py
index f807d508..fcf5f8f2 100644
--- a/src/View/Results/CustomPlot/Plot.py
+++ b/src/View/Results/CustomPlot/Plot.py
@@ -782,7 +782,7 @@ class CustomPlot(PamhyrPlot):
 
     @timer
     def update(self):
-        #if not self._init:
+        # if not self._init:
         self.draw_update()
         self.draw_current()
         return
-- 
GitLab