Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 15386)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 15387)
@@ -84,4 +84,5 @@
 
 		#ifdef _HAVE_RESPONSES_
+		virtual void   AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part)=0;
 		virtual void   MinVel(IssmDouble* pminvel)=0;
 		virtual void   MaxVel(IssmDouble* pmaxvel)=0;
@@ -140,8 +141,4 @@
 		#endif
 
-		#ifdef _HAVE_WRAPPERS_
-		virtual void   AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part)=0;
-		#endif
-
 };
 #endif
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15386)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15387)
@@ -3121,4 +3121,9 @@
 
 #ifdef _HAVE_RESPONSES_
+/*FUNCTION Penta::AverageOntoPartition {{{*/
+void  Penta::AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){
+	_error_("Not supported yet!");
+}
+/*}}}*/
 /*FUNCTION Penta::IceVolume {{{*/
 IssmDouble Penta::IceVolume(void){
@@ -9110,4 +9115,5 @@
 /*}}}*/
 #endif
+
 #ifdef _HAVE_BALANCED_
 /*FUNCTION Penta::CreateKMatrixBalancethickness {{{*/
@@ -9159,6 +9165,6 @@
 /*}}}*/
 #endif
+
 #ifdef _HAVE_HYDROLOGY_
-
 /*FUNCTION Penta::CreateKMatrixHydrologyDCInefficient {{{*/
 ElementMatrix* Penta::CreateKMatrixHydrologyDCInefficient(void){
@@ -9465,7 +9471,4 @@
 }
 /*}}}*/
-#endif
-
-#ifdef _HAVE_WRAPPERS_
 /*FUNCTION Penta::PotentialUngrounding{{{*/
 void  Penta::PotentialUngrounding(Vector<IssmDouble>* potential_ungrounding){
@@ -9496,9 +9499,4 @@
 }
 /*}}}*/
-/*FUNCTION Penta::AverageOntoPartition {{{*/
-void  Penta::AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){
-	_error_("Not supported yet!");
-}
-/*}}}*/
 /*FUNCTION Penta::UpdatePotentialUngrounding{{{*/
 int Penta::UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 15386)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 15387)
@@ -120,4 +120,5 @@
 
 		 #ifdef _HAVE_RESPONSES_
+		void   AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part);
 		IssmDouble IceVolume(void);
 		IssmDouble TotalSmb(void);
@@ -174,8 +175,4 @@
 		void   PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
 		int    UpdatePotentialUngrounding(IssmDouble* potential_sheet_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf);
-		#endif
-
-		#ifdef _HAVE_WRAPPERS_
-		void   AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part);
 		#endif
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15386)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15387)
@@ -2316,4 +2316,43 @@
 
 #ifdef _HAVE_RESPONSES_
+/*FUNCTION Tria::AverageOntoPartition {{{*/
+void  Tria::AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){
+
+	bool       already = false;
+	int        i,j;
+	int        partition[NUMVERTICES];
+	int        offsetsid[NUMVERTICES];
+	int        offsetdof[NUMVERTICES];
+	IssmDouble area;
+	IssmDouble mean;
+
+	/*First, get the area: */
+	area=this->GetArea();
+
+	/*Figure out the average for this element: */
+	this->GetVertexSidList(&offsetsid[0]);
+	this->GetVertexPidList(&offsetdof[0]);
+	mean=0;
+	for(i=0;i<NUMVERTICES;i++){
+		partition[i]=reCast<int>(qmu_part[offsetsid[i]]);
+		mean=mean+1.0/NUMVERTICES*vertex_response[offsetdof[i]];
+	}
+
+	/*Add contribution: */
+	for(i=0;i<NUMVERTICES;i++){
+		already=false;
+		for(j=0;j<i;j++){
+			if (partition[i]==partition[j]){
+				already=true;
+				break;
+			}
+		}
+		if(!already){
+			partition_contributions->SetValue(partition[i],mean*area,ADD_VAL);
+			partition_areas->SetValue(partition[i],area,ADD_VAL);
+		};
+	}
+}
+/*}}}*/
 /*FUNCTION Tria::IceVolume {{{*/
 IssmDouble Tria::IceVolume(void){
@@ -7028,44 +7067,2 @@
 /*}}}*/
 #endif
-
-#ifdef _HAVE_WRAPPERS_
-/*FUNCTION Tria::AverageOntoPartition {{{*/
-void  Tria::AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){
-
-	bool       already = false;
-	int        i,j;
-	int        partition[NUMVERTICES];
-	int        offsetsid[NUMVERTICES];
-	int        offsetdof[NUMVERTICES];
-	IssmDouble area;
-	IssmDouble mean;
-
-	/*First, get the area: */
-	area=this->GetArea();
-
-	/*Figure out the average for this element: */
-	this->GetVertexSidList(&offsetsid[0]);
-	this->GetVertexPidList(&offsetdof[0]);
-	mean=0;
-	for(i=0;i<NUMVERTICES;i++){
-		partition[i]=reCast<int>(qmu_part[offsetsid[i]]);
-		mean=mean+1.0/NUMVERTICES*vertex_response[offsetdof[i]];
-	}
-
-	/*Add contribution: */
-	for(i=0;i<NUMVERTICES;i++){
-		already=false;
-		for(j=0;j<i;j++){
-			if (partition[i]==partition[j]){
-				already=true;
-				break;
-			}
-		}
-		if(!already){
-			partition_contributions->SetValue(partition[i],mean*area,ADD_VAL);
-			partition_areas->SetValue(partition[i],area,ADD_VAL);
-		};
-	}
-}
-/*}}}*/
-#endif
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 15386)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 15387)
@@ -118,4 +118,5 @@
 
 		#ifdef _HAVE_RESPONSES_
+		void   AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part);
 		IssmDouble IceVolume(void);
 		IssmDouble TotalSmb(void);
@@ -176,8 +177,4 @@
 		void   MigrateGroundingLine(IssmDouble* oldfloating,IssmDouble* sheet_ungrounding);
 		int    UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf);
-		#endif
-
-		#ifdef _HAVE_WRAPPERS_
-		void   AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part);
 		#endif
 
