Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9290)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9291)
@@ -307,5 +307,5 @@
 	Fake8Enum,
 	WaterColumnOldEnum,
-	WaterColumnPicardEnum,
+	Fake34Enum,
 	/*}}}*/
 	/*Io{{{1*/
Index: /issm/trunk/src/c/Makefile.am
===================================================================
--- /issm/trunk/src/c/Makefile.am	(revision 9290)
+++ /issm/trunk/src/c/Makefile.am	(revision 9291)
@@ -151,5 +151,4 @@
 					./objects/OptArgs.h\
 					./objects/OptPars.h\
-					./objects/SolverEnum.h\
 					./objects/Contour.h\
 					./objects/Contour.cpp\
@@ -369,4 +368,5 @@
 					./toolkits/petsc\
 					./toolkits/petsc/patches\
+					./toolkits/petsc/patches/SolverEnum.h\
 					./toolkits/petsc/patches/petscpatches.h\
 					./toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp\
@@ -845,5 +845,4 @@
 					./objects/Material.h\
 					./objects/Load.h\
-					./objects/SolverEnum.h\
 					./objects/Contour.h\
 					./objects/Contour.cpp\
@@ -1063,4 +1062,5 @@
 					./toolkits/petsc\
 					./toolkits/petsc/patches\
+					./toolkits/petsc/patches/SolverEnum.h\
 					./toolkits/petsc/patches/petscpatches.h\
 					./toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp\
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9290)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9291)
@@ -271,5 +271,5 @@
 		case Fake8Enum : return "Fake8";
 		case WaterColumnOldEnum : return "WaterColumnOld";
-		case WaterColumnPicardEnum : return "WaterColumnPicard";
+		case Fake34Enum : return "Fake34";
 		case IoGatherEnum : return "IoGather";
 		case MinVelEnum : return "MinVel";
Index: /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp	(revision 9290)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp	(revision 9291)
@@ -52,6 +52,4 @@
 
 	elements->InputDuplicate(WatercolumnEnum,WaterColumnOldEnum);
-	elements->InputDuplicate(WatercolumnEnum,WaterColumnPicardEnum);
-	
 	/*Free data: */
 	xfree((void**)&iomodel->elements);
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9290)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9291)
@@ -269,5 +269,5 @@
 	else if (strcmp(name,"Fake8")==0) return Fake8Enum;
 	else if (strcmp(name,"WaterColumnOld")==0) return WaterColumnOldEnum;
-	else if (strcmp(name,"WaterColumnPicard")==0) return WaterColumnPicardEnum;
+	else if (strcmp(name,"Fake34")==0) return Fake34Enum;
 	else if (strcmp(name,"IoGather")==0) return IoGatherEnum;
 	else if (strcmp(name,"MinVel")==0) return MinVelEnum;
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 9290)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 9291)
@@ -3703,8 +3703,4 @@
 	}
 
-	/*Now, we have to move the previous WaterColumn input  to Picard
-	 * status, otherwise, we'll wipe them off: */
-	this->inputs->ChangeEnum(WatercolumnEnum,WaterColumnPicardEnum);
-
 	/*Add input to the element: */
 	this->inputs->AddInput(new TriaVertexInput(WatercolumnEnum,values));
Index: /issm/trunk/src/c/objects/IoModel.cpp
===================================================================
--- /issm/trunk/src/c/objects/IoModel.cpp	(revision 9290)
+++ /issm/trunk/src/c/objects/IoModel.cpp	(revision 9291)
@@ -224,4 +224,11 @@
 	IoModelFetchData(&this->rheology_law,iomodel_handle,RheologyLawEnum);
 
