Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h	(revision 14795)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h	(revision 14796)
@@ -125,4 +125,8 @@
 		virtual void   InputControlUpdate(IssmDouble scalar,bool save_parameter)=0;
 		#endif
+
+		#ifdef _HAVE_HYDROLOGY_
+		virtual void  GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode)=0;
+		#endif
 };
 #endif
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 14795)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 14796)
@@ -9339,2 +9339,9 @@
 /*}}}*/
 #endif
+#ifdef _HAVE_HYDROLOGY_
+/*FUNCTION Penta::GetHydrologyDCInefficientHmax{{{*/
+void  Penta::GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode){
+	_error_("Hydrological stuff not suported in Penta");
+}
+/*}}}*/
+#endif
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 14795)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 14796)
@@ -305,4 +305,5 @@
 		#ifdef _HAVE_HYDROLOGY_
 		void    CreateHydrologyWaterVelocityInput(void);
+		void    GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode);
 		#endif
 		#ifdef _HAVE_THERMAL_
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 14795)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 14796)
@@ -6338,4 +6338,44 @@
 }
 /*}}}*/
+/*FUNCTION Tria::GetHydrologyDCInefficientHmax{{{*/
+void  Tria::GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode){
+
+		int        hmax_flag;
+		IssmDouble h_max;
+		IssmDouble gravity,rho_ice,rho_water;
+		IssmDouble thickness,bed;
+
+		/*Get the flag to the limitation method*/
+		this->parameters->FindParam(&hmax_flag,HydrologydcSedimentlimitFlagEnum);
+		/*Switch between the different cases*/
+		switch(hmax_flag){
+			case 0:
+				h_max=1.0e+10;
+				break;
+			case 1:
+				parameters->FindParam(&h_max,HydrologydcSedimentlimitEnum);
+				break;
+			case 2:
+				gravity=matpar->GetG();
+				rho_ice=matpar->GetRhoIce();
+				rho_water=matpar->GetRhoFreshwater();
+				this->GetInputValue(&thickness,innode,ThicknessEnum);
+				this->GetInputValue(&bed,innode,BedEnum);
+				h_max=((rho_ice*gravity*thickness)/rho_water)+bed;
+				break;
+			case 3:
+				_error_("Using normal stress  not supported yet");
+				break;
+			default:
+				_error_("no case higher than 3 for SedimentlimitFlag");
+		}
+
+		/*Assign output pointer*/
+		*ph_max=h_max;
+
+}
+/*}}}*/
+
+
 #endif
 
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 14795)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 14796)
@@ -197,5 +197,5 @@
 		ElementVector* CreatePVectorPrognostic_DG(void);
 		ElementVector* CreatePVectorSlope(void);
-		IssmDouble         GetArea(void);
+		IssmDouble     GetArea(void);
 		int            GetElementType(void);
 		void	         GetDofList(int** pdoflist,int approximation_enum,int setenum);
@@ -253,4 +253,5 @@
 		void	  InputUpdateFromSolutionHydrologyDCInefficient(IssmDouble* solution);
 		void	  InputUpdateFromSolutionHydrologyDCEfficient(IssmDouble* solution);
+		void    GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode);
 		#endif
 		#ifdef _HAVE_BALANCED_
Index: /issm/trunk-jpl/src/c/classes/objects/Loads/Pengrid.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Loads/Pengrid.cpp	(revision 14795)
+++ /issm/trunk-jpl/src/c/classes/objects/Loads/Pengrid.cpp	(revision 14796)
@@ -707,5 +707,6 @@
 	/*Get sediment water head h*/
 	element->GetInputValue(&h,node,SedimentHeadEnum);
-	h_max=10000;
+	element->GetHydrologyDCInefficientHmax(&h_max,node);
+	/*printf("hmax %i \n",h_max);*/
 
 	if (h>h_max)
Index: /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp	(revision 14795)
+++ /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp	(revision 14796)
@@ -65,4 +65,5 @@
 		iomodel->Constant(&this->water_compressibility,HydrologydcWaterCompressibilityEnum);
 		iomodel->Constant(&isefficientlayer,HydrologydcIsefficientlayerEnum);
+		
 
 		if(isefficientlayer){
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateParametersHydrologyDCInefficient.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateParametersHydrologyDCInefficient.cpp	(revision 14795)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateParametersHydrologyDCInefficient.cpp	(revision 14796)
@@ -16,5 +16,7 @@
 	Parameters *parameters = NULL;
 	int         hydrology_model;
+	int         sedimentlimit_flag;
 	bool        isefficientlayer;
+	IssmDouble  sedimentlimit;
 
 	/*Get parameters: */
@@ -31,6 +33,14 @@
 
 	iomodel->FetchData(&isefficientlayer,HydrologydcIsefficientlayerEnum);
+	iomodel->FetchData(&sedimentlimit_flag,HydrologydcSedimentlimitFlagEnum);
+	
+	if(sedimentlimit_flag==1){
+		iomodel->FetchData(&sedimentlimit,HydrologydcSedimentlimitEnum);
+		parameters->AddObject(new DoubleParam(HydrologydcSedimentlimitEnum,sedimentlimit));
+	}
+
 	parameters->AddObject(new IntParam(HydrologyEnum,hydrology_model));
 	parameters->AddObject(new BoolParam(HydrologydcIsefficientlayerEnum,isefficientlayer));
+	parameters->AddObject(new IntParam(HydrologydcSedimentlimitFlagEnum,sedimentlimit_flag));
 
 	/*Assign output pointer: */
