diff --git a/binarycpython/utils/grid.py b/binarycpython/utils/grid.py
index 75998803213d3d0daca6963adb8bcf5dc218598d..13a9f1729a4f99f8c5a523249a3093060ddb91e3 100644
--- a/binarycpython/utils/grid.py
+++ b/binarycpython/utils/grid.py
@@ -2106,9 +2106,13 @@ class Population:
         # TODO: cleanup custom logging code.
 
         # Also remove the rest of the contents
-        keys_moecache = list(Moecache.keys())
-        for key in keys_moecache:
-            del Moecache[key]
+        #
+        # Please do NOT delete the Moecache here: it's
+        # required to be there when the const_dt spacing
+        # function is used.
+#        keys_moecache = list(Moecache.keys())
+#        for key in keys_moecache:
+#            del Moecache[key]
 
     ###################################################
     # Grid code functions
@@ -2373,8 +2377,14 @@ class Population:
             #   n that case we need another local variable which will prevent it from being run but will track those parameters
             # Add phasevol check action:
             self._add_code(
-                'print("Grid generator: phasevol_{} <= 0! (this=",{}_this,", next=",{}_next,") Skipping current sample.")'.format(
-                    grid_variable["name"], grid_variable["name"], grid_variable["name"]
+                'print("Grid generator: phasevol_{} <= 0! (this=",{}_this,"=",sampled_values_{}[{}_this],", next=",{}_next,"=",sampled_values_{}[{}_next],") Skipping current sample.")'.format(
+                    grid_variable["name"],
+                    grid_variable["name"],
+                    grid_variable["name"],
+                    grid_variable["name"],
+                    grid_variable["name"],
+                    grid_variable["name"],
+                    grid_variable["name"]
                 )
                 + "\n",
                 "continue\n",
@@ -4178,7 +4188,8 @@ class Population:
             parameter_name="M_1",
             longname="Primary mass",
             resolution="options['resolutions']['M'][0]",
-            spacingfunc="const(np.log({}), np.log({}), {})".format(
+            spacingfunc=self.grid_options["Moe2017_options"]['spacingfuncs']['M'][0] or
+            "const(np.log({}), np.log({}), {})".format(
                 self.grid_options["Moe2017_options"]["ranges"]["M"][0],
                 self.grid_options["Moe2017_options"]["ranges"]["M"][1],
                 self.grid_options["Moe2017_options"]["resolutions"]["M"][0],
@@ -4216,7 +4227,8 @@ class Population:
                     self.grid_options["Moe2017_options"]["ranges"]["logP"][0],
                     self.grid_options["Moe2017_options"]["ranges"]["logP"][1],
                 ],
-                spacingfunc="const({}, {}, {})".format(
+                spacingfunc=self.grid_options["Moe2017_options"]['spacingfuncs']["logP"][0] or
+                "const({}, {}, {})".format(
                     self.grid_options["Moe2017_options"]["ranges"]["logP"][0],
                     self.grid_options["Moe2017_options"]["ranges"]["logP"][1],
                     self.grid_options["Moe2017_options"]["resolutions"]["logP"][0],
@@ -4250,7 +4262,8 @@ qmax=maximum_mass_ratio_for_RLOF(M_1, orbital_period)
 M_2 = q * M_1
 sep = calc_sep_from_period(M_1, M_2, orbital_period)
     """,
-                spacingfunc="const({}, {}, {})".format(
+                spacingfunc=self.grid_options["Moe2017_options"]["spacingfuncs"]["M"][1] or
+                "const({}, {}, {})".format(
                     self.grid_options["Moe2017_options"]["ranges"]["q"][0]
                     if self.grid_options["Moe2017_options"]
                     .get("ranges", {})
@@ -4284,7 +4297,8 @@ sep = calc_sep_from_period(M_1, M_2, orbital_period)
                         ],  # Just fail if not defined.
                         self.grid_options["Moe2017_options"]["ranges"]["ecc"][1],
                     ],
-                    spacingfunc="const({}, {}, {})".format(
+                    spacingfunc=self.grid_options["Moe2017_options"]["spacingfuncs"]['ecc'][0] or
+                    "const({}, {}, {})".format(
                         self.grid_options["Moe2017_options"]["ranges"]["ecc"][
                             0
                         ],  # Just fail if not defined.
@@ -4314,7 +4328,8 @@ sep = calc_sep_from_period(M_1, M_2, orbital_period)
                         self.grid_options["Moe2017_options"]["ranges"]["logP"][0],
                         self.grid_options["Moe2017_options"]["ranges"]["logP"][1],
                     ],
-                    spacingfunc="const({}, {}, {})".format(
+                    spacingfunc=self.grid_options["Moe2017_options"]["spacingfuncs"]["logP"][1] or
+                    "const({}, {}, {})".format(
                         self.grid_options["Moe2017_options"]["ranges"]["logP"][0],
                         self.grid_options["Moe2017_options"]["ranges"]["logP"][1],
                         self.grid_options["Moe2017_options"]["resolutions"]["logP"][1],
@@ -4354,7 +4369,8 @@ M_3 = q2 * (M_1 + M_2)
 sep2 = calc_sep_from_period((M_1+M_2), M_3, orbital_period_triple)
 eccentricity2=0
 """,
-                    spacingfunc="const({}, {}, {})".format(
+                    spacingfunc=self.grid_options["Moe2017_options"]["spacingfuncs"]["M"][2] or
+                    "const({}, {}, {})".format(
                         self.grid_options["Moe2017_options"]["ranges"]["q"][0]
                         if self.grid_options["Moe2017_options"]
                         .get("ranges", {})
@@ -4388,7 +4404,8 @@ eccentricity2=0
                             ],  # Just fail if not defined.
                             self.grid_options["Moe2017_options"]["ranges"]["ecc"][1],
                         ],
-                        spacingfunc="const({}, {}, {})".format(
+                        spacingfunc=self.grid_options["Moe2017_options"]["spacingfuncs"]["ecc"][1] or
+                        "const({}, {}, {})".format(
                             self.grid_options["Moe2017_options"]["ranges"]["ecc"][
                                 0
                             ],  # Just fail if not defined.
@@ -4417,7 +4434,8 @@ eccentricity2=0
                             self.grid_options["Moe2017_options"]["ranges"]["logP"][0],
                             self.grid_options["Moe2017_options"]["ranges"]["logP"][1],
                         ],
-                        spacingfunc="const({}, {}, {})".format(
+                        spacingfunc=self.grid_options["Moe2017_options"]["spacingfuncs"]["logP"][2] or
+                        "const({}, {}, {})".format(
                             self.grid_options["Moe2017_options"]["ranges"]["logP"][0],
                             self.grid_options["Moe2017_options"]["ranges"]["logP"][1],
                             self.grid_options["Moe2017_options"]["resolutions"]["logP"][2],
@@ -4458,7 +4476,8 @@ M_4 = q3 * M_3
 sep3 = calc_sep_from_period((M_3), M_4, orbital_period_quadruple)
 eccentricity3=0
 """,
-                        spacingfunc="const({}, {}, {})".format(
+                        spacingfunc=self.grid_options["Moe2017_options"]["spacingfuncs"]["M"][3] or
+                        "const({}, {}, {})".format(
                             self.grid_options["Moe2017_options"]["ranges"]["q"][0]
                             if self.grid_options["Moe2017_options"]
                             .get("ranges", {})
@@ -4492,7 +4511,8 @@ eccentricity3=0
                                 ],  # Just fail if not defined.
                                 self.grid_options["Moe2017_options"]["ranges"]["ecc"][1],
                             ],
-                            spacingfunc="const({}, {}, {})".format(
+                            spacingfunc=self.grid_options["Moe2017_options"]["spacingfuncs"]["ecc"][2] or
+                            "const({}, {}, {})".format(
                                 self.grid_options["Moe2017_options"]["ranges"]["ecc"][
                                     0
                                 ],  # Just fail if not defined.
diff --git a/binarycpython/utils/grid_options_defaults.py b/binarycpython/utils/grid_options_defaults.py
index a1d05e9ddf87c99a6a2b76f8166687394a61ecce..7fc2cb7222bf05e3ec8a45439dc34bfb7b8aa9c0 100644
--- a/binarycpython/utils/grid_options_defaults.py
+++ b/binarycpython/utils/grid_options_defaults.py
@@ -535,6 +535,11 @@ moe_di_stefano_default_options = {
             0,  # e3 (quadruple eccentricity) currently unused
         ],
     },
+    'spacingfuncs': {
+        'M' : [None, None, None, None],
+        'logP' : [None, None, None],
+        'ecc' : [None, None, None],
+    },
     "ranges": {
         # stellar masses (Msun)
         "M": [