Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 18133)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 18134)
@@ -402,6 +402,4 @@
 					./modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h\
 					./modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp\
-					./modules/Orthx/Orthx.h\
-					./modules/Orthx/Orthx.cpp\
 					./modules/Gradjx/Gradjx.h\
 					./modules/Gradjx/Gradjx.cpp\
@@ -421,5 +419,4 @@
 					./cores/controlm1qn3_core.cpp\
 					./cores/controlvalidation_core.cpp\
-					./cores/gradient_core.cpp\
 					./cores/adjointstressbalance_core.cpp\
 					./cores/adjointbalancethickness_core.cpp\
Index: /issm/trunk-jpl/src/c/cores/control_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/control_core.cpp	(revision 18133)
+++ /issm/trunk-jpl/src/c/cores/control_core.cpp	(revision 18134)
@@ -11,4 +11,5 @@
 
 /*Local prototypes*/
+/*{{{*/
 IssmDouble FormFunction(IssmDouble* X,void* usr);
 IssmDouble FormFunctionGradient(IssmDouble** pG,IssmDouble* X,void* usr);
@@ -17,6 +18,7 @@
 	int       nsize;
 } AppCtx;
-
-void control_core(FemModel* femmodel){
+/*}}}*/
+
+void control_core(FemModel* femmodel){/*{{{*/
 
 	int     i;
@@ -122,7 +124,6 @@
 	xDelete<IssmDouble>(J);
 	xDelete<IssmDouble>(X0);
-}
-
-IssmDouble FormFunction(IssmDouble* X,void* usrvoid){
+}/*}}}*/
+IssmDouble FormFunction(IssmDouble* X,void* usrvoid){/*{{{*/
 
 	/*output: */
@@ -193,6 +194,6 @@
 	xDelete<IssmDouble>(Jlist);
 	return J;
-}
-IssmDouble FormFunctionGradient(IssmDouble** pG,IssmDouble* X,void* usrvoid){
+}/*}}}*/
+IssmDouble FormFunctionGradient(IssmDouble** pG,IssmDouble* X,void* usrvoid){/*{{{*/
 
 	/*output: */
@@ -300,3 +301,3 @@
 	*pG = G;
 	return J;
-}
+}/*}}}*/
Index: /issm/trunk-jpl/src/c/cores/cores.h
===================================================================
--- /issm/trunk-jpl/src/c/cores/cores.h	(revision 18133)
+++ /issm/trunk-jpl/src/c/cores/cores.h	(revision 18134)
@@ -19,5 +19,4 @@
 void adjointbalancethickness_core(FemModel* femmodel);
 void adjointbalancethickness2_core(FemModel* femmodel);
-void gradient_core(FemModel* femmodel,int n=0,bool orthogonalize=false);
 void stressbalance_core(FemModel* femmodel);
 void hydrology_core(FemModel* femmodel);
Index: sm/trunk-jpl/src/c/cores/gradient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/gradient_core.cpp	(revision 18133)
+++ 	(revision )
@@ -1,48 +1,0 @@
-/*!\file:  gradient_core.cpp
- * \brief compute inverse method gradient direction.
- */ 
-
-#include "./cores.h"
-#include "../toolkits/toolkits.h"
-#include "../classes/classes.h"
-#include "../shared/shared.h"
-#include "../modules/modules.h"
-#include "../solutionsequences/solutionsequences.h"
-
-void gradient_core(FemModel* femmodel,int step,bool orthogonalize){ 
-
-	/*Intermediaries*/
-	IssmDouble  norm_inf;
-	IssmDouble *norm_list    = NULL;
-	Vector<IssmDouble>*     new_gradient = NULL;
-	Vector<IssmDouble>*     gradient     = NULL;
-	Vector<IssmDouble>*     old_gradient = NULL;
-
-	/*Compute gradient*/
-	if(VerboseControl()) _printf0_("   compute cost function gradient\n");
-	Gradjx(&gradient,&norm_list,femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters);
-
-	if (orthogonalize){
-		if(VerboseControl()) _printf0_("   orthogonalization\n");
-		ControlInputGetGradientx(&old_gradient,femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters);
-		Orthx(&new_gradient,gradient,old_gradient); delete old_gradient; delete gradient;
-	}
-	else{ 
-		new_gradient=gradient;
-	}
-
-	/*Check that gradient is clean*/
-	norm_inf=new_gradient->Norm(NORM_INF);
-	if(norm_inf<=0)    _error_("||∂J/∂α||∞ = 0    gradient norm is zero");
-	if(xIsNan<IssmDouble>(norm_inf))_error_("||∂J/∂α||∞ = NaN  gradient norm is NaN");
-
-	/*plug back into inputs: */
-	ControlInputSetGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,new_gradient);
-	delete new_gradient;
-
-	/*Scale Gradients*/
-	ControlInputScaleGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,norm_list,step);
-
-	/*Clean up and return*/
-	xDelete<IssmDouble>(norm_list);
-}
Index: /issm/trunk-jpl/src/c/modules/Gradjx/Gradjx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Gradjx/Gradjx.cpp	(revision 18133)
+++ /issm/trunk-jpl/src/c/modules/Gradjx/Gradjx.cpp	(revision 18134)
@@ -50,6 +50,4 @@
 		delete gradient_list[i];
 	}
-	//gradient->Echo();
-	//_error_("S");
 
 	/*Check that gradient is clean*/
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 18133)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 18134)
@@ -68,5 +68,4 @@
 #include "./NodeConnectivityx/NodeConnectivityx.h"
 #include "./NodesDofx/NodesDofx.h"
-#include "./Orthx/Orthx.h"
 #include "./OutputDefinitionsResponsex/OutputDefinitionsResponsex.h"
 #include "./OutputResultsx/OutputResultsx.h"
