From deaf114fa3828b65c09c92a13912e282938e1d20 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Mon, 12 Feb 2024 17:06:13 +0100
Subject: [PATCH] Pamhyr: Update licence.

---
 AUTHORS                                       |  4 +-
 src/Checker/Checker.py                        |  2 +-
 src/Checker/Mage.py                           |  2 +-
 src/Checker/Study.py                          |  2 +-
 src/Meshing/AMeshingTool.py                   |  2 +-
 src/Meshing/Mage.py                           |  2 +-
 src/Meshing/__init__.py                       |  2 +-
 src/Meshing/test_Meshing.py                   |  2 +-
 .../BoundaryCondition/BoundaryCondition.py    |  2 +-
 .../BoundaryConditionList.py                  |  2 +-
 .../BoundaryConditionTypes.py                 |  2 +-
 src/Model/Except.py                           |  2 +-
 src/Model/Friction/Friction.py                |  2 +-
 src/Model/Friction/FrictionList.py            |  2 +-
 src/Model/Geometry/Point.py                   |  2 +-
 src/Model/Geometry/PointXY.py                 |  2 +-
 src/Model/Geometry/PointXYZ.py                |  2 +-
 src/Model/Geometry/Profile.py                 |  2 +-
 src/Model/Geometry/ProfileXYZ.py              |  2 +-
 src/Model/Geometry/Reach.py                   |  2 +-
 src/Model/Geometry/Vector_1d.py               |  2 +-
 .../Basic/HydraulicStructures.py              |  2 +-
 src/Model/HydraulicStructures/Basic/Types.py  |  2 +-
 src/Model/HydraulicStructures/Basic/Value.py  |  2 +-
 .../HydraulicStructures.py                    |  2 +-
 .../HydraulicStructuresList.py                |  2 +-
 .../InitialConditions/InitialConditions.py    |  2 +-
 .../InitialConditionsDict.py                  |  2 +-
 .../LateralContribution.py                    |  2 +-
 .../LateralContributionList.py                |  2 +-
 .../LateralContributionTypes.py               |  2 +-
 src/Model/Network/Edge.py                     |  2 +-
 src/Model/Network/Graph.py                    |  2 +-
 src/Model/Network/Node.py                     |  2 +-
 src/Model/Network/Point.py                    |  2 +-
 src/Model/Network/__init__.py                 |  2 +-
 src/Model/Network/test_network.py             |  2 +-
 src/Model/Reservoir/Reservoir.py              |  2 +-
 src/Model/Reservoir/ReservoirList.py          |  2 +-
 src/Model/Results/Results.py                  |  2 +-
 src/Model/Results/River/River.py              |  2 +-
 src/Model/River.py                            |  2 +-
 src/Model/Saved.py                            |  2 +-
 src/Model/SedimentLayer/SedimentLayer.py      | 16 +++++
 src/Model/SedimentLayer/SedimentLayerList.py  | 16 +++++
 src/Model/Serializable.py                     |  2 +-
 .../SolverParameters/SolverParametersList.py  |  2 +-
 src/Model/Stricklers/Stricklers.py            |  2 +-
 src/Model/Stricklers/StricklersList.py        |  2 +-
 src/Model/Study.py                            |  2 +-
 src/Model/Tools/PamhyrDB.py                   |  2 +-
 src/Model/Tools/PamhyrDict.py                 |  2 +-
 src/Model/Tools/PamhyrList.py                 |  2 +-
 src/Model/__init__.py                         |  2 +-
 src/Model/test_Model.py                       |  2 +-
 src/Scripts/AScript.py                        |  2 +-
 src/Scripts/Hello.py                          |  2 +-
 src/Scripts/ListSolver.py                     |  2 +-
 src/Scripts/MageMesh.py                       |  2 +-
 src/Scripts/P3DST.py                          |  2 +-
 src/Scripts/Run.py                            |  2 +-
 src/Solver/ASolver.py                         |  2 +-
 src/Solver/CommandLine.py                     |  2 +-
 src/Solver/GenericSolver.py                   |  2 +-
 src/Solver/Mage.py                            |  2 +-
 src/Solver/Solvers.py                         |  2 +-
 src/View/BoundaryCondition/Edit/Plot.py       |  2 +-
 src/View/BoundaryCondition/Edit/Table.py      |  2 +-
 .../BoundaryCondition/Edit/UndoCommand.py     |  2 +-
 src/View/BoundaryCondition/Edit/Window.py     |  2 +-
 src/View/BoundaryCondition/Edit/translate.py  |  2 +-
 src/View/BoundaryCondition/Table.py           |  2 +-
 src/View/BoundaryCondition/UndoCommand.py     |  2 +-
 src/View/BoundaryCondition/Window.py          |  2 +-
 src/View/BoundaryCondition/translate.py       |  2 +-
 src/View/CheckList/Table.py                   |  2 +-
 src/View/CheckList/Translate.py               |  2 +-
 src/View/CheckList/Window.py                  |  2 +-
 src/View/CheckList/Worker.py                  |  2 +-
 src/View/Configure/Solver/Window.py           |  2 +-
 src/View/Configure/Translate.py               |  2 +-
 src/View/Configure/Window.py                  |  2 +-
 src/View/Debug/Window.py                      |  2 +-
 src/View/Doc/Window.py                        |  2 +-
 src/View/DummyWindow.py                       |  2 +-
 src/View/Frictions/PlotStricklers.py          |  2 +-
 src/View/Frictions/Table.py                   |  2 +-
 src/View/Frictions/UndoCommand.py             |  2 +-
 src/View/Frictions/Window.py                  |  2 +-
 src/View/Frictions/translate.py               |  2 +-
 src/View/Geometry/MeshingDialog.py            |  2 +-
 src/View/Geometry/PlotAC.py                   |  2 +-
 src/View/Geometry/PlotKPZ.py                  |  2 +-
 src/View/Geometry/PlotXY.py                   |  2 +-
 src/View/Geometry/Profile/Plot.py             |  2 +-
 src/View/Geometry/Profile/Table.py            |  2 +-
 src/View/Geometry/Profile/Translate.py        |  2 +-
 src/View/Geometry/Profile/UndoCommand.py      |  2 +-
 src/View/Geometry/Profile/Window.py           |  2 +-
 src/View/Geometry/Table.py                    |  2 +-
 src/View/Geometry/Translate.py                |  2 +-
 src/View/Geometry/UndoCommand.py              |  2 +-
 src/View/Geometry/Window.py                   |  2 +-
 .../BasicHydraulicStructures/Table.py         |  2 +-
 .../BasicHydraulicStructures/Translate.py     |  2 +-
 .../BasicHydraulicStructures/UndoCommand.py   |  2 +-
 .../BasicHydraulicStructures/Window.py        |  2 +-
 src/View/HydraulicStructures/PlotAC.py        |  2 +-
 src/View/HydraulicStructures/PlotKPC.py       |  2 +-
 src/View/HydraulicStructures/Table.py         |  2 +-
 src/View/HydraulicStructures/Translate.py     |  2 +-
 src/View/HydraulicStructures/UndoCommand.py   |  2 +-
 src/View/HydraulicStructures/Window.py        |  2 +-
 src/View/InitialConditions/DialogDischarge.py |  2 +-
 src/View/InitialConditions/DialogHeight.py    |  2 +-
 src/View/InitialConditions/PlotDKP.py         |  2 +-
 src/View/InitialConditions/PlotDischarge.py   |  2 +-
 src/View/InitialConditions/Table.py           |  2 +-
 src/View/InitialConditions/UndoCommand.py     |  2 +-
 src/View/InitialConditions/Window.py          |  2 +-
 src/View/InitialConditions/translate.py       |  2 +-
 src/View/LateralContribution/Edit/Plot.py     |  2 +-
 src/View/LateralContribution/Edit/Table.py    |  2 +-
 .../LateralContribution/Edit/UndoCommand.py   |  2 +-
 src/View/LateralContribution/Edit/Window.py   |  2 +-
 .../LateralContribution/Edit/translate.py     |  2 +-
 src/View/LateralContribution/Table.py         |  2 +-
 src/View/LateralContribution/UndoCommand.py   |  2 +-
 src/View/LateralContribution/Window.py        |  2 +-
 src/View/LateralContribution/translate.py     |  2 +-
 src/View/MainWindow.py                        |  2 +-
 src/View/Network/GraphWidget.py               |  2 +-
 src/View/Network/Table.py                     |  2 +-
 src/View/Network/UndoCommand.py               |  2 +-
 src/View/Network/Window.py                    |  2 +-
 src/View/Network/translate.py                 |  2 +-
 src/View/Reservoir/Edit/Plot.py               |  2 +-
 src/View/Reservoir/Edit/Table.py              |  2 +-
 src/View/Reservoir/Edit/Translate.py          |  2 +-
 src/View/Reservoir/Edit/UndoCommand.py        |  2 +-
 src/View/Reservoir/Edit/Window.py             |  2 +-
 src/View/Reservoir/Table.py                   |  2 +-
 src/View/Reservoir/Translate.py               |  2 +-
 src/View/Reservoir/UndoCommand.py             |  2 +-
 src/View/Reservoir/Window.py                  |  2 +-
 src/View/Results/CustomPlot/Plot.py           |  2 +-
 src/View/Results/CustomPlot/Translate.py      |  2 +-
 src/View/Results/PlotAC.py                    |  2 +-
 src/View/Results/PlotH.py                     |  2 +-
 src/View/Results/PlotKPC.py                   |  2 +-
 src/View/Results/PlotSedProfile.py            | 16 +++++
 src/View/Results/PlotSedReach.py              | 16 +++++
 src/View/Results/PlotXY.py                    |  2 +-
 src/View/Results/Table.py                     |  2 +-
 src/View/Results/UndoCommand.py               |  2 +-
 src/View/Results/Window.py                    |  2 +-
 src/View/Results/translate.py                 |  2 +-
 src/View/SedimentLayers/Edit/Plot.py          | 16 +++++
 src/View/SedimentLayers/Edit/Table.py         | 16 +++++
 src/View/SedimentLayers/Edit/UndoCommand.py   | 16 +++++
 src/View/SedimentLayers/Edit/translate.py     | 16 +++++
 src/View/SedimentLayers/Reach/Plot.py         | 16 +++++
 src/View/SedimentLayers/Reach/Profile/Plot.py | 16 +++++
 .../SedimentLayers/Reach/Profile/Table.py     | 16 +++++
 .../Reach/Profile/UndoCommand.py              | 16 +++++
 src/View/SedimentLayers/Reach/SLDialog.py     | 16 +++++
 src/View/SedimentLayers/Reach/Table.py        | 16 +++++
 src/View/SedimentLayers/Reach/UndoCommand.py  | 16 +++++
 src/View/SedimentLayers/Reach/Window.py       | 16 +++++
 src/View/SedimentLayers/Table.py              | 16 +++++
 src/View/SedimentLayers/UndoCommand.py        | 16 +++++
 src/View/SedimentLayers/Window.py             |  2 +-
 src/View/SedimentLayers/translate.py          | 16 +++++
 src/View/SolverParameters/Table.py            |  2 +-
 src/View/SolverParameters/UndoCommand.py      |  2 +-
 src/View/SolverParameters/Window.py           |  2 +-
 src/View/SolverParameters/translate.py        |  2 +-
 src/View/Stricklers/Table.py                  |  2 +-
 src/View/Stricklers/UndoCommand.py            |  2 +-
 src/View/Stricklers/Window.py                 |  2 +-
 src/View/Stricklers/translate.py              |  2 +-
 src/View/Study/Window.py                      |  2 +-
 src/View/Tools/ASubWindow.py                  |  2 +-
 src/View/Tools/ListedSubWindow.py             |  2 +-
 src/View/Tools/PamhyrDelegate.py              |  2 +-
 src/View/Tools/PamhyrPlot.py                  |  2 +-
 src/View/Tools/PamhyrPythonEditor.py          |  2 +-
 src/View/Tools/PamhyrTable.py                 |  2 +-
 src/View/Tools/PamhyrTranslate.py             |  2 +-
 src/View/Tools/PamhyrWidget.py                |  2 +-
 src/View/Tools/PamhyrWindow.py                |  2 +-
 src/View/Tools/Plot/APlot.py                  |  2 +-
 src/View/Tools/Plot/OnPickEvent.py            |  2 +-
 src/View/Tools/Plot/PamhyrCanvas.py           |  2 +-
 src/View/Tools/Plot/PamhyrToolbar.py          |  2 +-
 src/config.py                                 |  2 +-
 src/init.py                                   |  4 +-
 src/lang/constant_string.py                   |  2 +-
 src/pamhyr.py                                 |  2 +-
 src/test_pamhyr.py                            |  2 +-
 src/tools.py                                  |  2 +-
 tools/license.el                              | 68 ++++++++++++++++++-
 202 files changed, 554 insertions(+), 186 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 0ce9cdac..55259e98 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,3 +1,3 @@
 Sylvain COULIBALY, INRAE, 2020 - 2022
