diff --git a/includeCXX/model_base.h b/includeCXX/model_base.h
index 7bd56b50acf5b98068022ad36297a16c7900f10a..f51c7e7b4aa08d2864626f847a1008835a6f8165 100644
--- a/includeCXX/model_base.h
+++ b/includeCXX/model_base.h
@@ -10,8 +10,6 @@ public:
     sfxDataVecTypeC* res_sfx;
     sfxDataVecTypeC sfx;
     meteoDataVecTypeC meteo;
-    sfx_surface_param surface_param;
-    sfx_phys_constants phys_constants;
 
     int grid_size;
     bool ifAllocated;
@@ -19,8 +17,6 @@ public:
     
     ModelBase(sfxDataVecTypeC* sfx,
                 meteoDataVecTypeC* meteo,
-                const sfx_surface_param surface_param,
-                const sfx_phys_constants phys_constants,
                 const int grid_size);
     ~ModelBase();
 };
\ No newline at end of file
diff --git a/includeCXX/sfx_esm.h b/includeCXX/sfx_esm.h
index d1c23b2d7698e098309dd9470ea79f8fd7a10884..c1cc836a5c721f349b722a73002ba3128ceae292 100644
--- a/includeCXX/sfx_esm.h
+++ b/includeCXX/sfx_esm.h
@@ -10,12 +10,12 @@ public:
     using ModelBase<T, memIn, memOut, RunMem>::res_sfx;
     using ModelBase<T, memIn, memOut, RunMem>::sfx;
     using ModelBase<T, memIn, memOut, RunMem>::meteo;
-    using ModelBase<T, memIn, memOut, RunMem>::surface_param;
-    using ModelBase<T, memIn, memOut, RunMem>::phys_constants;
     using ModelBase<T, memIn, memOut, RunMem>::grid_size;
     using ModelBase<T, memIn, memOut, RunMem>::ifAllocated;
     using ModelBase<T, memIn, memOut, RunMem>::allocated_size;
 
+    sfx_surface_param surface_param;
+    sfx_phys_constants phys_constants;
     sfx_esm_param model_param;
     sfx_esm_numericsTypeC numerics;
 
diff --git a/srcCXX/model_base.cpp b/srcCXX/model_base.cpp
index 3e317a6b125743a37cb9e806089f0cecf21fe172..ca1bcdb48c8633d6b6e6e21f37d7fab9d5a0c1b4 100644
--- a/srcCXX/model_base.cpp
+++ b/srcCXX/model_base.cpp
@@ -8,14 +8,10 @@
 template<typename T, MemType memIn, MemType memOut, MemType RunMem >
 ModelBase<T, memIn, memOut, RunMem>::ModelBase(sfxDataVecTypeC* sfx_in,
                 meteoDataVecTypeC* meteo_in,
-                const sfx_surface_param surface_param_in,
-                const sfx_phys_constants phys_constants_in,
                 const int grid_size_in)
 {
     ifAllocated = false;
     grid_size = grid_size_in;
-    surface_param = surface_param_in;
-    phys_constants = phys_constants_in;
 
     if(RunMem != memOut)
         res_sfx = sfx_in;
diff --git a/srcCXX/sfx_esm.cpp b/srcCXX/sfx_esm.cpp
index ae4956a0ab3af2a7c80b6f2bdcd2ff88d65d8f6b..ad77a702428a957d5c18d27f3e227d2f35e0b72b 100644
--- a/srcCXX/sfx_esm.cpp
+++ b/srcCXX/sfx_esm.cpp
@@ -17,9 +17,10 @@ FluxEsmBase<T, memIn, memOut, RunMem>::FluxEsmBase(sfxDataVecTypeC* sfx_in,
                 const sfx_surface_param surface_param_in,
                 const sfx_esm_numericsTypeC numerics_in,
                 const sfx_phys_constants phys_constants_in,
-                const int grid_size_in) : ModelBase<T, memIn, memOut, RunMem>(sfx_in, meteo_in, 
-                    surface_param_in, phys_constants_in, grid_size_in)
+                const int grid_size_in) : ModelBase<T, memIn, memOut, RunMem>(sfx_in, meteo_in, grid_size_in)
 {
+    surface_param = surface_param_in;
+    phys_constants = phys_constants_in;
     model_param = model_param_in;
     numerics = numerics_in;
 }