Index: /issm/trunk-jpl/src/c/classes/DependentObject.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/DependentObject.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/classes/DependentObject.cpp	(revision 16314)
@@ -94,5 +94,5 @@
 	}
 
-	femmodel->Responsex(poutput_value,this->name,0);
+	femmodel->Responsex(poutput_value,this->name);
 
 }
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 16314)
@@ -106,16 +106,16 @@
 		#ifdef _HAVE_CONTROL_
 		virtual void   Gradj(Vector<IssmDouble>* gradient,int control_type,int control_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 IssmDouble ThicknessAbsMisfit(void)=0;
+		virtual IssmDouble SurfaceAbsVelMisfit(void)=0;
+		virtual IssmDouble SurfaceRelVelMisfit(void)=0;
+		virtual IssmDouble SurfaceLogVelMisfit(void)=0;
+		virtual IssmDouble SurfaceLogVxVyMisfit(void)=0;
+		virtual IssmDouble SurfaceAverageVelMisfit(void)=0;
+		virtual IssmDouble ThicknessAbsGradient(void)=0;
+		virtual IssmDouble ThicknessAlongGradient(void)=0;
+		virtual IssmDouble ThicknessAcrossGradient(void)=0;
+		virtual IssmDouble BalancethicknessMisfit(void)=0;
+		virtual IssmDouble RheologyBbarAbsGradient(void)=0;
+		virtual IssmDouble DragCoefficientAbsGradient(void)=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 16313)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 16314)
@@ -6022,5 +6022,5 @@
 			if(IsOnBed()){
 				tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
-				tria->GradjDragGradient(gradient,resp,control_index);
+				tria->GradjDragGradient(gradient,control_index);
 				delete tria->material; delete tria;
 			}
@@ -6029,5 +6029,5 @@
 			if(IsOnBed()){
 				tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
-				tria->GradjBGradient(gradient,resp,control_index);
+				tria->GradjBGradient(gradient,control_index);
 				delete tria->material; delete tria;
 			}
