Index: /issm/trunk/src/m/solutions/jpl/FemModelUpdateInputsFromVector.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/FemModelUpdateInputsFromVector.m	(revision 3770)
+++ /issm/trunk/src/m/solutions/jpl/FemModelUpdateInputsFromVector.m	(revision 3770)
@@ -0,0 +1,13 @@
+function FemModelUpdateInputsFromVector(model, vector, enum, typeenum);
+%INPUT FemModelUpdateInputsFromVector(model, vector, enum, typeenum);
+%
+% Update inputs using a vector, just calls the UpdateInputsFromVector routine for FemModel
+% 
+% Usage: FemModelUpdateInputsFromVector(model, vector, enum, typeenum);
+%
+% ex:    FemModelUpdateInputsFromVector(model, vx, VxEnum, VertexEnum);
+%        FemModelUpdateInputsFromVector(model, vxelem, VxEnum, ElementEnum);
+%
+%
+
+
Index: /issm/trunk/src/m/solutions/jpl/ModelUpdateInputsFromVector.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/ModelUpdateInputsFromVector.m	(revision 3770)
+++ /issm/trunk/src/m/solutions/jpl/ModelUpdateInputsFromVector.m	(revision 3770)
@@ -0,0 +1,21 @@
+function ModelUpdateInputsFromVector(models, vector, enum, typeenum);
+%INPUT ModelUpdateInputsFromVector(models, vector, enum, typeenum);
+%
+% Update inputs using a vector, just calls the FemModelUpdateInputsFromVector routine for all models in the 'models' structure
+% 
+% Usage: ModelUpdateInputsFromVector(models, vector, enum, typeenum);
+%
+% ex:    ModelUpdateInputsFromVector(models, vx, VxEnum, VertexEnum);
+%        ModelUpdateInputsFromVector(models, vxelem, VxEnum, ElementEnum);
+%
+%
+
+
+%go through models and call UpdateInputsFromVector
+modelfields=fields(models);
+for i=1:length(modelfields),
+	field=modelfields(i);field=field{1}; model=models.(field);
+
+	[model.elements,model.nodes,model.vertices,model.loads,model.materials,model.parameters] = UpdateInputsFromVector(model.elements,model.nodes,model.vertices,model.loads,model.materials,model.parameters,vector,enum, typeenum);
+
+end
Index: /issm/trunk/src/m/solutions/jpl/diagnostic_core.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/diagnostic_core.m	(revision 3769)
+++ /issm/trunk/src/m/solutions/jpl/diagnostic_core.m	(revision 3770)
@@ -25,7 +25,7 @@
 %for qmu analysis, be sure the velocity input we are starting from  is the one in the parameters: 
 if qmu_analysis,
-	UpdateInputsFromVector(models,m_dh.vx,VxEnum,VertexEnum);
-	UpdateInputsFromVector(models,m_dh.vy,VyEnum,VertexEnum);
-	UpdateInputsFromVector(models,m_dh.vz,VzEnum,VertexEnum);
+	ModelUpdateInputsFromVector(models,m_dh.vx,VxEnum,VertexEnum);
+	ModelUpdateInputsFromVector(models,m_dh.vy,VyEnum,VertexEnum);
+	ModelUpdateInputsFromVector(models,m_dh.vz,VzEnum,VertexEnum);
 end
 
@@ -35,10 +35,8 @@
 
 %Update:
-UpdateInputsFromVector(models,surfaceslopex,SurfaceSlopexEnum,VertexEnum);
-UpdateInputsFromVector(models,surfaceslopey,SurfaceSlopeyEnum,VertexEnum);
-UpdateInputsFromVector(models,bedslopex,BedSlopexEnum,VertexEnum);
-UpdateInputsFromVector(models,bedslopey,BedSlopeyEnum,VertexEnum);
-
-
+ModelUpdateInputsFromVector(models,surfaceslopex,SurfaceSlopexEnum,VertexEnum);
+ModelUpdateInputsFromVector(models,surfaceslopey,SurfaceSlopeyEnum,VertexEnum);
+ModelUpdateInputsFromVector(models,bedslopex,BedSlopexEnum,VertexEnum);
+ModelUpdateInputsFromVector(models,bedslopey,BedSlopeyEnum,VertexEnum);
 
 if ishutter,
@@ -73,4 +71,10 @@
 	displaystring(verbose,'\n%s',['extruding horizontal velocities...']);
 	u_g_horiz=FieldExtrude(m_dh.elements,m_dh.nodes,m_dh.vertices,m_dh.loads,m_dh.materials,m_dh.parameters,u_g,'velocity',1);
+
+	SplitSolutionVector(ug,numberofnodes,numberofdofspernode_dh,&vx,&vy);
+	model->UpdateInputsFromVector(vx,VxEnum,VertexEnum);
+	model->UpdateInputsFromVector(vy,VyEnum,VertexEnum);
+		
+
 
 	displaystring(verbose,'\n%s',['computing vertical velocities...']);
Index: /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp	(revision 3769)
+++ /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp	(revision 3770)
@@ -71,5 +71,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [elements] = %s(elements,nodes,vertices,loads,materials,parameters,solution,analysis_type,sub_analysis_type);\n",__FUNCT__);
+	_printf_("   usage: [elements,nodes,vertices,loads,materials,parameters] = %s(elements,nodes,vertices,loads,materials,parameters,vector,name_enum,type_enum);\n",__FUNCT__);
 	_printf_("\n");
 }
