Index: /issm/trunk-jpl/test/NightlyRun/IdToName.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/IdToName.m	(revision 13257)
+++ /issm/trunk-jpl/test/NightlyRun/IdToName.m	(revision 13258)
@@ -187,4 +187,14 @@
 	case 1602, name='SquareSheetShelfP3dRotation';
 	case 3001, name='SquareShelfConstrainedDiagM2dAdolc';
+	case 3002, name='SquareShelfConstrainedDiagM3dAdolc';
+	case 3003, name='SquareShelfConstrainedDiagP3dAdolc';
+	case 3004, name='SquareShelfConstrainedDiagS3dAdolc';
+	case 3005, name='SquareShelfConstrainedProg2dAdolc';
+	case 3006, name='SquareShelfConstrainedProg2dDGAdolc';
+	case 3007, name='SquareShelfConstrainedProg3dAdolc';
+	case 3008, name='SquareShelfConstrainedTherSteaAdolc';
+	case 3009, name='SquareShelfConstrainedTherTranAdolc';
+	case 3010, name='SquareShelfConstrainedTranM2dAdolc';
+
 	otherwise, name='N/A';
 end
Index: /issm/trunk-jpl/test/NightlyRun/IdToName.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/IdToName.py	(revision 13257)
+++ /issm/trunk-jpl/test/NightlyRun/IdToName.py	(revision 13258)
@@ -188,4 +188,13 @@
 		1602 : 'SquareSheetShelfP3dRotation', 
 		3001 : 'SquareShelfConstrainedDiagM2dAdolc',
+		3002 : 'SquareShelfConstrainedDiagM3dAdolc',
+		3003 : 'SquareShelfConstrainedDiagP3dAdolc',
+		3004 : 'SquareShelfConstrainedDiagS3dAdolc',
+		3005 : 'SquareShelfConstrainedProg2dAdolc',
+		3006 : 'SquareShelfConstrainedProg2dDGAdolc',
+		3007 : 'SquareShelfConstrainedProg3dAdolc',
+		3008 : 'SquareShelfConstrainedTherSteaAdolc',
+		3009 : 'SquareShelfConstrainedTherTranAdolc',
+		3010 : 'SquareShelfConstrainedTranM2dAdolc',
 	}
 
Index: /issm/trunk-jpl/test/NightlyRun/runme.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/runme.m	(revision 13257)
+++ /issm/trunk-jpl/test/NightlyRun/runme.m	(revision 13258)
@@ -17,4 +17,5 @@
 %                      'thermal': validation of thermal tests
 %                      'mesh'   : validation of mesh tests
+%                      'adolc'   : validation of adolc tests
 %                      ...
 %      'procedure'     'check' : run the test (default)
