Index: /issm/trunk/src/m/solutions/cielo/gradjcompute_core.m
===================================================================
--- /issm/trunk/src/m/solutions/cielo/gradjcompute_core.m	(revision 1998)
+++ /issm/trunk/src/m/solutions/cielo/gradjcompute_core.m	(revision 1999)
@@ -42,8 +42,10 @@
 end
 
-%compute initial velocity from diagnostic_core (horiz+vertical)
-displaystring(debug,'%s','          compute initial velocity...');
-%results_diag=diagnostic_core(models,inputs);
-%u_g=results_diag.u_g;
+if analysis_type==SteadystateAnalysisEnum(),
+	%compute initial velocity from diagnostic_core (horiz+vertical)
+	displaystring(debug,'%s','          compute initial velocity...');
+	results_diag=diagnostic_core(models,inputs);
+	u_g=results_diag.u_g;
+end
 
 %Assign output
Index: /issm/trunk/src/m/solutions/cielo/steadystate.m
===================================================================
--- /issm/trunk/src/m/solutions/cielo/steadystate.m	(revision 1998)
+++ /issm/trunk/src/m/solutions/cielo/steadystate.m	(revision 1999)
@@ -43,13 +43,25 @@
 	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');
+	if md.control_analysis,
+		inputs=add(inputs,'velocity_obs',models.dh.parameters.u_g_obs,'doublevec',2,models.dh.parameters.numberofnodes);
+	end
 	
 	%compute solution
 	if ~models.dh.parameters.qmu_analysis,
-		%launch core of steadystate solution.
-		results=steadystate_core(models,inputs);
-	
-		%process results
-		if ~isstruct(md.results), md.results=struct(); end
-		md.results.steadystate=processresults(models,results);
+		if md.control_analysis,
+			%launch core of control solution.
+			results=control_core(models,inputs);
+
+			%process results
+			if ~isstruct(md.results), md.results=struct(); end
+			md.results.steadystate=processresults(models,results);
+		else,
+			%launch core of steadystate solution.
+			results=steadystate_core(models,inputs);
+		
+			%process results
+			if ~isstruct(md.results), md.results=struct(); end
+			md.results.steadystate=processresults(models,results);
+		end
 	else
 		%launch dakota driver for steadystate core solution
