Index: /issm/trunk-jpl/test/NightlyRun/test127.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test127.m	(revision 26024)
+++ /issm/trunk-jpl/test/NightlyRun/test127.m	(revision 26024)
@@ -0,0 +1,19 @@
+%Test Name: SquareShelfConstrainedSampling
+md=triangle(model(),'../Exp/Square.exp',150000.);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md = md.sampling.setparameters(md,2e5,1);
+md.sampling.seed = 100;
+md.cluster=generic('name',oshostname(),'np',1);
+md1=solve(md,'smp');
+md.sampling.robin = 1;
+md.sampling.beta = sqrt(md.sampling.tau^2*md.sampling.kappa(1)^2)/1.42*ones(md.mesh.numberofvertices,1);
+md2=solve(md,'smp');
+
+%Fields and tolerances to track changes
+field_names     ={'Sample'};
+field_tolerances={1e-13};
+field_values={...
+	(md1.results.SamplingSolution.Sample),...
+    (md2.results.SamplingSolution.Sample),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test128.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test128.m	(revision 26024)
+++ /issm/trunk-jpl/test/NightlyRun/test128.m	(revision 26024)
@@ -0,0 +1,28 @@
+%Test Name: SquareShelfConstrainedSamplingExponent
+md=triangle(model(),'../Exp/Square.exp',150000.);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md.sampling.seed = 100;
+md.cluster=generic('name',oshostname(),'np',1);
+md.sampling.alpha = 2;
+md = md.sampling.setparameters(md,2e5,1);
+md1=solve(md,'smp');
+md.sampling.alpha = 3;
+md = md.sampling.setparameters(md,2e5,1);
+md2=solve(md,'smp');
+md.sampling.alpha = 4;
+md = md.sampling.setparameters(md,2e5,1);
+md3=solve(md,'smp');
+md.sampling.alpha = 5;
+md = md.sampling.setparameters(md,2e5,1);
+md4=solve(md,'smp');
+
+%Fields and tolerances to track changes
+field_names     ={'Sample1','Sample2','Sample3','Sample4'};
+field_tolerances={1e-13};
+field_values={...
+	(md1.results.SamplingSolution.Sample),...
+    (md2.results.SamplingSolution.Sample),...
+    (md3.results.SamplingSolution.Sample),...
+    (md4.results.SamplingSolution.Sample),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test129.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test129.m	(revision 26024)
+++ /issm/trunk-jpl/test/NightlyRun/test129.m	(revision 26024)
@@ -0,0 +1,30 @@
+%Test Name: SquareShelfConstrainedSamplingTransient
+md=triangle(model(),'../Exp/Square.exp',150000.);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md = md.sampling.setparameters(md,2e5,1);
+md.sampling.seed = 100;
+md.cluster=generic('name',oshostname(),'np',1);
+md=solve(md,'smp');
+  
+md.sampling.phi = 0.5;
+md = md.sampling.setparameters(md,2e5,1*sqrt(1-md.sampling.phi*md.sampling.phi));   
+md.initialization.sample = md.results.SamplingSolution.Sample;
+md.transient = md.transient.deactivateall();
+md.transient.issampling = 1;
+md.timestepping.time_step = 1;
+md.timestepping.final_time = 5;
+md.settings.output_frequency = 1; 
+md=solve(md,'transient');
+
+%Fields and tolerances to track changes
+field_names     ={'Sample0','Sample1','Sample2','Sample3','Sample4','Sample5'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+    md.initialization.sample,...
+    md.results.TransientSolution(1).Sample,...
+    md.results.TransientSolution(2).Sample,...
+    md.results.TransientSolution(3).Sample,...
+    md.results.TransientSolution(4).Sample,...
+    md.results.TransientSolution(5).Sample,...
+	};