-Théophile TERRAZ, INRAE, 2022 - 2023
-Pierre-Antoine ROUBY, INRAE, 2023
\ No newline at end of file
+Théophile TERRAZ, INRAE, 2022 - 2024
+Pierre-Antoine ROUBY, INRAE, 2023 - 2024
\ No newline at end of file
diff --git a/src/Checker/Checker.py b/src/Checker/Checker.py
index e97e0b04..60cd948c 100644
--- a/src/Checker/Checker.py
+++ b/src/Checker/Checker.py
@@ -1,5 +1,5 @@
 # Checker.py -- Pamhyr abstract checker class
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Checker/Mage.py b/src/Checker/Mage.py
index e6672532..5676dce8 100644
--- a/src/Checker/Mage.py
+++ b/src/Checker/Mage.py
@@ -1,5 +1,5 @@
 # Mage.py -- Pamhyr MAGE checkers
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Checker/Study.py b/src/Checker/Study.py
index 97a48399..ae94bd7b 100644
--- a/src/Checker/Study.py
+++ b/src/Checker/Study.py
@@ -1,5 +1,5 @@
 # Study.py -- Pamhyr study checkers
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Meshing/AMeshingTool.py b/src/Meshing/AMeshingTool.py
index 8c4c9aa5..88d2782a 100644
--- a/src/Meshing/AMeshingTool.py
+++ b/src/Meshing/AMeshingTool.py
@@ -1,5 +1,5 @@
 # AMeshingTool.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Meshing/Mage.py b/src/Meshing/Mage.py
index 73684ad8..0726e098 100644
--- a/src/Meshing/Mage.py
+++ b/src/Meshing/Mage.py
@@ -1,5 +1,5 @@
 # Mage.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Meshing/__init__.py b/src/Meshing/__init__.py
index 89e3fbe8..b9b99472 100644
--- a/src/Meshing/__init__.py
+++ b/src/Meshing/__init__.py
@@ -1,5 +1,5 @@
 # __init__.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Meshing/test_Meshing.py b/src/Meshing/test_Meshing.py
index 81b54b71..c8f94593 100644
--- a/src/Meshing/test_Meshing.py
+++ b/src/Meshing/test_Meshing.py
@@ -1,5 +1,5 @@
 # test_Model.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/BoundaryCondition/BoundaryCondition.py b/src/Model/BoundaryCondition/BoundaryCondition.py
index 8bd4a241..ba23cb7d 100644
--- a/src/Model/BoundaryCondition/BoundaryCondition.py
+++ b/src/Model/BoundaryCondition/BoundaryCondition.py
@@ -1,5 +1,5 @@
 # BoundaryCondition.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/BoundaryCondition/BoundaryConditionList.py b/src/Model/BoundaryCondition/BoundaryConditionList.py
index 2ff27885..1f528ff9 100644
--- a/src/Model/BoundaryCondition/BoundaryConditionList.py
+++ b/src/Model/BoundaryCondition/BoundaryConditionList.py
@@ -1,5 +1,5 @@
 # BoundaryConditionList.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/BoundaryCondition/BoundaryConditionTypes.py b/src/Model/BoundaryCondition/BoundaryConditionTypes.py
index 176bb788..10cccb13 100644
--- a/src/Model/BoundaryCondition/BoundaryConditionTypes.py
+++ b/src/Model/BoundaryCondition/BoundaryConditionTypes.py
@@ -1,5 +1,5 @@
 # BoundaryConditionTypes.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Except.py b/src/Model/Except.py
index ce741bf8..bd6b41ab 100644
--- a/src/Model/Except.py
+++ b/src/Model/Except.py
@@ -1,5 +1,5 @@
 # Except.py -- Pamhyr model exceptions
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Friction/Friction.py b/src/Model/Friction/Friction.py
index 68e74b5c..2a138f80 100644
--- a/src/Model/Friction/Friction.py
+++ b/src/Model/Friction/Friction.py
@@ -1,5 +1,5 @@
 # Friction.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Friction/FrictionList.py b/src/Model/Friction/FrictionList.py
index 6a5a6c09..8a7adf5b 100644
--- a/src/Model/Friction/FrictionList.py
+++ b/src/Model/Friction/FrictionList.py
@@ -1,5 +1,5 @@
 # FrictionList.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Geometry/Point.py b/src/Model/Geometry/Point.py
index d6deead8..bfa8a883 100644
--- a/src/Model/Geometry/Point.py
+++ b/src/Model/Geometry/Point.py
@@ -1,5 +1,5 @@
 # Point.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Geometry/PointXY.py b/src/Model/Geometry/PointXY.py
index 3c958721..87b693f3 100644
--- a/src/Model/Geometry/PointXY.py
+++ b/src/Model/Geometry/PointXY.py
@@ -1,5 +1,5 @@
 # PointXY.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Geometry/PointXYZ.py b/src/Model/Geometry/PointXYZ.py
index 57c13a37..2e806687 100644
--- a/src/Model/Geometry/PointXYZ.py
+++ b/src/Model/Geometry/PointXYZ.py
@@ -1,5 +1,5 @@
 # PointXYZ.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Geometry/Profile.py b/src/Model/Geometry/Profile.py
index a04e1a8f..1a36164d 100644
--- a/src/Model/Geometry/Profile.py
+++ b/src/Model/Geometry/Profile.py
@@ -1,5 +1,5 @@
 # Profile.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py
index 2b29b1f7..354be916 100644
--- a/src/Model/Geometry/ProfileXYZ.py
+++ b/src/Model/Geometry/ProfileXYZ.py
@@ -1,5 +1,5 @@
 # ProfileXYZ.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Geometry/Reach.py b/src/Model/Geometry/Reach.py
index f1f89bf3..d0f173a1 100644
--- a/src/Model/Geometry/Reach.py
+++ b/src/Model/Geometry/Reach.py
@@ -1,5 +1,5 @@
 # Reach.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Geometry/Vector_1d.py b/src/Model/Geometry/Vector_1d.py
index e136f121..8a977279 100644
--- a/src/Model/Geometry/Vector_1d.py
+++ b/src/Model/Geometry/Vector_1d.py
@@ -1,5 +1,5 @@
 # Vector_1d.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/HydraulicStructures/Basic/HydraulicStructures.py b/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
index a426cc6f..bbb10c2c 100644
--- a/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
+++ b/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
@@ -1,5 +1,5 @@
 # HydraulicStructures.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/HydraulicStructures/Basic/Types.py b/src/Model/HydraulicStructures/Basic/Types.py
index 4b4cddd6..0182409b 100644
--- a/src/Model/HydraulicStructures/Basic/Types.py
+++ b/src/Model/HydraulicStructures/Basic/Types.py
@@ -1,5 +1,5 @@
 # Types.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/HydraulicStructures/Basic/Value.py b/src/Model/HydraulicStructures/Basic/Value.py
index ebf4744e..e39c0c41 100644
--- a/src/Model/HydraulicStructures/Basic/Value.py
+++ b/src/Model/HydraulicStructures/Basic/Value.py
@@ -1,5 +1,5 @@
 # Value.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/HydraulicStructures/HydraulicStructures.py b/src/Model/HydraulicStructures/HydraulicStructures.py
index 4f1b5be1..bc29b668 100644
--- a/src/Model/HydraulicStructures/HydraulicStructures.py
+++ b/src/Model/HydraulicStructures/HydraulicStructures.py
@@ -1,5 +1,5 @@
 # HydraulicStructures.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/HydraulicStructures/HydraulicStructuresList.py b/src/Model/HydraulicStructures/HydraulicStructuresList.py
index 549d8074..c19977fe 100644
--- a/src/Model/HydraulicStructures/HydraulicStructuresList.py
+++ b/src/Model/HydraulicStructures/HydraulicStructuresList.py
@@ -1,5 +1,5 @@
 # HydraulicStructuresList.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py
index 2d88ea68..ebfec70c 100644
--- a/src/Model/InitialConditions/InitialConditions.py
+++ b/src/Model/InitialConditions/InitialConditions.py
@@ -1,5 +1,5 @@
 # InitialConditions.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/InitialConditions/InitialConditionsDict.py b/src/Model/InitialConditions/InitialConditionsDict.py
index 0cc75293..92d013a2 100644
--- a/src/Model/InitialConditions/InitialConditionsDict.py
+++ b/src/Model/InitialConditions/InitialConditionsDict.py
@@ -1,5 +1,5 @@
 # InitialConditionsDict.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/LateralContribution/LateralContribution.py b/src/Model/LateralContribution/LateralContribution.py
index eb1bc103..6ea87320 100644
--- a/src/Model/LateralContribution/LateralContribution.py
+++ b/src/Model/LateralContribution/LateralContribution.py
@@ -1,5 +1,5 @@
 # LateralContribution.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/LateralContribution/LateralContributionList.py b/src/Model/LateralContribution/LateralContributionList.py
index a6686b97..b186da83 100644
--- a/src/Model/LateralContribution/LateralContributionList.py
+++ b/src/Model/LateralContribution/LateralContributionList.py
@@ -1,5 +1,5 @@
 # LateralContributionList.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/LateralContribution/LateralContributionTypes.py b/src/Model/LateralContribution/LateralContributionTypes.py
index 4f0a843c..a5b2bcd2 100644
--- a/src/Model/LateralContribution/LateralContributionTypes.py
+++ b/src/Model/LateralContribution/LateralContributionTypes.py
@@ -1,5 +1,5 @@
 # LateralContributionTypes.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Network/Edge.py b/src/Model/Network/Edge.py
index 440e03eb..a21c89ab 100644
--- a/src/Model/Network/Edge.py
+++ b/src/Model/Network/Edge.py
@@ -1,5 +1,5 @@
 # Edge.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Network/Graph.py b/src/Model/Network/Graph.py
index 13e6d66c..c92c5095 100644
--- a/src/Model/Network/Graph.py
+++ b/src/Model/Network/Graph.py
@@ -1,5 +1,5 @@
 # Graph.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Network/Node.py b/src/Model/Network/Node.py
index d79b71cf..eb763939 100644
--- a/src/Model/Network/Node.py
+++ b/src/Model/Network/Node.py
@@ -1,5 +1,5 @@
 # Node.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Network/Point.py b/src/Model/Network/Point.py
index 38f0c83f..8b7fa15b 100644
--- a/src/Model/Network/Point.py
+++ b/src/Model/Network/Point.py
@@ -1,5 +1,5 @@
 # Point.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Network/__init__.py b/src/Model/Network/__init__.py
index 89e3fbe8..b9b99472 100644
--- a/src/Model/Network/__init__.py
+++ b/src/Model/Network/__init__.py
@@ -1,5 +1,5 @@
 # __init__.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Network/test_network.py b/src/Model/Network/test_network.py
index a232e9ca..e9b5c428 100644
--- a/src/Model/Network/test_network.py
+++ b/src/Model/Network/test_network.py
@@ -1,5 +1,5 @@
 # test_Network.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Reservoir/Reservoir.py b/src/Model/Reservoir/Reservoir.py
index a331cf7e..1d719348 100644
--- a/src/Model/Reservoir/Reservoir.py
+++ b/src/Model/Reservoir/Reservoir.py
@@ -1,5 +1,5 @@
 # Reservoir.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Reservoir/ReservoirList.py b/src/Model/Reservoir/ReservoirList.py
index 60d2b98e..a341e239 100644
--- a/src/Model/Reservoir/ReservoirList.py
+++ b/src/Model/Reservoir/ReservoirList.py
@@ -1,5 +1,5 @@
 # ReservoirList.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Results/Results.py b/src/Model/Results/Results.py
index b8dff0cc..3219c21f 100644
--- a/src/Model/Results/Results.py
+++ b/src/Model/Results/Results.py
@@ -1,5 +1,5 @@
 # Results.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Results/River/River.py b/src/Model/Results/River/River.py
index 7597d751..51eaf1d1 100644
--- a/src/Model/Results/River/River.py
+++ b/src/Model/Results/River/River.py
@@ -1,5 +1,5 @@
 # River.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/River.py b/src/Model/River.py
index ae0507a1..80da45f4 100644
--- a/src/Model/River.py
+++ b/src/Model/River.py
@@ -1,5 +1,5 @@
 # River.py -- Pamhyr river model
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Saved.py b/src/Model/Saved.py
index 52bd0780..90667a92 100644
--- a/src/Model/Saved.py
+++ b/src/Model/Saved.py
@@ -1,5 +1,5 @@
 # Saved.py -- Pamhyr model status class
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/SedimentLayer/SedimentLayer.py b/src/Model/SedimentLayer/SedimentLayer.py
index 95e44383..44838baa 100644
--- a/src/Model/SedimentLayer/SedimentLayer.py
+++ b/src/Model/SedimentLayer/SedimentLayer.py
@@ -1,3 +1,19 @@
+# SedimentLayer.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from tools import trace, timer
diff --git a/src/Model/SedimentLayer/SedimentLayerList.py b/src/Model/SedimentLayer/SedimentLayerList.py
index 78ba611c..5e429c95 100644
--- a/src/Model/SedimentLayer/SedimentLayerList.py
+++ b/src/Model/SedimentLayer/SedimentLayerList.py
@@ -1,3 +1,19 @@
+# SedimentLayerList.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from tools import trace, timer
diff --git a/src/Model/Serializable.py b/src/Model/Serializable.py
index fb4ea11d..37b1130f 100644
--- a/src/Model/Serializable.py
+++ b/src/Model/Serializable.py
@@ -1,5 +1,5 @@
 # Serializable.py -- Pamhyr pickle abstract class
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/SolverParameters/SolverParametersList.py b/src/Model/SolverParameters/SolverParametersList.py
index bf1ca817..ef7dfad7 100644
--- a/src/Model/SolverParameters/SolverParametersList.py
+++ b/src/Model/SolverParameters/SolverParametersList.py
@@ -1,5 +1,5 @@
 # SolverParametersList.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Stricklers/Stricklers.py b/src/Model/Stricklers/Stricklers.py
