From a573fccd8270ce0668f3dd65d08dcf4eccfd0983 Mon Sep 17 00:00:00 2001
From: abaucher <achille.baucher@inria.fr>
Date: Tue, 15 Feb 2022 17:57:12 +0100
Subject: [PATCH] np array and improvments

---
 pydynamo/core/parse_system.py | 2 +-
 pydynamo/core/plot_system.py  | 2 +-
 pydynamo/core/system.py       | 4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/pydynamo/core/parse_system.py b/pydynamo/core/parse_system.py
index 5ac1cfd5..74eefd9c 100644
--- a/pydynamo/core/parse_system.py
+++ b/pydynamo/core/parse_system.py
@@ -131,7 +131,7 @@ def new_table_politic(s, var, year, val2):
     var_line = s.eqs['update'][var]['raw_line']
     
     eq_table_1 = f"{table_name}1 = {table_init_val} # {s.get_comment({table_name})} before {year}"
-    eq_table_2 = f"{table_name}2 = {val2} # {s.get_comment({table_name})} after {year}"    
+    eq_table_2 = f"{table_name}2 = {list(val2)} # {s.get_comment({table_name})} after {year}"    
     eq_var_1 = var_line.replace(f'{var}.k', f'{var}1.k').replace(table_name, table_name + '1')
     eq_var_2 = var_line.replace(f'{var}.k', f'{var}2.k').replace(table_name, table_name + '2')
     eq_var = f"{var}.k = clip({var}2.k, {var}1.k, time.k, {year}) {s.get_comment({var})}"
diff --git a/pydynamo/core/plot_system.py b/pydynamo/core/plot_system.py
index 785e4e64..e0794653 100644
--- a/pydynamo/core/plot_system.py
+++ b/pydynamo/core/plot_system.py
@@ -36,7 +36,7 @@ def plot_system(s, v_names=None, rescale=False, com=True, filter_no=None, scales
     plt.xlabel('Time')
     if legend:
         if len(v_names) > outside_legend_number:
-            plt.legend(loc='center left', bbox_to_anchor=[1, 0.9])
+            plt.legend(loc='center left', bbox_to_anchor=[1, 0.8])
         else:
             plt.legend(loc='center left')
     plt.title(title)
diff --git a/pydynamo/core/system.py b/pydynamo/core/system.py
index 993767a9..7926d8eb 100644
--- a/pydynamo/core/system.py
+++ b/pydynamo/core/system.py
@@ -152,7 +152,7 @@ class System:
             if var in eqq:
                 try:
                     if 'tabhl' in eqq[var]['raw_line']:
-                        return f'{var}.k = ' + re.sub('tabhl', f'NLF_{var}', re.sub('\_([jk])', '.\\1', eqq[var]['line']))
+                        return f'{var}.k = ' + re.sub('tabhl', f'NLF_{var}t', re.sub('\_([jk])', '.\\1', eqq[var]['line']))
                     return eqq[var]['raw_line']
                 except:
                     print(var, eqq)
@@ -343,6 +343,8 @@ class System:
         try:
             value = None
             value = fun(**args)
+            if '__iter__' in dir(value):
+                value = np.array(value)
             setattr(self, cst, value)
             
         except Exception as e:
-- 
GitLab