Index: /issm/trunk/src/m/solutions/cielo/diagnostic_core_nonlinear.m
===================================================================
--- /issm/trunk/src/m/solutions/cielo/diagnostic_core_nonlinear.m	(revision 112)
+++ /issm/trunk/src/m/solutions/cielo/diagnostic_core_nonlinear.m	(revision 113)
@@ -2,9 +2,4 @@
 %INPUT function [ru_g varargout]=cielodiagnostic_core_nonlinear(m,inputs)
 	
-	%check inputs
-	if isempty(inputs),
-		clear inputs;
-	end
-
 %   first off! We are going to modify the loads dataset. We need to shield the loads from those changes once we return;
 	loads=m.loads;
@@ -16,5 +11,10 @@
 	count=1;
 	converged=0;
-	soln(count).u_g=[];
+	[velocity_param velocity_is_present]=recover_input(inputs,'velocity');
+	if velocity_is_present
+		soln(count).u_g=velocity_param;
+	else	
+		soln(count).u_g=[];
+	end
 	soln(count).u_f=[];
 
@@ -30,4 +30,6 @@
 		if count>1,
 			inputs.old_velocity=full(soln(count-1).u_g);
+		else
+			inputs.old_velocity=full(soln(count).u_g);
 		end
 