index 285373e2..45272f7d 100644
--- a/src/Model/Stricklers/Stricklers.py
+++ b/src/Model/Stricklers/Stricklers.py
@@ -1,5 +1,5 @@
 # Stricklers.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Stricklers/StricklersList.py b/src/Model/Stricklers/StricklersList.py
index 6730dc02..305040fb 100644
--- a/src/Model/Stricklers/StricklersList.py
+++ b/src/Model/Stricklers/StricklersList.py
@@ -1,5 +1,5 @@
 # StricklersList.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Study.py b/src/Model/Study.py
index e0696962..6c6141f2 100644
--- a/src/Model/Study.py
+++ b/src/Model/Study.py
@@ -1,5 +1,5 @@
 # Study.py -- Pamhyr Study class
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Tools/PamhyrDB.py b/src/Model/Tools/PamhyrDB.py
index 44065709..a2eea893 100644
--- a/src/Model/Tools/PamhyrDB.py
+++ b/src/Model/Tools/PamhyrDB.py
@@ -1,5 +1,5 @@
 # PamhyrDB.py -- Pamhyr abstract model database classes
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Tools/PamhyrDict.py b/src/Model/Tools/PamhyrDict.py
index 31bc12a6..de96903d 100644
--- a/src/Model/Tools/PamhyrDict.py
+++ b/src/Model/Tools/PamhyrDict.py
@@ -1,5 +1,5 @@
 # PamhyrDict.py -- Pamhyr abstract dict for model classes
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/Tools/PamhyrList.py b/src/Model/Tools/PamhyrList.py
index e043cff7..4ae98dee 100644
--- a/src/Model/Tools/PamhyrList.py
+++ b/src/Model/Tools/PamhyrList.py
@@ -1,5 +1,5 @@
 # PamhyrList.py -- Pamhyr Abstract List object for the Model
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/__init__.py b/src/Model/__init__.py
index 89e3fbe8..b9b99472 100644
--- a/src/Model/__init__.py
+++ b/src/Model/__init__.py
@@ -1,5 +1,5 @@
 # __init__.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Model/test_Model.py b/src/Model/test_Model.py
index 2694366f..b1c90fb0 100644
--- a/src/Model/test_Model.py
+++ b/src/Model/test_Model.py
@@ -1,5 +1,5 @@
 # test_Model.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Scripts/AScript.py b/src/Scripts/AScript.py
index 66037418..7c3464d5 100644
--- a/src/Scripts/AScript.py
+++ b/src/Scripts/AScript.py
@@ -1,5 +1,5 @@
 # AScript.py -- Pamhyr abstract script class
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Scripts/Hello.py b/src/Scripts/Hello.py
index c7333b84..3546ff1d 100644
--- a/src/Scripts/Hello.py
+++ b/src/Scripts/Hello.py
@@ -1,5 +1,5 @@
 # Hello.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Scripts/ListSolver.py b/src/Scripts/ListSolver.py
index fe50d8d9..e532f9e1 100644
--- a/src/Scripts/ListSolver.py
+++ b/src/Scripts/ListSolver.py
@@ -1,5 +1,5 @@
 # ListSolver.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Scripts/MageMesh.py b/src/Scripts/MageMesh.py
index 6b9aea40..04a03bf5 100644
--- a/src/Scripts/MageMesh.py
+++ b/src/Scripts/MageMesh.py
@@ -1,5 +1,5 @@
 # MageMesh.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Scripts/P3DST.py b/src/Scripts/P3DST.py
index 62d0f88f..dccf3249 100644
--- a/src/Scripts/P3DST.py
+++ b/src/Scripts/P3DST.py
@@ -1,5 +1,5 @@
 # P3DST.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Scripts/Run.py b/src/Scripts/Run.py
index 7b70a910..57baf4fc 100644
--- a/src/Scripts/Run.py
+++ b/src/Scripts/Run.py
@@ -1,5 +1,5 @@
 # Run.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Solver/ASolver.py b/src/Solver/ASolver.py
index 5ff5f6dc..adbcdd16 100644
--- a/src/Solver/ASolver.py
+++ b/src/Solver/ASolver.py
@@ -1,5 +1,5 @@
 # ASolver.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Solver/CommandLine.py b/src/Solver/CommandLine.py
index 07598c18..b221f2a4 100644
--- a/src/Solver/CommandLine.py
+++ b/src/Solver/CommandLine.py
@@ -1,5 +1,5 @@
 # CommandLine.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Solver/GenericSolver.py b/src/Solver/GenericSolver.py
index f8ff31aa..698971f1 100644
--- a/src/Solver/GenericSolver.py
+++ b/src/Solver/GenericSolver.py
@@ -1,5 +1,5 @@
 # GenericSolver.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py
index 74f87241..83e6e512 100644
--- a/src/Solver/Mage.py
+++ b/src/Solver/Mage.py
@@ -1,5 +1,5 @@
 # Mage.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/Solver/Solvers.py b/src/Solver/Solvers.py
index d7759932..38f443e9 100644
--- a/src/Solver/Solvers.py
+++ b/src/Solver/Solvers.py
@@ -1,5 +1,5 @@
 # Solvers.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/Edit/Plot.py b/src/View/BoundaryCondition/Edit/Plot.py
index bb7a339c..bb4a65a3 100644
--- a/src/View/BoundaryCondition/Edit/Plot.py
+++ b/src/View/BoundaryCondition/Edit/Plot.py
@@ -1,5 +1,5 @@
 # Plot.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/Edit/Table.py b/src/View/BoundaryCondition/Edit/Table.py
index 6f5c7e1e..617bbc73 100644
--- a/src/View/BoundaryCondition/Edit/Table.py
+++ b/src/View/BoundaryCondition/Edit/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/Edit/UndoCommand.py b/src/View/BoundaryCondition/Edit/UndoCommand.py
index 8aa07641..02e0a48e 100644
--- a/src/View/BoundaryCondition/Edit/UndoCommand.py
+++ b/src/View/BoundaryCondition/Edit/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/Edit/Window.py b/src/View/BoundaryCondition/Edit/Window.py
index adcc2ea5..2d5c29c6 100644
--- a/src/View/BoundaryCondition/Edit/Window.py
+++ b/src/View/BoundaryCondition/Edit/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/Edit/translate.py b/src/View/BoundaryCondition/Edit/translate.py
index a33485a0..dd85fdfb 100644
--- a/src/View/BoundaryCondition/Edit/translate.py
+++ b/src/View/BoundaryCondition/Edit/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/Table.py b/src/View/BoundaryCondition/Table.py
index aad78fc3..48dfcc39 100644
--- a/src/View/BoundaryCondition/Table.py
+++ b/src/View/BoundaryCondition/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/UndoCommand.py b/src/View/BoundaryCondition/UndoCommand.py
index fd2923d3..ee3b45df 100644
--- a/src/View/BoundaryCondition/UndoCommand.py
+++ b/src/View/BoundaryCondition/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/Window.py b/src/View/BoundaryCondition/Window.py
index 9b32c694..6377a739 100644
--- a/src/View/BoundaryCondition/Window.py
+++ b/src/View/BoundaryCondition/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/BoundaryCondition/translate.py b/src/View/BoundaryCondition/translate.py
index d7015e42..a366f2a9 100644
--- a/src/View/BoundaryCondition/translate.py
+++ b/src/View/BoundaryCondition/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/CheckList/Table.py b/src/View/CheckList/Table.py
index b355eb6c..3d2dc66b 100644
--- a/src/View/CheckList/Table.py
+++ b/src/View/CheckList/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/CheckList/Translate.py b/src/View/CheckList/Translate.py
index f15b8994..29cf7693 100644
--- a/src/View/CheckList/Translate.py
+++ b/src/View/CheckList/Translate.py
@@ -1,5 +1,5 @@
 # Translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/CheckList/Window.py b/src/View/CheckList/Window.py
index 54787ba9..77fee4d1 100644
--- a/src/View/CheckList/Window.py
+++ b/src/View/CheckList/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/CheckList/Worker.py b/src/View/CheckList/Worker.py
index 834d8975..5363b0e7 100644
--- a/src/View/CheckList/Worker.py
+++ b/src/View/CheckList/Worker.py
@@ -1,5 +1,5 @@
 # Worker.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Configure/Solver/Window.py b/src/View/Configure/Solver/Window.py
