Index: /issm/trunk/test/NightlyRun/IdToName.m
===================================================================
--- /issm/trunk/test/NightlyRun/IdToName.m	(revision 10382)
+++ /issm/trunk/test/NightlyRun/IdToName.m	(revision 10383)
@@ -202,4 +202,8 @@
 	case 445, name='RoundSheetShelfGLMigrationM2dSerial';
 	case 446, name='RoundSheetShelfGLMigrationM2dParallel';
+	case 447, name='SquareSheetShelfGroundingLineAgressiceSerial';
+	case 448, name='SquareSheetShelfGroundingLineAgressiceParallel';
+	case 449, name='SquareSheetShelfGroundingLineSoftSerial';
+	case 450, name='SquareSheetShelfGroundingLineSoftParallel';
 	case 501, name='PigDiagM2dSerial';
 	case 502, name='PigDiagM2dParallel';
Index: /issm/trunk/test/NightlyRun/test447.m
===================================================================
--- /issm/trunk/test/NightlyRun/test447.m	(revision 10383)
+++ /issm/trunk/test/NightlyRun/test447.m	(revision 10383)
@@ -0,0 +1,35 @@
+md=setmesh(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=setflowequation(md,'macayeal','all');
+md.cluster=none;
+md.initialization.vx(:)=0;
+md.initialization.vy(:)=0;
+md.initialization.vel(:)=0;
+md.geometry.bed=-700-abs(md.mesh.y-500000)/1000;
+md.geometry.bathymetry=-700-abs(md.mesh.y-500000)/1000;
+md.geometry.thickness(:)=1000;
+md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.surfaceforcings.mass_balance(:)=100;
+md.transient.isdiagnostic=0;
+md.transient.isgroundingline=1;
+md.groundingline.migration='AgressiveMigration';
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+	PatchToVec(md.results.TransientSolution(1).Bed),...
+	PatchToVec(md.results.TransientSolution(1).Surface),...
+	PatchToVec(md.results.TransientSolution(1).Thickness),...
+	PatchToVec(md.results.TransientSolution(1).MaskElementonfloatingice),...
+	PatchToVec(md.results.TransientSolution(2).Bed),...
+	PatchToVec(md.results.TransientSolution(2).Surface),...
+	PatchToVec(md.results.TransientSolution(2).Thickness),...
+	PatchToVec(md.results.TransientSolution(2).MaskElementonfloatingice),...
+	PatchToVec(md.results.TransientSolution(3).Bed),...
+	PatchToVec(md.results.TransientSolution(3).Surface),...
+	PatchToVec(md.results.TransientSolution(3).Thickness),...
+	PatchToVec(md.results.TransientSolution(3).MaskElementonfloatingice),...
+	};
Index: /issm/trunk/test/NightlyRun/test448.m
===================================================================
--- /issm/trunk/test/NightlyRun/test448.m	(revision 10383)
+++ /issm/trunk/test/NightlyRun/test448.m	(revision 10383)
@@ -0,0 +1,37 @@
+md=setmesh(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=setflowequation(md,'macayeal','all');
+md.cluster=none;
+md.initialization.vx(:)=0;
+md.initialization.vy(:)=0;
+md.initialization.vel(:)=0;
+md.geometry.bed=-700-abs(md.mesh.y-500000)/1000;
+md.geometry.bathymetry=-700-abs(md.mesh.y-500000)/1000;
+md.geometry.thickness(:)=1000;
+md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.surfaceforcings.mass_balance(:)=100;
+md.transient.isdiagnostic=0;
+md.transient.isgroundingline=1;
+md.groundingline.migration='AgressiveMigration';
+
+md.cluster=generic('name',oshostname(),'np',3);
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+	PatchToVec(md.results.TransientSolution(1).Bed),...
+	PatchToVec(md.results.TransientSolution(1).Surface),...
+	PatchToVec(md.results.TransientSolution(1).Thickness),...
+	PatchToVec(md.results.TransientSolution(1).MaskElementonfloatingice),...
+	PatchToVec(md.results.TransientSolution(2).Bed),...
+	PatchToVec(md.results.TransientSolution(2).Surface),...
+	PatchToVec(md.results.TransientSolution(2).Thickness),...
+	PatchToVec(md.results.TransientSolution(2).MaskElementonfloatingice),...
+	PatchToVec(md.results.TransientSolution(3).Bed),...
+	PatchToVec(md.results.TransientSolution(3).Surface),...
+	PatchToVec(md.results.TransientSolution(3).Thickness),...
+	PatchToVec(md.results.TransientSolution(3).MaskElementonfloatingice),...
+	};
Index: /issm/trunk/test/NightlyRun/test449.m
===================================================================
--- /issm/trunk/test/NightlyRun/test449.m	(revision 10383)
+++ /issm/trunk/test/NightlyRun/test449.m	(revision 10383)
@@ -0,0 +1,35 @@
+md=setmesh(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=setflowequation(md,'macayeal','all');
+md.cluster=none;
+md.initialization.vx(:)=0;
+md.initialization.vy(:)=0;
+md.initialization.vel(:)=0;
+md.geometry.bed=-700-abs(md.mesh.y-500000)/1000;
+md.geometry.bathymetry=-700-abs(md.mesh.y-500000)/1000;
+md.geometry.thickness(:)=1300;
+md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.surfaceforcings.mass_balance(:)=-150;
+md.transient.isdiagnostic=0;
+md.transient.isgroundingline=1;
+md.groundingline.migration='SoftMigration';
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+	PatchToVec(md.results.TransientSolution(1).Bed),...
+	PatchToVec(md.results.TransientSolution(1).Surface),...
+	PatchToVec(md.results.TransientSolution(1).Thickness),...
+	PatchToVec(md.results.TransientSolution(1).MaskElementonfloatingice),...
+	PatchToVec(md.results.TransientSolution(2).Bed),...
+	PatchToVec(md.results.TransientSolution(2).Surface),...
+	PatchToVec(md.results.TransientSolution(2).Thickness),...
+	PatchToVec(md.results.TransientSolution(2).MaskElementonfloatingice),...
+	PatchToVec(md.results.TransientSolution(3).Bed),...
+	PatchToVec(md.results.TransientSolution(3).Surface),...
+	PatchToVec(md.results.TransientSolution(3).Thickness),...
+	PatchToVec(md.results.TransientSolution(3).MaskElementonfloatingice),...
+	};
Index: /issm/trunk/test/NightlyRun/test450.m
===================================================================
--- /issm/trunk/test/NightlyRun/test450.m	(revision 10383)
+++ /issm/trunk/test/NightlyRun/test450.m	(revision 10383)
@@ -0,0 +1,37 @@
+md=setmesh(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=setflowequation(md,'macayeal','all');
+md.cluster=none;
+md.initialization.vx(:)=0;
+md.initialization.vy(:)=0;
+md.initialization.vel(:)=0;
+md.geometry.bed=-700-abs(md.mesh.y-500000)/1000;
+md.geometry.bathymetry=-700-abs(md.mesh.y-500000)/1000;
+md.geometry.thickness(:)=1300;
+md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.surfaceforcings.mass_balance(:)=-150;
+md.transient.isdiagnostic=0;
+md.transient.isgroundingline=1;
+md.groundingline.migration='SoftMigration';
+
+md.cluster=generic('name',oshostname(),'np',3);
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+	PatchToVec(md.results.TransientSolution(1).Bed),...
+	PatchToVec(md.results.TransientSolution(1).Surface),...
+	PatchToVec(md.results.TransientSolution(1).Thickness),...
+	PatchToVec(md.results.TransientSolution(1).MaskElementonfloatingice),...
+	PatchToVec(md.results.TransientSolution(2).Bed),...
+	PatchToVec(md.results.TransientSolution(2).Surface),...
+	PatchToVec(md.results.TransientSolution(2).Thickness),...
+	PatchToVec(md.results.TransientSolution(2).MaskElementonfloatingice),...
+	PatchToVec(md.results.TransientSolution(3).Bed),...
+	PatchToVec(md.results.TransientSolution(3).Surface),...
+	PatchToVec(md.results.TransientSolution(3).Thickness),...
+	PatchToVec(md.results.TransientSolution(3).MaskElementonfloatingice),...
+	};
