Index: /issm/trunk-jpl/src/m/classes/inversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.m	(revision 16248)
+++ /issm/trunk-jpl/src/m/classes/inversion.m	(revision 16249)
@@ -19,5 +19,4 @@
 		max_parameters              = NaN
 		step_threshold              = NaN
-		gradient_only               = 0
 		vx_obs                      = NaN
 		vy_obs                      = NaN
@@ -50,5 +49,4 @@
 						obj.step_threshold              = .99*ones(in.nsteps,1);
 						obj.vx_obs                      = in.vx_obs;
-						obj.gradient_only               = 0;
 						obj.vy_obs                      = in.vy_obs;
 						obj.vz_obs                      = in.vz_obs;
@@ -95,7 +93,4 @@
 			obj.step_threshold=.7*ones(obj.nsteps,1); %30 per cent decrement.
 
-			%stop control solution at the gradient computation and return it? 
-			obj.gradient_only=0;
-
 			%cost_function_threshold is a criteria to stop the control methods.
 			%if J[n]-J[n-1]/J[n] < criteria, the control run stops
@@ -117,10 +112,9 @@
 			md = checkfield(md,'inversion.control_parameters','cell',1,'values',...
 				{'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar' 'Vx' 'Vy' 'Thickness'});
-			%md = checkfield(md,'inversion.nsteps','numel',1,'>=',1);
+			md = checkfield(md,'inversion.nsteps','numel',1,'>=',0);
 			md = checkfield(md,'inversion.maxiter_per_step','size',[md.inversion.nsteps 1],'>=',0);
 			md = checkfield(md,'inversion.step_threshold','size',[md.inversion.nsteps 1]);
 			md = checkfield(md,'inversion.cost_functions','size',[md.inversion.nsteps num_costfunc],'values',[101:105 201 501:506]);
 			md = checkfield(md,'inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
-			md = checkfield(md,'inversion.gradient_only','values',[0 1]);
 			md = checkfield(md,'inversion.gradient_scaling','size',[md.inversion.nsteps num_controls]);
 			md = checkfield(md,'inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
@@ -157,5 +151,4 @@
 			fielddisplay(obj,'min_parameters','absolute minimum acceptable value of the inversed parameter on each vertex');
 			fielddisplay(obj,'max_parameters','absolute maximum acceptable value of the inversed parameter on each vertex');
-			fielddisplay(obj,'gradient_only','stop control method solution at gradient');
 			fielddisplay(obj,'vx_obs','observed velocity x component [m/yr]');
 			fielddisplay(obj,'vy_obs','observed velocity y component [m/yr]');
@@ -189,5 +182,4 @@
 			WriteData(fid,'object',obj,'fieldname','max_parameters','format','DoubleMat','mattype',3);
 			WriteData(fid,'object',obj,'fieldname','step_threshold','format','DoubleMat','mattype',3);
-			WriteData(fid,'object',obj,'fieldname','gradient_only','format','Boolean');
 			WriteData(fid,'object',obj,'fieldname','vx_obs','format','DoubleMat','mattype',1,'scale',1./yts);
 			WriteData(fid,'object',obj,'fieldname','vy_obs','format','DoubleMat','mattype',1,'scale',1./yts);
Index: /issm/trunk-jpl/src/m/classes/inversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.py	(revision 16248)
+++ /issm/trunk-jpl/src/m/classes/inversion.py	(revision 16249)
@@ -29,5 +29,4 @@
 		self.max_parameters              = float('NaN')
 		self.step_threshold              = float('NaN')
-		self.gradient_only               = 0
 		self.vx_obs                      = float('NaN')
 		self.vy_obs                      = float('NaN')
@@ -54,5 +53,4 @@
 		string="%s\n%s"%(string,fielddisplay(self,'min_parameters','absolute minimum acceptable value of the inversed parameter on each vertex'))
 		string="%s\n%s"%(string,fielddisplay(self,'max_parameters','absolute maximum acceptable value of the inversed parameter on each vertex'))
-		string="%s\n%s"%(string,fielddisplay(self,'gradient_only','stop control method solution at gradient'))
 		string="%s\n%s"%(string,fielddisplay(self,'vx_obs','observed velocity x component [m/yr]'))
 		string="%s\n%s"%(string,fielddisplay(self,'vy_obs','observed velocity y component [m/yr]'))
@@ -102,7 +100,4 @@
 		self.step_threshold=.7*numpy.ones(self.nsteps) #30 per cent decrement
 
-		#stop control solution at the gradient computation and return it? 
-		self.gradient_only=0
-
 		#cost_function_threshold is a criteria to stop the control methods.
 		#if J[n]-J[n-1]/J[n] < criteria, the control run stops
@@ -125,10 +120,9 @@
 		md = checkfield(md,'inversion.incomplete_adjoint','values',[0,1])
 		md = checkfield(md,'inversion.control_parameters','cell',1,'values',['BalancethicknessThickeningRate','FrictionCoefficient','MaterialsRheologyBbar','DamageDbar','Vx','Vy'])
-		md = checkfield(md,'inversion.nsteps','numel',[1],'>=',1)
+		md = checkfield(md,'inversion.nsteps','numel',[1],'>=',0)
 		md = checkfield(md,'inversion.maxiter_per_step','size',[md.inversion.nsteps],'>=',0)
 		md = checkfield(md,'inversion.step_threshold','size',[md.inversion.nsteps])
 		md = checkfield(md,'inversion.cost_functions','size',[md.inversion.nsteps,num_costfunc],'values',[101,102,103,104,105,201,501,502,503,504,505])
 		md = checkfield(md,'inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices,num_costfunc],'>=',0)
-		md = checkfield(md,'inversion.gradient_only','values',[0,1])
 		md = checkfield(md,'inversion.gradient_scaling','size',[md.inversion.nsteps,num_controls])
 		md = checkfield(md,'inversion.min_parameters','size',[md.mesh.numberofvertices,num_controls])
@@ -165,5 +159,4 @@
 		WriteData(fid,'object',self,'fieldname','max_parameters','format','DoubleMat','mattype',3)
 		WriteData(fid,'object',self,'fieldname','step_threshold','format','DoubleMat','mattype',3)
-		WriteData(fid,'object',self,'fieldname','gradient_only','format','Boolean')
 		WriteData(fid,'object',self,'fieldname','vx_obs','format','DoubleMat','mattype',1,'scale',1./yts)
 		WriteData(fid,'object',self,'fieldname','vy_obs','format','DoubleMat','mattype',1,'scale',1./yts)
Index: /issm/trunk-jpl/src/m/classes/taoinversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/taoinversion.m	(revision 16248)
+++ /issm/trunk-jpl/src/m/classes/taoinversion.m	(revision 16249)
@@ -75,5 +75,5 @@
 			md = checkfield(md,'inversion.control_parameters','cell',1,'values',...
 				{'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'MaterialsRheologyZbar' 'Vx' 'Vy' 'Thickness'});
-			%md = checkfield(md,'inversion.nsteps','numel',1,'>=',1);
+			md = checkfield(md,'inversion.nsteps','numel',1,'>=',0);
 			md = checkfield(md,'inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506]);
 			md = checkfield(md,'inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 16248)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 16249)
@@ -127,5 +127,4 @@
 def InversionCostFunctionsCoefficientsEnum(): return StringToEnum("InversionCostFunctionsCoefficients")[0]
 def InversionCostFunctionsEnum(): return StringToEnum("InversionCostFunctions")[0]
-def InversionGradientOnlyEnum(): return StringToEnum("InversionGradientOnly")[0]
 def InversionGradientScalingEnum(): return StringToEnum("InversionGradientScaling")[0]
 def InversionIscontrolEnum(): return StringToEnum("InversionIscontrol")[0]
Index: sm/trunk-jpl/src/m/enum/InversionGradientOnlyEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/InversionGradientOnlyEnum.m	(revision 16248)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=InversionGradientOnlyEnum()
-%INVERSIONGRADIENTONLYENUM - Enum of InversionGradientOnly
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
-%            Please read src/c/shared/Enum/README for more information
-%
-%   Usage:
-%      macro=InversionGradientOnlyEnum()
-
-macro=StringToEnum('InversionGradientOnly');
Index: /issm/trunk-jpl/src/m/enum/ThermalIsdynamicbasalspcEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/ThermalIsdynamicbasalspcEnum.m	(revision 16249)
+++ /issm/trunk-jpl/src/m/enum/ThermalIsdynamicbasalspcEnum.m	(revision 16249)
@@ -0,0 +1,11 @@
+function macro=ThermalIsdynamicbasalspcEnum()
+%THERMALISDYNAMICBASALSPCENUM - Enum of ThermalIsdynamicbasalspc
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=ThermalIsdynamicbasalspcEnum()
+
+macro=StringToEnum('ThermalIsdynamicbasalspc');
