Index: /issm/trunk-jpl/test/NightlyRun/IdToName.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/IdToName.m	(revision 18676)
+++ /issm/trunk-jpl/test/NightlyRun/IdToName.m	(revision 18677)
@@ -117,4 +117,6 @@
 	case 338, name='SquareSheetConstrainedSmbMeltComponents2d';
 	case 339, name='SquareSheetConstrainedSmbMeltComponents3d';
+	case 340, name='SquareSheetConstrainedCMtaoDragHO';
+	case 341, name='SquareSheetConstrainedCMm1qn3DragHO';
 	case 401, name='SquareSheetShelfStressSSA2d';
 	case 402, name='SquareSheetShelfStressSSA3d';
Index: /issm/trunk-jpl/test/NightlyRun/test340.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test340.m	(revision 18677)
+++ /issm/trunk-jpl/test/NightlyRun/test340.m	(revision 18677)
@@ -0,0 +1,34 @@
+md=triangle(model(),'../Exp/Square.exp',200000.);
+md=setmask(md,'','');
+md=parameterize(md,'../Par/SquareSheetConstrained.par');
+md=extrude(md,3,1.);
+md=setflowequation(md,'HO','all');
+
+%control parameters
+md.inversion=taoinversion(md.inversion);
+md.inversion.iscontrol=1;
+md.inversion.control_parameters={'FrictionCoefficient'};
+md.inversion.min_parameters=1.*ones(md.mesh.numberofvertices,1);
+md.inversion.max_parameters=200.*ones(md.mesh.numberofvertices,1);
+md.inversion.maxsteps=2;
+md.inversion.maxiter=6;
+md.inversion.cost_functions=[102  501];
+md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2.*10^-7;
+md.inversion.algorithm='tao_blmvm';
+md.inversion.vx_obs=md.initialization.vx; md.inversion.vy_obs=md.initialization.vy;
+
+md.cluster=generic('name',oshostname(),'np',3);
+md=solve(md,StressbalanceSolutionEnum());
+
+%Fields and tolerances to track changes
+field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy'};
+field_tolerances={1e-08,1e-07,1e-10,1e-10,1e-09,1e-09,1e-09};
+field_values={...
+	(md.results.StressbalanceSolution.Gradient1),...
+	(md.results.StressbalanceSolution.J),...
+	(md.results.StressbalanceSolution.FrictionCoefficient),...
+	(md.results.StressbalanceSolution.Pressure),...
+	(md.results.StressbalanceSolution.Vel),...
+	(md.results.StressbalanceSolution.Vx),...
+	(md.results.StressbalanceSolution.Vy)
+};
Index: /issm/trunk-jpl/test/NightlyRun/test341.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test341.m	(revision 18677)
+++ /issm/trunk-jpl/test/NightlyRun/test341.m	(revision 18677)
@@ -0,0 +1,32 @@
+md=triangle(model(),'../Exp/Square.exp',200000.);
+md=setmask(md,'','');
+md=parameterize(md,'../Par/SquareSheetConstrained.par');
+md=extrude(md,3,1.);
+md=setflowequation(md,'HO','all');
+
+%control parameters
+md.inversion=m1qn3inversion(md.inversion);
+md.inversion.iscontrol=1;
+md.inversion.control_parameters={'FrictionCoefficient'};
+md.inversion.min_parameters=1.*ones(md.mesh.numberofvertices,1);
+md.inversion.max_parameters=200.*ones(md.mesh.numberofvertices,1);
+md.inversion.maxsteps=2;
+md.inversion.maxiter=6;
+md.inversion.cost_functions=[102  501];
+md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2.*10^-7;
+md.inversion.vx_obs=md.initialization.vx; md.inversion.vy_obs=md.initialization.vy;
+
+md.cluster=generic('name',oshostname(),'np',3);
+md=solve(md,StressbalanceSolutionEnum());
+
+%Fields and tolerances to track changes
+field_names     ={'Gradient','FrictionCoefficient','Pressure','Vel','Vx','Vy'};
+field_tolerances={1e-08,1e-10,1e-10,1e-09,1e-09,1e-09};
+field_values={...
+	(md.results.StressbalanceSolution.Gradient1),...
+	(md.results.StressbalanceSolution.FrictionCoefficient),...
+	(md.results.StressbalanceSolution.Pressure),...
+	(md.results.StressbalanceSolution.Vel),...
+	(md.results.StressbalanceSolution.Vx),...
+	(md.results.StressbalanceSolution.Vy)
+};
