Index: /issm/trunk/src/m/solutions/cielo/transient3d.m
===================================================================
--- /issm/trunk/src/m/solutions/cielo/transient3d.m	(revision 876)
+++ /issm/trunk/src/m/solutions/cielo/transient3d.m	(revision 877)
@@ -38,5 +38,6 @@
 solution.step=1;
 solution.time=0;
-solution.u_g=m_dh.parameters.u_g(dofsetgen([1,2],3,length(m_dh.parameters.u_g)));
+solution.u_g=m_dh.parameters.u_g;
+%solution.u_g=m_dh.parameters.u_g(dofsetgen([1,2],3,length(m_dh.parameters.u_g)));
 solution.p_g=m_p.parameters.p_g;
 solution.h_g=m_p.parameters.h_g;
@@ -45,9 +46,10 @@
 solution.t_g=m_p.parameters.t_g;
 solution.m_g=m_p.parameters.m_g;
+solution.a_g=m_p.parameters.a_g;
 
 %initialize inputs
 displaystring(md.debug,'\n%s',['setup inputs...']);
 inputs=inputlist;
-inputs=add(inputs,'velocity',solution.u_g,'doublevec',2,m_p.parameters.numberofnodes);
+inputs=add(inputs,'velocity',solution.u_g,'doublevec',3,m_p.parameters.numberofnodes);
 inputs=add(inputs,'melting',solution.m_g,'doublevec',1,m_p.parameters.numberofnodes);
 inputs=add(inputs,'accumulation',solution.a_g,'doublevec',1,m_p.parameters.numberofnodes);
@@ -75,5 +77,6 @@
 	inputs=add(inputs,'surface',solution(n).s_g,'doublevec',1,m_p.parameters.numberofnodes);
 	inputs=add(inputs,'bed',solution(n).b_g,'doublevec',1,m_p.parameters.numberofnodes);
-	inputs=add(inputs,'velocity',solution(n).u_g,'doublevec',m_p.parameters.numberofdofspernodes,m_p.parameters.numberofnodes);
+	inputs=add(inputs,'velocity',solution(n).u_g,'doublevec',3,m_p.parameters.numberofnodes);
+	%inputs=add(inputs,'velocity',solution(n).u_g,'doublevec',m_p.parameters.numberofdofspernode,m_p.parameters.numberofnodes);
 	inputs=add(inputs,'pressure',solution(n).p_g,'doublevec',1,m_p.parameters.numberofnodes);
 	inputs=add(inputs,'temperature',solution(n).t_g,'doublevec',1,m_t.parameters.numberofnodes);
@@ -95,10 +98,10 @@
 
 	%compute new thickness
-	displaystring(md.debug,'   computing new thickness...'));
-	inputs=add(inputs,'velocity',solution(n+1).u_g,'doublevec',2,m_p.parameters.numberofnodes);
+	displaystring(md.debug,'\n%s',['    computing new thickness...']);
+	inputs=add(inputs,'velocity',solution(n+1).u_g,'doublevec',3,m_p.parameters.numberofnodes);
 	new_thickness=prognostic_core(m_p,inputs,'prognostic','');
 
 	%update surface and bed using the new thickness
-	displaystring(md.debug,'   updating geometry...'));
+	displaystring(md.debug,'\n%s',['    updating geometry...']);
 	[new_thickness,new_bed,new_surface]=UpdateGeometry(m_p.elements,m_p.nodes,m_p.loads,m_p.materials,m_p.parameters,new_thickness,solution(n).b_g,solution(n).s_g);
 
@@ -116,5 +119,5 @@
 
 	%update node positions
-	displaystring(md.debug,'   updating node positions...'));
+	displaystring(md.debug,'\n%s',['    updating node positions...']);
 	nodes_dh=UpdateNodePositions(m_dh.elements,m_dh.nodes,m_dh.loads,m_dh.materials,new_bed,new_thickness);
 	nodes_dv=UpdateNodePositions(m_dv.elements,m_dv.nodes,m_dv.loads,m_dv.materials,new_bed,new_thickness);
@@ -123,5 +126,5 @@
 	nodes_p=UpdateNodePositions(m_p.elements,m_p.nodes,m_p.loads,m_p.materials,new_bed,new_thickness);
 	nodes_t=UpdateNodePositions(m_t.elements,m_t.nodes,m_t.loads,m_t.materials,new_bed,new_thickness);
-	nodes_m=UpdateNodePositions(m_m.elements,m_m.nodes,m_m.loads,m_m.materials,new_bed,new_mhickness);
+	nodes_m=UpdateNodePositions(m_m.elements,m_m.nodes,m_m.loads,m_m.materials,new_bed,new_thickness);
 
 	%update time and counter
@@ -135,7 +138,8 @@
 	results(i).step=solution(i).step;
 	results(i).time=solution(i).time/yts;
-	results(i).vx=solution(i).u_g(1:2:end)*yts;
-	results(i).vy=solution(i).u_g(2:2:end)*yts;
-	results(i).vel=sqrt(solution(i).u_g(1:2:end).^2+solution(i).u_g(2:2:end).^2)*yts;
+	results(i).vx=solution(i).u_g(1:3:end)*yts;
+	results(i).vy=solution(i).u_g(2:3:end)*yts;
+	results(i).vz=solution(i).u_g(3:3:end)*yts;
+	results(i).vel=sqrt(solution(i).u_g(1:3:end).^2+solution(i).u_g(2:3:end).^2+solution(i).u_g(3:3:end).^2)*yts;
 	results(i).bed=solution(i).b_g;
 	results(i).surface=solution(i).s_g;
