Index: /issm/trunk-jpl/src/c/classes/DependentObject.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/DependentObject.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/DependentObject.cpp	(revision 15130)
@@ -94,5 +94,5 @@
 	}
 
-	femmodel->Responsex(poutput_value,this->name,false,0);
+	femmodel->Responsex(poutput_value,this->name,0);
 
 }
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 15130)
@@ -71,5 +71,5 @@
 		virtual void   RequestedOutput(int output_enum,int step,IssmDouble time)=0;
 
-		virtual int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum,bool process_units)=0;
+		virtual int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum)=0;
 		virtual void   InputScale(int enum_type,IssmDouble scale_factor)=0;
 		virtual void   GetVectorFromInputs(Vector<IssmDouble>* vector, int name_enum)=0;
@@ -89,16 +89,16 @@
 
 		#ifdef _HAVE_RESPONSES_
-		virtual void   MinVel(IssmDouble* pminvel, bool process_units)=0;
-		virtual void   MaxVel(IssmDouble* pmaxvel, bool process_units)=0;
-		virtual void   MinVx(IssmDouble* pminvx, bool process_units)=0;
-		virtual void   MaxVx(IssmDouble* pmaxvx, bool process_units)=0;
-		virtual void   MaxAbsVx(IssmDouble* pmaxabsvx, bool process_units)=0;
-		virtual void   MinVy(IssmDouble* pminvy, bool process_units)=0;
-		virtual void   MaxVy(IssmDouble* pmaxvy, bool process_units)=0;
-		virtual void   MaxAbsVy(IssmDouble* pmaxabsvy, bool process_units)=0;
-		virtual void   MinVz(IssmDouble* pminvz, bool process_units)=0;
-		virtual void   MaxVz(IssmDouble* pmaxvz, bool process_units)=0;
-		virtual void   MaxAbsVz(IssmDouble* pmaxabsvz, bool process_units)=0;
-		virtual IssmDouble MassFlux(IssmDouble* segment,bool process_units)=0;
+		virtual void   MinVel(IssmDouble* pminvel)=0;
+		virtual void   MaxVel(IssmDouble* pmaxvel)=0;
+		virtual void   MinVx(IssmDouble* pminvx)=0;
+		virtual void   MaxVx(IssmDouble* pmaxvx)=0;
+		virtual void   MaxAbsVx(IssmDouble* pmaxabsvx)=0;
+		virtual void   MinVy(IssmDouble* pminvy)=0;
+		virtual void   MaxVy(IssmDouble* pmaxvy)=0;
+		virtual void   MaxAbsVy(IssmDouble* pmaxabsvy)=0;
+		virtual void   MinVz(IssmDouble* pminvz)=0;
+		virtual void   MaxVz(IssmDouble* pmaxvz)=0;
+		virtual void   MaxAbsVz(IssmDouble* pmaxabsvz)=0;
+		virtual IssmDouble MassFlux(IssmDouble* segment)=0;
 		virtual void   ElementResponse(IssmDouble* presponse,int response_enum)=0;
 		virtual IssmDouble IceVolume(void)=0;
@@ -112,16 +112,16 @@
 		#ifdef _HAVE_CONTROL_
 		virtual void   Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index)=0;
-		virtual IssmDouble ThicknessAbsMisfit(bool process_units  ,int weight_index)=0;
-		virtual IssmDouble SurfaceAbsVelMisfit(bool process_units ,int weight_index)=0;
-		virtual IssmDouble SurfaceRelVelMisfit(bool process_units ,int weight_index)=0;
-		virtual IssmDouble SurfaceLogVelMisfit(bool process_units ,int weight_index)=0;
-		virtual IssmDouble SurfaceLogVxVyMisfit(bool process_units,int weight_index)=0;
-		virtual IssmDouble SurfaceAverageVelMisfit(bool process_units,int weight_index)=0;
-		virtual IssmDouble ThicknessAbsGradient(bool process_units,int weight_index)=0;
-		virtual IssmDouble ThicknessAlongGradient(bool process_units,int weight_index)=0;
-		virtual IssmDouble ThicknessAcrossGradient(bool process_units,int weight_index)=0;
-		virtual IssmDouble BalancethicknessMisfit(bool process_units,int weight_index)=0;
-		virtual IssmDouble RheologyBbarAbsGradient(bool process_units,int weight_index)=0;
-		virtual IssmDouble DragCoefficientAbsGradient(bool process_units,int weight_index)=0;
+		virtual IssmDouble ThicknessAbsMisfit(int weight_index)=0;
+		virtual IssmDouble SurfaceAbsVelMisfit(int weight_index)=0;
+		virtual IssmDouble SurfaceRelVelMisfit(int weight_index)=0;
+		virtual IssmDouble SurfaceLogVelMisfit(int weight_index)=0;
+		virtual IssmDouble SurfaceLogVxVyMisfit(int weight_index)=0;
+		virtual IssmDouble SurfaceAverageVelMisfit(int weight_index)=0;
+		virtual IssmDouble ThicknessAbsGradient(int weight_index)=0;
+		virtual IssmDouble ThicknessAlongGradient(int weight_index)=0;
+		virtual IssmDouble ThicknessAcrossGradient(int weight_index)=0;
+		virtual IssmDouble BalancethicknessMisfit(int weight_index)=0;
+		virtual IssmDouble RheologyBbarAbsGradient(int weight_index)=0;
+		virtual IssmDouble DragCoefficientAbsGradient(int weight_index)=0;
 		virtual void   ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index)=0;
 		virtual void   ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index)=0;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15130)
@@ -2429,5 +2429,5 @@
 /*}}}*/
 /*FUNCTION Penta::NodalValue {{{*/
