Index: /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 17001)
+++ /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 17002)
@@ -785,4 +785,36 @@
 }/*}}}*/
 
+
+/*Modules*/
+void EnthalpyAnalysis::PostProcessing(FemModel* femmodel){/*{{{*/
+
+	/*Compute basal melting rates: */
+	for(int i=0;i<femmodel->elements->Size();i++){
+		Element* element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
+		ComputeBasalMeltingrate(element);
+	}
+
+	/*drain excess water fraction: */
+	//for(int i=0;i<femmodel->elements->Size();i++){
+	//	element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
+	//	element->DrainWaterfraction();
+	//}
+
+	/*Update basal dirichlet BCs for enthalpy: */
+	for(int i=0;i<femmodel->elements->Size();i++){
+		Element* element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
+		UpdateBasalConstraints(element);
+	}
+}/*}}}*/
+void EnthalpyAnalysis::ComputeBasalMeltingrate(Element* element){/*{{{*/
+
+}/*}}}*/
+void EnthalpyAnalysis::DrainWaterfraction(Element* element){/*{{{*/
+
+}/*}}}*/
+void EnthalpyAnalysis::UpdateBasalConstraints(Element* element){/*{{{*/
+
+}/*}}}*/
+
 /*Intermediaries*/
 IssmDouble EnthalpyAnalysis::EnthalpyDiffusionParameter(Element* element,IssmDouble enthalpy,IssmDouble pressure){/*{{{*/
Index: /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.h
===================================================================
--- /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.h	(revision 17001)
+++ /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.h	(revision 17002)
@@ -36,4 +36,10 @@
 		void InputUpdateFromSolution(IssmDouble* solution,Element* element);
 
+		/*Modules*/
+		static void PostProcessing(FemModel* femmodel);
+		static void ComputeBasalMeltingrate(Element* element);
+		static void DrainWaterfraction(Element* element);
+		static void UpdateBasalConstraints(Element* element);
+
 		/*Intermediaries*/
 		IssmDouble EnthalpyDiffusionParameter(Element* element,IssmDouble enthalpy,IssmDouble pressure);
