Index: /issm/trunk/src/m/classes/public/parameterize.m
===================================================================
--- /issm/trunk/src/m/classes/public/parameterize.m	(revision 1101)
+++ /issm/trunk/src/m/classes/public/parameterize.m	(revision 1102)
@@ -35,5 +35,10 @@
 catch me,
 	system('rm TemporaryParameterFile.m');
+
+	%remove last error misleading
 	me2=struct('message',me.message,'stack',me.stack);
+	me2.stack(end)=[];
+
+	%rename parameter file
 	for i=1:length(me2.stack)
 		if (length(me2.stack(i).file)>=24 & strcmp(me2.stack(i).file(end-23:end),'TemporaryParameterFile.m'))
@@ -44,4 +49,6 @@
 		end
 	end
+
+	%throw error message
 	rethrow(me2);
 end
Index: /issm/trunk/src/m/classes/public/thicknessevolution.m
===================================================================
--- /issm/trunk/src/m/classes/public/thicknessevolution.m	(revision 1101)
+++ /issm/trunk/src/m/classes/public/thicknessevolution.m	(revision 1102)
@@ -10,12 +10,12 @@
 
 if (length(md.vx)~=md.numberofgrids)|(length(md.vy)~=md.numberofgrids)
-	error('thicknessevolution error message: velocity empty')
+	error(['thicknessevolution error message: vx and vy should have a length of ' num2str(md.numberofgrids)])
 end
 
 %load some variables (it is much faster if the variab;es are loaded from md once for all) 
 numberofelements=md.numberofelements;
-H=md.thickness;
-vx=md.vx;
-vy=md.vy;
+H=averaging(md,md.thickness,3);
+vx=averaging(md,md.vx,3);
+vy=averaging(md,md.vy,3);
 index=md.elements;
 x=md.x; y=md.y;
@@ -39,4 +39,5 @@
 
 %compute dhdt=div(Hu)
-Hvx=H.*vx; Hvy=H.*vy;
-dhdt=-sum(Hvx(index).*alpha,2)-sum(Hvy(index).*beta,2);
+dhdt=(vx(index)*summation).*sum( H(index).*alpha,2) + (vy(index)*summation).*sum(H(index).*beta,2) ...
+	+ ( H(index)*summation).*sum(vx(index).*alpha,2) + ( H(index)*summation).*sum(vy(index).*beta,2);
+dhdt=-dhdt;
