Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 18134)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 18135)
@@ -376,10 +376,6 @@
 					./cores/thermal_core.cpp\
 					./solutionsequences/solutionsequence_thermal_nonlinear.cpp\
-					./modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp\
-					./modules/ControlInputGetGradientx/ControlInputGetGradientx.h\
 					./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp\
 					./modules/ControlInputSetGradientx/ControlInputSetGradientx.h\
-					./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.cpp\
-					./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.h\
 					./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp\
 					./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h\
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 18134)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 18135)
@@ -270,7 +270,5 @@
 		#endif
 
-		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;
-		virtual void   ControlInputScaleGradient(int enum_type, IssmDouble scale)=0;
 		virtual void   ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum)=0;
 		virtual void   GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data)=0;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 18134)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 18135)
@@ -2690,45 +2690,4 @@
 #endif
 
-void       Penta::ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){/*{{{*/
-
-	int vertexpidlist[NUMVERTICES];
-	Input* input=NULL;
-
-	if(enum_type==MaterialsRheologyBbarEnum){
-		if(!IsOnBase()) return;
-		input=(Input*)inputs->GetInput(MaterialsRheologyBEnum);
-	}
-	else if(enum_type==DamageDbarEnum){
-		if(!IsOnBase()) return;
-		input=(Input*)inputs->GetInput(DamageDEnum);
-	}
-	else{
-		input=inputs->GetInput(enum_type);
-	}
-	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
-
-	GradientIndexing(&vertexpidlist[0],control_index);
-	((ControlInput*)input)->GetGradient(gradient,&vertexpidlist[0]);
-
-}/*}}}*/
-void       Penta::ControlInputScaleGradient(int enum_type,IssmDouble scale){/*{{{*/
-
-	Input* input=NULL;
-
-	if(enum_type==MaterialsRheologyBbarEnum){
-		input=(Input*)inputs->GetInput(MaterialsRheologyBEnum);
-	}
-	else if(enum_type==DamageDbarEnum){
-		input=(Input*)inputs->GetInput(DamageDEnum);
-	}
-	else{
-		input=inputs->GetInput(enum_type);
-	}
-	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
-
-	((ControlInput*)input)->ScaleGradient(scale);
-}/*}}}*/
 void       Penta::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 18134)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 18135)
@@ -122,6 +122,4 @@
 		void   GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data);
 		void   SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index);
-		void   ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index);
-		void   ControlInputScaleGradient(int enum_type,IssmDouble scale);
 		void   ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
 		void   ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum);
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 18134)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 18135)
@@ -158,6 +158,4 @@
 		void       GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data){_error_("not implemented yet");};
 		void       SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");};
-		void       ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){_error_("not implemented yet");};
-		void       ControlInputScaleGradient(int enum_type,IssmDouble scale){_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){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 18134)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 18135)
@@ -164,6 +164,4 @@
 		void       GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data){_error_("not implemented yet");};
 		void       SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");};
-		void       ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){_error_("not implemented yet");};
-		void       ControlInputScaleGradient(int enum_type,IssmDouble scale){_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){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 18134)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 18135)
@@ -2605,24 +2605,4 @@
 }
 /*}}}*/
-void       Tria::ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){/*{{{*/
-
-	int vertexpidlist[NUMVERTICES];
-
-	Input* input=inputs->GetInput(enum_type);
-	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
-
-	GradientIndexing(&vertexpidlist[0],control_index);
-	((ControlInput*)input)->GetGradient(gradient,&vertexpidlist[0]);
-
-}/*}}}*/
-void       Tria::ControlInputScaleGradient(int enum_type,IssmDouble scale){/*{{{*/
-
-	Input* input=inputs->GetInput(enum_type);
-	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
-
-	((ControlInput*)input)->ScaleGradient(scale);
-}/*}}}*/
 void       Tria::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 18134)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 18135)
@@ -127,6 +127,4 @@
 		void       GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data);
 		void       SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index);
-		void       ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index);
-		void       ControlInputScaleGradient(int enum_type,IssmDouble scale);
 		void       ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
 		void       ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum);
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 18134)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 18135)
@@ -16,7 +16,5 @@
 #include "./ContourToMeshx/ContourToMeshx.h"
 #include "./ContourToNodesx/ContourToNodesx.h"
-#include "./ControlInputGetGradientx/ControlInputGetGradientx.h"
 #include "./ControlInputSetGradientx/ControlInputSetGradientx.h"
-#include "./ControlInputScaleGradientx/ControlInputScaleGradientx.h"
 #include "./CreateNodalConstraintsx/CreateNodalConstraintsx.h"
 #include "./CreateJacobianMatrixx/CreateJacobianMatrixx.h"