index 8f38d66f..d3551ba4 100644
--- a/src/View/Configure/Solver/Window.py
+++ b/src/View/Configure/Solver/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Configure/Translate.py b/src/View/Configure/Translate.py
index de1687e3..29ac4c60 100644
--- a/src/View/Configure/Translate.py
+++ b/src/View/Configure/Translate.py
@@ -1,5 +1,5 @@
 # Translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Configure/Window.py b/src/View/Configure/Window.py
index 13148b61..edaf700c 100644
--- a/src/View/Configure/Window.py
+++ b/src/View/Configure/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Debug/Window.py b/src/View/Debug/Window.py
index a3a9e894..1755d3d0 100644
--- a/src/View/Debug/Window.py
+++ b/src/View/Debug/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Doc/Window.py b/src/View/Doc/Window.py
index 25527e71..645a15a8 100644
--- a/src/View/Doc/Window.py
+++ b/src/View/Doc/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/DummyWindow.py b/src/View/DummyWindow.py
index aaab178c..979ad18e 100644
--- a/src/View/DummyWindow.py
+++ b/src/View/DummyWindow.py
@@ -1,5 +1,5 @@
 # DummyWindow.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Frictions/PlotStricklers.py b/src/View/Frictions/PlotStricklers.py
index 6e5c4e0c..062d0bfe 100644
--- a/src/View/Frictions/PlotStricklers.py
+++ b/src/View/Frictions/PlotStricklers.py
@@ -1,5 +1,5 @@
 # PlotStricklers.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Frictions/Table.py b/src/View/Frictions/Table.py
index e1678fdc..7d8972d7 100644
--- a/src/View/Frictions/Table.py
+++ b/src/View/Frictions/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Frictions/UndoCommand.py b/src/View/Frictions/UndoCommand.py
index 5aba2a7c..ce875757 100644
--- a/src/View/Frictions/UndoCommand.py
+++ b/src/View/Frictions/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Frictions/Window.py b/src/View/Frictions/Window.py
index 56b76bbc..cfb31027 100644
--- a/src/View/Frictions/Window.py
+++ b/src/View/Frictions/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Frictions/translate.py b/src/View/Frictions/translate.py
index 4fa6de1e..5ead3e1c 100644
--- a/src/View/Frictions/translate.py
+++ b/src/View/Frictions/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/MeshingDialog.py b/src/View/Geometry/MeshingDialog.py
index 249e8845..05a44846 100644
--- a/src/View/Geometry/MeshingDialog.py
+++ b/src/View/Geometry/MeshingDialog.py
@@ -1,5 +1,5 @@
 # MeshingDialog.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/PlotAC.py b/src/View/Geometry/PlotAC.py
index 80b6270d..fecfb207 100644
--- a/src/View/Geometry/PlotAC.py
+++ b/src/View/Geometry/PlotAC.py
@@ -1,5 +1,5 @@
 # PlotAC.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/PlotKPZ.py b/src/View/Geometry/PlotKPZ.py
index bd17f2da..0ed77fe5 100644
--- a/src/View/Geometry/PlotKPZ.py
+++ b/src/View/Geometry/PlotKPZ.py
@@ -1,5 +1,5 @@
 # PlotKPC.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/PlotXY.py b/src/View/Geometry/PlotXY.py
index 6e6dc528..b7a85280 100644
--- a/src/View/Geometry/PlotXY.py
+++ b/src/View/Geometry/PlotXY.py
@@ -1,5 +1,5 @@
 # PlotXY.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/Profile/Plot.py b/src/View/Geometry/Profile/Plot.py
index 1fbeae63..661533ed 100644
--- a/src/View/Geometry/Profile/Plot.py
+++ b/src/View/Geometry/Profile/Plot.py
@@ -1,5 +1,5 @@
 # Plot.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/Profile/Table.py b/src/View/Geometry/Profile/Table.py
index 9c8e7868..1dd25157 100644
--- a/src/View/Geometry/Profile/Table.py
+++ b/src/View/Geometry/Profile/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/Profile/Translate.py b/src/View/Geometry/Profile/Translate.py
index e84460a1..04956349 100644
--- a/src/View/Geometry/Profile/Translate.py
+++ b/src/View/Geometry/Profile/Translate.py
@@ -1,5 +1,5 @@
 # Translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/Profile/UndoCommand.py b/src/View/Geometry/Profile/UndoCommand.py
index e1bf3ae8..800bd4e0 100644
--- a/src/View/Geometry/Profile/UndoCommand.py
+++ b/src/View/Geometry/Profile/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/Profile/Window.py b/src/View/Geometry/Profile/Window.py
index 5ffe02dc..ee4f5383 100644
--- a/src/View/Geometry/Profile/Window.py
+++ b/src/View/Geometry/Profile/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/Table.py b/src/View/Geometry/Table.py
index e22d49d2..169771cb 100644
--- a/src/View/Geometry/Table.py
+++ b/src/View/Geometry/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/Translate.py b/src/View/Geometry/Translate.py
index f2b56744..6e380d17 100644
--- a/src/View/Geometry/Translate.py
+++ b/src/View/Geometry/Translate.py
@@ -1,5 +1,5 @@
 # Translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/UndoCommand.py b/src/View/Geometry/UndoCommand.py
index 335841c3..5c587c01 100644
--- a/src/View/Geometry/UndoCommand.py
+++ b/src/View/Geometry/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Geometry/Window.py b/src/View/Geometry/Window.py
index 431de652..3afcc603 100644
--- a/src/View/Geometry/Window.py
+++ b/src/View/Geometry/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/BasicHydraulicStructures/Table.py b/src/View/HydraulicStructures/BasicHydraulicStructures/Table.py
index acfe2bc3..f69a4099 100644
--- a/src/View/HydraulicStructures/BasicHydraulicStructures/Table.py
+++ b/src/View/HydraulicStructures/BasicHydraulicStructures/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/BasicHydraulicStructures/Translate.py b/src/View/HydraulicStructures/BasicHydraulicStructures/Translate.py
index c8473dc8..4c0bef28 100644
--- a/src/View/HydraulicStructures/BasicHydraulicStructures/Translate.py
+++ b/src/View/HydraulicStructures/BasicHydraulicStructures/Translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/BasicHydraulicStructures/UndoCommand.py b/src/View/HydraulicStructures/BasicHydraulicStructures/UndoCommand.py
index 124a446c..78fa3d62 100644
--- a/src/View/HydraulicStructures/BasicHydraulicStructures/UndoCommand.py
+++ b/src/View/HydraulicStructures/BasicHydraulicStructures/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/BasicHydraulicStructures/Window.py b/src/View/HydraulicStructures/BasicHydraulicStructures/Window.py
index 81d9f638..ca9d3a04 100644
--- a/src/View/HydraulicStructures/BasicHydraulicStructures/Window.py
+++ b/src/View/HydraulicStructures/BasicHydraulicStructures/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/PlotAC.py b/src/View/HydraulicStructures/PlotAC.py
index 4d171968..03c384c9 100644
--- a/src/View/HydraulicStructures/PlotAC.py
+++ b/src/View/HydraulicStructures/PlotAC.py
@@ -1,5 +1,5 @@
 # PlotAC.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/PlotKPC.py b/src/View/HydraulicStructures/PlotKPC.py
index f72cf7fc..b4bc6fe9 100644
--- a/src/View/HydraulicStructures/PlotKPC.py
+++ b/src/View/HydraulicStructures/PlotKPC.py
@@ -1,5 +1,5 @@
 # PlotKPC.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/Table.py b/src/View/HydraulicStructures/Table.py
index 210cf1e8..5dc69823 100644
--- a/src/View/HydraulicStructures/Table.py
+++ b/src/View/HydraulicStructures/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/Translate.py b/src/View/HydraulicStructures/Translate.py
index 7f201ee8..2ad91353 100644
--- a/src/View/HydraulicStructures/Translate.py
+++ b/src/View/HydraulicStructures/Translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/UndoCommand.py b/src/View/HydraulicStructures/UndoCommand.py
index 9c47ccf1..cbb8a2e7 100644
--- a/src/View/HydraulicStructures/UndoCommand.py
+++ b/src/View/HydraulicStructures/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/HydraulicStructures/Window.py b/src/View/HydraulicStructures/Window.py
index 2acf0e26..a25d4bc7 100644
--- a/src/View/HydraulicStructures/Window.py
+++ b/src/View/HydraulicStructures/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/InitialConditions/DialogDischarge.py b/src/View/InitialConditions/DialogDischarge.py
index 8ddf5657..9b63bdab 100644
--- a/src/View/InitialConditions/DialogDischarge.py
+++ b/src/View/InitialConditions/DialogDischarge.py
@@ -1,5 +1,5 @@
 # DialogDischarge.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/InitialConditions/DialogHeight.py b/src/View/InitialConditions/DialogHeight.py