@@ -47,5 +48,5 @@
 %GET benchmark {{{1
 benchmark=getfieldvalue(options,'benchmark','nightly');
-if ~ismember(benchmark,{'all','nightly','ismip','eismint','thermal','mesh','validation','tranforcing'})
+if ~ismember(benchmark,{'all','nightly','ismip','eismint','thermal','mesh','validation','tranforcing','adolc'})
 	disp('runme warning: benchmark not supported, defaulting to test ''nightly''')
 	benchmark='nightly';
@@ -104,4 +105,6 @@
 elseif strcmpi(benchmark,'mesh'),
 	test_ids=intersect(test_ids,[1401:1499]);
+elseif strcmpi(benchmark,'adolc'),
+	test_ids=intersect(test_ids,[3001:3010]);
 elseif strcmpi(benchmark,'validation'),
 	test_ids=intersect(test_ids,[1001:1999]);
Index: /issm/trunk-jpl/test/NightlyRun/test3001.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3001.m	(revision 13257)
+++ /issm/trunk-jpl/test/NightlyRun/test3001.m	(revision 13258)
@@ -5,5 +5,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.diagnostic.requested_outputs=StressTensorEnum;
-md.autodiff.isautodiff=false;
+md.autodiff.isautodiff=true;
 md=solve(md,DiagnosticSolutionEnum);
 
Index: /issm/trunk-jpl/test/NightlyRun/test3002.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3002.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3002.m	(revision 13258)
@@ -0,0 +1,19 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=extrude(md,3,2);
+md=setflowequation(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.autodiff.isautodiff=true;
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx','Vy','Vz','Vel','Pressure'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+	(md.results.DiagnosticSolution.Vx),...
+	(md.results.DiagnosticSolution.Vy),...
+	(md.results.DiagnosticSolution.Vz),...
+	(md.results.DiagnosticSolution.Vel),...
+	(md.results.DiagnosticSolution.Pressure),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test3003.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3003.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3003.m	(revision 13258)
@@ -0,0 +1,28 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=extrude(md,3,2);
+md=setflowequation(md,'pattyn','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.diagnostic.requested_outputs=StressTensorEnum;
+md.autodiff.isautodiff=true;
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx','Vy','Vz','Vel','Pressure',...
+	'StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz'};
+field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09,...
+	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09};
+field_values={...
+	(md.results.DiagnosticSolution.Vx),...
+	(md.results.DiagnosticSolution.Vy),...
+	(md.results.DiagnosticSolution.Vz),...
+	(md.results.DiagnosticSolution.Vel),...
+	(md.results.DiagnosticSolution.Pressure),...
+	(md.results.DiagnosticSolution.StressTensorxx),...
+	(md.results.DiagnosticSolution.StressTensoryy),...
+	(md.results.DiagnosticSolution.StressTensorzz),...
+	(md.results.DiagnosticSolution.StressTensorxy),...
+	(md.results.DiagnosticSolution.StressTensorxz),...
+	(md.results.DiagnosticSolution.StressTensoryz),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test3004.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3004.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3004.m	(revision 13258)
@@ -0,0 +1,19 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=extrude(md,3,2);
+md=setflowequation(md,'stokes','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.autodiff.isautodiff=true;
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx','Vy','Vz','Vel','Pressure'};
+field_tolerances={1e-08,1e-08,1e-07,1e-08,1e-08};
+field_values={...
+	(md.results.DiagnosticSolution.Vx),...
+	(md.results.DiagnosticSolution.Vy),...
+	(md.results.DiagnosticSolution.Vz),...
+	(md.results.DiagnosticSolution.Vel),...
+	(md.results.DiagnosticSolution.Pressure),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test3005.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3005.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3005.m	(revision 13258)
@@ -0,0 +1,14 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=setflowequation(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.autodiff.isautodiff=true;
+md=solve(md,PrognosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Thickness'};
+field_tolerances={1e-13};
+field_values={...
+	(md.results.PrognosticSolution.Thickness),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test3006.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3006.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3006.m	(revision 13258)
@@ -0,0 +1,17 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=meshconvert(md);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=setflowequation(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.prognostic.stabilization=3;
+md.prognostic.spcthickness=md.geometry.thickness;
+md.autodiff.isautodiff=true;
+md=solve(md,PrognosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Thickness'};
+field_tolerances={1e-13};
+field_values={...
+	(md.results.PrognosticSolution.Thickness),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test3007.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3007.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3007.m	(revision 13258)
@@ -0,0 +1,15 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=setflowequation(md,'macayeal','all');
+md=extrude(md,5,3);
+md.cluster=generic('name',oshostname(),'np',3);
+md.autodiff.isautodiff=true;
+md=solve(md,PrognosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Thickness'};
+field_tolerances={1e-13};
+field_values={...
+	(md.results.PrognosticSolution.Thickness),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test3008.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3008.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3008.m	(revision 13258)
@@ -0,0 +1,17 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=extrude(md,3,1);
+md=setflowequation(md,'macayeal','all');
+md.timestepping.time_step=0;
+md.cluster=generic('name',oshostname(),'np',3);
+md.autodiff.isautodiff=true;
+md=solve(md,ThermalSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_tolerances={1e-13,1e-13};
+field_values={...
+	(md.results.ThermalSolution.Temperature),...
+	(md.results.ThermalSolution.BasalforcingsMeltingRate),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test3009.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3009.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3009.m	(revision 13258)
@@ -0,0 +1,20 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=extrude(md,3,1);
+md=setflowequation(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md.autodiff.isautodiff=true;
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_tolerances={1e-13,1e-13};
+field_values={...
+	(md.results.TransientSolution(1).Temperature),...
+	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test3010.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3010.m	(revision 13258)
+++ /issm/trunk-jpl/test/NightlyRun/test3010.m	(revision 13258)
@@ -0,0 +1,41 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelfConstrained.par');
+md=setflowequation(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.transient.requested_outputs=IceVolumeEnum();
+
+md.autodiff.isautodiff=true;
+md=solve(md,TransientSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Volume1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Volume2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Volume3'};
+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,1e-13,1e-13,1e-13};
+field_values={...
+	(md.results.TransientSolution(1).Vx),...
+	(md.results.TransientSolution(1).Vy),...
+	(md.results.TransientSolution(1).Vel),...
+	(md.results.TransientSolution(1).Pressure),...
+	(md.results.TransientSolution(1).Bed),...
+	(md.results.TransientSolution(1).Surface),...
+	(md.results.TransientSolution(1).Thickness),...
+	(md.results.TransientSolution(1).IceVolume),...
+	(md.results.TransientSolution(2).Vx),...
+	(md.results.TransientSolution(2).Vy),...
+	(md.results.TransientSolution(2).Vel),...
+	(md.results.TransientSolution(2).Pressure),...
+	(md.results.TransientSolution(2).Bed),...
+	(md.results.TransientSolution(2).Surface),...
+	(md.results.TransientSolution(2).Thickness),...
+	(md.results.TransientSolution(2).IceVolume),...
+	(md.results.TransientSolution(3).Vx),...
+	(md.results.TransientSolution(3).Vy),...
+	(md.results.TransientSolution(3).Vel),...
+	(md.results.TransientSolution(3).Pressure),...
+	(md.results.TransientSolution(3).Bed),...
+	(md.results.TransientSolution(3).Surface),...
+	(md.results.TransientSolution(3).Thickness),...
+	(md.results.TransientSolution(3).IceVolume),...
+	};
