Index: /issm/trunk/test/NightlyRun/IdToName.m
===================================================================
--- /issm/trunk/test/NightlyRun/IdToName.m	(revision 5667)
+++ /issm/trunk/test/NightlyRun/IdToName.m	(revision 5668)
@@ -209,4 +209,8 @@
 elseif (id==619), name='79NorthBalThic3dSerial';
 elseif (id==620), name='79NorthBalThic3dParallel';
+elseif (id==621), name='79NorthCMBalThic2dCGSerial';
+elseif (id==622), name='79NorthCMBalThic2dCGParallel';
+elseif (id==623), name='79NorthCMBalThic2dDGSerial';
+elseif (id==624), name='79NorthCMBalThic2dDGParallel';
 elseif (id==1101), name='ISMIPAPattyn';
 elseif (id==1102), name='ISMIPAStokes';
Index: /issm/trunk/test/NightlyRun/test621.m
===================================================================
--- /issm/trunk/test/NightlyRun/test621.m	(revision 5668)
+++ /issm/trunk/test/NightlyRun/test621.m	(revision 5668)
@@ -0,0 +1,31 @@
+md=mesh(model,'../Exp/79North.exp',10000);
+md=geography(md,'../Exp/79NorthShelf.exp','');
+md=parameterize(md,'../Par/79North.par');
+md=setelementstype(md,'macayeal','all');
+
+%control parameters
+md.nsteps=2;
+md.prognostic_DG=0;
+md.control_analysis=1;
+md.control_type=DhDtEnum;
+md.thickness_obs=md.thickness;
+md.cm_min=-50/md.yts;
+md.cm_max=50/md.yts;
+md.cm_responses=ThicknessAbsMisfitEnum*ones(md.nsteps,1);
+md.weights=ones(md.numberofgrids,1);
+md.optscal=10/md.yts*ones(md.nsteps,1);
+md.maxiter=4*ones(md.nsteps,1);
+md.cm_jump=0.99*ones(md.nsteps,1);
+
+md.cluster='none';
+md=solve(md,'analysis_type',BalancedthicknessSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Gradient' 'Misfits' 'DhDt' 'Thickness'};
+field_tolerances={1e-12,1e-12,1e-12,1e-12,1e-12,1e-12};
+field_values={...
+	PatchToVec(md.results.BalancedthicknessSolution.Gradient),...
+	md.results.BalancedthicknessSolution.J,...
+	PatchToVec(md.results.BalancedthicknessSolution.DhDt),...
+	PatchToVec(md.results.BalancedthicknessSolution.Thickness)
+};
Index: /issm/trunk/test/NightlyRun/test622.m
===================================================================
--- /issm/trunk/test/NightlyRun/test622.m	(revision 5668)
+++ /issm/trunk/test/NightlyRun/test622.m	(revision 5668)
@@ -0,0 +1,31 @@
+md=mesh(model,'../Exp/79North.exp',10000);
+md=geography(md,'../Exp/79NorthShelf.exp','');
+md=parameterize(md,'../Par/79North.par');
+md=setelementstype(md,'macayeal','all');
+
+%control parameters
+md.nsteps=2;
+md.prognostic_DG=0;
+md.control_analysis=1;
+md.control_type=DhDtEnum;
+md.thickness_obs=md.thickness;
+md.cm_min=-50/md.yts;
+md.cm_max=50/md.yts;
+md.cm_responses=ThicknessAbsMisfitEnum*ones(md.nsteps,1);
+md.weights=ones(md.numberofgrids,1);
+md.optscal=10/md.yts*ones(md.nsteps,1);
+md.maxiter=4*ones(md.nsteps,1);
+md.cm_jump=0.99*ones(md.nsteps,1);
+
+md.cluster=oshostname();
+md=solve(md,'analysis_type',BalancedthicknessSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Gradient' 'Misfits' 'DhDt' 'Thickness'};
+field_tolerances={1e-12,1e-12,1e-12,1e-12,1e-12,1e-12};
+field_values={...
+	PatchToVec(md.results.BalancedthicknessSolution.Gradient),...
+	md.results.BalancedthicknessSolution.J,...
+	PatchToVec(md.results.BalancedthicknessSolution.DhDt),...
+	PatchToVec(md.results.BalancedthicknessSolution.Thickness)
+};
Index: /issm/trunk/test/NightlyRun/test623.m
===================================================================
--- /issm/trunk/test/NightlyRun/test623.m	(revision 5668)
+++ /issm/trunk/test/NightlyRun/test623.m	(revision 5668)
@@ -0,0 +1,32 @@
+md=mesh(model,'../Exp/79North.exp',10000);
+md=meshconvert(md);
+md=geography(md,'../Exp/79NorthShelf.exp','');
+md=parameterize(md,'../Par/79North.par');
+md=setelementstype(md,'macayeal','all');
+
+%control parameters
+md.nsteps=2;
+md.prognostic_DG=1;
+md.control_analysis=1;
+md.control_type=DhDtEnum;
+md.thickness_obs=md.thickness;
+md.cm_min=-50/md.yts;
+md.cm_max=50/md.yts;
+md.cm_responses=ThicknessAbsMisfitEnum*ones(md.nsteps,1);
+md.weights=ones(md.numberofgrids,1);
+md.optscal=10/md.yts*ones(md.nsteps,1);
+md.maxiter=4*ones(md.nsteps,1);
+md.cm_jump=0.99*ones(md.nsteps,1);
+
+md.cluster='none';
+md=solve(md,'analysis_type',BalancedthicknessSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Gradient' 'Misfits' 'DhDt' 'Thickness'};
+field_tolerances={1e-12,1e-12,1e-12,1e-12,1e-12,1e-12};
+field_values={...
+	PatchToVec(md.results.BalancedthicknessSolution.Gradient),...
+	md.results.BalancedthicknessSolution.J,...
+	PatchToVec(md.results.BalancedthicknessSolution.DhDt),...
+	PatchToVec(md.results.BalancedthicknessSolution.Thickness)
+};
Index: /issm/trunk/test/NightlyRun/test624.m
===================================================================
--- /issm/trunk/test/NightlyRun/test624.m	(revision 5668)
+++ /issm/trunk/test/NightlyRun/test624.m	(revision 5668)
@@ -0,0 +1,32 @@
+md=mesh(model,'../Exp/79North.exp',10000);
+md=meshconvert(md);
+md=geography(md,'../Exp/79NorthShelf.exp','');
+md=parameterize(md,'../Par/79North.par');
+md=setelementstype(md,'macayeal','all');
+
+%control parameters
+md.nsteps=2;
+md.prognostic_DG=1;
+md.control_analysis=1;
+md.control_type=DhDtEnum;
+md.thickness_obs=md.thickness;
+md.cm_min=-50/md.yts;
+md.cm_max=50/md.yts;
+md.cm_responses=ThicknessAbsMisfitEnum*ones(md.nsteps,1);
+md.weights=ones(md.numberofgrids,1);
+md.optscal=10/md.yts*ones(md.nsteps,1);
+md.maxiter=4*ones(md.nsteps,1);
+md.cm_jump=0.99*ones(md.nsteps,1);
+
+md.cluster=oshostname();
+md=solve(md,'analysis_type',BalancedthicknessSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names     ={'Gradient' 'Misfits' 'DhDt' 'Thickness'};
+field_tolerances={1e-12,1e-12,1e-12,1e-12,1e-12,1e-12};
+field_values={...
+	PatchToVec(md.results.BalancedthicknessSolution.Gradient),...
+	md.results.BalancedthicknessSolution.J,...
+	PatchToVec(md.results.BalancedthicknessSolution.DhDt),...
+	PatchToVec(md.results.BalancedthicknessSolution.Thickness)
+};
