Index: /issm/trunk/test/NightlyRun/IdToName.m
===================================================================
--- /issm/trunk/test/NightlyRun/IdToName.m	(revision 9022)
+++ /issm/trunk/test/NightlyRun/IdToName.m	(revision 9023)
@@ -106,4 +106,8 @@
 	case 261, name='SquareShelfTranForcePos3dSerial';
 	case 262, name='SquareShelfTranForcePos3dParallel';
+	case 263, name='SquareShelfTherTranForcTempSerial';
+	case 264, name='SquareShelfTherTranForcTempParallel';
+	case 265, name='SquareShelfTranP3dForcTempSerial';
+	case 266, name='SquareShelfTranP3dForcTempParallel';
 	case 301, name='SquareSheetConstrainedDiagM2dSerial';
 	case 302, name='SquareSheetConstrainedDiagM2dParallel';
Index: /issm/trunk/test/NightlyRun/test263.m
===================================================================
--- /issm/trunk/test/NightlyRun/test263.m	(revision 9023)
+++ /issm/trunk/test/NightlyRun/test263.m	(revision 9023)
@@ -0,0 +1,24 @@
+md=mesh(model,'../Exp/Square.exp',180000);
+md=geography(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=extrude(md,3,1);
+md=setelementstype(md,'macayeal','all');
+md.cluster=none;
+md.spctemperature=[md.spctemperature, md.spctemperature+5, md.spctemperature+10, md.spctemperature+15; 1.5 2.5 3.5 4];
+md.dt=1;
+md.ndt=4;
+md=solve(md,ThermalSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Temperature1','BasalMeltingRate1','Temperature2','BasalMeltingRate2','Temperature3','BasalMeltingRate3','Temperature4','BasalMeltingRate4'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+	PatchToVec(md.results.ThermalSolution(1).Temperature),...
+	PatchToVec(md.results.ThermalSolution(1).BasalMeltingRate),...
+	PatchToVec(md.results.ThermalSolution(2).Temperature),...
+	PatchToVec(md.results.ThermalSolution(2).BasalMeltingRate),...
+	PatchToVec(md.results.ThermalSolution(3).Temperature),...
+	PatchToVec(md.results.ThermalSolution(3).BasalMeltingRate),...
+	PatchToVec(md.results.ThermalSolution(4).Temperature),...
+	PatchToVec(md.results.ThermalSolution(4).BasalMeltingRate),...
+	};
Index: /issm/trunk/test/NightlyRun/test264.m
===================================================================
--- /issm/trunk/test/NightlyRun/test264.m	(revision 9023)
+++ /issm/trunk/test/NightlyRun/test264.m	(revision 9023)
@@ -0,0 +1,24 @@
+md=mesh(model,'../Exp/Square.exp',180000);
+md=geography(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=extrude(md,3,1);
+md=setelementstype(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.spctemperature=[md.spctemperature, md.spctemperature+5, md.spctemperature+10, md.spctemperature+15; 1.5 2.5 3.5 4];
+md.dt=1;
+md.ndt=4;
+md=solve(md,ThermalSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Temperature1','BasalMeltingRate1','Temperature2','BasalMeltingRate2','Temperature3','BasalMeltingRate3','Temperature4','BasalMeltingRate4'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+	PatchToVec(md.results.ThermalSolution(1).Temperature),...
+	PatchToVec(md.results.ThermalSolution(1).BasalMeltingRate),...
+	PatchToVec(md.results.ThermalSolution(2).Temperature),...
+	PatchToVec(md.results.ThermalSolution(2).BasalMeltingRate),...
+	PatchToVec(md.results.ThermalSolution(3).Temperature),...
+	PatchToVec(md.results.ThermalSolution(3).BasalMeltingRate),...
+	PatchToVec(md.results.ThermalSolution(4).Temperature),...
+	PatchToVec(md.results.ThermalSolution(4).BasalMeltingRate),...
+	};
Index: /issm/trunk/test/NightlyRun/test265.m
===================================================================
--- /issm/trunk/test/NightlyRun/test265.m	(revision 9023)
+++ /issm/trunk/test/NightlyRun/test265.m	(revision 9023)
@@ -0,0 +1,63 @@
+md=mesh(model,'../Exp/Square.exp',200000);
+md=geography(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=extrude(md,3,1);
+md=setelementstype(md,'pattyn','all');
+md.cluster=none;
+md.spctemperature=[md.spctemperature, md.spctemperature+5; 1 2];
+md.dt=0.5;
+md.ndt=2;
+md.verbose=verbose('solution',true,'convergence',true,'module',true);
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalMeltingRate1', ...
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalMeltingRate2', ...
+					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalMeltingRate3',...
+					   'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','Temperature4','BasalMeltingRate4'};
+field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
+						1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
+						1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
+						1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-06};
+field_values={...
+	PatchToVec(md.results.TransientSolution(1).Vx),...
+	PatchToVec(md.results.TransientSolution(1).Vy),...
+	PatchToVec(md.results.TransientSolution(1).Vz),...
+	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).Temperature),...
+	PatchToVec(md.results.TransientSolution(1).BasalMeltingRate),...
+	PatchToVec(md.results.TransientSolution(2).Vx),...
+	PatchToVec(md.results.TransientSolution(2).Vy),...
+	PatchToVec(md.results.TransientSolution(2).Vz),...
+	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).Temperature),...
+	PatchToVec(md.results.TransientSolution(2).BasalMeltingRate),...
+	PatchToVec(md.results.TransientSolution(3).Vx),...
+	PatchToVec(md.results.TransientSolution(3).Vy),...
+	PatchToVec(md.results.TransientSolution(3).Vz),...
+	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).Temperature),...
+	PatchToVec(md.results.TransientSolution(3).BasalMeltingRate),...
+	PatchToVec(md.results.TransientSolution(4).Vx),...
+	PatchToVec(md.results.TransientSolution(4).Vy),...
+	PatchToVec(md.results.TransientSolution(4).Vz),...
+	PatchToVec(md.results.TransientSolution(4).Vel),...
+	PatchToVec(md.results.TransientSolution(4).Pressure),...
+	PatchToVec(md.results.TransientSolution(4).Bed),...
+	PatchToVec(md.results.TransientSolution(4).Surface),...
+	PatchToVec(md.results.TransientSolution(4).Thickness),...
+	PatchToVec(md.results.TransientSolution(4).Temperature),...
+	PatchToVec(md.results.TransientSolution(4).BasalMeltingRate),...
+	};
Index: /issm/trunk/test/NightlyRun/test266.m
===================================================================
--- /issm/trunk/test/NightlyRun/test266.m	(revision 9023)
+++ /issm/trunk/test/NightlyRun/test266.m	(revision 9023)
@@ -0,0 +1,62 @@
+md=mesh(model,'../Exp/Square.exp',200000);
+md=geography(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=extrude(md,3,1);
+md=setelementstype(md,'pattyn','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.spctemperature=[md.spctemperature, md.spctemperature+5; 1 2];
+md.dt=0.5;
+md.ndt=2;
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalMeltingRate1', ...
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalMeltingRate2', ...
+					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalMeltingRate3', ...
+					   'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','Temperature4','BasalMeltingRate4'};
+field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
+						1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
+						1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
+						1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-06};
+field_values={...
+	PatchToVec(md.results.TransientSolution(1).Vx),...
+	PatchToVec(md.results.TransientSolution(1).Vy),...
+	PatchToVec(md.results.TransientSolution(1).Vz),...
+	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).Temperature),...
+	PatchToVec(md.results.TransientSolution(1).BasalMeltingRate),...
+	PatchToVec(md.results.TransientSolution(2).Vx),...
+	PatchToVec(md.results.TransientSolution(2).Vy),...
+	PatchToVec(md.results.TransientSolution(2).Vz),...
+	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).Temperature),...
+	PatchToVec(md.results.TransientSolution(2).BasalMeltingRate),...
+	PatchToVec(md.results.TransientSolution(3).Vx),...
+	PatchToVec(md.results.TransientSolution(3).Vy),...
+	PatchToVec(md.results.TransientSolution(3).Vz),...
+	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).Temperature),...
+	PatchToVec(md.results.TransientSolution(3).BasalMeltingRate),...
+	PatchToVec(md.results.TransientSolution(4).Vx),...
+	PatchToVec(md.results.TransientSolution(4).Vy),...
+	PatchToVec(md.results.TransientSolution(4).Vz),...
+	PatchToVec(md.results.TransientSolution(4).Vel),...
+	PatchToVec(md.results.TransientSolution(4).Pressure),...
+	PatchToVec(md.results.TransientSolution(4).Bed),...
+	PatchToVec(md.results.TransientSolution(4).Surface),...
+	PatchToVec(md.results.TransientSolution(4).Thickness),...
+	PatchToVec(md.results.TransientSolution(4).Temperature),...
+	PatchToVec(md.results.TransientSolution(4).BasalMeltingRate),...
+	};
