Index: /issm/trunk-jpl/src/c/analyses/control_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/control_core.cpp	(revision 16247)
+++ /issm/trunk-jpl/src/c/analyses/control_core.cpp	(revision 16248)
@@ -21,5 +21,4 @@
 	int        nsteps;
 	IssmDouble tol_cm;
-	bool       cm_gradient;
 	int        dim;
 	int        solution_type;
@@ -54,5 +53,4 @@
 	femmodel->parameters->FindParam(&cm_jump,NULL,InversionStepThresholdEnum);
 	femmodel->parameters->FindParam(&tol_cm,InversionCostFunctionThresholdEnum);
-	femmodel->parameters->FindParam(&cm_gradient,InversionGradientOnlyEnum);
 	femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
@@ -92,10 +90,4 @@
 		gradient_core(femmodel,n,search_scalar==0.);
 
-		/*Return gradient if asked: */
-		if (cm_gradient){
-			InputToResultx(femmodel,GradientEnum);
-			goto cleanup_and_return;
-		}
-
 		if(VerboseControl()) _printf0_("   optimizing along gradient direction\n");
 		optpars.maxiter=reCast<int,IssmDouble>(maxiter[n]); optpars.cm_jump=cm_jump[n];
@@ -126,5 +118,4 @@
 	}
 
-	cleanup_and_return:
 	/*Free ressources: */
 	xDelete<int>(control_type);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp	(revision 16247)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp	(revision 16248)
@@ -37,5 +37,4 @@
 		if(!tao_analysis){
 			parameters->AddObject(iomodel->CopyConstantObject(InversionCostFunctionThresholdEnum));
-			parameters->AddObject(iomodel->CopyConstantObject(InversionGradientOnlyEnum));
 		}
 
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 16247)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 16248)
@@ -127,5 +127,4 @@
 	InversionCostFunctionsCoefficientsEnum,
 	InversionCostFunctionsEnum,
-	InversionGradientOnlyEnum,
 	InversionGradientScalingEnum,
 	InversionIscontrolEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 16247)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 16248)
@@ -135,5 +135,4 @@
 		case InversionCostFunctionsCoefficientsEnum : return "InversionCostFunctionsCoefficients";
 		case InversionCostFunctionsEnum : return "InversionCostFunctions";
-		case InversionGradientOnlyEnum : return "InversionGradientOnly";
 		case InversionGradientScalingEnum : return "InversionGradientScaling";
 		case InversionIscontrolEnum : return "InversionIscontrol";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 16247)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 16248)
@@ -135,11 +135,10 @@
 	      else if (strcmp(name,"InversionCostFunctionsCoefficients")==0) return InversionCostFunctionsCoefficientsEnum;
 	      else if (strcmp(name,"InversionCostFunctions")==0) return InversionCostFunctionsEnum;
-	      else if (strcmp(name,"InversionGradientOnly")==0) return InversionGradientOnlyEnum;
 	      else if (strcmp(name,"InversionGradientScaling")==0) return InversionGradientScalingEnum;
+	      else if (strcmp(name,"InversionIscontrol")==0) return InversionIscontrolEnum;
          else stage=2;
    }
    if(stage==2){
-	      if (strcmp(name,"InversionIscontrol")==0) return InversionIscontrolEnum;
-	      else if (strcmp(name,"InversionTao")==0) return InversionTaoEnum;
+	      if (strcmp(name,"InversionTao")==0) return InversionTaoEnum;
 	      else if (strcmp(name,"InversionIncompleteAdjoint")==0) return InversionIncompleteAdjointEnum;
 	      else if (strcmp(name,"InversionMaxParameters")==0) return InversionMaxParametersEnum;
@@ -260,9 +259,9 @@
 	      else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum;
 	      else if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum;
+	      else if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum;
-	      else if (strcmp(name,"SurfaceforcingsSmbref")==0) return SurfaceforcingsSmbrefEnum;
+	      if (strcmp(name,"SurfaceforcingsSmbref")==0) return SurfaceforcingsSmbrefEnum;
 	      else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum;
 	      else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum;
@@ -383,9 +382,9 @@
 	      else if (strcmp(name,"TransientParam")==0) return TransientParamEnum;
 	      else if (strcmp(name,"Matice")==0) return MaticeEnum;
+	      else if (strcmp(name,"Matpar")==0) return MatparEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"Matpar")==0) return MatparEnum;
-	      else if (strcmp(name,"Node")==0) return NodeEnum;
+	      if (strcmp(name,"Node")==0) return NodeEnum;
 	      else if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
 	      else if (strcmp(name,"NumericalfluxType")==0) return NumericalfluxTypeEnum;
@@ -506,9 +505,9 @@
 	      else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
 	      else if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
+	      else if (strcmp(name,"GiaW")==0) return GiaWEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"GiaW")==0) return GiaWEnum;
-	      else if (strcmp(name,"P0")==0) return P0Enum;
+	      if (strcmp(name,"P0")==0) return P0Enum;
 	      else if (strcmp(name,"P1")==0) return P1Enum;
 	      else if (strcmp(name,"P1DG")==0) return P1DGEnum;
