Index: /issm/trunk-jpl/src/m/classes/inversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.m	(revision 13058)
+++ /issm/trunk-jpl/src/m/classes/inversion.m	(revision 13059)
@@ -90,5 +90,5 @@
 			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:503 377:378]);
+			md = checkfield(md,'inversion.cost_functions','size',[md.inversion.nsteps num_costfunc],'values',[101:105 201 501:505]);
 			md = checkfield(md,'inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
 			md = checkfield(md,'inversion.gradient_only','values',[0 1]);
@@ -174,4 +174,6 @@
 			pos=find(data==502); data(pos)=RheologyBbarAbsGradientEnum();
 			pos=find(data==503); data(pos)=ThicknessAbsGradientEnum();
+			pos=find(data==504); data(pos)=ThicknessAlongGradientEnum();
+			pos=find(data==505); data(pos)=ThicknessAcrossGradientEnum();
 			WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3);
 			WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer');
Index: /issm/trunk-jpl/src/m/classes/inversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.py	(revision 13058)
+++ /issm/trunk-jpl/src/m/classes/inversion.py	(revision 13059)
@@ -129,5 +129,5 @@
 		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,377,378])
+		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])
@@ -184,4 +184,6 @@
 		data[[i for i,item in enumerate(data) if item==502]]=RheologyBbarAbsGradientEnum()
 		data[[i for i,item in enumerate(data) if item==503]]=ThicknessAbsGradientEnum()
+		data[[i for i,item in enumerate(data) if item==504]]=ThicknessAlongGradientEnum()
+		data[[i for i,item in enumerate(data) if item==505]]=ThicknessAcrossGradientEnum()
 		WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3)
 		WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer')
