diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py
index 2ca7000cb9861db9f8f2d4f1f6354df9213d3870..2458199652531b9d3b33c25d42a86cf89596f091 100644
--- a/src/Solver/Mage.py
+++ b/src/Solver/Mage.py
@@ -135,7 +135,7 @@ class Mage(CommandLineSolver):
         )
 
         for line in lines:
-            rep_file.write(line.line)
+            rep_file.write(line.line+"\n")
 
     def _export_ST(self, study, repertory, qlog, name="0"):
         files = []
diff --git a/src/View/D90AdisTS/Table.py b/src/View/D90AdisTS/Table.py
index 0fe4d3513a4ed35d00ae8d7555b46bcc56ee5daa..4960398171a13e93a53705bee99d6772373588a8 100644
--- a/src/View/D90AdisTS/Table.py
+++ b/src/View/D90AdisTS/Table.py
@@ -130,29 +130,29 @@ class D90TableModel(PamhyrTableModel):
         row = index.row()
         column = index.column()
 
-        if self._headers[column] is "name":
+        if self._headers[column] == "name":
             n = self._lst[row].name
             if n is None or n == "":
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "reach":
+        elif self._headers[column] == "reach":
             n = self._lst[row].reach
             if n is None:
                 return self._trad['not_associated']
             return next(filter(
                 lambda edge: edge.id == n, self._river.edges()
             )).name
-        elif self._headers[column] is "start_rk":
+        elif self._headers[column] == "start_rk":
             n = self._lst[row].start_rk
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "end_rk":
+        elif self._headers[column] == "end_rk":
             n = self._lst[row].end_rk
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "d90":
+        elif self._headers[column] == "d90":
             n = self._lst[row].d90
             if n is None:
                 return self._trad['not_associated']
diff --git a/src/View/DIFAdisTS/Table.py b/src/View/DIFAdisTS/Table.py
index 5c24b02702b197faf1aa298923aa43964e3c9d08..7aa096fa7a67cc29a473f947b69d1eff934a5a7a 100644
--- a/src/View/DIFAdisTS/Table.py
+++ b/src/View/DIFAdisTS/Table.py
@@ -132,39 +132,39 @@ class DIFTableModel(PamhyrTableModel):
         row = index.row()
         column = index.column()
 
-        if self._headers[column] is "method":
+        if self._headers[column] == "method":
             n = self._lst[row].method
             if n is None or n == "":
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "reach":
+        elif self._headers[column] == "reach":
             n = self._lst[row].reach
             if n is None:
                 return self._trad['not_associated']
             return next(filter(
                 lambda edge: edge.id == n, self._river.edges()
             )).name
-        elif self._headers[column] is "start_rk":
+        elif self._headers[column] == "start_rk":
             n = self._lst[row].start_rk
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "end_rk":
+        elif self._headers[column] == "end_rk":
             n = self._lst[row].end_rk
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "dif":
+        elif self._headers[column] == "dif":
             n = self._lst[row].dif
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "b":
+        elif self._headers[column] == "b":
             n = self._lst[row].b
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "c":
+        elif self._headers[column] == "c":
             n = self._lst[row].c
             if n is None:
                 return self._trad['not_associated']
diff --git a/src/View/DIFAdisTS/TableDefault.py b/src/View/DIFAdisTS/TableDefault.py
index 0095d54b57d90b898cee00b588e3c519368d1004..040e4fd34484a2bb8c8619fcdf2265481b0e4964 100644
--- a/src/View/DIFAdisTS/TableDefault.py
+++ b/src/View/DIFAdisTS/TableDefault.py
@@ -55,22 +55,22 @@ class DIFTableDefaultModel(PamhyrTableModel):
         row = index.row()
         column = index.column()
 
-        if self._headers[column] is "method":
+        if self._headers[column] == "method":
             n = self._data[row].method
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "dif":
+        elif self._headers[column] == "dif":
             n = self._data[row].dif
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "b":
+        elif self._headers[column] == "b":
             n = self._data[row].b
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "c":
+        elif self._headers[column] == "c":
             n = self._data[row].c
             if n is None:
                 return self._trad['not_associated']
diff --git a/src/View/InitialConditionsAdisTS/Table.py b/src/View/InitialConditionsAdisTS/Table.py
index 8201cbf5cf09c9cfd2156e845a484465d2a2fe0b..c78398847cd1154caaaeb352c817cf9046dab52c 100644
--- a/src/View/InitialConditionsAdisTS/Table.py
+++ b/src/View/InitialConditionsAdisTS/Table.py
@@ -129,49 +129,49 @@ class InitialConditionTableModel(PamhyrTableModel):
         row = index.row()
         column = index.column()
 
-        if self._headers[column] is "name":
+        if self._headers[column] == "name":
             n = self._lst[row].name
             if n is None or n == "":
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "reach":
+        elif self._headers[column] == "reach":
             n = self._lst[row].reach
             if n is None:
                 return self._trad['not_associated']
             return next(filter(
                 lambda edge: edge.id == n, self._river.edges()
             )).name
-        elif self._headers[column] is "start_rk":
+        elif self._headers[column] == "start_rk":
             n = self._lst[row].start_rk
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "end_rk":
+        elif self._headers[column] == "end_rk":
             n = self._lst[row].end_rk
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "concentration":
+        elif self._headers[column] == "concentration":
             n = self._lst[row].concentration
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "eg":
+        elif self._headers[column] == "eg":
             n = self._lst[row].eg
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "em":
+        elif self._headers[column] == "em":
             n = self._lst[row].em
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "ed":
+        elif self._headers[column] == "ed":
             n = self._lst[row].ed
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "rate":
+        elif self._headers[column] == "rate":
             n = self._lst[row].rate
             if n is None:
                 return self._trad['not_associated']
diff --git a/src/View/InitialConditionsAdisTS/TableDefault.py b/src/View/InitialConditionsAdisTS/TableDefault.py
index 151cd8b90597c248c73452a9d79d8e6296660417..4f184a745d7a5062ba3ba1a165d1c19b3890c8fc 100644
--- a/src/View/InitialConditionsAdisTS/TableDefault.py
+++ b/src/View/InitialConditionsAdisTS/TableDefault.py
@@ -55,24 +55,24 @@ class InitialConditionTableDefaultModel(PamhyrTableModel):
         row = index.row()
         column = index.column()
 
-        if self._headers[column] is "name":
+        if self._headers[column] == "name":
             return self._data[row].name
-        elif self._headers[column] is "concentration":
+        elif self._headers[column] == "concentration":
             n = self._data[row].concentration
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "eg":
+        elif self._headers[column] == "eg":
             n = self._data[row].eg
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "em":
+        elif self._headers[column] == "em":
             n = self._data[row].em
             if n is None:
                 return self._trad['not_associated']
             return n
-        elif self._headers[column] is "ed":
+        elif self._headers[column] == "ed":
             n = self._data[row].ed
             if n is None:
                 return self._trad['not_associated']