+	/*!Get hydrology parameters: */		 
+	IoModelFetchData(&this->hydro_kn,iomodel_handle,HydroKnEnum);			 
+	IoModelFetchData(&this->hydro_p,iomodel_handle,HydroPEnum);		 
+	IoModelFetchData(&this->hydro_q,iomodel_handle,HydroQEnum);		 
+	IoModelFetchData(&this->hydro_CR,iomodel_handle,HydroCREnum);		 
+	IoModelFetchData(&this->hydro_n,iomodel_handle,HydroNEnum); 
+
 	/*qmu: */
 	if(this->qmu_analysis){
Index: /issm/trunk/src/c/objects/IoModel.h
===================================================================
--- /issm/trunk/src/c/objects/IoModel.h	(revision 9290)
+++ /issm/trunk/src/c/objects/IoModel.h	(revision 9291)
@@ -215,4 +215,11 @@
 		int     loadcounter; //keep track of how many loads are being created in each analysis type
 		int     constraintcounter; //keep track of how many constraints are being created in each analysis type
+
+		/*hydrology parameters: */		 
+		double hydro_kn;		 
+		double hydro_p;		 
+		double hydro_q;		 
+		double hydro_CR;			 
+		double hydro_n; 
 		 /*}}}*/
 		/*Methods: {{{1*/
Index: /issm/trunk/src/c/objects/Materials/Matpar.cpp
===================================================================
--- /issm/trunk/src/c/objects/Materials/Matpar.cpp	(revision 9290)
+++ /issm/trunk/src/c/objects/Materials/Matpar.cpp	(revision 9291)
@@ -37,4 +37,10 @@
 	this->thermal_exchange_velocity = iomodel->thermal_exchange_velocity;
 	this->g                         = iomodel->g;
+
+	this->kn                        = iomodel->hydro_kn;			 
+	this->hydro_p                   = iomodel->hydro_p;		 
+	this->hydro_q                   = iomodel->hydro_q;		 
+	this->hydro_CR                  = iomodel->hydro_CR;			 
+	this->hydro_n                   = iomodel->hydro_n; 
 }
 /*}}}1*/
@@ -351,4 +357,29 @@
 }
 /*}}}1*/
