Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 25317)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 25318)
@@ -232,5 +232,4 @@
 		virtual void       Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters,Inputs2* inputs2in)=0;
 		virtual void       ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp)=0;
-		virtual void       ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index)=0;
 		virtual void       ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp)=0;
 		virtual void       CreateDistanceInputFromSegmentlist(IssmDouble* distances,int distanceenum){_error_("not implemented yet");};
@@ -336,5 +335,4 @@
 		virtual void       SetElementInput(Inputs2* inputs2,int numindices,int* indices,IssmDouble* values,int enum_in){_error_("not implemented yet");};
 		virtual void       SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset,int M,int N)=0;
-		virtual void       SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index)=0;
 		virtual void       SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters)=0;
 		virtual void       SetTemporaryElementType(int element_type_in)=0;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 25317)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 25318)
@@ -423,5 +423,5 @@
 	}
 	else{
-		int               domaintype,index1,index2;
+		int               index1,index2;
 		const IssmPDouble epsilon = 1.e-15;
 		IssmDouble        s1,s2;
@@ -545,5 +545,5 @@
 	}
 	else{
-		int               domaintype,index1,index2;
+		int               index1,index2;
 		const IssmPDouble epsilon = 1.e-15;
 		IssmDouble        s1,s2;
@@ -936,19 +936,4 @@
 }
 /*}}}*/
-void       Penta::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/
-
-	int        idlist[NUMVERTICES];
-	int        vertexlids[NUMVERTICES];
-	IssmDouble grad_list[NUMVERTICES];
-
-	if(enum_type==MaterialsRheologyBbarEnum) enum_type = MaterialsRheologyBEnum;
-	if(enum_type==DamageDbarEnum)            enum_type = DamageDEnum;
-
-	GradientIndexing(&idlist[0],control_index);
-	for(int i=0;i<NUMVERTICES;i++) grad_list[i]=gradient[idlist[i]];
-	for(int i=0;i<NUMVERTICES;i++) vertexlids[i]=this->vertices[i]->lid;
-
-	this->inputs2->SetTriaControlInputGradient(enum_type,P1Enum,NUMVERTICES,&vertexlids[0],&grad_list[0]);
-}/*}}}*/
 void       Penta::ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp){/*{{{*/
 
@@ -2035,5 +2020,5 @@
 	_assert_(!scaled);
 
-	int               domaintype,index1,index2;
+	int               index1,index2;
 	const IssmPDouble epsilon = 1.e-15;
 	IssmDouble        s1,s2;
@@ -2155,5 +2140,5 @@
 	_assert_(!scaled);
 
-	int               domaintype,index1,index2;
+	int               index1,index2;
 	const IssmPDouble epsilon = 1.e-15;
 	IssmDouble        s1,s2;
@@ -3401,20 +3386,4 @@
 	}
 
-	/*Get Domain type*/
-	int domaintype;
-	parameters->FindParam(&domaintype,DomainTypeEnum);
-
-	/*Specific case for depth averaged quantities*/
-	if(domaintype==Domain2DverticalEnum){
-		if(control_enum==MaterialsRheologyBbarEnum){
-			control_enum=MaterialsRheologyBEnum;
-			if(!IsOnBase()) return;
-		}
-		if(control_enum==DamageDbarEnum){
-			control_enum=DamageDEnum;
-			if(!IsOnBase()) return;
-		}
-	}
-
 	/*Get out if this is not an element input*/
 	if(!IsInputEnum(control_enum)) return;
@@ -3448,62 +3417,4 @@
 
 	/*Extrude depending on the control*/
-	if(control_init==MaterialsRheologyBbarEnum){
-		this->ControlInputExtrude(control_enum,-1);
-	}
-	if(control_init==DamageDbarEnum){
-		this->ControlInputExtrude(control_enum,-1);
-	}
-}
-/*}}}*/
-void       Penta::SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){/*{{{*/
-
-	_error_("not needed anymore?");
-
-	IssmDouble  values[NUMVERTICES];
-	int         lidlist[NUMVERTICES];
-	int         idlist[NUMVERTICES],control_init;
-
-	/*Specific case for depth averaged quantities*/
-	control_init=control_enum;
-	if(control_enum==MaterialsRheologyBbarEnum){
-		control_enum=MaterialsRheologyBEnum;
-		if(!IsOnBase()) return;
-	}
-	if(control_enum==DamageDbarEnum){
-		control_enum=DamageDEnum;
-		if(!IsOnBase()) return;
-	}
-
-	/*Get Domain type*/
-	int domaintype;
-	parameters->FindParam(&domaintype,DomainTypeEnum);
-
-	/*Specific case for depth averaged quantities*/
-	if(domaintype==Domain2DverticalEnum){
-		if(control_enum==MaterialsRheologyBbarEnum){
-			control_enum=MaterialsRheologyBEnum;
-			if(!IsOnBase()) return;
-		}
-		if(control_enum==DamageDbarEnum){
-			control_enum=DamageDEnum;
-			if(!IsOnBase()) return;
-		}
-	}
-
-	/*Get out if this is not an element input*/
-	if(!IsInputEnum(control_enum)) return;
-
-	/*prepare index list*/
-	this->GetVerticesLidList(&lidlist[0]);
-	GradientIndexing(&idlist[0],control_index);
-
-	/*Get values on vertices*/
-	for(int i=0;i<NUMVERTICES;i++){
-		values[i]=vector[idlist[i]];
-	}
-
-	/*Set Input*/
-	ElementInput2* input=this->inputs2->GetControlInput2Data(control_enum,"value");   _assert_(input);
-	input->SetInput(P1Enum,NUMVERTICES,&lidlist[0],&values[0]);
 	if(control_init==MaterialsRheologyBbarEnum){
 		this->ControlInputExtrude(control_enum,-1);
@@ -3900,5 +3811,5 @@
 	_assert_(!scaled);
 
-	int               domaintype,index1,index2;
+	int               index1,index2;
 	const IssmPDouble epsilon = 1.e-15;
 	IssmDouble        s1,s2;
@@ -4018,5 +3929,5 @@
 	_assert_(!scaled);
 
-	int               domaintype,index1,index2;
+	int               index1,index2;
 	const IssmPDouble epsilon = 1.e-15;
 	IssmDouble        s1,s2;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 25317)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 25318)