-int    Penta::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum,bool process_units){
+int    Penta::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){
 
 	int i;
@@ -2984,7 +2984,7 @@
 
 	/*Get for Vx and Vy, the max of abs value: */
-	this->MaxAbsVx(&maxabsvx,false);
-	this->MaxAbsVy(&maxabsvy,false);
-	this->MaxAbsVz(&maxabsvz,false);
+	this->MaxAbsVx(&maxabsvx);
+	this->MaxAbsVy(&maxabsvy);
+	this->MaxAbsVz(&maxabsvz);
 
 	/* Get node coordinates and dof list: */
@@ -3266,5 +3266,5 @@
 /*}}}*/
 /*FUNCTION Penta::MinVel{{{*/
-void  Penta::MinVel(IssmDouble* pminvel, bool process_units){
+void  Penta::MinVel(IssmDouble* pminvel){
 
 	/*Get minimum:*/
@@ -3276,5 +3276,5 @@
 /*}}}*/
 /*FUNCTION Penta::MinVx{{{*/
-void  Penta::MinVx(IssmDouble* pminvx, bool process_units){
+void  Penta::MinVx(IssmDouble* pminvx){
 
 	/*Get minimum:*/
@@ -3286,5 +3286,5 @@
 /*}}}*/
 /*FUNCTION Penta::MinVy{{{*/
-void  Penta::MinVy(IssmDouble* pminvy, bool process_units){
+void  Penta::MinVy(IssmDouble* pminvy){
 
 	/*Get minimum:*/
@@ -3296,5 +3296,5 @@
 /*}}}*/
 /*FUNCTION Penta::MinVz{{{*/
-void  Penta::MinVz(IssmDouble* pminvz, bool process_units){
+void  Penta::MinVz(IssmDouble* pminvz){
 
 	/*Get minimum:*/
@@ -3306,5 +3306,5 @@
 /*}}}*/
 /*FUNCTION Penta::MassFlux {{{*/
-IssmDouble Penta::MassFlux( IssmDouble* segment,bool process_units){
+IssmDouble Penta::MassFlux( IssmDouble* segment){
 
 	IssmDouble mass_flux=0;
@@ -3318,5 +3318,5 @@
 	/*Spawn Tria element from the base of the Penta: */
 	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
-	mass_flux=tria->MassFlux(segment,process_units);
+	mass_flux=tria->MassFlux(segment);
 	delete tria->material; delete tria;
 
@@ -3330,5 +3330,5 @@
 /*}}}*/
 /*FUNCTION Penta::MaxAbsVx{{{*/
-void  Penta::MaxAbsVx(IssmDouble* pmaxabsvx, bool process_units){
+void  Penta::MaxAbsVx(IssmDouble* pmaxabsvx){
 
 	/*Get maximum:*/
@@ -3340,5 +3340,5 @@
 /*}}}*/
 /*FUNCTION Penta::MaxAbsVy{{{*/
-void  Penta::MaxAbsVy(IssmDouble* pmaxabsvy, bool process_units){
+void  Penta::MaxAbsVy(IssmDouble* pmaxabsvy){
 
 	/*Get maximum:*/
@@ -3350,5 +3350,5 @@
 /*}}}*/
 /*FUNCTION Penta::MaxAbsVz{{{*/
-void  Penta::MaxAbsVz(IssmDouble* pmaxabsvz, bool process_units){
+void  Penta::MaxAbsVz(IssmDouble* pmaxabsvz){
 
 	/*Get maximum:*/
@@ -3360,5 +3360,5 @@
 /*}}}*/
 /*FUNCTION Penta::MaxVel{{{*/
-void  Penta::MaxVel(IssmDouble* pmaxvel, bool process_units){
+void  Penta::MaxVel(IssmDouble* pmaxvel){
 
 	/*Get maximum:*/
@@ -3371,5 +3371,5 @@
 /*}}}*/
 /*FUNCTION Penta::MaxVx{{{*/
-void  Penta::MaxVx(IssmDouble* pmaxvx, bool process_units){
+void  Penta::MaxVx(IssmDouble* pmaxvx){
 
 	/*Get maximum:*/
@@ -3381,5 +3381,5 @@
 /*}}}*/
 /*FUNCTION Penta::MaxVy{{{*/
-void  Penta::MaxVy(IssmDouble* pmaxvy, bool process_units){
+void  Penta::MaxVy(IssmDouble* pmaxvy){
 
 	/*Get maximum:*/
@@ -3391,5 +3391,5 @@
 /*}}}*/
 /*FUNCTION Penta::MaxVz{{{*/
-void  Penta::MaxVz(IssmDouble* pmaxvz, bool process_units){
+void  Penta::MaxVz(IssmDouble* pmaxvz){
 
 	/*Get maximum:*/
@@ -5415,5 +5415,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceAverageVelMisfit {{{*/
-IssmDouble Penta::SurfaceAverageVelMisfit(bool process_units,int weight_index){
+IssmDouble Penta::SurfaceAverageVelMisfit(int weight_index){
 
 	int    approximation;
@@ -5438,5 +5438,5 @@
 		 * and compute SurfaceAverageVelMisfit*/
 		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
-		J=tria->SurfaceAverageVelMisfit(process_units,weight_index);
+		J=tria->SurfaceAverageVelMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5445,5 +5445,5 @@
 
 		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
-		J=tria->SurfaceAverageVelMisfit(process_units,weight_index);
+		J=tria->SurfaceAverageVelMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5452,5 +5452,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceAbsVelMisfit {{{*/
-IssmDouble Penta::SurfaceAbsVelMisfit(bool process_units,int weight_index){
+IssmDouble Penta::SurfaceAbsVelMisfit(int weight_index){
 
 	int    approximation;
@@ -5475,5 +5475,5 @@
 		 * and compute SurfaceAbsVelMisfit*/
 		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
-		J=tria->SurfaceAbsVelMisfit(process_units,weight_index);
+		J=tria->SurfaceAbsVelMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5482,5 +5482,5 @@
 
 		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
-		J=tria->SurfaceAbsVelMisfit(process_units,weight_index);
+		J=tria->SurfaceAbsVelMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5489,5 +5489,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceLogVelMisfit {{{*/
-IssmDouble Penta::SurfaceLogVelMisfit(bool process_units,int weight_index){
+IssmDouble Penta::SurfaceLogVelMisfit(int weight_index){
 
 	int    approximation;
@@ -5512,5 +5512,5 @@
 		 * and compute SurfaceLogVelMisfit*/
 		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
-		J=tria->SurfaceLogVelMisfit(process_units,weight_index);
+		J=tria->SurfaceLogVelMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5519,5 +5519,5 @@
 
 		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
-		J=tria->SurfaceLogVelMisfit(process_units,weight_index);
+		J=tria->SurfaceLogVelMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5526,5 +5526,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceLogVxVyMisfit {{{*/
-IssmDouble Penta::SurfaceLogVxVyMisfit(bool process_units,int weight_index){
+IssmDouble Penta::SurfaceLogVxVyMisfit(int weight_index){
 
 	IssmDouble J;
@@ -5551,5 +5551,5 @@
 		 * and compute SurfaceLogVxVyMisfit*/
 		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
-		J=tria->SurfaceLogVxVyMisfit(process_units,weight_index);
+		J=tria->SurfaceLogVxVyMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5558,5 +5558,5 @@
 
 		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
-		J=tria->SurfaceLogVxVyMisfit(process_units,weight_index);
+		J=tria->SurfaceLogVxVyMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5565,5 +5565,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceRelVelMisfit {{{*/
-IssmDouble Penta::SurfaceRelVelMisfit(bool process_units,int weight_index){
+IssmDouble Penta::SurfaceRelVelMisfit(int weight_index){
 
 	int    approximation;
@@ -5588,5 +5588,5 @@
 		 * and compute SurfaceRelVelMisfit*/
 		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
-		J=tria->SurfaceRelVelMisfit(process_units,weight_index);
+		J=tria->SurfaceRelVelMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5595,5 +5595,5 @@
 
 		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
-		J=tria->SurfaceRelVelMisfit(process_units,weight_index);
+		J=tria->SurfaceRelVelMisfit(weight_index);
 		delete tria->material; delete tria;
 		return J;
@@ -5602,5 +5602,5 @@
 /*}}}*/
 /*FUNCTION Penta::ThicknessAbsGradient{{{*/
-IssmDouble Penta::ThicknessAbsGradient(bool process_units,int weight_index){
+IssmDouble Penta::ThicknessAbsGradient(int weight_index){
 
 	_error_("Not implemented yet");
@@ -5608,5 +5608,5 @@
 /*}}}*/
 /*FUNCTION Penta::ThicknessAbsMisfit {{{*/
-IssmDouble Penta::ThicknessAbsMisfit(bool process_units,int weight_index){
+IssmDouble Penta::ThicknessAbsMisfit(int weight_index){
 
 	int    approximation;
@@ -5622,5 +5622,5 @@
 
 	tria=(Tria*)SpawnTria(0,1,2);
-	J=tria->ThicknessAbsMisfit(process_units,weight_index);
+	J=tria->ThicknessAbsMisfit(weight_index);
 	delete tria->material; delete tria;
 	return J;
@@ -5628,5 +5628,5 @@
 /*}}}*/
 /*FUNCTION Penta::DragCoefficientAbsGradient{{{*/
-IssmDouble Penta::DragCoefficientAbsGradient(bool process_units,int weight_index){
+IssmDouble Penta::DragCoefficientAbsGradient(int weight_index){
 
 	IssmDouble J;
@@ -5637,5 +5637,5 @@
 
 	tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria
-	J=tria->DragCoefficientAbsGradient(process_units,weight_index);
+	J=tria->DragCoefficientAbsGradient(weight_index);
 	delete tria->material; delete tria;
 	return J;
@@ -5643,5 +5643,5 @@
 /*}}}*/
 /*FUNCTION Penta::RheologyBbarAbsGradient{{{*/
-IssmDouble Penta::RheologyBbarAbsGradient(bool process_units,int weight_index){
+IssmDouble Penta::RheologyBbarAbsGradient(int weight_index){
 
 	IssmDouble J;
@@ -5652,5 +5652,5 @@
 
 	tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria
-	J=tria->RheologyBbarAbsGradient(process_units,weight_index);
+	J=tria->RheologyBbarAbsGradient(weight_index);
 	delete tria->material; delete tria;
 	return J;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 15130)
@@ -118,5 +118,5 @@
 		void   Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
 		int    UpdatePotentialUngrounding(IssmDouble* potential_sheet_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf);
-		int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum,bool process_units);
+		int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum);
 		IssmDouble TimeAdapt();
 		int*   GetHorizontalNeighboorSids(void);
@@ -127,17 +127,17 @@
 		IssmDouble IceVolume(void);
 		IssmDouble TotalSmb(void);
-		void   MinVel(IssmDouble* pminvel, bool process_units);
-		void   MinVx(IssmDouble* pminvx, bool process_units);
-		void   MinVy(IssmDouble* pminvy, bool process_units);
-		void   MinVz(IssmDouble* pminvz, bool process_units);
-		IssmDouble MassFlux(IssmDouble* segment,bool process_units);
-		void   MaxAbsVx(IssmDouble* pmaxabsvx, bool process_units);
-		void   MaxAbsVy(IssmDouble* pmaxabsvy, bool process_units);
-		void   MaxAbsVz(IssmDouble* pmaxabsvz, bool process_units);
-		void   MaxVel(IssmDouble* pmaxvel, bool process_units);
+		void   MinVel(IssmDouble* pminvel);
+		void   MinVx(IssmDouble* pminvx);
+		void   MinVy(IssmDouble* pminvy);
+		void   MinVz(IssmDouble* pminvz);
+		IssmDouble MassFlux(IssmDouble* segment);
+		void   MaxAbsVx(IssmDouble* pmaxabsvx);
+		void   MaxAbsVy(IssmDouble* pmaxabsvy);
+		void   MaxAbsVz(IssmDouble* pmaxabsvz);
+		void   MaxVel(IssmDouble* pmaxvel);
 		void   ElementResponse(IssmDouble* presponse,int response_enum);
-		void   MaxVx(IssmDouble* pmaxvx, bool process_units);
-		void   MaxVy(IssmDouble* pmaxvy, bool process_units);
-		void   MaxVz(IssmDouble* pmaxvz, bool process_units);
+		void   MaxVx(IssmDouble* pmaxvx);
+		void   MaxVy(IssmDouble* pmaxvy);
+		void   MaxVz(IssmDouble* pmaxvz);
 		#endif
 
@@ -147,5 +147,5 @@
 
 		#ifdef _HAVE_CONTROL_
-		IssmDouble DragCoefficientAbsGradient(bool process_units,int weight_index);
+		IssmDouble DragCoefficientAbsGradient(int weight_index);
 		void   GradientIndexing(int* indexing,int control_index);
 		void   Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index);
@@ -161,15 +161,15 @@
 		void   ControlInputScaleGradient(int enum_type,IssmDouble scale);
 		void   ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
-		IssmDouble RheologyBbarAbsGradient(bool process_units,int weight_index);
-		IssmDouble ThicknessAbsMisfit(     bool process_units,int weight_index);
-		IssmDouble SurfaceAbsVelMisfit(    bool process_units,int weight_index);
-		IssmDouble SurfaceRelVelMisfit(    bool process_units,int weight_index);
-		IssmDouble SurfaceLogVelMisfit(    bool process_units,int weight_index);
-		IssmDouble SurfaceLogVxVyMisfit(   bool process_units,int weight_index);
-		IssmDouble SurfaceAverageVelMisfit(bool process_units,int weight_index);
-		IssmDouble ThicknessAbsGradient(bool process_units,int weight_index);
-		IssmDouble ThicknessAlongGradient( bool process_units,int weight_index){_error_("not supported");};
-		IssmDouble ThicknessAcrossGradient(bool process_units,int weight_index){_error_("not supported");};
-		IssmDouble BalancethicknessMisfit(bool process_units,int weight_index){_error_("not supported");};
+		IssmDouble RheologyBbarAbsGradient(int weight_index);
+		IssmDouble ThicknessAbsMisfit(     int weight_index);
+		IssmDouble SurfaceAbsVelMisfit(    int weight_index);
+		IssmDouble SurfaceRelVelMisfit(    int weight_index);
+		IssmDouble SurfaceLogVelMisfit(    int weight_index);
+		IssmDouble SurfaceLogVxVyMisfit(   int weight_index);
+		IssmDouble SurfaceAverageVelMisfit(int weight_index);
+		IssmDouble ThicknessAbsGradient(int weight_index);
+		IssmDouble ThicknessAlongGradient( int weight_index){_error_("not supported");};
+		IssmDouble ThicknessAcrossGradient(int weight_index){_error_("not supported");};
+		IssmDouble BalancethicknessMisfit(int weight_index){_error_("not supported");};
 		void   InputControlUpdate(IssmDouble scalar,bool save_parameter);
 		#endif
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15130)
@@ -2357,5 +2357,5 @@
 /*}}}*/
 /*FUNCTION Tria::NodalValue {{{*/
-int    Tria::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum,bool process_units){
+int    Tria::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){
 
 	int         found = 0;
@@ -2688,6 +2688,6 @@
 	/*Get for Vx and Vy, the max of abs value: */
 	#ifdef _HAVE_RESPONSES_
-	this->MaxAbsVx(&maxabsvx,false);
-	this->MaxAbsVy(&maxabsvy,false);
+	this->MaxAbsVx(&maxabsvx);
+	this->MaxAbsVy(&maxabsvy);
 	#else
 		_error_("ISSM was not compiled with responses compiled in, exiting!");
@@ -2866,5 +2866,5 @@
 /*}}}*/
 /*FUNCTION Tria::MassFlux {{{*/
-IssmDouble Tria::MassFlux( IssmDouble* segment,bool process_units){
+IssmDouble Tria::MassFlux( IssmDouble* segment){
 
 	const int  numdofs=2;
@@ -2934,5 +2934,5 @@
 /*}}}*/
 /*FUNCTION Tria::MaxAbsVx{{{*/
-void  Tria::MaxAbsVx(IssmDouble* pmaxabsvx, bool process_units){
+void  Tria::MaxAbsVx(IssmDouble* pmaxabsvx){
 
 	/*Get maximum:*/
@@ -2944,5 +2944,5 @@
 /*}}}*/
 /*FUNCTION Tria::MaxAbsVy{{{*/
-void  Tria::MaxAbsVy(IssmDouble* pmaxabsvy, bool process_units){
+void  Tria::MaxAbsVy(IssmDouble* pmaxabsvy){
 
 	/*Get maximum:*/
@@ -2954,5 +2954,5 @@
 /*}}}*/
 /*FUNCTION Tria::MaxAbsVz{{{*/
-void  Tria::MaxAbsVz(IssmDouble* pmaxabsvz, bool process_units){
+void  Tria::MaxAbsVz(IssmDouble* pmaxabsvz){
 
 	/*Get maximum:*/
@@ -2964,5 +2964,5 @@
 /*}}}*/
 /*FUNCTION Tria::MaxVel{{{*/
-void  Tria::MaxVel(IssmDouble* pmaxvel, bool process_units){
+void  Tria::MaxVel(IssmDouble* pmaxvel){
 
 	/*Get maximum:*/
@@ -2974,5 +2974,5 @@
 /*}}}*/
 /*FUNCTION Tria::MaxVx{{{*/
-void  Tria::MaxVx(IssmDouble* pmaxvx, bool process_units){
+void  Tria::MaxVx(IssmDouble* pmaxvx){
 
 	/*Get maximum:*/
@@ -2984,5 +2984,5 @@
 /*}}}*/
 /*FUNCTION Tria::MaxVy{{{*/
-void  Tria::MaxVy(IssmDouble* pmaxvy, bool process_units){
+void  Tria::MaxVy(IssmDouble* pmaxvy){
 
 	/*Get maximum:*/
@@ -2995,5 +2995,5 @@
 /*}}}*/
 /*FUNCTION Tria::MaxVz{{{*/
-void  Tria::MaxVz(IssmDouble* pmaxvz, bool process_units){
+void  Tria::MaxVz(IssmDouble* pmaxvz){
 
 	/*Get maximum:*/
@@ -3005,5 +3005,5 @@
 /*}}}*/
 /*FUNCTION Tria::MinVel{{{*/
-void  Tria::MinVel(IssmDouble* pminvel, bool process_units){
+void  Tria::MinVel(IssmDouble* pminvel){
 
 	/*Get minimum:*/
@@ -3015,5 +3015,5 @@
 /*}}}*/
 /*FUNCTION Tria::MinVx{{{*/
-void  Tria::MinVx(IssmDouble* pminvx, bool process_units){
+void  Tria::MinVx(IssmDouble* pminvx){
 
 	/*Get minimum:*/
@@ -3025,5 +3025,5 @@
 /*}}}*/
 /*FUNCTION Tria::MinVy{{{*/
-void  Tria::MinVy(IssmDouble* pminvy, bool process_units){
+void  Tria::MinVy(IssmDouble* pminvy){
 
 	/*Get minimum:*/
@@ -3035,5 +3035,5 @@
 /*}}}*/
 /*FUNCTION Tria::MinVz{{{*/
-void  Tria::MinVz(IssmDouble* pminvz, bool process_units){
+void  Tria::MinVz(IssmDouble* pminvz){
 
 	/*Get minimum:*/
@@ -3793,5 +3793,5 @@
 #ifdef _HAVE_CONTROL_
 /*FUNCTION Tria::BalancethicknessMisfit{{{*/
-IssmDouble Tria::BalancethicknessMisfit(bool process_units,int weight_index){
+IssmDouble Tria::BalancethicknessMisfit(int weight_index){
 
 	/* Intermediaries */
@@ -4563,5 +4563,5 @@
 /*}}}*/
 /*FUNCTION Tria::RheologyBbarAbsGradient{{{*/
-IssmDouble Tria::RheologyBbarAbsGradient(bool process_units,int weight_index){
+IssmDouble Tria::RheologyBbarAbsGradient(int weight_index){
 
 	/* Intermediaries */
@@ -4606,5 +4606,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceAverageVelMisfit {{{*/
-IssmDouble Tria::SurfaceAverageVelMisfit(bool process_units,int weight_index){
+IssmDouble Tria::SurfaceAverageVelMisfit(int weight_index){
 
 	IssmDouble Jelem=0,S,Jdet;
@@ -4662,5 +4662,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceLogVelMisfit {{{*/
-IssmDouble Tria::SurfaceLogVelMisfit(bool process_units,int weight_index){
+IssmDouble Tria::SurfaceLogVelMisfit(int weight_index){
 
 	IssmDouble Jelem=0;
@@ -4722,5 +4722,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceLogVxVyMisfit {{{*/
-IssmDouble Tria::SurfaceLogVxVyMisfit(bool process_units,int weight_index){
+IssmDouble Tria::SurfaceLogVxVyMisfit(int weight_index){
 
 	int        fit=-1;
@@ -4784,5 +4784,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceAbsVelMisfit {{{*/
-IssmDouble Tria::SurfaceAbsVelMisfit(bool process_units,int weight_index){
+IssmDouble Tria::SurfaceAbsVelMisfit(int weight_index){
 
 	IssmDouble Jelem=0;
@@ -4840,5 +4840,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceRelVelMisfit {{{*/
-IssmDouble Tria::SurfaceRelVelMisfit(bool process_units,int weight_index){
+IssmDouble Tria::SurfaceRelVelMisfit(int weight_index){
 
 	IssmDouble  Jelem=0;
@@ -4901,5 +4901,5 @@
 /*}}}*/
 /*FUNCTION Tria::ThicknessAbsGradient{{{*/
-IssmDouble Tria::ThicknessAbsGradient(bool process_units,int weight_index){
+IssmDouble Tria::ThicknessAbsGradient(int weight_index){
 
 	/* Intermediaries */
@@ -4944,5 +4944,5 @@
 /*}}}*/
 /*FUNCTION Tria::ThicknessAlongGradient{{{*/
-IssmDouble Tria::ThicknessAlongGradient(bool process_units,int weight_index){
+IssmDouble Tria::ThicknessAlongGradient(int weight_index){
 
 	/* Intermediaries */
@@ -4995,5 +4995,5 @@
 /*}}}*/
 /*FUNCTION Tria::ThicknessAcrossGradient{{{*/
-IssmDouble Tria::ThicknessAcrossGradient(bool process_units,int weight_index){
+IssmDouble Tria::ThicknessAcrossGradient(int weight_index){
 
 	/* Intermediaries */
@@ -5046,5 +5046,5 @@
 /*}}}*/
 /*FUNCTION Tria::ThicknessAbsMisfit {{{*/
-IssmDouble Tria::ThicknessAbsMisfit(bool process_units,int weight_index){
+IssmDouble Tria::ThicknessAbsMisfit(int weight_index){
 
 	/*Intermediaries*/
@@ -5545,5 +5545,5 @@
 /*}}}*/
 /*FUNCTION Tria::DragCoefficientAbsGradient{{{*/
-IssmDouble Tria::DragCoefficientAbsGradient(bool process_units,int weight_index){
+IssmDouble Tria::DragCoefficientAbsGradient(int weight_index){
 
 	/* Intermediaries */
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 15130)
@@ -106,5 +106,5 @@
 		void   MaterialUpdateFromTemperature(void){_error_("not implemented yet");};
 		void   MigrateGroundingLine(IssmDouble* oldfloating,IssmDouble* sheet_ungrounding);
-		int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum,bool process_units);
+		int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum);
 		void   PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
 		void   PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm);
@@ -125,17 +125,17 @@
 		IssmDouble IceVolume(void);
 		IssmDouble TotalSmb(void);
-		void   MinVel(IssmDouble* pminvel, bool process_units);
-		void   MinVx(IssmDouble* pminvx, bool process_units);
-		void   MinVy(IssmDouble* pminvy, bool process_units);
-		void   MinVz(IssmDouble* pminvz, bool process_units);
-		IssmDouble MassFlux(IssmDouble* segment,bool process_units);
-		void   MaxAbsVx(IssmDouble* pmaxabsvx, bool process_units);
-		void   MaxAbsVy(IssmDouble* pmaxabsvy, bool process_units);
-		void   MaxAbsVz(IssmDouble* pmaxabsvz, bool process_units);
+		void   MinVel(IssmDouble* pminvel);
+		void   MinVx(IssmDouble* pminvx);
+		void   MinVy(IssmDouble* pminvy);
+		void   MinVz(IssmDouble* pminvz);
+		IssmDouble MassFlux(IssmDouble* segment);
+		void   MaxAbsVx(IssmDouble* pmaxabsvx);
+		void   MaxAbsVy(IssmDouble* pmaxabsvy);
+		void   MaxAbsVz(IssmDouble* pmaxabsvz);
 		void   ElementResponse(IssmDouble* presponse,int response_enum);
-		void   MaxVel(IssmDouble* pmaxvel, bool process_units);
-		void   MaxVx(IssmDouble* pmaxvx, bool process_units);
-		void   MaxVy(IssmDouble* pmaxvy, bool process_units);
-		void   MaxVz(IssmDouble* pmaxvz, bool process_units);
+		void   MaxVel(IssmDouble* pmaxvel);
+		void   MaxVx(IssmDouble* pmaxvx);
+		void   MaxVy(IssmDouble* pmaxvy);
+		void   MaxVz(IssmDouble* pmaxvz);
 		#endif
 
@@ -145,5 +145,5 @@
 
 		#ifdef _HAVE_CONTROL_
-		IssmDouble DragCoefficientAbsGradient(bool process_units,int weight_index);
+		IssmDouble DragCoefficientAbsGradient(int weight_index);
 		void   GradientIndexing(int* indexing,int control_index);
 		void   Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index);
@@ -164,15 +164,15 @@
 		void   ControlInputScaleGradient(int enum_type,IssmDouble scale);
 		void   ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
-		IssmDouble RheologyBbarAbsGradient(bool process_units,int weight_index);
-		IssmDouble ThicknessAbsMisfit(     bool process_units,int weight_index);
-		IssmDouble SurfaceAbsVelMisfit(    bool process_units,int weight_index);
-		IssmDouble ThicknessAbsGradient(   bool process_units,int weight_index);
-		IssmDouble ThicknessAlongGradient( bool process_units,int weight_index);
-		IssmDouble ThicknessAcrossGradient(bool process_units,int weight_index);
-		IssmDouble BalancethicknessMisfit(     bool process_units,int weight_index);
-		IssmDouble SurfaceRelVelMisfit(    bool process_units,int weight_index);
-		IssmDouble SurfaceLogVelMisfit(    bool process_units,int weight_index);
-		IssmDouble SurfaceLogVxVyMisfit(   bool process_units,int weight_index);
-		IssmDouble SurfaceAverageVelMisfit(bool process_units,int weight_index);
+		IssmDouble RheologyBbarAbsGradient(int weight_index);
+		IssmDouble ThicknessAbsMisfit(     int weight_index);
+		IssmDouble SurfaceAbsVelMisfit(    int weight_index);
+		IssmDouble ThicknessAbsGradient(   int weight_index);
+		IssmDouble ThicknessAlongGradient( int weight_index);
+		IssmDouble ThicknessAcrossGradient(int weight_index);
+		IssmDouble BalancethicknessMisfit(     int weight_index);
+		IssmDouble SurfaceRelVelMisfit(    int weight_index);
+		IssmDouble SurfaceLogVelMisfit(    int weight_index);
+		IssmDouble SurfaceLogVxVyMisfit(   int weight_index);
+		IssmDouble SurfaceAverageVelMisfit(int weight_index);
 		void   InputControlUpdate(IssmDouble scalar,bool save_parameter);
 		#endif
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 15130)
@@ -686,47 +686,47 @@
 }
 /*}}}*/
-void FemModel::Responsex(IssmDouble* responses,const char* response_descriptor,bool process_units,int weight_index){/*{{{*/
+void FemModel::Responsex(IssmDouble* responses,const char* response_descriptor,int weight_index){/*{{{*/
 
 	int response_descriptor_enum=StringToEnumx(response_descriptor);
-	this->Responsex(responses, response_descriptor_enum, process_units, weight_index);
-
-}
-/*}}}*/
-void FemModel::Responsex(IssmDouble* responses,int response_descriptor_enum,bool process_units,int weight_index){/*{{{*/
+	this->Responsex(responses, response_descriptor_enum,weight_index);
+
+}
+/*}}}*/
+void FemModel::Responsex(IssmDouble* responses,int response_descriptor_enum,int weight_index){/*{{{*/
 
 	switch (response_descriptor_enum){
 
 		#ifdef _HAVE_RESPONSES_
-		case IceVolumeEnum:              this->IceVolumex(responses,process_units); break;
-		case MinVelEnum:                 this->MinVelx(responses,process_units); break;
-		case MaxVelEnum:                 this->MaxVelx(                  responses,process_units); break;
-		case MinVxEnum:                  this->MinVxx(responses,process_units); break;
-		case MaxVxEnum:                  this->MaxVxx(                   responses,process_units); break;
-		case MaxAbsVxEnum:               this->MaxAbsVxx(                responses,process_units); break;
-		case MinVyEnum:                  this->MinVyx(responses,process_units); break;
-		case MaxVyEnum:                  this->MaxVyx(                   responses,process_units); break;
-		case MaxAbsVyEnum:               this->MaxAbsVyx(                responses,process_units); break;
-		case MinVzEnum:                  this->MinVzx(responses,process_units); break;
-		case MaxVzEnum:                  this->MaxVzx(                   responses,process_units); break;
-		case MaxAbsVzEnum:               this->MaxAbsVzx(                responses,process_units); break;
-		case MassFluxEnum:               this->MassFluxx(         responses,process_units); break;
+		case IceVolumeEnum:              this->IceVolumex(responses); break;
+		case MinVelEnum:                 this->MinVelx(responses); break;
+		case MaxVelEnum:                 this->MaxVelx(                  responses); break;
+		case MinVxEnum:                  this->MinVxx(responses); break;
+		case MaxVxEnum:                  this->MaxVxx(                   responses); break;
+		case MaxAbsVxEnum:               this->MaxAbsVxx(                responses); break;
+		case MinVyEnum:                  this->MinVyx(responses); break;
+		case MaxVyEnum:                  this->MaxVyx(                   responses); break;
+		case MaxAbsVyEnum:               this->MaxAbsVyx(                responses); break;
+		case MinVzEnum:                  this->MinVzx(responses); break;
+		case MaxVzEnum:                  this->MaxVzx(                   responses); break;
+		case MaxAbsVzEnum:               this->MaxAbsVzx(                responses); break;
+		case MassFluxEnum:               this->MassFluxx(         responses); break;
 		#ifdef _HAVE_CONTROL_
-		case SurfaceAbsVelMisfitEnum:    SurfaceAbsVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case SurfaceRelVelMisfitEnum:    SurfaceRelVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case SurfaceLogVelMisfitEnum:    SurfaceLogVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case SurfaceLogVxVyMisfitEnum:   SurfaceLogVxVyMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case SurfaceAverageVelMisfitEnum:SurfaceAverageVelMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case ThicknessAbsMisfitEnum:     ThicknessAbsMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case ThicknessAbsGradientEnum:   this->ThicknessAbsGradientx(responses, process_units,weight_index); break;
-		case ThicknessAlongGradientEnum: ThicknessAlongGradientx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case ThicknessAcrossGradientEnum:ThicknessAcrossGradientx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case RheologyBbarAbsGradientEnum:RheologyBbarAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case BalancethicknessMisfitEnum:BalancethicknessMisfitx(responses,process_units,weight_index); break;
+		case SurfaceAbsVelMisfitEnum:    SurfaceAbsVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case SurfaceRelVelMisfitEnum:    SurfaceRelVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case SurfaceLogVelMisfitEnum:    SurfaceLogVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case SurfaceLogVxVyMisfitEnum:   SurfaceLogVxVyMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case SurfaceAverageVelMisfitEnum:SurfaceAverageVelMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case ThicknessAbsMisfitEnum:     ThicknessAbsMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case ThicknessAbsGradientEnum:   this->ThicknessAbsGradientx(responses,weight_index); break;
+		case ThicknessAlongGradientEnum: ThicknessAlongGradientx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case ThicknessAcrossGradientEnum:ThicknessAcrossGradientx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case RheologyBbarAbsGradientEnum:RheologyBbarAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break;
+		case BalancethicknessMisfitEnum:BalancethicknessMisfitx(responses,weight_index); break;
 		#endif
-		case TotalSmbEnum:					this->TotalSmbx(responses,process_units); break;
-		case MaterialsRheologyBbarEnum: this->ElementResponsex(responses,MaterialsRheologyBbarEnum,process_units); break;
-		case VelEnum:                   this->ElementResponsex(responses,VelEnum,process_units); break;
-		case FrictionCoefficientEnum:NodalValuex(responses, FrictionCoefficientEnum,elements,nodes, vertices, loads, materials, parameters,process_units); break;
+		case TotalSmbEnum:					this->TotalSmbx(responses); break;
+		case MaterialsRheologyBbarEnum: this->ElementResponsex(responses,MaterialsRheologyBbarEnum); break;
+		case VelEnum:                   this->ElementResponsex(responses,VelEnum); break;
+		case FrictionCoefficientEnum:NodalValuex(responses, FrictionCoefficientEnum,elements,nodes, vertices, loads, materials, parameters); break;
 		default: _error_("response descriptor \"" << EnumToStringx(response_descriptor_enum) << "\" not supported yet!"); break;
 		#else
@@ -757,13 +757,13 @@
 
 				case IceVolumeEnum:
-					Responsex(&output_value,"IceVolume",false,0);
+					Responsex(&output_value,"IceVolume",0);
 					results->AddObject(new GenericExternalResult<double>(results->Size()+1,IceVolumeEnum,reCast<IssmPDouble>(output_value),step,time));
 					break;
 				case TotalSmbEnum:
-					Responsex(&output_value,"TotalSmb",false,0);
+					Responsex(&output_value,"TotalSmb",0);
 					results->AddObject(new GenericExternalResult<double>(results->Size()+1,TotalSmbEnum,reCast<IssmPDouble>(output_value),step,time));
 					break;
 				case MaxVelEnum:
-					Responsex(&output_value,"MaxVel",false,0);
+					Responsex(&output_value,"MaxVel",0);
 					results->AddObject(new GenericExternalResult<double>(results->Size()+1,MaxVelEnum,reCast<IssmPDouble>(output_value),step,time));
 					break;
@@ -951,5 +951,5 @@
 /*}}}*/
 #ifdef _HAVE_RESPONSES_
-void FemModel::MassFluxx(IssmDouble* pmass_flux,bool process_units){/*{{{*/
+void FemModel::MassFluxx(IssmDouble* pmass_flux){/*{{{*/
 
 	int          i,j;
@@ -987,5 +987,5 @@
 			if (element->Id()==element_id){
 				/*We found the element which owns this segment, use it to compute the mass flux: */
-				mass_flux+=element->MassFlux(segments+5*i+0,process_units);
+				mass_flux+=element->MassFlux(segments+5*i+0);
 				break;
 			}
@@ -1011,5 +1011,5 @@
 
 }/*}}}*/
-void FemModel::MaxAbsVxx(IssmDouble* pmaxabsvx,bool process_units){/*{{{*/
+void FemModel::MaxAbsVxx(IssmDouble* pmaxabsvx){/*{{{*/
 
 	int i;
@@ -1022,5 +1022,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MaxAbsVx(&element_maxabsvx,process_units);
+		element->MaxAbsVx(&element_maxabsvx);
 		if(element_maxabsvx>maxabsvx) maxabsvx=element_maxabsvx;
 	}
@@ -1037,5 +1037,5 @@
 
 }/*}}}*/
-void FemModel::MaxAbsVyx(IssmDouble* pmaxabsvy,bool process_units){/*{{{*/
+void FemModel::MaxAbsVyx(IssmDouble* pmaxabsvy){/*{{{*/
 
 	int i;
@@ -1048,5 +1048,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MaxAbsVy(&element_maxabsvy,process_units);
+		element->MaxAbsVy(&element_maxabsvy);
 		if(element_maxabsvy>maxabsvy) maxabsvy=element_maxabsvy;
 	}
@@ -1063,5 +1063,5 @@
 
 }/*}}}*/
-void FemModel::MaxAbsVzx(IssmDouble* pmaxabsvz,bool process_units){/*{{{*/
+void FemModel::MaxAbsVzx(IssmDouble* pmaxabsvz){/*{{{*/
 
 	int i;
@@ -1074,5 +1074,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MaxAbsVz(&element_maxabsvz,process_units);
+		element->MaxAbsVz(&element_maxabsvz);
 		if(element_maxabsvz>maxabsvz) maxabsvz=element_maxabsvz;
 	}
@@ -1089,5 +1089,5 @@
 
 }/*}}}*/
-void FemModel::MaxVelx(IssmDouble* pmaxvel,bool process_units){/*{{{*/
+void FemModel::MaxVelx(IssmDouble* pmaxvel){/*{{{*/
 
 	int i;
@@ -1100,5 +1100,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MaxVel(&element_maxvel,process_units);
+		element->MaxVel(&element_maxvel);
 		if(element_maxvel>maxvel) maxvel=element_maxvel;
 	}
@@ -1115,5 +1115,5 @@
 
 }/*}}}*/
-void FemModel::MaxVxx(IssmDouble* pmaxvx,bool process_units){/*{{{*/
+void FemModel::MaxVxx(IssmDouble* pmaxvx){/*{{{*/
 
 	int i;
@@ -1126,5 +1126,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MaxVx(&element_maxvx,process_units);
+		element->MaxVx(&element_maxvx);
 		if(element_maxvx>maxvx) maxvx=element_maxvx;
 	}
@@ -1141,5 +1141,5 @@
 
 }/*}}}*/
-void FemModel::MaxVyx(IssmDouble* pmaxvy,bool process_units){/*{{{*/
+void FemModel::MaxVyx(IssmDouble* pmaxvy){/*{{{*/
 
 	int i;
@@ -1152,5 +1152,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MaxVy(&element_maxvy,process_units);
+		element->MaxVy(&element_maxvy);
 		if(element_maxvy>maxvy) maxvy=element_maxvy;
 	}
@@ -1167,5 +1167,5 @@
 
 }/*}}}*/
-void FemModel::MaxVzx(IssmDouble* pmaxvz,bool process_units){/*{{{*/
+void FemModel::MaxVzx(IssmDouble* pmaxvz){/*{{{*/
 
 	int i;
@@ -1178,5 +1178,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MaxVz(&element_maxvz,process_units);
+		element->MaxVz(&element_maxvz);
 		if(element_maxvz>maxvz) maxvz=element_maxvz;
 	}
@@ -1193,5 +1193,5 @@
 
 }/*}}}*/
-void FemModel::MinVelx(IssmDouble* pminvel,bool process_units){/*{{{*/
+void FemModel::MinVelx(IssmDouble* pminvel){/*{{{*/
 
 	int i;
@@ -1204,5 +1204,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MinVel(&element_minvel,process_units);
+		element->MinVel(&element_minvel);
 		if(element_minvel<minvel) minvel=element_minvel;
 	}
@@ -1219,5 +1219,5 @@
 
 }/*}}}*/
-void FemModel::MinVxx(IssmDouble* pminvx,bool process_units){/*{{{*/
+void FemModel::MinVxx(IssmDouble* pminvx){/*{{{*/
 
 	int i;
@@ -1230,5 +1230,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MinVx(&element_minvx,process_units);
+		element->MinVx(&element_minvx);
 		if(element_minvx<minvx) minvx=element_minvx;
 	}
@@ -1245,5 +1245,5 @@
 
 }/*}}}*/
-void FemModel::MinVyx(IssmDouble* pminvy,bool process_units){/*{{{*/
+void FemModel::MinVyx(IssmDouble* pminvy){/*{{{*/
 
 	int i;
@@ -1256,5 +1256,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MinVy(&element_minvy,process_units);
+		element->MinVy(&element_minvy);
 		if(element_minvy<minvy) minvy=element_minvy;
 	}
@@ -1271,5 +1271,5 @@
 
 }/*}}}*/
-void FemModel::MinVzx(IssmDouble* pminvz,bool process_units){/*{{{*/
+void FemModel::MinVzx(IssmDouble* pminvz){/*{{{*/
 
 	int i;
@@ -1282,5 +1282,5 @@
 	for(i=0;i<this->elements->Size();i++){
 		Element* element=(Element*)this->elements->GetObjectByOffset(i);
-		element->MinVz(&element_minvz,process_units);
+		element->MinVz(&element_minvz);
 		if(element_minvz<minvz) minvz=element_minvz;
 	}
@@ -1297,5 +1297,5 @@
 
 }/*}}}*/
-void FemModel::TotalSmbx(IssmDouble* pSmb,bool process_units){/*{{{*/
+void FemModel::TotalSmbx(IssmDouble* pSmb){/*{{{*/
 
 	IssmDouble local_smb = 0;
@@ -1317,5 +1317,5 @@
 
 }/*}}}*/
-void FemModel::IceVolumex(IssmDouble* pV,bool process_units){/*{{{*/
+void FemModel::IceVolumex(IssmDouble* pV){/*{{{*/
 
 	IssmDouble local_ice_volume = 0;
@@ -1337,5 +1337,5 @@
 
 }/*}}}*/
-void FemModel::ElementResponsex(IssmDouble* presponse,int response_enum,bool process_units){/*{{{*/
+void FemModel::ElementResponsex(IssmDouble* presponse,int response_enum){/*{{{*/
 
 	int found=0;
@@ -1383,5 +1383,5 @@
 #endif
 #ifdef _HAVE_CONTROL_
-void FemModel::BalancethicknessMisfitx(IssmDouble* presponse,bool process_units,int weight_index){/*{{{*/
+void FemModel::BalancethicknessMisfitx(IssmDouble* presponse,int weight_index){/*{{{*/
 
 	IssmDouble J = 0;
@@ -1390,5 +1390,5 @@
 	for(int i=0;i<this->elements->Size();i++){
 		Element* element=dynamic_cast<Element*>(this->elements->GetObjectByOffset(i));
-		J+=element->BalancethicknessMisfit(process_units,weight_index);
+		J+=element->BalancethicknessMisfit(weight_index);
 	}
 	#ifdef _HAVE_MPI_
@@ -1402,5 +1402,5 @@
 
 }/*}}}*/
-void FemModel::ThicknessAbsGradientx( IssmDouble* pJ, bool process_units, int weight_index){/*{{{*/
+void FemModel::ThicknessAbsGradientx( IssmDouble* pJ, int weight_index){/*{{{*/
 
 	/*Intermediary*/
@@ -1415,5 +1415,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->ThicknessAbsGradient(process_units,weight_index);
+		J+=element->ThicknessAbsGradient(weight_index);
 	}
 
@@ -1446,5 +1446,5 @@
 	J=0;
 	for(int i=0;i<num_responses;i++){
-		this->Responsex(&Jplus,EnumToStringx(responses[i]),false,i); //False means DO NOT process units
+		this->Responsex(&Jplus,EnumToStringx(responses[i]),i);
 		J+=Jplus;
 	}
@@ -1461,5 +1461,4 @@
 	int        i,j;
 	int        my_rank;
-	bool       process_units = true;
 
 	/*intermediary: */
@@ -1514,5 +1513,5 @@
 			parameters->SetParam(index,IndexEnum);
 
-			this->Responsex(&femmodel_response,root,process_units,0);//0 is the index for weights
+			this->Responsex(&femmodel_response,root,0);//0 is the index for weights
 
 			if(my_rank==0){
@@ -1533,5 +1532,5 @@
 
 			/*perfectly normal response function: */
-			this->Responsex(&femmodel_response,root,process_units,0);//0 is the weight index
+			this->Responsex(&femmodel_response,root,0);//0 is the weight index
 
 			if(my_rank==0){
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 15130)
@@ -64,20 +64,20 @@
 		/*Modules*/ 
 		#ifdef _HAVE_RESPONSES_
-		void MassFluxx(IssmDouble* presponse,bool process_units);
-		void MaxAbsVxx(IssmDouble* presponse,bool process_units);
-		void MaxAbsVyx(IssmDouble* presponse,bool process_units);
-		void MaxAbsVzx(IssmDouble* presponse,bool process_units);
-		void MaxVelx(IssmDouble* presponse,bool process_units);
-		void MaxVxx(IssmDouble* presponse,bool process_units);
-		void MaxVyx(IssmDouble* presponse,bool process_units);
-		void MaxVzx(IssmDouble* presponse,bool process_units);
-		void MinVelx(IssmDouble* presponse,bool process_units);
-		void MinVxx(IssmDouble* presponse,bool process_units);
-		void MinVyx(IssmDouble* presponse,bool process_units);
-		void MinVzx(IssmDouble* presponse,bool process_units);
-		void TotalSmbx(IssmDouble* pSmb,bool process_units);
-		void IceVolumex(IssmDouble* pV,bool process_units);
-		void ElementResponsex(IssmDouble* presponse,int response_enum,bool process_units);
-		void BalancethicknessMisfitx(IssmDouble* pV,bool process_units,int weight_index);
+		void MassFluxx(IssmDouble* presponse);
+		void MaxAbsVxx(IssmDouble* presponse);
+		void MaxAbsVyx(IssmDouble* presponse);
+		void MaxAbsVzx(IssmDouble* presponse);
+		void MaxVelx(IssmDouble* presponse);
+		void MaxVxx(IssmDouble* presponse);
+		void MaxVyx(IssmDouble* presponse);
+		void MaxVzx(IssmDouble* presponse);
+		void MinVelx(IssmDouble* presponse);
+		void MinVxx(IssmDouble* presponse);
+		void MinVyx(IssmDouble* presponse);
+		void MinVzx(IssmDouble* presponse);
+		void TotalSmbx(IssmDouble* pSmb);
+		void IceVolumex(IssmDouble* pV);
+		void ElementResponsex(IssmDouble* presponse,int response_enum);
+		void BalancethicknessMisfitx(IssmDouble* pV,int weight_index);
 		#endif
 		#ifdef  _HAVE_DAKOTA_
@@ -86,9 +86,9 @@
 		void RequestedOutputsx(int* requested_outputs, int numoutputs);
 		void RequestedDependentsx(void);
-		void Responsex(IssmDouble* presponse,int response_descriptor_enum,bool process_units,int weight_index);
-		void Responsex(IssmDouble* presponse,const char* response_descriptor,bool process_units,int weight_index);
+		void Responsex(IssmDouble* presponse,int response_descriptor_enum,int weight_index);
+		void Responsex(IssmDouble* presponse,const char* response_descriptor,int weight_index);
 		#ifdef _HAVE_CONTROL_
 		void CostFunctionx( IssmDouble* pJ);
-		void ThicknessAbsGradientx( IssmDouble* pJ, bool process_units,int weight_index);
+		void ThicknessAbsGradientx( IssmDouble* pJ,int weight_index);
 		#endif
 		#ifdef _HAVE_GIA_
Index: /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 15130)
@@ -124,5 +124,5 @@
 /*}}}*/
 /*FUNCTION BoolInput::SquareMin{{{*/
-void BoolInput::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){
+void BoolInput::SquareMin(IssmDouble* psquaremin,Parameters* parameters){
 	/*square of a bool is the bool itself: */
 	*psquaremin=value;
Index: /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 15130)
@@ -65,5 +65,5 @@
 		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
+		void SquareMin(IssmDouble* psquaremin, Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
 		IssmDouble InfinityNorm(void){_error_("InfinityNorm not implemented for booleans");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h	(revision 15130)
@@ -70,5 +70,5 @@
 		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype){_error_("not implemented yet");};
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){_error_("not implemented yet");};
+		void SquareMin(IssmDouble* psquaremin,Parameters* parameters){_error_("not implemented yet");};
 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
 		void Scale(IssmDouble scale_factor){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h	(revision 15130)
@@ -64,5 +64,5 @@
 		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype){_error_("not implemented yet");};
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){_error_("not implemented yet");};
+		void SquareMin(IssmDouble* psquaremin,Parameters* parameters){_error_("not implemented yet");};
 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
 		void Scale(IssmDouble scale_factor){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 15130)
@@ -174,5 +174,5 @@
 /*}}}*/
 /*FUNCTION DoubleInput::SquareMin{{{*/
-void DoubleInput::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){
+void DoubleInput::SquareMin(IssmDouble* psquaremin,Parameters* parameters){
 
 	/*square min of a IssmDouble is the square of the IssmDouble itself: */
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h	(revision 15130)
@@ -64,5 +64,5 @@
 		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss);
 		void ChangeEnum(int newenumtype);
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
+		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum);
 		void Scale(IssmDouble scale_factor);
Index: /issm/trunk-jpl/src/c/classes/Inputs/Input.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/Input.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/Input.h	(revision 15130)
@@ -49,5 +49,5 @@
 		virtual void Configure(Parameters* parameters)=0;
 
-		virtual void   SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters)=0;
+		virtual void   SquareMin(IssmDouble* psquaremin,Parameters* parameters)=0;
 		virtual void   ConstrainMin(IssmDouble minimum)=0;
 		virtual IssmDouble InfinityNorm(void)=0;
Index: /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 15130)
@@ -125,5 +125,5 @@
 /*}}}*/
 /*FUNCTION IntInput::SquareMin{{{*/
-void IntInput::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){
+void IntInput::SquareMin(IssmDouble* psquaremin,Parameters* parameters){
 
 	/*square min of an integer is the square of the integer itself: */
Index: /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 15130)
@@ -66,5 +66,5 @@
 		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
+		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
 		void Scale(IssmDouble scale_factor);
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp	(revision 15130)
@@ -328,5 +328,5 @@
 /*Intermediary*/
 /*FUNCTION PentaP1Input::SquareMin{{{*/
-void PentaP1Input::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){
+void PentaP1Input::SquareMin(IssmDouble* psquaremin,Parameters* parameters){
 
 	int i;
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.h	(revision 15130)
@@ -68,5 +68,5 @@
 		void ChangeEnum(int newenumtype);
 
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
+		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum);
 		void Scale(IssmDouble scale_factor);
Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 15130)
@@ -348,5 +348,5 @@
 /*}}}*/
 /*FUNCTION TransientInput::SquareMin{{{*/
-void TransientInput::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){
+void TransientInput::SquareMin(IssmDouble* psquaremin,Parameters* parameters){
 
 	IssmDouble time;
@@ -359,5 +359,5 @@
 
 	/*Call input function*/
-	input->SquareMin(psquaremin,process_units,parameters);
+	input->SquareMin(psquaremin,parameters);
 
 	delete input;
Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 15130)
@@ -69,5 +69,5 @@
 		void ChangeEnum(int newenumtype);
 
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
+		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
 		void Scale(IssmDouble scale_factor){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp	(revision 15130)
@@ -219,5 +219,5 @@
 /*Intermediary*/
 /*FUNCTION TriaP1Input::SquareMin{{{*/
-void TriaP1Input::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){
+void TriaP1Input::SquareMin(IssmDouble* psquaremin,Parameters* parameters){
 
 	int i;
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.h	(revision 15130)
@@ -67,5 +67,5 @@
 		void ChangeEnum(int newenumtype);
 
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
+		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum);
 		void Scale(IssmDouble scale_factor);
Index: /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units, int weight_index){
+void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->DragCoefficientAbsGradient(process_units,weight_index);
+		J+=element->DragCoefficientAbsGradient(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void NodalValuex( IssmDouble* pnodalvalue, int natureofdataenum,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units){
+void NodalValuex( IssmDouble* pnodalvalue, int natureofdataenum,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){
 
 	int my_rank;
@@ -29,5 +29,5 @@
 	for(i=0;i<elements->Size();i++){
 		Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		found=element->NodalValue(&value,index,natureofdataenum,process_units);
+		found=element->NodalValue(&value,index,natureofdataenum);
 		if (found){
 			cpu_found=my_rank;
Index: /issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void NodalValuex( IssmDouble* pnodalvalue, int natureofdataenum,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units);
+void NodalValuex( IssmDouble* pnodalvalue, int natureofdataenum,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _NODALVALUEX_H */
Index: /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units, int weight_index){
+void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->RheologyBbarAbsGradient(process_units,weight_index);
+		J+=element->RheologyBbarAbsGradient(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units,int weight_index){
+void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceAbsVelMisfit(process_units,weight_index);
+		J+=element->SurfaceAbsVelMisfit(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp	(revision 15130)
@@ -9,5 +9,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void SurfaceAverageVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units,int weight_index){
+void SurfaceAverageVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
 
 	/*Intermediary*/
@@ -25,5 +25,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceAverageVelMisfit(process_units,weight_index);
+		J+=element->SurfaceAverageVelMisfit(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceAverageVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void SurfaceAverageVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units,int weight_index){
+void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceLogVelMisfit(process_units,weight_index);
+		J+=element->SurfaceLogVelMisfit(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units,int weight_index){
+void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceLogVxVyMisfit(process_units,weight_index);
+		J+=element->SurfaceLogVxVyMisfit(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units,int weight_index){
+void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceRelVelMisfit(process_units,weight_index);
+		J+=element->SurfaceRelVelMisfit(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units, int weight_index){
+void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->ThicknessAbsMisfit(process_units,weight_index);
+		J+=element->ThicknessAbsMisfit(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units, int weight_index){
+void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->ThicknessAcrossGradient(process_units,weight_index);
+		J+=element->ThicknessAcrossGradient(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp	(revision 15130)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units, int weight_index){
+void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->ThicknessAlongGradient(process_units,weight_index);
+		J+=element->ThicknessAlongGradient(weight_index);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h	(revision 15129)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h	(revision 15130)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool process_units,int weight_index);
+void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
 
 #endif