+/*FUNCTION Matpar::GetKn {{{1*/		 
+double Matpar::GetKn(){			 
+	return kn;		 
+}		 
+/*}}}1*/			 
+/*FUNCTION Matpar::GetHydroP {{{1*/			 
+double Matpar::GetHydroP(){		 
+	return hydro_p;			 
+}		 
+/*}}}1*/			 
+/*FUNCTION Matqar::GetHydroQ {{{1*/			 
+double Matpar::GetHydroQ(){		 
+	return hydro_q;			 
+}		 
+/*}}}1*/			 
+/*FUNCTION Matpar::GetHydroCR {{{1*/		 
+double Matpar::GetHydroCR(){		 
+	return hydro_CR;		 
+}		 
+/*}}}1*/			 
+/*FUNCTION Matpar::GetHydroN {{{1*/			 
+double Matpar::GetHydroN(){		 
+	return hydro_n;			 
+}		 
+/*}}}1*/ 
 /*FUNCTION Matpar::TMeltingPoint {{{1*/
 double Matpar::TMeltingPoint(double pressure){
Index: /issm/trunk/src/c/objects/Materials/Matpar.h
===================================================================
--- /issm/trunk/src/c/objects/Materials/Matpar.h	(revision 9290)
+++ /issm/trunk/src/c/objects/Materials/Matpar.h	(revision 9291)
@@ -27,4 +27,11 @@
 		double  thermal_exchange_velocity;
 		double  g;
+
+		/*hydrology: */		 
+		double  kn;			 
+		double  hydro_p;		 
+		double  hydro_q;		 
+		double  hydro_CR;			 
+		double  hydro_n; 
 
 	public:
Index: sm/trunk/src/c/objects/SolverEnum.h
===================================================================
--- /issm/trunk/src/c/objects/SolverEnum.h	(revision 9290)
+++ 	(revision )
@@ -1,19 +1,0 @@
-/*!\file: SolverEnum.h
- * \brief prototypes for SolverEnum.h
- */ 
-
-#ifndef _SOLVERENUM_H_
-#define  _SOLVERENUM_H_
-
-typedef enum{
-	PETSCPACKAGE,
-	MUMPSPACKAGE_LU,
-	MUMPSPACKAGE_CHOL,
-	SPOOLESPACKAGE_LU,
-	SPOOLESPACKAGE_CHOL,
-	SUPERLUDISTPACKAGE,
-} EXTERNALPACKAGES; 
-
-
-#endif //ifndef _SOLVERENUM_H_
-
Index: /issm/trunk/src/c/objects/objects.h
===================================================================
--- /issm/trunk/src/c/objects/objects.h	(revision 9290)
+++ /issm/trunk/src/c/objects/objects.h	(revision 9291)
@@ -136,5 +136,4 @@
 /*C objects: */
 #include "./Contour.h"
-#include "./SolverEnum.h"
 #include "./FemModel.h"
 #include "./OptArgs.h"
Index: /issm/trunk/src/c/solutions/hydrology_core_step.cpp
===================================================================
--- /issm/trunk/src/c/solutions/hydrology_core_step.cpp	(revision 9290)
+++ /issm/trunk/src/c/solutions/hydrology_core_step.cpp	(revision 9291)
@@ -19,5 +19,4 @@
 	femmodel->SetCurrentConfiguration(HydrologyAnalysisEnum);
 	solver_nonlinear(femmodel,modify_loads);
-	//solver_linear(femmodel);
 
 	/*transfer water column thickness to old water column thickness: */
Index: /issm/trunk/src/c/toolkits/petsc/patches/SolverEnum.h
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/SolverEnum.h	(revision 9291)
+++ /issm/trunk/src/c/toolkits/petsc/patches/SolverEnum.h	(revision 9291)
@@ -0,0 +1,19 @@
+/*!\file: SolverEnum.h
+ * \brief prototypes for SolverEnum.h
+ */ 
+
+#ifndef _SOLVERENUM_H_
+#define  _SOLVERENUM_H_
+
+typedef enum{
+	PETSCPACKAGE,
+	MUMPSPACKAGE_LU,
+	MUMPSPACKAGE_CHOL,
+	SPOOLESPACKAGE_LU,
+	SPOOLESPACKAGE_CHOL,
+	SUPERLUDISTPACKAGE,
+} EXTERNALPACKAGES; 
+
+
+#endif //ifndef _SOLVERENUM_H_
+
Index: /issm/trunk/src/c/toolkits/petsc/patches/petscpatches.h
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/petscpatches.h	(revision 9290)
+++ /issm/trunk/src/c/toolkits/petsc/patches/petscpatches.h	(revision 9291)
@@ -11,6 +11,7 @@
 #include "petscsys.h"
 
+#include "./SolverEnum.h"
+
 class Parameters;
-
 
 #ifdef _SERIAL_
@@ -49,4 +50,3 @@
 Vec  SerialToVec(double* vector,int vector_size);
 
-
 #endif
Index: /issm/trunk/src/m/classes/model.m
===================================================================
--- /issm/trunk/src/m/classes/model.m	(revision 9290)
+++ /issm/trunk/src/m/classes/model.m	(revision 9291)
@@ -269,4 +269,11 @@
 		 pressure                            = {NaN,true,'DoubleMat',1};
 		 watercolumn                         = {NaN,true,'DoubleMat',1};
+
+		 %Hydrology
+		 hydro_n                             = {0,true,'Double'}; 
+		 hydro_CR                            = {0,true,'Double'};
+		 hydro_p                             = {0,true,'Double'};
+		 hydro_q                             = {0,true,'Double'};
+		 hydro_kn                            = {0,true,'Double'};
 		 
 		 %Parallelisation
@@ -842,4 +849,11 @@
 			 md.alloc_cleanup=1;
 
+			 %hydrology:  from Johnson's 2002 thesis, section 3.5.4			 
+			 md.hydro_n=.02;			 
+			 md.hydro_CR=2;		 
+			 md.hydro_p=2;		 
+			 md.hydro_q=1;		 
+			 md.hydro_kn=0;
+
 			 %set petsc options for different analysis
 			 md.petscoptions=petscoptions;
Index: sm/trunk/src/m/enum/WaterColumnPicardEnum.m
===================================================================
--- /issm/trunk/src/m/enum/WaterColumnPicardEnum.m	(revision 9290)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=WaterColumnPicardEnum()
-%WATERCOLUMNPICARDENUM - Enum of WaterColumnPicard
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=WaterColumnPicardEnum()
-
-macro=StringToEnum('WaterColumnPicard');