index 6329f070..40821232 100644
--- a/src/View/InitialConditions/DialogHeight.py
+++ b/src/View/InitialConditions/DialogHeight.py
@@ -1,5 +1,5 @@
 # DialogHeight.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/InitialConditions/PlotDKP.py b/src/View/InitialConditions/PlotDKP.py
index ad854fb4..2c32db24 100644
--- a/src/View/InitialConditions/PlotDKP.py
+++ b/src/View/InitialConditions/PlotDKP.py
@@ -1,5 +1,5 @@
 # PlotDKP.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/InitialConditions/PlotDischarge.py b/src/View/InitialConditions/PlotDischarge.py
index b5a69d5c..d89874aa 100644
--- a/src/View/InitialConditions/PlotDischarge.py
+++ b/src/View/InitialConditions/PlotDischarge.py
@@ -1,5 +1,5 @@
 # PlotDischarge.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/InitialConditions/Table.py b/src/View/InitialConditions/Table.py
index aef6a992..d6a70480 100644
--- a/src/View/InitialConditions/Table.py
+++ b/src/View/InitialConditions/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/InitialConditions/UndoCommand.py b/src/View/InitialConditions/UndoCommand.py
index 72054009..06274ae3 100644
--- a/src/View/InitialConditions/UndoCommand.py
+++ b/src/View/InitialConditions/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py
index 247aaa9f..1696e361 100644
--- a/src/View/InitialConditions/Window.py
+++ b/src/View/InitialConditions/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/InitialConditions/translate.py b/src/View/InitialConditions/translate.py
index 4601866c..e4a20d07 100644
--- a/src/View/InitialConditions/translate.py
+++ b/src/View/InitialConditions/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/Edit/Plot.py b/src/View/LateralContribution/Edit/Plot.py
index c7e95caa..e6caa995 100644
--- a/src/View/LateralContribution/Edit/Plot.py
+++ b/src/View/LateralContribution/Edit/Plot.py
@@ -1,5 +1,5 @@
 # Plot.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/Edit/Table.py b/src/View/LateralContribution/Edit/Table.py
index 8b43602d..1dd24ec4 100644
--- a/src/View/LateralContribution/Edit/Table.py
+++ b/src/View/LateralContribution/Edit/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/Edit/UndoCommand.py b/src/View/LateralContribution/Edit/UndoCommand.py
index 780ea8ac..d56c6382 100644
--- a/src/View/LateralContribution/Edit/UndoCommand.py
+++ b/src/View/LateralContribution/Edit/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/Edit/Window.py b/src/View/LateralContribution/Edit/Window.py
index 49b7ea1b..3dbc4f5f 100644
--- a/src/View/LateralContribution/Edit/Window.py
+++ b/src/View/LateralContribution/Edit/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/Edit/translate.py b/src/View/LateralContribution/Edit/translate.py
index 4839a2da..14ed87c4 100644
--- a/src/View/LateralContribution/Edit/translate.py
+++ b/src/View/LateralContribution/Edit/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/Table.py b/src/View/LateralContribution/Table.py
index 060ca8cf..132888d8 100644
--- a/src/View/LateralContribution/Table.py
+++ b/src/View/LateralContribution/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/UndoCommand.py b/src/View/LateralContribution/UndoCommand.py
index 382ae1ac..aeea4e12 100644
--- a/src/View/LateralContribution/UndoCommand.py
+++ b/src/View/LateralContribution/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/Window.py b/src/View/LateralContribution/Window.py
index e5b6fb27..aedb87ef 100644
--- a/src/View/LateralContribution/Window.py
+++ b/src/View/LateralContribution/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/LateralContribution/translate.py b/src/View/LateralContribution/translate.py
index d645137d..5b19de44 100644
--- a/src/View/LateralContribution/translate.py
+++ b/src/View/LateralContribution/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index e2f38dda..48f784d6 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -1,5 +1,5 @@
 # MainWindow.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Network/GraphWidget.py b/src/View/Network/GraphWidget.py
index 819d79de..54da854b 100644
--- a/src/View/Network/GraphWidget.py
+++ b/src/View/Network/GraphWidget.py
@@ -1,5 +1,5 @@
 # GraphWidget.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Network/Table.py b/src/View/Network/Table.py
index 610235ba..8ba889bd 100644
--- a/src/View/Network/Table.py
+++ b/src/View/Network/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Network/UndoCommand.py b/src/View/Network/UndoCommand.py
index 1c1d9da1..5c752c0d 100644
--- a/src/View/Network/UndoCommand.py
+++ b/src/View/Network/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Network/Window.py b/src/View/Network/Window.py
index 65b4b24c..17a95b2f 100644
--- a/src/View/Network/Window.py
+++ b/src/View/Network/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Network/translate.py b/src/View/Network/translate.py
index c7c74269..5c9dc5b8 100644
--- a/src/View/Network/translate.py
+++ b/src/View/Network/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/Edit/Plot.py b/src/View/Reservoir/Edit/Plot.py
index 8c75a199..7c509910 100644
--- a/src/View/Reservoir/Edit/Plot.py
+++ b/src/View/Reservoir/Edit/Plot.py
@@ -1,5 +1,5 @@
 # Plot.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/Edit/Table.py b/src/View/Reservoir/Edit/Table.py
index 21e0f91b..daaddf91 100644
--- a/src/View/Reservoir/Edit/Table.py
+++ b/src/View/Reservoir/Edit/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/Edit/Translate.py b/src/View/Reservoir/Edit/Translate.py
index 308a1cad..74fea3a5 100644
--- a/src/View/Reservoir/Edit/Translate.py
+++ b/src/View/Reservoir/Edit/Translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/Edit/UndoCommand.py b/src/View/Reservoir/Edit/UndoCommand.py
index 22b7a459..6526f10b 100644
--- a/src/View/Reservoir/Edit/UndoCommand.py
+++ b/src/View/Reservoir/Edit/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/Edit/Window.py b/src/View/Reservoir/Edit/Window.py
index 8903b2e7..864b8b9f 100644
--- a/src/View/Reservoir/Edit/Window.py
+++ b/src/View/Reservoir/Edit/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/Table.py b/src/View/Reservoir/Table.py
index 14362050..df68bd9a 100644
--- a/src/View/Reservoir/Table.py
+++ b/src/View/Reservoir/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/Translate.py b/src/View/Reservoir/Translate.py
index 22502948..0ba0beac 100644
--- a/src/View/Reservoir/Translate.py
+++ b/src/View/Reservoir/Translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/UndoCommand.py b/src/View/Reservoir/UndoCommand.py
index 078c31d3..4544b4ba 100644
--- a/src/View/Reservoir/UndoCommand.py
+++ b/src/View/Reservoir/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Reservoir/Window.py b/src/View/Reservoir/Window.py
index f94aa3c2..27a35f46 100644
--- a/src/View/Reservoir/Window.py
+++ b/src/View/Reservoir/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/CustomPlot/Plot.py b/src/View/Results/CustomPlot/Plot.py
index 4610900c..e490339d 100644
--- a/src/View/Results/CustomPlot/Plot.py
+++ b/src/View/Results/CustomPlot/Plot.py
@@ -1,5 +1,5 @@
 # Plot.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/CustomPlot/Translate.py b/src/View/Results/CustomPlot/Translate.py
index 17015781..f87ac290 100644
--- a/src/View/Results/CustomPlot/Translate.py
+++ b/src/View/Results/CustomPlot/Translate.py
@@ -1,5 +1,5 @@
 # Translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/PlotAC.py b/src/View/Results/PlotAC.py
index 8f98973d..fe0e49d3 100644
--- a/src/View/Results/PlotAC.py
+++ b/src/View/Results/PlotAC.py
@@ -1,5 +1,5 @@
 # PlotAC.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/PlotH.py b/src/View/Results/PlotH.py
index f236bf8f..a797acf7 100644
--- a/src/View/Results/PlotH.py
+++ b/src/View/Results/PlotH.py
@@ -1,5 +1,5 @@
 # PlotH.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/PlotKPC.py b/src/View/Results/PlotKPC.py
index 34ed91f9..82aa3a44 100644
--- a/src/View/Results/PlotKPC.py
+++ b/src/View/Results/PlotKPC.py
@@ -1,5 +1,5 @@
 # PlotKPC.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/PlotSedProfile.py b/src/View/Results/PlotSedProfile.py
index 1db320f9..d9dcbcb4 100644
--- a/src/View/Results/PlotSedProfile.py
+++ b/src/View/Results/PlotSedProfile.py
@@ -1,3 +1,19 @@
+# PlotSedProfile.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/Results/PlotSedReach.py b/src/View/Results/PlotSedReach.py
index b7f229c8..d77339a1 100644
--- a/src/View/Results/PlotSedReach.py
+++ b/src/View/Results/PlotSedReach.py
@@ -1,3 +1,19 @@
+# PlotSedReach.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/Results/PlotXY.py b/src/View/Results/PlotXY.py
index 3d0e2281..72733c52 100644
--- a/src/View/Results/PlotXY.py
+++ b/src/View/Results/PlotXY.py
@@ -1,5 +1,5 @@
 # PlotXY.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/Table.py b/src/View/Results/Table.py
