Index: /issm/trunk/test/NightlyRun/IdToName.m
===================================================================
--- /issm/trunk/test/NightlyRun/IdToName.m	(revision 8673)
+++ /issm/trunk/test/NightlyRun/IdToName.m	(revision 8674)
@@ -98,4 +98,8 @@
 	case 253, name='SquareShelfTranCflP3dSerial';
 	case 254, name='SquareShelfTranCflP3dParallel';
+	case 255, name='SquareShelfTranForceNeg2dSerial';
+	case 256, name='SquareShelfTranForceNeg2dParallel';
+	case 257, name='SquareShelfTranForcePos2dSerial';
+	case 258, name='SquareShelfTranForcePos2dParallel';
 	case 301, name='SquareSheetConstrainedDiagM2dSerial';
 	case 302, name='SquareSheetConstrainedDiagM2dParallel';
Index: /issm/trunk/test/NightlyRun/test255.m
===================================================================
--- /issm/trunk/test/NightlyRun/test255.m	(revision 8674)
+++ /issm/trunk/test/NightlyRun/test255.m	(revision 8674)
@@ -0,0 +1,52 @@
+md=mesh(model,'../Exp/Square.exp',150000);
+md=geography(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=setelementstype(md,'macayeal','all');
+md.cluster=none;
+
+md.dt=1;
+md.output_frequency=1;
+md.ndt=3;
+
+%Set up transient
+smb = ones(md.numberofnodes,1)*3.6;
+smb=[ smb smb*-1 ];
+
+md.forcings.surface_mass_balance= smb;
+md.forcings.surface_mass_balance(end+1,:)=[1 3];
+
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SurfaceMassBalance1', ...
+	          'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SurfaceMassBalance2', ...
+	          'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SurfaceMassBalance3'};
+field_tolerances={1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,...
+	                  1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,...
+	                  1e-09,5e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10};
+field_values={...
+	   PatchToVec(md.results.TransientSolution(1).Vx),...
+	   PatchToVec(md.results.TransientSolution(1).Vy),...
+	   PatchToVec(md.results.TransientSolution(1).Vel),...
+	   PatchToVec(md.results.TransientSolution(1).Pressure),...
+	   PatchToVec(md.results.TransientSolution(1).Bed),...
+	   PatchToVec(md.results.TransientSolution(1).Surface),...
+	   PatchToVec(md.results.TransientSolution(1).Thickness),...
+	   PatchToVec(md.results.TransientSolution(1).SurfaceMassBalance),...
+	   PatchToVec(md.results.TransientSolution(2).Vx),...
+	   PatchToVec(md.results.TransientSolution(2).Vy),...
+	   PatchToVec(md.results.TransientSolution(2).Vel),...
+	   PatchToVec(md.results.TransientSolution(2).Pressure),...
+	   PatchToVec(md.results.TransientSolution(2).Bed),...
+	   PatchToVec(md.results.TransientSolution(2).Surface),...
+	   PatchToVec(md.results.TransientSolution(2).Thickness),...
+	   PatchToVec(md.results.TransientSolution(2).SurfaceMassBalance),...
+	   PatchToVec(md.results.TransientSolution(3).Vx),...
+	   PatchToVec(md.results.TransientSolution(3).Vy),...
+	   PatchToVec(md.results.TransientSolution(3).Vel),...
+	   PatchToVec(md.results.TransientSolution(3).Pressure),...
+	   PatchToVec(md.results.TransientSolution(3).Bed),...
+	   PatchToVec(md.results.TransientSolution(3).Surface),...
+	   PatchToVec(md.results.TransientSolution(3).Thickness),...
+	   PatchToVec(md.results.TransientSolution(3).SurfaceMassBalance),...
+	   };
Index: /issm/trunk/test/NightlyRun/test256.m
===================================================================
--- /issm/trunk/test/NightlyRun/test256.m	(revision 8674)
+++ /issm/trunk/test/NightlyRun/test256.m	(revision 8674)
@@ -0,0 +1,52 @@
+md=mesh(model,'../Exp/Square.exp',150000);
+md=geography(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=setelementstype(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+
+md.dt=1;
+md.output_frequency=1;
+md.ndt=3;
+
+%Set up transient
+smb = ones(md.numberofnodes,1)*3.6;
+smb=[ smb smb*-1 ];
+
+md.forcings.surface_mass_balance= smb;
+md.forcings.surface_mass_balance(end+1,:)=[1 3];
+
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SurfaceMassBalance1', ...
+	          'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SurfaceMassBalance2', ...
+	          'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SurfaceMassBalance3'};
+field_tolerances={1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,...
+	                  1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,...
+	                  1e-09,5e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10};
+field_values={...
+	   PatchToVec(md.results.TransientSolution(1).Vx),...
+	   PatchToVec(md.results.TransientSolution(1).Vy),...
+	   PatchToVec(md.results.TransientSolution(1).Vel),...
+	   PatchToVec(md.results.TransientSolution(1).Pressure),...
+	   PatchToVec(md.results.TransientSolution(1).Bed),...
+	   PatchToVec(md.results.TransientSolution(1).Surface),...
+	   PatchToVec(md.results.TransientSolution(1).Thickness),...
+	   PatchToVec(md.results.TransientSolution(1).SurfaceMassBalance),...
+	   PatchToVec(md.results.TransientSolution(2).Vx),...
+	   PatchToVec(md.results.TransientSolution(2).Vy),...
+	   PatchToVec(md.results.TransientSolution(2).Vel),...
+	   PatchToVec(md.results.TransientSolution(2).Pressure),...
+	   PatchToVec(md.results.TransientSolution(2).Bed),...
+	   PatchToVec(md.results.TransientSolution(2).Surface),...
+	   PatchToVec(md.results.TransientSolution(2).Thickness),...
+	   PatchToVec(md.results.TransientSolution(2).SurfaceMassBalance),...
+	   PatchToVec(md.results.TransientSolution(3).Vx),...
+	   PatchToVec(md.results.TransientSolution(3).Vy),...
+	   PatchToVec(md.results.TransientSolution(3).Vel),...
+	   PatchToVec(md.results.TransientSolution(3).Pressure),...
+	   PatchToVec(md.results.TransientSolution(3).Bed),...
+	   PatchToVec(md.results.TransientSolution(3).Surface),...
+	   PatchToVec(md.results.TransientSolution(3).Thickness),...
+	   PatchToVec(md.results.TransientSolution(3).SurfaceMassBalance),...
+	   };
Index: /issm/trunk/test/NightlyRun/test257.m
===================================================================
--- /issm/trunk/test/NightlyRun/test257.m	(revision 8674)
+++ /issm/trunk/test/NightlyRun/test257.m	(revision 8674)
@@ -0,0 +1,52 @@
+md=mesh(model,'../Exp/Square.exp',150000);
+md=geography(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=setelementstype(md,'macayeal','all');
+md.cluster=none;
+
+md.dt=1;
+md.output_frequency=1;
+md.ndt=3;
+
+%Set up transient
+smb = ones(md.numberofnodes,1)*3.6;
+smb=[ smb smb*2 ];
+
+md.forcings.surface_mass_balance= smb;
+md.forcings.surface_mass_balance(end+1,:)=[1 3];
+
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SurfaceMassBalance1', ...
+	          'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SurfaceMassBalance2', ...
+	          'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SurfaceMassBalance3'};
+field_tolerances={1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,...
+	                  1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,...
+	                  1e-09,5e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10};
+field_values={...
+	   PatchToVec(md.results.TransientSolution(1).Vx),...
+	   PatchToVec(md.results.TransientSolution(1).Vy),...
+	   PatchToVec(md.results.TransientSolution(1).Vel),...
+	   PatchToVec(md.results.TransientSolution(1).Pressure),...
+	   PatchToVec(md.results.TransientSolution(1).Bed),...
+	   PatchToVec(md.results.TransientSolution(1).Surface),...
+	   PatchToVec(md.results.TransientSolution(1).Thickness),...
+	   PatchToVec(md.results.TransientSolution(1).SurfaceMassBalance),...
+	   PatchToVec(md.results.TransientSolution(2).Vx),...
+	   PatchToVec(md.results.TransientSolution(2).Vy),...
+	   PatchToVec(md.results.TransientSolution(2).Vel),...
+	   PatchToVec(md.results.TransientSolution(2).Pressure),...
+	   PatchToVec(md.results.TransientSolution(2).Bed),...
+	   PatchToVec(md.results.TransientSolution(2).Surface),...
+	   PatchToVec(md.results.TransientSolution(2).Thickness),...
+	   PatchToVec(md.results.TransientSolution(2).SurfaceMassBalance),...
+	   PatchToVec(md.results.TransientSolution(3).Vx),...
+	   PatchToVec(md.results.TransientSolution(3).Vy),...
+	   PatchToVec(md.results.TransientSolution(3).Vel),...
+	   PatchToVec(md.results.TransientSolution(3).Pressure),...
+	   PatchToVec(md.results.TransientSolution(3).Bed),...
+	   PatchToVec(md.results.TransientSolution(3).Surface),...
+	   PatchToVec(md.results.TransientSolution(3).Thickness),...
+	   PatchToVec(md.results.TransientSolution(3).SurfaceMassBalance),...
+	   };
Index: /issm/trunk/test/NightlyRun/test258.m
===================================================================
--- /issm/trunk/test/NightlyRun/test258.m	(revision 8674)
+++ /issm/trunk/test/NightlyRun/test258.m	(revision 8674)
@@ -0,0 +1,52 @@
+md=mesh(model,'../Exp/Square.exp',150000);
+md=geography(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=setelementstype(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+
+md.dt=1;
+md.output_frequency=1;
+md.ndt=3;
+
+%Set up transient
+smb = ones(md.numberofnodes,1)*3.6;
+smb=[ smb smb*2 ];
+
+md.forcings.surface_mass_balance= smb;
+md.forcings.surface_mass_balance(end+1,:)=[1 3];
+
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SurfaceMassBalance1', ...
+	          'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SurfaceMassBalance2', ...
+	          'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SurfaceMassBalance3'};
+field_tolerances={1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,...
+	                  1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,...
+	                  1e-09,5e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10};
+field_values={...
+	   PatchToVec(md.results.TransientSolution(1).Vx),...
+	   PatchToVec(md.results.TransientSolution(1).Vy),...
+	   PatchToVec(md.results.TransientSolution(1).Vel),...
+	   PatchToVec(md.results.TransientSolution(1).Pressure),...
+	   PatchToVec(md.results.TransientSolution(1).Bed),...
+	   PatchToVec(md.results.TransientSolution(1).Surface),...
+	   PatchToVec(md.results.TransientSolution(1).Thickness),...
+	   PatchToVec(md.results.TransientSolution(1).SurfaceMassBalance),...
+	   PatchToVec(md.results.TransientSolution(2).Vx),...
+	   PatchToVec(md.results.TransientSolution(2).Vy),...
+	   PatchToVec(md.results.TransientSolution(2).Vel),...
+	   PatchToVec(md.results.TransientSolution(2).Pressure),...
+	   PatchToVec(md.results.TransientSolution(2).Bed),...
+	   PatchToVec(md.results.TransientSolution(2).Surface),...
+	   PatchToVec(md.results.TransientSolution(2).Thickness),...
+	   PatchToVec(md.results.TransientSolution(2).SurfaceMassBalance),...
+	   PatchToVec(md.results.TransientSolution(3).Vx),...
+	   PatchToVec(md.results.TransientSolution(3).Vy),...
+	   PatchToVec(md.results.TransientSolution(3).Vel),...
+	   PatchToVec(md.results.TransientSolution(3).Pressure),...
+	   PatchToVec(md.results.TransientSolution(3).Bed),...
+	   PatchToVec(md.results.TransientSolution(3).Surface),...
+	   PatchToVec(md.results.TransientSolution(3).Thickness),...
+	   PatchToVec(md.results.TransientSolution(3).SurfaceMassBalance),...
+	   };
