diff --git a/DiffractionGratings/grating3D.geo b/DiffractionGratings/grating3D.geo
index 4436f7e927b29c452305af25e5d7b62435b0ba8e..947806f0281a04d99bc4ad2d4c1c2f475e6c7d75 100644
--- a/DiffractionGratings/grating3D.geo
+++ b/DiffractionGratings/grating3D.geo
@@ -250,6 +250,12 @@ pts_LAYER_L1() = PointsOf{ Physical Volume{7}; };
 pts_PMLTOP()   = PointsOf{ Physical Volume{8}; };
 pts_ROD()      = PointsOf{ Physical Volume{9}; };
 
+// if test_case==conv, we want to remesh the scatterer as well
+// the following enforces to update lc_scat when paramaille changes
+If (tag_geom==4)
+  lc_scat = lambda_m/(paramaille*5);
+EndIf
+
 lc_PML = lambda_m/(paramaille*.5);
 list_lc(0) = lc_PML;
 For k In {1:6}
diff --git a/DiffractionGratings/grating3D_data_2Dlamellar.geo b/DiffractionGratings/grating3D_data_2Dlamellar.geo
index bdc6a2d6cc25636904658fddd9047b19e990fb1b..b6d19e07c254b7e797047d111fd9931f9ca24768 100644
--- a/DiffractionGratings/grating3D_data_2Dlamellar.geo
+++ b/DiffractionGratings/grating3D_data_2Dlamellar.geo
@@ -60,7 +60,7 @@ DefineConstant[
     refine_mesh_L_4= {0.3       , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {0.3       , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {0.3       , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
     
     InterpSampling     = { 30   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 0    , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },
diff --git a/DiffractionGratings/grating3D_data_bisin.geo b/DiffractionGratings/grating3D_data_bisin.geo
index 4b2296a4bc62ba35927bfbdf200ad1f3f7bf786e..f46e34327bd0c44ca4178eab847d9cec4318a275 100644
--- a/DiffractionGratings/grating3D_data_bisin.geo
+++ b/DiffractionGratings/grating3D_data_bisin.geo
@@ -60,7 +60,7 @@ DefineConstant[
     refine_mesh_L_4= {1      , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {1      , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {1      , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
     
     InterpSampling     = { 30   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 1    , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },
diff --git a/DiffractionGratings/grating3D_data_checker.geo b/DiffractionGratings/grating3D_data_checker.geo
index e85f3c2832039e12f64f87b29e5ce449916cca82..f10ec4d5143cc96cd90fe0869ebbd5b4337312db 100644
--- a/DiffractionGratings/grating3D_data_checker.geo
+++ b/DiffractionGratings/grating3D_data_checker.geo
@@ -60,7 +60,7 @@ DefineConstant[
     refine_mesh_L_4= {1      , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {1      , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {1      , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
     
     InterpSampling     = { 30   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 1    , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },
diff --git a/DiffractionGratings/grating3D_data_conv.geo b/DiffractionGratings/grating3D_data_conv.geo
index 3c7d5019245c0ea228fd228e98ec7a62832c8553..334fa7ba6bd249a2bcb4771247a7b0f6e95eb2dc 100644
--- a/DiffractionGratings/grating3D_data_conv.geo
+++ b/DiffractionGratings/grating3D_data_conv.geo
@@ -20,7 +20,7 @@ DefineConstant[
     thick_L_6     = {50   , Name StrCat[pp2,"/8thickness layer 6 [nm] (substrate)"]},
     xsideg        = {0    , Name StrCat[pp2,"/9skew angle [deg]"],Visible 1},
 
-    tag_geom      = {  4      , Name StrCat[pp3,"/0Shape"], Choices {1="Pyramid",2="Cylindrical Hole",3="Torus",4="HalfEllipspoid",5="Checkerboard",6="bi-sinusoidal",7="2D lamellar"}},
+    tag_geom      = {  4  , Name StrCat[pp3,"/0Shape"], Choices {1="Pyramid",2="Cylindrical Hole",3="Torus",4="HalfEllipspoid",5="Checkerboard",6="bi-sinusoidal",7="2D lamellar"}},
     rx            = {107  , Name StrCat[pp3,"/1rx"]},
     ry            = {47   , Name StrCat[pp3,"/2ry"]},
     rz            = {40   , Name StrCat[pp3,"/3rz"]},
@@ -47,20 +47,21 @@ DefineConstant[
     eps_re_L_6    = {4    , Name StrCat[pp4,"/layer 6: real part of relative permittivity"]},
     eps_im_L_6    = {0    , Name StrCat[pp4,"/layer 6: imag part of relative permittivity"]},
     
-    og              = {0 , Name StrCat[pp5,"/0geometrical order [-]"]  , Choices {0="1",1="2"} },
+    og              = {0 , Min 0, Max 1 , Step 1, Name StrCat[pp5,"/0geometrical order [-]"] ,  Loop 1},
+    // og              = {0 , Name StrCat[pp5,"/0geometrical order [-]"]  , Choices {0="1",1="2"} },
     oi              = {1 , Name StrCat[pp5,"/0interpolation order [-]"], Choices {0="1",1="2"} },
-    paramaille      = {8 , Min 1, Max 12, Step 1, Name StrCat[pp5, "/1Number of mesh elements per wavelength [-]"], Loop 1},
+    paramaille      = {8 , Min 1, Max 12, Step 1, Name StrCat[pp5, "/1Number of mesh elements per wavelength [-]"], Loop 2, ServerAction "Reset lc_scat"},
     lc_scat         = {lambda0/(5*paramaille)   , Name StrCat[pp5,"/2metal mesh size [nm]"]},
     PML_top         = {lambda0 , Name StrCat[pp5,"/4PML top thickness [nm]"]},
     PML_bot         = {lambda0 , Name StrCat[pp5,"/5PML bot thickness [nm]"]},
-    Nmax            = {0      , Name StrCat[pp5,"/6Number of non specular order to output [-]"]},
-    refine_mesh_L_1 = {1     , Name StrCat[pp5,"/7refine layers/1refine mesh layer 1 [-]"]},
-    refine_mesh_L_2 = {1     , Name StrCat[pp5,"/7refine layers/2refine mesh layer 2 [-]"]},
-    refine_mesh_L_3 = {1     , Name StrCat[pp5,"/7refine layers/3refine mesh layer 3 [-]"]},
-    refine_mesh_L_4 = {1     , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
-    refine_mesh_L_5 = {1     , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
-    refine_mesh_L_6 = {1     , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets  = {0     , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
+    Nmax            = {0       , Name StrCat[pp5,"/6Number of non specular order to output [-]"]},
+    refine_mesh_L_1 = {1       , Name StrCat[pp5,"/7refine layers/1refine mesh layer 1 [-]"]},
+    refine_mesh_L_2 = {1       , Name StrCat[pp5,"/7refine layers/2refine mesh layer 2 [-]"]},
+    refine_mesh_L_3 = {1       , Name StrCat[pp5,"/7refine layers/3refine mesh layer 3 [-]"]},
+    refine_mesh_L_4 = {1       , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
+    refine_mesh_L_5 = {1       , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
+    refine_mesh_L_6 = {1       , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
+    FlagLinkFacets  = {0       , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
         
     InterpSampling     = { 10 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 1  , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },
diff --git a/DiffractionGratings/grating3D_data_halfellipsoid.geo b/DiffractionGratings/grating3D_data_halfellipsoid.geo
index ac0efcd99dc4eb684293c71ffaf14cde4716a6bb..0dd7f2ff1cc27ccfd92a774029c4fd2e3c137f13 100644
--- a/DiffractionGratings/grating3D_data_halfellipsoid.geo
+++ b/DiffractionGratings/grating3D_data_halfellipsoid.geo
@@ -47,7 +47,7 @@ DefineConstant[
     eps_re_L_6    = {4    , Name StrCat[pp4,"/layer 6: real part of relative permittivity"]},
     eps_im_L_6    = {0    , Name StrCat[pp4,"/layer 6: imag part of relative permittivity"]},
     
-    og            = {0          , Name StrCat[pp5,"/0geometrical order [-]"]  , Choices {0="1",1="2"} },
+    og            = {1          , Name StrCat[pp5,"/0geometrical order [-]"]  , Choices {0="1",1="2"} },
     oi            = {1          , Name StrCat[pp5,"/0interpolation order [-]"], Choices {0="1",1="2"} },
     paramaille    = {8    , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]},
     lc_scat       = {10   , Name StrCat[pp5,"/2metal mesh size [nm]"]},
@@ -60,7 +60,7 @@ DefineConstant[
     refine_mesh_L_4= {1     , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {1     , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {1     , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
         
     InterpSampling     = { 10   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 1    , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },
diff --git a/DiffractionGratings/grating3D_data_hole.geo b/DiffractionGratings/grating3D_data_hole.geo
index 3af538f0b4e14d63b701820da6550446500b6713..593f69ec14f92aed5ba833aea3db759a2f255f77 100644
--- a/DiffractionGratings/grating3D_data_hole.geo
+++ b/DiffractionGratings/grating3D_data_hole.geo
@@ -66,7 +66,7 @@ DefineConstant[
     refine_mesh_L_4= {1      , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {1      , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {1      , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
     
     InterpSampling     = { 30   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 1    , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },
diff --git a/DiffractionGratings/grating3D_data_pyramid.geo b/DiffractionGratings/grating3D_data_pyramid.geo
index e9f0338751d1f6acc9ddbc56daa6cdca7719de9b..1382421140200dd841e4403069d25973dec10451 100644
--- a/DiffractionGratings/grating3D_data_pyramid.geo
+++ b/DiffractionGratings/grating3D_data_pyramid.geo
@@ -60,7 +60,7 @@ DefineConstant[
     refine_mesh_L_4= {1     , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {1     , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {1     , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
 
     InterpSampling     = { 50   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 1    , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },
diff --git a/DiffractionGratings/grating3D_data_skew.geo b/DiffractionGratings/grating3D_data_skew.geo
index 31edf8340f6fe7ed00cd52fda137f789229d3447..064c68a21f70499c59f55635fc9da3e332d854bd 100644
--- a/DiffractionGratings/grating3D_data_skew.geo
+++ b/DiffractionGratings/grating3D_data_skew.geo
@@ -60,7 +60,7 @@ DefineConstant[
     refine_mesh_L_4= {1     , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {1     , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {1     , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
         
     InterpSampling     = { 10   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 1    , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },
diff --git a/DiffractionGratings/grating3D_data_solarcell.geo b/DiffractionGratings/grating3D_data_solarcell.geo
index 3501b60712480d5373babc3f4c54d66016cdc07a..74a0c161091262cbb3a403e39385f8e94a122b53 100644
--- a/DiffractionGratings/grating3D_data_solarcell.geo
+++ b/DiffractionGratings/grating3D_data_solarcell.geo
@@ -62,7 +62,7 @@ DefineConstant[
     refine_mesh_L_4= {2      , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {2      , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {2      , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {0      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
 
     
     InterpSampling     = { 20   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
diff --git a/DiffractionGratings/grating3D_data_torus.geo b/DiffractionGratings/grating3D_data_torus.geo
index 220bd6477f09798549f8f866314e43f4346b8491..a22f891c05b2749d54f051ed6498b708bbb58510 100644
--- a/DiffractionGratings/grating3D_data_torus.geo
+++ b/DiffractionGratings/grating3D_data_torus.geo
@@ -60,7 +60,7 @@ DefineConstant[
     refine_mesh_L_4= {1       , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]},
     refine_mesh_L_5= {1       , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]},
     refine_mesh_L_6= {1       , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]},
-    FlagLinkFacets = {1      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}},
+    FlagLinkFacets = {1      , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0},
     
     InterpSampling     = {15   , Name StrCat[pp6,"/0Interpolation grid step [nm]"]},
     Flag_interp_cubic  = { 1    , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },