Index: /issm/trunk/src/c/issm.cpp
===================================================================
--- /issm/trunk/src/c/issm.cpp	(revision 4547)
+++ /issm/trunk/src/c/issm.cpp	(revision 4548)
@@ -6,5 +6,9 @@
 
 int main(int argc,char* *argv){
-	
+
+	/*MPI: */
+	extern int my_rank;
+	extern int num_procs;
+
 	/*I/O: */
 	FILE     *fid              = NULL;
Index: /issm/trunk/src/c/modules/Qmux/SpawnCoreParallel.cpp
===================================================================
--- /issm/trunk/src/c/modules/Qmux/SpawnCoreParallel.cpp	(revision 4547)
+++ /issm/trunk/src/c/modules/Qmux/SpawnCoreParallel.cpp	(revision 4548)
@@ -65,5 +65,6 @@
 	/*Run the core solution sequence: */
 	if(verbose)_printf_("%s%s%s\n","Starting ",EnumAsString(solution_type)," core:");
-	SolutionConfiguration(NULL,NULL,&solutioncore,solution_type); solutioncore(femmodel);
+	SolutionConfiguration(NULL,NULL,&solutioncore,solution_type); 
+	solutioncore(femmodel);
 
 	/*compute responses: */
Index: /issm/trunk/src/c/objects/Elements/Beam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Beam.cpp	(revision 4547)
+++ /issm/trunk/src/c/objects/Elements/Beam.cpp	(revision 4548)
@@ -481,4 +481,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvx=fabs(vx_values[0]);
@@ -507,4 +510,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvy=fabs(vy_values[0]);
@@ -533,4 +539,7 @@
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvz=fabs(vz_values[0]);
@@ -559,4 +568,7 @@
 	inputs->GetParameterValues(&vel_values[0],&gaussgrids[0][0],numgrids,VelEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vel_values[0],numgrids,VelEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvel=vel_values[0];
@@ -586,4 +598,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvx=vx_values[0];
@@ -613,4 +628,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvy=vy_values[0];
@@ -640,4 +658,7 @@
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvz=vz_values[0];
@@ -667,4 +688,7 @@
 	inputs->GetParameterValues(&vel_values[0],&gaussgrids[0][0],numgrids,VelEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vel_values[0],numgrids,VelEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvel=vel_values[0];
@@ -694,4 +718,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvx=vx_values[0];
@@ -721,4 +748,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvy=vy_values[0];
@@ -747,4 +777,7 @@
 	/*retrive velocity values at nodes */
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
+
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
 
 	/*now, compute minimum:*/
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4547)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4548)
@@ -1240,4 +1240,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvx=fabs(vx_values[0]);
@@ -1266,4 +1269,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvy=fabs(vy_values[0]);
@@ -1292,4 +1298,7 @@
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvz=fabs(vz_values[0]);
@@ -1318,4 +1327,7 @@
 	inputs->GetParameterValues(&vel_values[0],&gaussgrids[0][0],numgrids,VelEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vel_values[0],numgrids,VelEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvel=vel_values[0];
@@ -1345,4 +1357,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvx=vx_values[0];
@@ -1372,4 +1387,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvy=vy_values[0];
@@ -1399,4 +1417,7 @@
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvz=vz_values[0];
@@ -1426,4 +1447,7 @@
 	inputs->GetParameterValues(&vel_values[0],&gaussgrids[0][0],numgrids,VelEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vel_values[0],numgrids,VelEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvel=vel_values[0];
@@ -1453,4 +1477,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvx=vx_values[0];
@@ -1480,4 +1507,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvy=vy_values[0];
@@ -1506,4 +1536,7 @@
 	/*retrive velocity values at nodes */
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
+
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
 
 	/*now, compute minimum:*/
Index: /issm/trunk/src/c/objects/Elements/Sing.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Sing.cpp	(revision 4547)
+++ /issm/trunk/src/c/objects/Elements/Sing.cpp	(revision 4548)
@@ -445,4 +445,8 @@
 	/*retrive velocity values at nodes */
 	inputs->GetParameterValue(&maxabsvx,VxEnum);
+
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&maxabsvx,1,VxEnum,this->parameters);
+
 	maxabsvx=fabs(maxabsvx);
 
@@ -462,4 +466,8 @@
 	/*retrive velocity values at nodes */
 	inputs->GetParameterValue(&maxabsvy,VyEnum);
+
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&maxabsvy,1,VyEnum,this->parameters);
+	
 	maxabsvy=fabs(maxabsvy);
 
@@ -479,4 +487,8 @@
 	/*retrive velocity values at nodes */
 	inputs->GetParameterValue(&maxabsvz,VzEnum);
+
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&maxabsvz,1,VzEnum,this->parameters);
+
 	maxabsvz=fabs(maxabsvz);
 
@@ -497,4 +509,7 @@
 	inputs->GetParameterValue(&maxvel,VelEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&maxvel,1,VelEnum,this->parameters);
+
 	/*Assign output pointers:*/
 	*pmaxvel=maxvel;
@@ -514,4 +529,7 @@
 	inputs->GetParameterValue(&maxvx,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&maxvx,1,VxEnum,this->parameters);
+
 	/*Assign output pointers:*/
 	*pmaxvx=maxvx;
@@ -531,4 +549,7 @@
 	inputs->GetParameterValue(&maxvy,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&maxvy,1,VyEnum,this->parameters);
+
 	/*Assign output pointers:*/
 	*pmaxvy=maxvy;
@@ -548,4 +569,7 @@
 	inputs->GetParameterValue(&maxvz,VzEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&maxvz,1,VzEnum,this->parameters);
+
 	/*Assign output pointers:*/
 	*pmaxvz=maxvz;
@@ -565,4 +589,7 @@
 	inputs->GetParameterValue(&minvel,VelEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&minvel,1,VelEnum,this->parameters);
+
 	/*Assign output pointers:*/
 	*pminvel=minvel;
@@ -582,4 +609,7 @@
 	inputs->GetParameterValue(&minvx,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&minvx,1,VxEnum,this->parameters);
+
 	/*Assign output pointers:*/
 	*pminvx=minvx;
@@ -599,4 +629,7 @@
 	inputs->GetParameterValue(&minvy,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&minvy,1,VyEnum,this->parameters);
+
 	/*Assign output pointers:*/
 	*pminvy=minvy;
@@ -615,4 +648,7 @@
 	/*retrive velocity values at nodes */
 	inputs->GetParameterValue(&minvz,VzEnum);
+
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&minvz,1,VzEnum,this->parameters);
 
 	/*Assign output pointers:*/
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4547)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4548)
@@ -1590,4 +1590,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvx=fabs(vx_values[0]);
@@ -1616,4 +1619,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvy=fabs(vy_values[0]);
@@ -1642,4 +1648,7 @@
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxabsvz=fabs(vz_values[0]);
@@ -1668,4 +1677,7 @@
 	inputs->GetParameterValues(&vel_values[0],&gaussgrids[0][0],numgrids,VelEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vel_values[0],numgrids,VelEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvel=vel_values[0];
@@ -1695,4 +1707,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvx=vx_values[0];
@@ -1722,4 +1737,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvy=vy_values[0];
@@ -1749,4 +1767,7 @@
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
+
 	/*now, compute maximum:*/
 	maxvz=vz_values[0];
@@ -1776,4 +1797,7 @@
 	inputs->GetParameterValues(&vel_values[0],&gaussgrids[0][0],numgrids,VelEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vel_values[0],numgrids,VelEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvel=vel_values[0];
@@ -1803,4 +1827,7 @@
 	inputs->GetParameterValues(&vx_values[0],&gaussgrids[0][0],numgrids,VxEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vx_values[0],numgrids,VxEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvx=vx_values[0];
@@ -1830,4 +1857,7 @@
 	inputs->GetParameterValues(&vy_values[0],&gaussgrids[0][0],numgrids,VyEnum);
 
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vy_values[0],numgrids,VyEnum,this->parameters);
+
 	/*now, compute minimum:*/
 	minvy=vy_values[0];
@@ -1856,4 +1886,7 @@
 	/*retrive velocity values at nodes */
 	inputs->GetParameterValues(&vz_values[0],&gaussgrids[0][0],numgrids,VzEnum);
+
+	/*process units if requested: */
+	if(process_units)NodalValuesUnitConversion(&vz_values[0],numgrids,VzEnum,this->parameters);
 
 	/*now, compute minimum:*/
Index: /issm/trunk/src/m/solutions/SpawnCore.m
===================================================================
--- /issm/trunk/src/m/solutions/SpawnCore.m	(revision 4547)
+++ /issm/trunk/src/m/solutions/SpawnCore.m	(revision 4548)
@@ -16,5 +16,4 @@
 %first update the inputs to the femmodel using the variables provided to us by dakota.
 [femmodel.elements femmodel.loads femmodel.materials]=InputUpdateFromDakota(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,femmodel.part,variables,variabledescriptors);
-Echo(femmodel.materials)
 
 %now run the core solution
@@ -26,4 +25,3 @@
 
 format long 
-variables
 responses
Index: /issm/trunk/test/Verification/test25_IceSheetIceFrontM2dDakota/Square.par
===================================================================
--- /issm/trunk/test/Verification/test25_IceSheetIceFrontM2dDakota/Square.par	(revision 4547)
+++ /issm/trunk/test/Verification/test25_IceSheetIceFrontM2dDakota/Square.par	(revision 4548)
@@ -39,5 +39,4 @@
 
 
-
 %Dakota options
 md.variables.nuv=normal_uncertain.empty();
