From 9c0ffa8356f661c3eef503cef357b42e6d1a053a Mon Sep 17 00:00:00 2001
From: Theophile Terraz <theophile.terraz@inrae.fr>
Date: Fri, 15 Dec 2023 15:36:17 +0100
Subject: [PATCH] add option to let Mage generate initial condition

---
 src/Model/SolverParameters/SolverParametersList.py |  4 ++++
 src/Model/Study.py                                 |  2 +-
 src/Solver/Mage.py                                 | 10 +++++++---
 src/View/SolverParameters/translate.py             |  3 +++
 4 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/src/Model/SolverParameters/SolverParametersList.py b/src/Model/SolverParameters/SolverParametersList.py
index 070c31ea..42c1be59 100644
--- a/src/Model/SolverParameters/SolverParametersList.py
+++ b/src/Model/SolverParameters/SolverParametersList.py
@@ -142,6 +142,10 @@ class SolverParametersList(PamhyrModelList):
                         insert(v[0], v[1], ind)
                         ind += 1
 
+                    if int(release) < 7:
+                        insert("mage_init_internal","N",ind)
+                        ind += 1
+
                     new = [
                         ("mage_sediment_masse_volumique", "2650.0"),
                         ("mage_sediment_angle_repos", "40.0"),
diff --git a/src/Model/Study.py b/src/Model/Study.py
index cb28978d..033f8867 100644
--- a/src/Model/Study.py
+++ b/src/Model/Study.py
@@ -41,7 +41,7 @@ class Study(SQLModel):
 
     def __init__(self, filename=None, init_new=True):
         # Metadata
-        self._version = "0.0.6"
+        self._version = "0.0.7"
         self.creation_date = datetime.now()
         self.last_modification_date = datetime.now()
         self.last_save_date = datetime.now()
diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py
index 4b989720..5b4d5378 100644
--- a/src/Solver/Mage.py
+++ b/src/Solver/Mage.py
@@ -36,7 +36,7 @@ def mage_file_open(filepath, mode):
 
     if "w" in mode:
         # Write header
-        f.write("* This file is generate by PAMHYR, please don't modify\n")
+        f.write("* This file is generated by PAMHYR, please don't modify\n")
 
     return f
 
@@ -81,6 +81,7 @@ class Mage(CommandLineSolver):
             ("mage_compute_reach_volume_balance", "y"),
             ("mage_max_reach_volume_balance", "0.001"),
             ("mage_min_reach_volume_to_check", "1000.0"),
+            ("mage_init_internal", " "),
         ]
 
         return lst
@@ -721,8 +722,11 @@ class Mage8(Mage):
                 if name in ["command_line_arguments"]:
                     continue
 
-                if name == "mage_compute_reach_volume_balance":
-                    value = "O" if value == "y" else "N"
+                if name == "compute_reach_volume_balance":
+                    value = "O" if value.lower() == "y" else "N"
+
+                if name == "init_internal":
+                    value = "p" if value.lower() in ["y","yes","true"] else ""
 
                 f.write(f"{name} {value}\n")
 
diff --git a/src/View/SolverParameters/translate.py b/src/View/SolverParameters/translate.py
index 642fdc57..5521402c 100644
--- a/src/View/SolverParameters/translate.py
+++ b/src/View/SolverParameters/translate.py
@@ -129,4 +129,7 @@ class ParamTranslate(PamhyrTranslate):
             "mage_min_reach_volume_to_check":
             _translate("SolverParameters",
                        "Minimum reach volume to check"),
+            "mage_init_internal":
+            _translate("SolverParameters",
+                       "Use Mage internal initialization (Y/N)"),
         }
-- 
GitLab