index 87f3a6e7..d6fd109a 100644
--- a/src/View/Results/Table.py
+++ b/src/View/Results/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/UndoCommand.py b/src/View/Results/UndoCommand.py
index ca18efaa..46c0e314 100644
--- a/src/View/Results/UndoCommand.py
+++ b/src/View/Results/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index ef70354e..5781f1bf 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Results/translate.py b/src/View/Results/translate.py
index 0ed38433..15c6dac0 100644
--- a/src/View/Results/translate.py
+++ b/src/View/Results/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/SedimentLayers/Edit/Plot.py b/src/View/SedimentLayers/Edit/Plot.py
index 820dc46b..0a0487d2 100644
--- a/src/View/SedimentLayers/Edit/Plot.py
+++ b/src/View/SedimentLayers/Edit/Plot.py
@@ -1,3 +1,19 @@
+# Plot.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/SedimentLayers/Edit/Table.py b/src/View/SedimentLayers/Edit/Table.py
index ea7cd934..2a446dac 100644
--- a/src/View/SedimentLayers/Edit/Table.py
+++ b/src/View/SedimentLayers/Edit/Table.py
@@ -1,3 +1,19 @@
+# Table.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from tools import trace, timer
diff --git a/src/View/SedimentLayers/Edit/UndoCommand.py b/src/View/SedimentLayers/Edit/UndoCommand.py
index e353211c..0118e038 100644
--- a/src/View/SedimentLayers/Edit/UndoCommand.py
+++ b/src/View/SedimentLayers/Edit/UndoCommand.py
@@ -1,3 +1,19 @@
+# UndoCommand.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from copy import deepcopy
diff --git a/src/View/SedimentLayers/Edit/translate.py b/src/View/SedimentLayers/Edit/translate.py
index 31117fd7..a9f82cb6 100644
--- a/src/View/SedimentLayers/Edit/translate.py
+++ b/src/View/SedimentLayers/Edit/translate.py
@@ -1,3 +1,19 @@
+# translate.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from PyQt5.QtCore import QCoreApplication
diff --git a/src/View/SedimentLayers/Reach/Plot.py b/src/View/SedimentLayers/Reach/Plot.py
index 118af1db..ef354b77 100644
--- a/src/View/SedimentLayers/Reach/Plot.py
+++ b/src/View/SedimentLayers/Reach/Plot.py
@@ -1,3 +1,19 @@
+# Plot.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/SedimentLayers/Reach/Profile/Plot.py b/src/View/SedimentLayers/Reach/Profile/Plot.py
index 17a1a584..00ab9efe 100644
--- a/src/View/SedimentLayers/Reach/Profile/Plot.py
+++ b/src/View/SedimentLayers/Reach/Profile/Plot.py
@@ -1,3 +1,19 @@
+# Plot.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/SedimentLayers/Reach/Profile/Table.py b/src/View/SedimentLayers/Reach/Profile/Table.py
index 3754aa82..930c58af 100644
--- a/src/View/SedimentLayers/Reach/Profile/Table.py
+++ b/src/View/SedimentLayers/Reach/Profile/Table.py
@@ -1,3 +1,19 @@
+# Table.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/SedimentLayers/Reach/Profile/UndoCommand.py b/src/View/SedimentLayers/Reach/Profile/UndoCommand.py
index 980d970b..d5bdcf93 100644
--- a/src/View/SedimentLayers/Reach/Profile/UndoCommand.py
+++ b/src/View/SedimentLayers/Reach/Profile/UndoCommand.py
@@ -1,3 +1,19 @@
+# UndoCommand.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/SedimentLayers/Reach/SLDialog.py b/src/View/SedimentLayers/Reach/SLDialog.py
index b829d437..4340ea1e 100644
--- a/src/View/SedimentLayers/Reach/SLDialog.py
+++ b/src/View/SedimentLayers/Reach/SLDialog.py
@@ -1,3 +1,19 @@
+# SLDialog.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from View.Tools.PamhyrWindow import PamhyrDialog
diff --git a/src/View/SedimentLayers/Reach/Table.py b/src/View/SedimentLayers/Reach/Table.py
index 71889408..7105a6df 100644
--- a/src/View/SedimentLayers/Reach/Table.py
+++ b/src/View/SedimentLayers/Reach/Table.py
@@ -1,3 +1,19 @@
+# Table.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/SedimentLayers/Reach/UndoCommand.py b/src/View/SedimentLayers/Reach/UndoCommand.py
index 4bce2235..f925877d 100644
--- a/src/View/SedimentLayers/Reach/UndoCommand.py
+++ b/src/View/SedimentLayers/Reach/UndoCommand.py
@@ -1,3 +1,19 @@
+# UndoCommand.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/SedimentLayers/Reach/Window.py b/src/View/SedimentLayers/Reach/Window.py
index 1289dcf4..0d8fefdc 100644
--- a/src/View/SedimentLayers/Reach/Window.py
+++ b/src/View/SedimentLayers/Reach/Window.py
@@ -1,3 +1,19 @@
+# Window.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 import logging
diff --git a/src/View/SedimentLayers/Table.py b/src/View/SedimentLayers/Table.py
index 2b7a00f6..f1811f1e 100644
--- a/src/View/SedimentLayers/Table.py
+++ b/src/View/SedimentLayers/Table.py
@@ -1,3 +1,19 @@
+# Table.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from tools import trace, timer
diff --git a/src/View/SedimentLayers/UndoCommand.py b/src/View/SedimentLayers/UndoCommand.py
index 379a9545..03aca97b 100644
--- a/src/View/SedimentLayers/UndoCommand.py
+++ b/src/View/SedimentLayers/UndoCommand.py
@@ -1,3 +1,19 @@
+# UndoCommand.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from copy import deepcopy
diff --git a/src/View/SedimentLayers/Window.py b/src/View/SedimentLayers/Window.py
index ae36f2e9..758c6874 100644
--- a/src/View/SedimentLayers/Window.py
+++ b/src/View/SedimentLayers/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/SedimentLayers/translate.py b/src/View/SedimentLayers/translate.py
index 6f27fb3a..4dc64b38 100644
--- a/src/View/SedimentLayers/translate.py
+++ b/src/View/SedimentLayers/translate.py
@@ -1,3 +1,19 @@
+# translate.py -- Pamhyr
+# Copyright (C) 2024  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
 # -*- coding: utf-8 -*-
 
 from PyQt5.QtCore import QCoreApplication
diff --git a/src/View/SolverParameters/Table.py b/src/View/SolverParameters/Table.py
index 043238f6..f55866ad 100644
--- a/src/View/SolverParameters/Table.py
+++ b/src/View/SolverParameters/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/SolverParameters/UndoCommand.py b/src/View/SolverParameters/UndoCommand.py
index 2b6804b8..f4c24fe3 100644
--- a/src/View/SolverParameters/UndoCommand.py
+++ b/src/View/SolverParameters/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/SolverParameters/Window.py b/src/View/SolverParameters/Window.py
index 1a97b792..ed3b5b48 100644
--- a/src/View/SolverParameters/Window.py
+++ b/src/View/SolverParameters/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/SolverParameters/translate.py b/src/View/SolverParameters/translate.py
index 3a3460cd..e753ef8a 100644
--- a/src/View/SolverParameters/translate.py
+++ b/src/View/SolverParameters/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Stricklers/Table.py b/src/View/Stricklers/Table.py
index 7b740b91..8f5deade 100644
--- a/src/View/Stricklers/Table.py
+++ b/src/View/Stricklers/Table.py
@@ -1,5 +1,5 @@
 # Table.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Stricklers/UndoCommand.py b/src/View/Stricklers/UndoCommand.py
index b543b046..935b0584 100644
--- a/src/View/Stricklers/UndoCommand.py
+++ b/src/View/Stricklers/UndoCommand.py
@@ -1,5 +1,5 @@
 # UndoCommand.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Stricklers/Window.py b/src/View/Stricklers/Window.py
index 144f7e88..c7d99aad 100644
--- a/src/View/Stricklers/Window.py
+++ b/src/View/Stricklers/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Stricklers/translate.py b/src/View/Stricklers/translate.py
index 8a513dde..0733ca2d 100644
--- a/src/View/Stricklers/translate.py
+++ b/src/View/Stricklers/translate.py
@@ -1,5 +1,5 @@
 # translate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Study/Window.py b/src/View/Study/Window.py
index 9c7053ee..42893924 100644
--- a/src/View/Study/Window.py
+++ b/src/View/Study/Window.py
@@ -1,5 +1,5 @@
 # Window.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/ASubWindow.py b/src/View/Tools/ASubWindow.py
