From 7564d1dc249196957ea0f823e72fb4c5cabeb34c Mon Sep 17 00:00:00 2001
From: Giovanni La Mura <giovanni.lamura@inaf.it>
Date: Fri, 6 Jun 2025 17:33:57 +0200
Subject: [PATCH] Write run-time configuration options if set to non-default
 values

---
 src/scripts/model_maker.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/scripts/model_maker.py b/src/scripts/model_maker.py
index 4475a82..27e4352 100755
--- a/src/scripts/model_maker.py
+++ b/src/scripts/model_maker.py
@@ -328,6 +328,14 @@ def load_model(model_file):
                     for j in range(expected_radii):
                         sconf['rcf'][i][j] = float(model['particle_settings']['rad_frac'][i][j])
         # Create the gconf dict
+        try:
+            use_refinement = False if model['system_settings']['refinement'] == "0" else True
+        except KeyError:
+            use_refinement = False
+        try:
+            dyn_orders = False if model['radiation_settings']['dyn_orders'] == "0" else True
+        except KeyError:
+            use_refinement = False
         str_polar = model['radiation_settings']['polarization']
         if (str_polar not in ["LINEAR", "CIRCULAR"]):
             print("ERROR: %s is not a recognized polarization state."%str_polar)
@@ -338,6 +346,8 @@ def load_model(model_file):
                 model['input_settings']['geometry_file']
             )
         }
+        gconf['use_refinement'] = use_refinement
+        gconf['dyn_orders'] = dyn_orders
         gconf['nsph'] = sconf['nsph']
         gconf['application'] = model['particle_settings']['application']
         gconf['li'] = int(model['geometry_settings']['li'])
@@ -865,6 +875,12 @@ def write_legacy_gconf(conf):
     output.write(str_line)
     str_line = " {0:d}\n0\n".format(conf['jwtm'])
     output.write(str_line)
+    if (gconf['use_refinement']):
+        str_line = "USE_REFINEMENT=1\n"
+        output.write(str_line)
+    if (not gconf['dyn_orders']):
+        str_line = "USE_DYN_ORDER=0\n"
+        output.write(str_line)
     output.close()
     return result
 
-- 
GitLab