Index: /issm/trunk/src/m/model/misfit.m
===================================================================
--- /issm/trunk/src/m/model/misfit.m	(revision 8210)
+++ /issm/trunk/src/m/model/misfit.m	(revision 8211)
@@ -3,15 +3,36 @@
 %
 %   Usage:
-%      J=misfti(md)
+%      J=misfit(md)
 %
 %   Example:
-%      J=misfti(md)
+%      J=misfit(md)
 %
 
 
-areas=GetAreas(md.elements,md.x,md.y);
+if md.dim==2,
+	elements=md.elements;
+	x=md.x;
+	y=md.y;
+	vx=md.vx;
+	vy=md.vy;
+	vx_obs=md.vx_obs;
+	vy_obs=md.vy_obs;
+else
+	elements=md.elements2d;
+	x=md.x2d;
+	y=md.y2d;
+	vx=project2d(md,md.vx,md.numlayers);
+	vy=project2d(md,md.vy,md.numlayers);
+	vx_obs=project2d(md,md.vx_obs,md.numlayers);
+	vy_obs=project2d(md,md.vy_obs,md.numlayers);
+end
 
-deltav=1/2*(   (md.vx-md.vx_obs).^2+(md.vy-md.vy_obs).^2)/md.yts^2;
-deltav_elem=deltav(md.elements)*[1;1;1]/3;
+%compute areas;
+areas=GetAreas(elements,x,y);
 
+%compute delta v on elements
+deltav=1/2*(   (vx-vx_obs).^2+(vy-vy_obs).^2)/md.yts^2;
+deltav_elem=deltav(elements)*[1;1;1]/3;
+
+%compute misfit
 J=sum(deltav_elem.*areas);
