Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24940)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24941)
@@ -5335,6 +5335,6 @@
 	this->parameters->FindParam(&gsize,MeshNumberofverticesEnum);
 
-	/*compute area of element:*/
-	area=GetAreaSpherical();
+	/*Get area of element: precomputed in the sealevelrise_core_geometry:*/
+	this->GetInput2Value(&area,AreaEnum);
 
 	/*element centroid (spherical): */
@@ -5455,6 +5455,6 @@
 		IssmDouble area;
 
-		/*Compute area of element:*/
-		area=GetAreaSpherical();
+		/*Get area of element:*/
+		this->GetInput2Value(&area,AreaEnum);
 
 		/*Average Sg over vertices:*/
@@ -5479,5 +5479,5 @@
 	/*Compute area of element:*/
 	IssmDouble area,eartharea;
-	area=GetAreaSpherical();
+	this->GetInput2Value(&area,AreaEnum);
 
 	/*recover earth area: */
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 24940)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 24941)
@@ -4640,9 +4640,4 @@
 	ns = elements->Size();
 
-	/*First, figure out the surface area of Earth: */
-	for(int i=0;i<ns;i++){
-		Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
-	}
-
 	/*Figure out max of ns: */
 	ISSM_MPI_Reduce(&ns,&nsmax,1,ISSM_MPI_INT,ISSM_MPI_MAX,0,IssmComm::GetComm());
@@ -4694,4 +4689,5 @@
 	IssmDouble  eustatic_cpu   = 0.;
 	IssmDouble  eustatic_cpu_e = 0.;
+	IssmDouble  area      = 0.;
 	IssmDouble  oceanarea      = 0.;
 	IssmDouble  oceanarea_cpu  = 0.;
@@ -4707,5 +4703,5 @@
 	for(int i=0;i<elements->Size();i++){
 		Element*   element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
-		IssmDouble area=element->GetAreaSpherical();
+		element->GetInput2Value(&area,AreaEnum);
 		if (masks->isoceanin[i]) oceanarea_cpu += area;
 	}