@@ -64,5 +64,4 @@
 		void           Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters,Inputs2* inputs2in);
 		void           ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp);
-		void           ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
 		void           ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp);
 		void				CreateDistanceInputFromSegmentlist(IssmDouble* distances,int distanceenum);
@@ -168,5 +167,4 @@
 		void           SetElementInput(Inputs2* inputs2,int numindices,int* indices,IssmDouble* values,int enum_in);
 		void           SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset, int M,int N);
-		void           SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index);
 		void           SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
 		void           SetTemporaryElementType(int element_type_in);
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 25317)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 25318)
@@ -51,5 +51,4 @@
 		void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters,Inputs2* inputs2in){_error_("not implemented yet");};
 		void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp){_error_("not implemented yet");};
-		void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");};
 		void        ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp){_error_("not implemented yet");};
 		void        ElementResponse(IssmDouble* presponse,int response_enum){_error_("not implemented yet");};
@@ -135,5 +134,4 @@
 		void        ResetHooks(){_error_("not implemented yet");};
 		void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset,int M,int N){_error_("not implemented yet");};
-		void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");};
 		void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters){_error_("not implemented yet");};
 		void        SetTemporaryElementType(int element_type_in){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 25317)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 25318)
@@ -49,5 +49,4 @@
 		void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters,Inputs2* inputs2in);
 		void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp){_error_("not implemented yet");};
-		void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");};
 		void        ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp){_error_("not implemented yet");};
 		IssmDouble  DragCoefficientAbsGradient(void){_error_("not implemented yet");};
@@ -141,5 +140,4 @@
 		void        ReduceMatrices(ElementMatrix* Ke,ElementVector* pe);
 		void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset,int M, int N){_error_("not implemented yet");};
-		void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");};
 		void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
 		void        SetTemporaryElementType(int element_type_in){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 25317)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 25318)
@@ -1131,18 +1131,4 @@
 	}
 	else _error_("Type not supported");
-
-}/*}}}*/
-void       Tria::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/
-	_error_("NOT NEEDED ANYMORE (remove)");
-
-	int        idlist[NUMVERTICES];
-	int        vertexlids[NUMVERTICES];
-	IssmDouble grad_list[NUMVERTICES];
-
-	GradientIndexing(&idlist[0],control_index);
-	for(int i=0;i<NUMVERTICES;i++) grad_list[i]=gradient[idlist[i]];
-	for(int i=0;i<NUMVERTICES;i++) vertexlids[i]=this->vertices[i]->lid;
-
-	this->inputs2->SetTriaControlInputGradient(enum_type,P1Enum,NUMVERTICES,&vertexlids[0],&grad_list[0]);
 
 }/*}}}*/
@@ -4005,43 +3991,4 @@
 	}
 	else _error_("Type not supported");
-}
-/*}}}*/
-void       Tria::SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){/*{{{*/
-
-	IssmDouble  values[NUMVERTICES];
-	int         idlist[NUMVERTICES];
-	int         lidlist[NUMVERTICES];
-
-	/*Get Domain type*/
-	int domaintype;
-	parameters->FindParam(&domaintype,DomainTypeEnum);
-
-	/*Specific case for depth averaged quantities*/
-	if(domaintype==Domain2DverticalEnum){
-		if(control_enum==MaterialsRheologyBbarEnum){
-			control_enum=MaterialsRheologyBEnum;
-			if(!IsOnBase()) return;
-		}
-		if(control_enum==DamageDbarEnum){
-			control_enum=DamageDEnum;
-			if(!IsOnBase()) return;
-		}
-	}
-
-	/*Get out if this is not an element input*/
-	if(!IsInputEnum(control_enum)) return;
-
-	/*prepare index list*/
-	this->GetVerticesLidList(&lidlist[0]);
-	GradientIndexing(&idlist[0],control_index);
-
-	/*Get values on vertices*/
-	for(int i=0;i<NUMVERTICES;i++){
-		values[i]=vector[idlist[i]];
-	}
-
-	/*Set Input*/
-	ElementInput2* input=this->inputs2->GetControlInput2Data(control_enum,"value");   _assert_(input);
-	input->SetInput(P1Enum,NUMVERTICES,&lidlist[0],&values[0]);
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 25317)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 25318)
@@ -67,5 +67,4 @@
 		void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters,Inputs2* inputs2in);
 		void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp);
-		void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
 		void        ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp);
 		void        CreateDistanceInputFromSegmentlist(IssmDouble* distances,int distanceenum);
@@ -131,5 +130,4 @@
 		void        SetElementInput(Inputs2* inputs2,int numindices,int* indices,IssmDouble* values,int enum_in);
 		void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset,int M,int N);
-		void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index);
 		void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
 	   Element*    SpawnBasalElement(bool depthaverage_materials);
