Index: /issm/trunk/src/c/parallel/objectivefunctionC.cpp
===================================================================
--- /issm/trunk/src/c/parallel/objectivefunctionC.cpp	(revision 1971)
+++ /issm/trunk/src/c/parallel/objectivefunctionC.cpp	(revision 1972)
@@ -72,5 +72,4 @@
 	femmodel->parameters->FindParam((void*)&numberofnodes,"numberofnodes");
 	femmodel->parameters->FindParam((void*)&numberofdofspernode,"numberofdofspernode");
-	femmodel->parameters->FindParam((void*)&dt,"dt");
 	femmodel->parameters->FindParam((void*)&isstokes,"isstokes");
 
@@ -88,5 +87,5 @@
 	inputs->Add(control_type,param_g_copy,1,numberofnodes);
 
-	if(dt==0){
+	if (analysis_type==DiagnosticAnalysisEnum()){
 		//Run diagnostic with updated parameters.
 		diagnostic_core_nonlinear(&u_g,NULL,NULL,NULL,femmodel,inputs,DiagnosticAnalysisEnum(),sub_analysis_type);
Index: sm/trunk/src/m/solutions/cielo/control.m
===================================================================
--- /issm/trunk/src/m/solutions/cielo/control.m	(revision 1971)
+++ 	(revision )
@@ -1,61 +1,0 @@
-function md=control(md)
-%CONTROL - launch control solution sequence
-%
-%   Usage:
-%      md=control(md)
-%
-
-	%timing
-	t1=clock;
-	
-	%Build all models requested for control simulation
-	models.analysis_type=ControlAnalysisEnum(); %needed for processresults
-
-	displaystring(md.debug,'%s',['reading control horiz model data']);
-	md.analysis_type=ControlAnalysisEnum(); md.sub_analysis_type=HorizAnalysisEnum(); models.dh=CreateFemModel(md);
-
-	displaystring(md.debug,'\n%s',['reading control vert model data']);
-	md.analysis_type=ControlAnalysisEnum(); md.sub_analysis_type=VertAnalysisEnum(); models.dv=CreateFemModel(md);
-
-	displaystring(md.debug,'\n%s',['reading control stokes model data']);
-	md.analysis_type=ControlAnalysisEnum(); md.sub_analysis_type=StokesAnalysisEnum(); models.ds=CreateFemModel(md);
-
-	displaystring(md.debug,'\n%s',['reading control hutter model data']);
-	md.analysis_type=ControlAnalysisEnum(); md.sub_analysis_type=HutterAnalysisEnum(); models.dhu=CreateFemModel(md);
-
-	displaystring(md.debug,'\n%s',['reading surface and bed slope computation model data']);
-	md.analysis_type=SlopeComputeAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.sl=CreateFemModel(md);
-
-	displaystring(md.debug,'\n%s',['reading thermal model data']);
-	md.analysis_type=ThermalAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.t=CreateFemModel(md);
-
-	displaystring(md.debug,'\n%s',['reading melting model data']);
-	md.analysis_type=MeltingAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.m=CreateFemModel(md);
-
-
-	% figure out number of dof: just for information purposes.
-	md.dof=modelsize(models);
-
-	%initialize inputs
-	inputs=inputlist;
-	inputs=add(inputs,'velocity',models.dh.parameters.u_g,'doublevec',3,models.dh.parameters.numberofnodes);
-	inputs=add(inputs,'velocity_obs',models.dh.parameters.u_g_obs,'doublevec',2,models.dh.parameters.numberofnodes);
-	inputs=add(inputs,'pressure',models.t.parameters.p_g,'doublevec',1,models.t.parameters.numberofnodes);
-	inputs=add(inputs,'dt',models.t.parameters.dt*models.t.parameters.yts,'double');
-
-	%compute solution
-	if ~models.dh.parameters.qmu_analysis,
-		%launch core of control solution.
-		results=control_core(models,inputs);
-
-		%process results
-		if ~isstruct(md.results), md.results=struct(); end
-		md.results.control=processresults(models,results);
-	else
-		%launch dakota driver for control core solution
-		Qmu(models,inputs,models.dh.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.debug,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: /issm/trunk/src/m/solutions/cielo/objectivefunctionC.m
===================================================================
--- /issm/trunk/src/m/solutions/cielo/objectivefunctionC.m	(revision 1971)
+++ /issm/trunk/src/m/solutions/cielo/objectivefunctionC.m	(revision 1972)
@@ -8,5 +8,5 @@
 fit=m.parameters.fit(n);
 control_type=m.parameters.control_type;
-dt=m.parameters.dt;
+analysis_type=m.parameters.analysis_type;
 
 %Update along gradient using scalar supplied by fmincon optimization routine
@@ -17,5 +17,5 @@
 
 %Run diagnostic with updated parameters.
-if dt==0, 
+if (analysis_type==DiagnosticAnalysisEnum()), 
 	%do a simple diagnostic, with the current temperature profile, do not look for steady state.
 	u_g=diagnostic_core_nonlinear(m,inputs,analysis_type,sub_analysis_type);