@@ -6417,5 +6417,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceAverageVelMisfit {{{*/
-IssmDouble Penta::SurfaceAverageVelMisfit(int weight_index){
+IssmDouble Penta::SurfaceAverageVelMisfit(void){
 
 	int    approximation;
@@ -6440,5 +6440,5 @@
 		 * and compute SurfaceAverageVelMisfit*/
 		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
-		J=tria->SurfaceAverageVelMisfit(weight_index);
+		J=tria->SurfaceAverageVelMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6447,5 +6447,5 @@
 
 		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
-		J=tria->SurfaceAverageVelMisfit(weight_index);
+		J=tria->SurfaceAverageVelMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6454,5 +6454,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceAbsVelMisfit {{{*/
-IssmDouble Penta::SurfaceAbsVelMisfit(int weight_index){
+IssmDouble Penta::SurfaceAbsVelMisfit(void){
 
 	int    approximation;
@@ -6477,5 +6477,5 @@
 		 * and compute SurfaceAbsVelMisfit*/
 		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
-		J=tria->SurfaceAbsVelMisfit(weight_index);
+		J=tria->SurfaceAbsVelMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6484,5 +6484,5 @@
 
 		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
-		J=tria->SurfaceAbsVelMisfit(weight_index);
+		J=tria->SurfaceAbsVelMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6491,5 +6491,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceLogVelMisfit {{{*/
-IssmDouble Penta::SurfaceLogVelMisfit(int weight_index){
+IssmDouble Penta::SurfaceLogVelMisfit(void){
 
 	int    approximation;
@@ -6514,5 +6514,5 @@
 		 * and compute SurfaceLogVelMisfit*/
 		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
-		J=tria->SurfaceLogVelMisfit(weight_index);
+		J=tria->SurfaceLogVelMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6521,5 +6521,5 @@
 
 		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
-		J=tria->SurfaceLogVelMisfit(weight_index);
+		J=tria->SurfaceLogVelMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6528,5 +6528,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceLogVxVyMisfit {{{*/
-IssmDouble Penta::SurfaceLogVxVyMisfit(int weight_index){
+IssmDouble Penta::SurfaceLogVxVyMisfit(void){
 
 	IssmDouble J;
@@ -6553,5 +6553,5 @@
 		 * and compute SurfaceLogVxVyMisfit*/
 		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
-		J=tria->SurfaceLogVxVyMisfit(weight_index);
+		J=tria->SurfaceLogVxVyMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6560,5 +6560,5 @@
 
 		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
-		J=tria->SurfaceLogVxVyMisfit(weight_index);
+		J=tria->SurfaceLogVxVyMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6567,5 +6567,5 @@
 /*}}}*/
 /*FUNCTION Penta::SurfaceRelVelMisfit {{{*/
-IssmDouble Penta::SurfaceRelVelMisfit(int weight_index){
+IssmDouble Penta::SurfaceRelVelMisfit(void){
 
 	int    approximation;
@@ -6590,5 +6590,5 @@
 		 * and compute SurfaceRelVelMisfit*/
 		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
-		J=tria->SurfaceRelVelMisfit(weight_index);
+		J=tria->SurfaceRelVelMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6597,5 +6597,5 @@
 
 		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
-		J=tria->SurfaceRelVelMisfit(weight_index);
+		J=tria->SurfaceRelVelMisfit();
 		delete tria->material; delete tria;
 		return J;
@@ -6604,5 +6604,5 @@
 /*}}}*/
 /*FUNCTION Penta::ThicknessAbsGradient{{{*/
-IssmDouble Penta::ThicknessAbsGradient(int weight_index){
+IssmDouble Penta::ThicknessAbsGradient(void){
 
 	_error_("Not implemented yet");
@@ -6610,5 +6610,5 @@
 /*}}}*/
 /*FUNCTION Penta::ThicknessAbsMisfit {{{*/
-IssmDouble Penta::ThicknessAbsMisfit(int weight_index){
+IssmDouble Penta::ThicknessAbsMisfit(void){
 
 	int    approximation;
@@ -6624,5 +6624,5 @@
 
 	tria=(Tria*)SpawnTria(0);
-	J=tria->ThicknessAbsMisfit(weight_index);
+	J=tria->ThicknessAbsMisfit();
 	delete tria->material; delete tria;
 	return J;
@@ -6630,5 +6630,5 @@
 /*}}}*/
 /*FUNCTION Penta::DragCoefficientAbsGradient{{{*/
-IssmDouble Penta::DragCoefficientAbsGradient(int weight_index){
+IssmDouble Penta::DragCoefficientAbsGradient(void){
 
 	IssmDouble J;
@@ -6639,5 +6639,5 @@
 
 	tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1
-	J=tria->DragCoefficientAbsGradient(weight_index);
+	J=tria->DragCoefficientAbsGradient();
 	delete tria->material; delete tria;
 	return J;
@@ -6645,5 +6645,5 @@
 /*}}}*/
 /*FUNCTION Penta::RheologyBbarAbsGradient{{{*/
-IssmDouble Penta::RheologyBbarAbsGradient(int weight_index){
+IssmDouble Penta::RheologyBbarAbsGradient(void){
 
 	IssmDouble J;
@@ -6654,5 +6654,5 @@
 
 	tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1
-	J=tria->RheologyBbarAbsGradient(weight_index);
+	J=tria->RheologyBbarAbsGradient();
 	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 16313)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 16314)
@@ -137,5 +137,5 @@
 
 		#ifdef _HAVE_CONTROL_
-		IssmDouble DragCoefficientAbsGradient(int weight_index);
+		IssmDouble DragCoefficientAbsGradient(void);
 		void   GradientIndexing(int* indexing,int control_index);
 		void   Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index);
@@ -151,15 +151,15 @@
 		void   ControlInputScaleGradient(int enum_type,IssmDouble scale);
 		void   ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
-		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");};
+		IssmDouble RheologyBbarAbsGradient(void);
+		IssmDouble ThicknessAbsMisfit(void);
+		IssmDouble SurfaceAbsVelMisfit(void);
+		IssmDouble SurfaceRelVelMisfit(void);
+		IssmDouble SurfaceLogVelMisfit(void);
+		IssmDouble SurfaceLogVxVyMisfit(void);
+		IssmDouble SurfaceAverageVelMisfit(void);
+		IssmDouble ThicknessAbsGradient(void);
+		IssmDouble ThicknessAlongGradient(void){_error_("not supported");};
+		IssmDouble ThicknessAcrossGradient(void){_error_("not supported");};
+		IssmDouble BalancethicknessMisfit(void){_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 16313)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16314)
@@ -3613,5 +3613,5 @@
 #ifdef _HAVE_CONTROL_
 /*FUNCTION Tria::BalancethicknessMisfit{{{*/
-IssmDouble Tria::BalancethicknessMisfit(int weight_index){
+IssmDouble Tria::BalancethicknessMisfit(void){
 
 	/* Intermediaries */
@@ -3820,8 +3820,8 @@
 			break;
 		case DragCoefficientAbsGradientEnum:
-			GradjDragGradient(gradient,resp,control_index);
+			GradjDragGradient(gradient,control_index);
 			break;
 		case RheologyBbarAbsGradientEnum:
-			GradjBGradient(gradient,resp,control_index);
+			GradjBGradient(gradient,control_index);
 			break;
 		default:
@@ -3833,5 +3833,5 @@
 /*}}}*/
 /*FUNCTION Tria::GradjBGradient{{{*/
-void  Tria::GradjBGradient(Vector<IssmDouble>* gradient,int weight_index,int control_index){
+void  Tria::GradjBGradient(Vector<IssmDouble>* gradient,int control_index){
 
 	int        i;
@@ -4073,5 +4073,5 @@
 /*}}}*/
 /*FUNCTION Tria::GradjDragGradient{{{*/
-void  Tria::GradjDragGradient(Vector<IssmDouble>* gradient, int weight_index,int control_index){
+void  Tria::GradjDragGradient(Vector<IssmDouble>* gradient,int control_index){
 
 	int        i;
@@ -4341,5 +4341,5 @@
 /*}}}*/
 /*FUNCTION Tria::RheologyBbarAbsGradient{{{*/
-IssmDouble Tria::RheologyBbarAbsGradient(int weight_index){
+IssmDouble Tria::RheologyBbarAbsGradient(void){
 
 	/* Intermediaries */
@@ -4384,5 +4384,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceAverageVelMisfit {{{*/
-IssmDouble Tria::SurfaceAverageVelMisfit(int weight_index){
+IssmDouble Tria::SurfaceAverageVelMisfit(void){
 
 	IssmDouble Jelem=0,S,Jdet;
@@ -4440,5 +4440,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceLogVelMisfit {{{*/
-IssmDouble Tria::SurfaceLogVelMisfit(int weight_index){
+IssmDouble Tria::SurfaceLogVelMisfit(void){
 
 	IssmDouble Jelem=0.;
@@ -4500,5 +4500,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceLogVxVyMisfit {{{*/
-IssmDouble Tria::SurfaceLogVxVyMisfit(int weight_index){
+IssmDouble Tria::SurfaceLogVxVyMisfit(void){
 
 	IssmDouble Jelem=0, S=0;
@@ -4560,5 +4560,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceAbsVelMisfit {{{*/
-IssmDouble Tria::SurfaceAbsVelMisfit(int weight_index){
+IssmDouble Tria::SurfaceAbsVelMisfit(void){
 
 	IssmDouble Jelem=0;
@@ -4616,5 +4616,5 @@
 /*}}}*/
 /*FUNCTION Tria::SurfaceRelVelMisfit {{{*/
-IssmDouble Tria::SurfaceRelVelMisfit(int weight_index){
+IssmDouble Tria::SurfaceRelVelMisfit(void){
 
 	IssmDouble  Jelem=0;
@@ -4677,5 +4677,5 @@
 /*}}}*/
 /*FUNCTION Tria::ThicknessAbsGradient{{{*/
-IssmDouble Tria::ThicknessAbsGradient(int weight_index){
+IssmDouble Tria::ThicknessAbsGradient(void){
 
 	/* Intermediaries */
@@ -4720,5 +4720,5 @@
 /*}}}*/
 /*FUNCTION Tria::ThicknessAlongGradient{{{*/
-IssmDouble Tria::ThicknessAlongGradient(int weight_index){
+IssmDouble Tria::ThicknessAlongGradient(void){
 
 	/* Intermediaries */
@@ -4771,5 +4771,5 @@
 /*}}}*/
 /*FUNCTION Tria::ThicknessAcrossGradient{{{*/
-IssmDouble Tria::ThicknessAcrossGradient(int weight_index){
+IssmDouble Tria::ThicknessAcrossGradient(void){
 
 	/* Intermediaries */
@@ -4822,5 +4822,5 @@
 /*}}}*/
 /*FUNCTION Tria::ThicknessAbsMisfit {{{*/
-IssmDouble Tria::ThicknessAbsMisfit(int weight_index){
+IssmDouble Tria::ThicknessAbsMisfit(void){
 
 	/*Intermediaries*/
@@ -5139,5 +5139,5 @@
 /*}}}*/
 /*FUNCTION Tria::DragCoefficientAbsGradient{{{*/
-IssmDouble Tria::DragCoefficientAbsGradient(int weight_index){
+IssmDouble Tria::DragCoefficientAbsGradient(void){
 
 	/* Intermediaries */
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 16314)
@@ -134,14 +134,14 @@
 
 		#ifdef _HAVE_CONTROL_
-		IssmDouble DragCoefficientAbsGradient(int weight_index);
+		IssmDouble DragCoefficientAbsGradient(void);
 		void       GradientIndexing(int* indexing,int control_index);
 		void       Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index);
-		void       GradjBGradient(Vector<IssmDouble>* gradient,int weight_index,int control_index);
-		void       GradjDGradient(Vector<IssmDouble>* gradient,int weight_index,int control_index);
+		void       GradjBGradient(Vector<IssmDouble>* gradient,int control_index);
+		void       GradjDGradient(Vector<IssmDouble>* gradient,int control_index);
 		void       GradjBSSA(Vector<IssmDouble>* gradient,int control_index);
 		void       GradjDSSA(Vector<IssmDouble>* gradient,int control_index);
 		void       GradjDragSSA(Vector<IssmDouble>* gradient,int control_index);
 		void       GradjDragFS(Vector<IssmDouble>* gradient,int control_index);
-		void       GradjDragGradient(Vector<IssmDouble>* gradient,int weight_index,int control_index);
+		void       GradjDragGradient(Vector<IssmDouble>* gradient,int control_index);
 		void       GradjDhDtBalancedthickness(Vector<IssmDouble>* gradient,int control_index);
 		void       GradjVxBalancedthickness(Vector<IssmDouble>* gradient,int control_index);
@@ -153,15 +153,15 @@
 		void       ControlInputScaleGradient(int enum_type,IssmDouble scale);
 		void       ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_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);
+		IssmDouble RheologyBbarAbsGradient(void);
+		IssmDouble ThicknessAbsMisfit(void);
+		IssmDouble SurfaceAbsVelMisfit(void);
+		IssmDouble ThicknessAbsGradient(void);
+		IssmDouble ThicknessAlongGradient(void);
+		IssmDouble ThicknessAcrossGradient(void);
+		IssmDouble BalancethicknessMisfit(void);
+		IssmDouble SurfaceRelVelMisfit(void);
+		IssmDouble SurfaceLogVelMisfit(void);
+		IssmDouble SurfaceLogVxVyMisfit(void);
+		IssmDouble SurfaceAverageVelMisfit(void);
 		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 16313)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 16314)
@@ -418,12 +418,12 @@
 }
 /*}}}*/
-void FemModel::Responsex(IssmDouble* responses,const char* response_descriptor,int weight_index){/*{{{*/
+void FemModel::Responsex(IssmDouble* responses,const char* response_descriptor){/*{{{*/
 
 	int response_descriptor_enum=StringToEnumx(response_descriptor);
-	this->Responsex(responses, response_descriptor_enum,weight_index);
-
-}
-/*}}}*/
-void FemModel::Responsex(IssmDouble* responses,int response_descriptor_enum,int weight_index){/*{{{*/
+	this->Responsex(responses, response_descriptor_enum);
+
+}
+/*}}}*/
+void FemModel::Responsex(IssmDouble* responses,int response_descriptor_enum){/*{{{*/
 
 	switch (response_descriptor_enum){
@@ -445,16 +445,16 @@
 		case MassFluxEnum:                 this->MassFluxx(         responses); break;
 		#ifdef _HAVE_CONTROL_
-		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,this,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;
+		case SurfaceAbsVelMisfitEnum:      SurfaceAbsVelMisfitx(responses, elements,nodes, vertices, loads, materials,parameters); break;
+		case SurfaceRelVelMisfitEnum:      SurfaceRelVelMisfitx(responses, elements,nodes, vertices, loads, materials,parameters); break;
+		case SurfaceLogVelMisfitEnum:      SurfaceLogVelMisfitx(responses, elements,nodes, vertices, loads, materials,parameters); break;
+		case SurfaceLogVxVyMisfitEnum:     SurfaceLogVxVyMisfitx(responses, elements,nodes, vertices, loads, materials,parameters); break;
+		case SurfaceAverageVelMisfitEnum:  SurfaceAverageVelMisfitx(responses,this); break;
+		case ThicknessAbsMisfitEnum:       ThicknessAbsMisfitx(responses, elements,nodes, vertices, loads, materials, parameters); break;
+		case ThicknessAbsGradientEnum:     this->ThicknessAbsGradientx(responses); break;
+		case ThicknessAlongGradientEnum:   ThicknessAlongGradientx(responses, elements,nodes, vertices, loads, materials, parameters); break;
+		case ThicknessAcrossGradientEnum:  ThicknessAcrossGradientx(responses, elements,nodes, vertices, loads, materials, parameters); break;
+		case RheologyBbarAbsGradientEnum:  RheologyBbarAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters); break;
+		case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters); break;
+		case BalancethicknessMisfitEnum:   BalancethicknessMisfitx(responses); break;
 		#endif
 		case TotalSmbEnum:					  this->TotalSmbx(responses); break;
@@ -490,17 +490,17 @@
 
 				case IceVolumeEnum:
-					Responsex(&output_value,"IceVolume",0);
+					Responsex(&output_value,"IceVolume");
 					results->AddObject(new GenericExternalResult<double>(results->Size()+1,IceVolumeEnum,reCast<IssmPDouble>(output_value),step,time));
 					break;
 				case IceVolumeAboveFloatationEnum:
-					Responsex(&output_value,"IceVolumeAboveFloatation",0);
+					Responsex(&output_value,"IceVolumeAboveFloatation");
 					results->AddObject(new GenericExternalResult<double>(results->Size()+1,IceVolumeAboveFloatationEnum,reCast<IssmPDouble>(output_value),step,time));
 					break;
 				case TotalSmbEnum:
-					Responsex(&output_value,"TotalSmb",0);
+					Responsex(&output_value,"TotalSmb");
 					results->AddObject(new GenericExternalResult<double>(results->Size()+1,TotalSmbEnum,reCast<IssmPDouble>(output_value),step,time));
 					break;
 				case MaxVelEnum:
-					Responsex(&output_value,"MaxVel",0);
+					Responsex(&output_value,"MaxVel");
 					results->AddObject(new GenericExternalResult<double>(results->Size()+1,MaxVelEnum,reCast<IssmPDouble>(output_value),step,time));
 					break;
@@ -997,5 +997,5 @@
 #endif
 #ifdef _HAVE_CONTROL_
-void FemModel::BalancethicknessMisfitx(IssmDouble* presponse,int weight_index){/*{{{*/
+void FemModel::BalancethicknessMisfitx(IssmDouble* presponse){/*{{{*/
 
 	IssmDouble J = 0;
@@ -1004,5 +1004,5 @@
 	for(int i=0;i<this->elements->Size();i++){
 		Element* element=dynamic_cast<Element*>(this->elements->GetObjectByOffset(i));
-		J+=element->BalancethicknessMisfit(weight_index);
+		J+=element->BalancethicknessMisfit();
 	}
 	ISSM_MPI_Reduce (&J,&J_sum,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() );
@@ -1014,5 +1014,5 @@
 
 }/*}}}*/
-void FemModel::ThicknessAbsGradientx( IssmDouble* pJ, int weight_index){/*{{{*/
+void FemModel::ThicknessAbsGradientx( IssmDouble* pJ){/*{{{*/
 
 	/*Intermediary*/
@@ -1027,5 +1027,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->ThicknessAbsGradient(weight_index);
+		J+=element->ThicknessAbsGradient();
 	}
 
@@ -1056,5 +1056,5 @@
 	//_printf_(true,"list of misfits: ");
 	for(int i=0;i<num_responses;i++){
-		this->Responsex(&Jplus,EnumToStringx(responses[i]),i);
+		this->Responsex(&Jplus,EnumToStringx(responses[i]));
 		//_printf_(true," %12.7g ",Jplus);
 		J+=Jplus;
@@ -1125,5 +1125,5 @@
 			parameters->SetParam(index,IndexEnum);
 
-			this->Responsex(&femmodel_response,root,0);//0 is the index for weights
+			this->Responsex(&femmodel_response,root);
 
 			if(my_rank==0){
@@ -1144,5 +1144,5 @@
 
 			/*perfectly normal response function: */
-			this->Responsex(&femmodel_response,root,0);//0 is the weight index
+			this->Responsex(&femmodel_response,root);
 
 			if(my_rank==0){
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 16314)
@@ -77,5 +77,5 @@
 		void IceVolumeAboveFloatationx(IssmDouble* pV);
 		void ElementResponsex(IssmDouble* presponse,int response_enum);
-		void BalancethicknessMisfitx(IssmDouble* pV,int weight_index);
+		void BalancethicknessMisfitx(IssmDouble* pV);
 		#endif
 		#ifdef  _HAVE_DAKOTA_
@@ -84,9 +84,9 @@
 		void RequestedOutputsx(int* requested_outputs, int numoutputs);
 		void RequestedDependentsx(void);
-		void Responsex(IssmDouble* presponse,int response_descriptor_enum,int weight_index);
-		void Responsex(IssmDouble* presponse,const char* response_descriptor,int weight_index);
+		void Responsex(IssmDouble* presponse,int response_descriptor_enum);
+		void Responsex(IssmDouble* presponse,const char* response_descriptor);
 		#ifdef _HAVE_CONTROL_
 		void CostFunctionx( IssmDouble* pJ);
-		void ThicknessAbsGradientx( IssmDouble* pJ,int weight_index);
+		void ThicknessAbsGradientx( IssmDouble* pJ);
 		#endif
 		#ifdef _HAVE_GIA_
Index: /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp	(revision 16314)
@@ -147,8 +147,5 @@
 	/*Get requested input within dataset*/
 	for(int i=0;i<this->numids;i++) if(this->ids[i]==id) offset=i;
-	if(offset<0){
-		this->Echo();
-		_error_("Could not find input of id "<<id);
-	}
+	if(offset<0) _error_("Could not find input of id "<<id);
 
 	Input* input=dynamic_cast<Input*>(this->inputs->GetObjectByOffset(offset));
@@ -156,13 +153,15 @@
 }
 /*}}}*/
-/*FUNCTION DatasetInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,int index){{{*/
-void DatasetInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,int index){
+/*FUNCTION DatasetInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,int id){{{*/
+void DatasetInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,int id){
 
+	int  offset = -1;
 	_assert_(this->numids == this->inputs->Size());
 
 	/*Get requested input within dataset*/
-	if(index<0 || index > inputs->Size()-1) _error_("index requested (" << index << ") exceeds dataset size (" << inputs->Size() << ")");
-	Input* input=dynamic_cast<Input*>(this->inputs->GetObjectByOffset(index));
+	for(int i=0;i<this->numids;i++) if(this->ids[i]==id) offset=i;
+	if(offset<0) _error_("Could not find input of id "<<id);
 
+	Input* input=dynamic_cast<Input*>(this->inputs->GetObjectByOffset(offset));
 	input->GetInputValue(pvalue,gauss);
 }
Index: /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
+void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->DragCoefficientAbsGradient(weight_index);
+		J+=element->DragCoefficientAbsGradient();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, int weight_index){
+void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->RheologyBbarAbsGradient(weight_index);
+		J+=element->RheologyBbarAbsGradient();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
+void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceAbsVelMisfit(weight_index);
+		J+=element->SurfaceAbsVelMisfit();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp	(revision 16314)
@@ -9,5 +9,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void SurfaceAverageVelMisfitx(IssmDouble* pJ,FemModel* femmodel,int weight_index){
+void SurfaceAverageVelMisfitx(IssmDouble* pJ,FemModel* femmodel){
 
 	/*Intermediary*/
@@ -24,5 +24,5 @@
 	for(int i=0;i<femmodel->elements->Size();i++){
 		element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
-		J+=element->SurfaceAverageVelMisfit(weight_index);
+		J+=element->SurfaceAverageVelMisfit();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceAverageVelMisfitx(IssmDouble* pJ,FemModel* femmodel,int weight_index);
+void SurfaceAverageVelMisfitx(IssmDouble* pJ,FemModel* femmodel);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
+void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceLogVelMisfit(weight_index);
+		J+=element->SurfaceLogVelMisfit();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
+void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceLogVxVyMisfit(weight_index);
+		J+=element->SurfaceLogVxVyMisfit();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
+void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->SurfaceRelVelMisfit(weight_index);
+		J+=element->SurfaceRelVelMisfit();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, int weight_index){
+void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->ThicknessAbsMisfit(weight_index);
+		J+=element->ThicknessAbsMisfit();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
+void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->ThicknessAcrossGradient(weight_index);
+		J+=element->ThicknessAcrossGradient();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
Index: /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp	(revision 16314)
@@ -8,5 +8,5 @@
 #include "../../toolkits/toolkits.h"
 
-void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){
+void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
@@ -21,5 +21,5 @@
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		J+=element->ThicknessAlongGradient(weight_index);
+		J+=element->ThicknessAlongGradient();
 	}
 
Index: /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h	(revision 16313)
+++ /issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h	(revision 16314)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index);
+void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif
