Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16592)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16593)
@@ -2882,10 +2882,6 @@
 	if(NoIceInElement())return 0;
 
-	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
-
-	/*First calculate the area of the base (cross section triangle)
-	 * http://en.wikipedia.org/wiki/Triangle
-	 * base = 1/2 abs((xA-xC)(yB-yA)-(xA-xB)(yC-yA))*/
-	base = 1./2. * fabs((xyz_list[0][0]-xyz_list[2][0])*(xyz_list[1][1]-xyz_list[0][1]) - (xyz_list[0][0]-xyz_list[1][0])*(xyz_list[2][1]-xyz_list[0][1]));
+	/*First get back the area of the base*/
+	base=this->GetArea();
 
 	/*Now get the average height*/
@@ -2896,5 +2892,12 @@
 
 	/*Return: */
-	return base*(surface-bed);
+	int meshtype;
+	parameters->FindParam(&meshtype,MeshTypeEnum);
+	if(meshtype==Mesh2DverticalEnum){
+	  return base;
+	}
+	else{
+	  return base*(surface-bed);
+	}
 }
 /*}}}*/
@@ -3774,4 +3777,5 @@
 	/*Retrieve all inputs and parameters*/
 	rho_water = matpar->GetRhoWater();
+	rho_ice = matpar->GetRhoIce();
 	gravity   = matpar->GetG();
 	GetZeroLevelsetCoordinates(&xyz_list_front[0][0],xyz_list,MaskIceLevelsetEnum);