index b0eee20c..234be532 100644
--- a/src/View/Tools/ASubWindow.py
+++ b/src/View/Tools/ASubWindow.py
@@ -1,5 +1,5 @@
 # ASubWindow.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/ListedSubWindow.py b/src/View/Tools/ListedSubWindow.py
index d0b833b8..a0f1b335 100644
--- a/src/View/Tools/ListedSubWindow.py
+++ b/src/View/Tools/ListedSubWindow.py
@@ -1,5 +1,5 @@
 # ListedSubWindow.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/PamhyrDelegate.py b/src/View/Tools/PamhyrDelegate.py
index 9d68c908..00e09eed 100644
--- a/src/View/Tools/PamhyrDelegate.py
+++ b/src/View/Tools/PamhyrDelegate.py
@@ -1,5 +1,5 @@
 # PamhyrDelegate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/PamhyrPlot.py b/src/View/Tools/PamhyrPlot.py
index 600687d5..c49003d2 100644
--- a/src/View/Tools/PamhyrPlot.py
+++ b/src/View/Tools/PamhyrPlot.py
@@ -1,5 +1,5 @@
 # PamhyrPlot.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/PamhyrPythonEditor.py b/src/View/Tools/PamhyrPythonEditor.py
index 2cc1680c..5dac6cbd 100644
--- a/src/View/Tools/PamhyrPythonEditor.py
+++ b/src/View/Tools/PamhyrPythonEditor.py
@@ -1,5 +1,5 @@
 # PamhyrPythonEditor.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/PamhyrTable.py b/src/View/Tools/PamhyrTable.py
index 803e5842..e013652a 100644
--- a/src/View/Tools/PamhyrTable.py
+++ b/src/View/Tools/PamhyrTable.py
@@ -1,5 +1,5 @@
 # PamhyrTable.py -- Pamhyr abstract table model
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/PamhyrTranslate.py b/src/View/Tools/PamhyrTranslate.py
index 67befa23..1b49e396 100644
--- a/src/View/Tools/PamhyrTranslate.py
+++ b/src/View/Tools/PamhyrTranslate.py
@@ -1,5 +1,5 @@
 # PamhyrTranslate.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/PamhyrWidget.py b/src/View/Tools/PamhyrWidget.py
index d3e02dd9..a4127e66 100644
--- a/src/View/Tools/PamhyrWidget.py
+++ b/src/View/Tools/PamhyrWidget.py
@@ -1,5 +1,5 @@
 # PamhyrWidget.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/PamhyrWindow.py b/src/View/Tools/PamhyrWindow.py
index 87829b8d..46b47f44 100644
--- a/src/View/Tools/PamhyrWindow.py
+++ b/src/View/Tools/PamhyrWindow.py
@@ -1,5 +1,5 @@
 # PamhyrWindow.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/Plot/APlot.py b/src/View/Tools/Plot/APlot.py
index 439ae2e9..c45eaecf 100644
--- a/src/View/Tools/Plot/APlot.py
+++ b/src/View/Tools/Plot/APlot.py
@@ -1,5 +1,5 @@
 # APlot.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/Plot/OnPickEvent.py b/src/View/Tools/Plot/OnPickEvent.py
index 87ab0758..44fae764 100644
--- a/src/View/Tools/Plot/OnPickEvent.py
+++ b/src/View/Tools/Plot/OnPickEvent.py
@@ -1,5 +1,5 @@
 # mpl_canvas_onpick_event.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/Plot/PamhyrCanvas.py b/src/View/Tools/Plot/PamhyrCanvas.py
index b8962c2e..1694d1fd 100644
--- a/src/View/Tools/Plot/PamhyrCanvas.py
+++ b/src/View/Tools/Plot/PamhyrCanvas.py
@@ -1,5 +1,5 @@
 # MplCanvas.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/View/Tools/Plot/PamhyrToolbar.py b/src/View/Tools/Plot/PamhyrToolbar.py
index 489d47b1..cf334127 100644
--- a/src/View/Tools/Plot/PamhyrToolbar.py
+++ b/src/View/Tools/Plot/PamhyrToolbar.py
@@ -1,5 +1,5 @@
 # PamhyrToolbar.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/config.py b/src/config.py
index 02ef7fba..31db9274 100644
--- a/src/config.py
+++ b/src/config.py
@@ -1,5 +1,5 @@
 # config.py -- Pamhyr configuration manager
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/init.py b/src/init.py
index 390725c7..1659080d 100644
--- a/src/init.py
+++ b/src/init.py
@@ -1,5 +1,5 @@
 # init.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -82,7 +82,7 @@ def legal_info():
         logger.info(
             f"version:  {logger_color_green()}{version}{logger_color_reset()}")
 
-    logger.info("license: pamhyr  Copyright (C) 2023  INRAE")
+    logger.info("license: pamhyr  Copyright (C) 2023-2024  INRAE")
     logger.info("license: This program comes with ABSOLUTELY NO WARRANTY.")
     logger.info(
         "license: This is free software," +
diff --git a/src/lang/constant_string.py b/src/lang/constant_string.py
index 8466a3b4..20611b0e 100644
--- a/src/lang/constant_string.py
+++ b/src/lang/constant_string.py
@@ -1,5 +1,5 @@
 # constant_string.py -- Pamhyr constant string definition for translate
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/pamhyr.py b/src/pamhyr.py
index 8a125fc3..7645e6a0 100755
--- a/src/pamhyr.py
+++ b/src/pamhyr.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 
 # pamhyr.py -- Pamhyr entrypoint
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/test_pamhyr.py b/src/test_pamhyr.py
index 1ce427b3..f3a6f98e 100644
--- a/src/test_pamhyr.py
+++ b/src/test_pamhyr.py
@@ -1,5 +1,5 @@
 # test_pamhyr.py -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/tools.py b/src/tools.py
index baf130e4..3130a66c 100644
--- a/src/tools.py
+++ b/src/tools.py
@@ -1,5 +1,5 @@
 # tools.py -- Pamhyr tools function collection
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2023-2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/tools/license.el b/tools/license.el
index cdc37cbf..106375bb 100644
--- a/tools/license.el
+++ b/tools/license.el
@@ -1,5 +1,5 @@
 ;; license.el -- Pamhyr
-;; Copyright (C) 2023  INRAE
+;; Copyright (C) 2023-2024  INRAE
 ;;
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@
   (let ((filename (pamhyr-current-filename)))
     (insert (format
              "# %s -- Pamhyr
-# Copyright (C) 2023  INRAE
+# Copyright (C) 2024  INRAE
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -41,3 +41,67 @@
 
 # -*- coding: utf-8 -*-
 " filename))))
+
+(defun pamhyr-update-license ()
+  (interactive)
+  (let ((pos (point)))
+    (goto-char (point-min))
+    (while (re-search-forward "Copyright (C) 2023  INRAE" nil t)
+      (replace-match "Copyright (C) 2023-2024  INRAE"))
+    (goto-char pos)))
+
+(defun pamhyr-root-dir-rec-aux (dir)
+  (if (or (equal dir "")
+         (equal dir "/")
+         (equal dir nil))
+      nil
+    (let ((ndir (directory-file-name (file-name-directory dir))))
+      (if (file-directory-p (concat ndir "/.git"))
+          ndir
+        (pamhyr-root-dir-rec-aux ndir)))))
+
+(defun pamhyr-root-dir ()
+  (pamhyr-root-dir-rec-aux (buffer-file-name)))
+
+(defun pamhyr--update-license (file)
+  (message (format "Update: %s" file))
+  (let ((buffer (find-file file)))
+    (with-current-buffer buffer
+      (pamhyr-update-license)
+      (save-buffer))
+    ;(kill-buffer buffer)
+    ))
+
+(defun pamhyr--insert-license (file)
+  (message (format "License: %s" file))
+  (let ((buffer (find-file file)))
+    (with-current-buffer buffer
+      (goto-char (point-min))
+      (pamhyr-insert-license)
+      (save-buffer))
+    ;(kill-buffer buffer)
+    ))
+
+(defun pamhyr-update-all-license ()
+  (interactive)
+  (let* ((root (pamhyr-root-dir))
+         (files-with-copyright (split-string
+                                (shell-command-to-string
+                                 (format "git -C '%s' grep -e 'Copyright (C)'|cut -d ':' -f 1|uniq|grep [.]py"
+                                         root))
+                                "\n"))
+         (files (split-string
+                 (shell-command-to-string
+                  (format "git -C '%s' ls-files | grep [.]py"
+                          root))))
+         (files-without-copyright (seq-filter (lambda (file)
+                                                (not (member file files-with-copyright)))
+                                              files)))
+    (message (format "%s" files-with-copyright))
+    (mapcar 'pamhyr--update-license (mapcar (lambda (file) (concat root "/" file))
+                                            files-with-copyright))
+
+    (message (format "%s" files-without-copyright))
+    (mapcar 'pamhyr--insert-license
+            (mapcar (lambda (file) (concat root "/" file))
+                    files-without-copyright))))
-- 
GitLab