Index: /issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h	(revision 14561)
+++ /issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h	(revision 14562)
@@ -79,4 +79,6 @@
 	FrictionQEnum,
 	GeometryHydrostaticRatioEnum,
+	HydrologyEnum,
+	HydrologyshreveEnum,
 	HydrologyshreveCREnum,
 	HydrologyshreveKnEnum,
@@ -86,4 +88,8 @@
 	HydrologyshreveSpcwatercolumnEnum,
 	HydrologyshreveStabilizationEnum,
+	HydrologydcEnum,
+	SedimentheadEnum,
+	HydrologydcSedimentporosityEnum,
+	HydrologydcSpcsedimentheadEnum,
 	IndependentObjectEnum,
 	InversionControlParametersEnum,
Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 14561)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 14562)
@@ -446,4 +446,5 @@
 					      ./modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp\
 					      ./modules/ModelProcessorx/Hydrology/CreateLoadsHydrology.cpp \
+							./modules/ModelProcessorx/Hydrology/CreateParametersHydrology.cpp \
 						  ./solutions/hydrology_core.cpp
 #}}}
Index: /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp	(revision 14561)
+++ /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp	(revision 14562)
@@ -24,4 +24,7 @@
 /*FUNCTION Matpar::Matpar(int matpar_mid,IoModel* iomodel){{{*/
 Matpar::Matpar(int matpar_mid, IoModel* iomodel){
+
+	int hydrology_model;
+	iomodel->Constant(&hydrology_model,HydrologyEnum);
 
 	this->mid = matpar_mid;
@@ -40,9 +43,19 @@
 	iomodel->Constant(&this->g,ConstantsGEnum);
 
-	iomodel->Constant(&this->hydro_CR,HydrologyshreveCREnum);
-	iomodel->Constant(&this->kn,HydrologyshreveKnEnum);
-	iomodel->Constant(&this->hydro_n,HydrologyshreveNEnum);
-	iomodel->Constant(&this->hydro_p,HydrologyshrevePEnum);
-	iomodel->Constant(&this->hydro_q,HydrologyshreveQEnum);
+	if(hydrology_model==HydrologyshreveEnum){
+		iomodel->Constant(&this->hydro_CR,HydrologyshreveCREnum);
+		iomodel->Constant(&this->hydro_kn,HydrologyshreveKnEnum);
+		iomodel->Constant(&this->hydro_n,HydrologyshreveNEnum);
+		iomodel->Constant(&this->hydro_p,HydrologyshrevePEnum);
+		iomodel->Constant(&this->hydro_q,HydrologyshreveQEnum);
+	}
+	else if(hydrology_model==HydrologydcEnum){
+		iomodel->Constant(&this->sediment_porosity,HydrologydcSedimentporosityEnum);
+	}
+	else{
+		_error_("Hydrology model "<<EnumToStringx(hydrology_model)<<" not supported yet");
+	}
+
+
 	this->inputs=NULL; /*not used here*/
 }
@@ -273,7 +286,7 @@
 }
 /*}}}*/
-/*FUNCTION Matpar::GetKn {{{*/		 
-IssmDouble Matpar::GetKn(){			 
-	return kn;		 
+/*FUNCTION Matpar::GetHydrologyKn {{{*/
+IssmDouble Matpar::GetHydrologyKn(){
+	return hydro_kn;		 
 }		 
 /*}}}*/			 
@@ -298,4 +311,9 @@
 }		 
 /*}}}*/ 
+/*FUNCTION Matpar::GetSedimentPorosity {{{*/
+IssmDouble Matpar::GetSedimentPorosity(){
+	return sediment_porosity;		 
+}		 
+/*}}}*/			 
 /*FUNCTION Matpar::TMeltingPoint {{{*/
 IssmDouble Matpar::TMeltingPoint(IssmDouble pressure){
Index: /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.h	(revision 14561)
+++ /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.h	(revision 14562)
@@ -30,10 +30,13 @@
 		IssmDouble  g;
 
-		/*hydrology: */		 
-		IssmDouble  kn;			 
+		/*hydrology Shreve: */	 
+		IssmDouble  hydro_kn;			 
 		IssmDouble  hydro_p;		 
 		IssmDouble  hydro_q;		 
 		IssmDouble  hydro_CR;			 
 		IssmDouble  hydro_n; 
+
+		/*hydrology Dual Porous Continuum: */	 
+		IssmDouble  sediment_porosity;
 
 	public:
@@ -95,9 +98,10 @@
 		IssmDouble GetMeltingPoint();
 		IssmDouble GetReferenceTemperature();
-		IssmDouble GetKn();
+		IssmDouble GetHydrologyKn();
 		IssmDouble GetHydrologyP();
 		IssmDouble GetHydrologyQ();
 		IssmDouble GetHydrologyCR();
 		IssmDouble GetHydrologyN();
+		IssmDouble GetSedimentPorosity();
 		IssmDouble TMeltingPoint(IssmDouble pressure);
 		IssmDouble PureIceEnthalpy(IssmDouble pressure);
Index: /issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 14561)
+++ /issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 14562)
@@ -84,11 +84,17 @@
 		case FrictionQEnum : return "FrictionQ";
 		case GeometryHydrostaticRatioEnum : return "GeometryHydrostaticRatio";
-		case HydrologyshreveCREnum : return "HydrologyCR";
-		case HydrologyshreveKnEnum : return "HydrologyKn";
-		case HydrologyshreveNEnum : return "HydrologyN";
-		case HydrologyshrevePEnum : return "HydrologyP";
-		case HydrologyshreveQEnum : return "HydrologyQ";
-		case HydrologyshreveSpcwatercolumnEnum : return "HydrologySpcwatercolumn";
-		case HydrologyshreveStabilizationEnum : return "HydrologyStabilization";
+		case HydrologyEnum : return "Hydrology";
+		case HydrologyshreveEnum : return "Hydrologyshreve";
+		case HydrologyshreveCREnum : return "HydrologyshreveCR";
+		case HydrologyshreveKnEnum : return "HydrologyshreveKn";
+		case HydrologyshreveNEnum : return "HydrologyshreveN";
+		case HydrologyshrevePEnum : return "HydrologyshreveP";
+		case HydrologyshreveQEnum : return "HydrologyshreveQ";
+		case HydrologyshreveSpcwatercolumnEnum : return "HydrologyshreveSpcwatercolumn";
+		case HydrologyshreveStabilizationEnum : return "HydrologyshreveStabilization";
+		case HydrologydcEnum : return "Hydrologydc";
+		case SedimentheadEnum : return "Sedimenthead";
+		case HydrologydcSedimentporosityEnum : return "HydrologydcSedimentporosity";
+		case HydrologydcSpcsedimentheadEnum : return "HydrologydcSpcsedimenthead";
 		case IndependentObjectEnum : return "IndependentObject";
 		case InversionControlParametersEnum : return "InversionControlParameters";
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 14561)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 14562)
@@ -27,15 +27,15 @@
 
 	/*parameters for mass flux: {{{*/
-	int      mass_flux_num_profiles=0;
-	bool     qmu_mass_flux_present=false;
-	bool     autodiff_mass_flux_present=false;
-	bool     mass_flux_present=false;
-	IssmDouble** array=NULL;
-	int*     mdims_array=NULL;
-	int*     ndims_array=NULL;
-	IssmDouble*  temp_matrix=NULL;
-	int      temp_m,temp_n;
-	IssmDouble*  matrix=NULL;
-	int      count;
+	int          mass_flux_num_profiles     = 0;
+	bool         qmu_mass_flux_present      = false;
+	bool         autodiff_mass_flux_present = false;
+	bool         mass_flux_present          = false;
+	IssmDouble **array                      = NULL;
+	int         *mdims_array                = NULL;
+	int         *ndims_array                = NULL;
+	IssmDouble  *temp_matrix                = NULL;
+	int          temp_m,temp_n;
+	IssmDouble  *matrix                     = NULL;
+	int          count;
 	/*}}}*/
 
@@ -76,5 +76,4 @@
 	parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(BalancethicknessStabilizationEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(HydrologyshreveStabilizationEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(GroundinglineMeltingRateEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(ThermalMaxiterEnum));
@@ -218,4 +217,9 @@
 	/*}}}*/
 
+	/*Solution specific parameters (FIXME: extend to other params)*/
+	#ifdef _HAVE_HYDROLOGY_
+	CreateParametersHydrology(&parameters,iomodel,solution_type,analysis_type);
+	#endif
+
 	/*Before returning, create parameters in case we are running Qmu or control types runs: */
 	#ifdef _HAVE_CONTROL_
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp	(revision 14561)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp	(revision 14562)
@@ -15,9 +15,22 @@
 
 	/*Recover pointer: */
+	int          hydrology_model;
 	Constraints* constraints=*pconstraints;
+
+	/*retrieve some parameters: */
+	iomodel->Constant(&hydrology_model,HydrologyEnum);
 
 	/*Create constraints if they do not exist yet*/
 	if(!constraints) constraints = new Constraints();
-	IoModelToConstraintsx(constraints,iomodel,HydrologyshreveSpcwatercolumnEnum,HydrologyAnalysisEnum);
+
+	if(hydrology_model==HydrologyshreveEnum){
+		IoModelToConstraintsx(constraints,iomodel,HydrologyshreveSpcwatercolumnEnum,HydrologyAnalysisEnum);
+	}
+	else if(hydrology_model==HydrologydcEnum){
+		IoModelToConstraintsx(constraints,iomodel,HydrologydcSpcsedimentheadEnum,HydrologyAnalysisEnum);
+	}
+	else{
+		_error_("Hydrology model "<<EnumToStringx(hydrology_model)<<" not supported yet");
+	}
 
 	/*Assign output pointer: */
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/CreateParametersHydrology.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/CreateParametersHydrology.cpp	(revision 14562)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/CreateParametersHydrology.cpp	(revision 14562)
@@ -0,0 +1,38 @@
+/*!\file: CreateParametersHydrology.cpp
+ * \brief driver for creating parameters dataset, for control analysis.
+ */ 
+
+#include "../../../Container/Container.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../io/io.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../classes/objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../../../include/include.h"
+#include "../ModelProcessorx.h"
+
+void CreateParametersHydrology(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type){
+
+	Parameters *parameters = NULL;
+	int         hydrology_model;
+
+	/*Get parameters: */
+	parameters=*pparameters;
+
+	/*retrieve some parameters: */
+	iomodel->Constant(&hydrology_model,HydrologyEnum);
+
+	parameters->AddObject(new IntParam(HydrologyEnum,hydrology_model));
+	if(hydrology_model==HydrologyshreveEnum){
+		parameters->AddObject(iomodel->CopyConstantObject(HydrologyshreveStabilizationEnum));
+	}
+	else if(hydrology_model==HydrologydcEnum){
+		//No parameters for now
+	}
+	else{
+		_error_("Hydrology model "<<EnumToStringx(hydrology_model)<<" not supported yet");
+	}
+
+	/*Assign output pointer: */
+	*pparameters=parameters;
+}
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp	(revision 14561)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp	(revision 14562)
@@ -16,7 +16,9 @@
 void	UpdateElementsHydrology(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
 
+	int    hydrology_model;
 	int    numberofelements;
 
 	/*Fetch data needed: */
+	iomodel->Constant(&hydrology_model,HydrologyEnum);
 	iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
 	iomodel->FetchData(1,MeshElementsEnum);
@@ -35,24 +37,19 @@
 	iomodel->FetchDataToInput(elements,SurfaceEnum);
 	iomodel->FetchDataToInput(elements,BedEnum);
-	iomodel->FetchDataToInput(elements,FrictionCoefficientEnum);
-	iomodel->FetchDataToInput(elements,FrictionPEnum);
-	iomodel->FetchDataToInput(elements,FrictionQEnum);
 	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
 	iomodel->FetchDataToInput(elements,MaskElementonwaterEnum);
-	iomodel->FetchDataToInput(elements,FlowequationElementEquationEnum);
-	iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);
-	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
-	iomodel->FetchDataToInput(elements,PressureEnum);
-	iomodel->FetchDataToInput(elements,TemperatureEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
-	iomodel->FetchDataToInput(elements,WatercolumnEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsGeothermalfluxEnum);
-	iomodel->FetchDataToInput(elements,VxEnum);
-	iomodel->FetchDataToInput(elements,VyEnum);
-	iomodel->FetchDataToInput(elements,VzEnum);
-
-	elements->InputDuplicate(WatercolumnEnum,WaterColumnOldEnum);
+	if(hydrology_model==HydrologyshreveEnum){
+		iomodel->FetchDataToInput(elements,WatercolumnEnum);
+		elements->InputDuplicate(WatercolumnEnum,WaterColumnOldEnum);
+	}
+	else if(hydrology_model==HydrologydcEnum){
+		iomodel->FetchDataToInput(elements,SedimentheadEnum);
+	}
+	else{
+		_error_("Hydrology model "<<EnumToStringx(hydrology_model)<<" not supported yet");
+	}
 
 	/*Free data: */
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 14561)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 14562)
@@ -49,5 +49,5 @@
 		analysis_type=analysis_type_list[i];
 
-		/*Hack for trasient runs (to be improved)*/
+		/*Hack for trasient runs (FIXME: to be improved)*/
 		if(solution_type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && dim==2) continue;
 		if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && dim==2) continue;
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 14561)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 14562)
@@ -21,7 +21,8 @@
 void  CreateElementsVerticesAndMaterials(Elements** pelements,Vertices** pvertices,Materials** pmaterials, IoModel* iomodel,const int nummodels);
 void  CreateParameters(Parameters** pparameters,IoModel* iomodel,char* rootpath,const int solution_type,int analysis_type,int analysis_counter);
+void  CreateParametersAutodiff(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
 void  CreateParametersControl(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
 void  CreateParametersDakota(Parameters** pparameters,IoModel* iomodel,char* rootpath,int solution_type,int analysis_type);
-void  CreateParametersAutodiff(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
+void  CreateParametersHydrology(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
 void  UpdateElementsAndMaterialsControl(Elements* elements,Materials* materials, IoModel* iomodel);
 
Index: /issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 14561)
+++ /issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 14562)
@@ -85,4 +85,6 @@
 	      else if (strcmp(name,"FrictionQ")==0) return FrictionQEnum;
 	      else if (strcmp(name,"GeometryHydrostaticRatio")==0) return GeometryHydrostaticRatioEnum;
+	      else if (strcmp(name,"Hydrology")==0) return HydrologyEnum;
+	      else if (strcmp(name,"Hydrologyshreve")==0) return HydrologyshreveEnum;
 	      else if (strcmp(name,"HydrologyshreveCR")==0) return HydrologyshreveCREnum;
 	      else if (strcmp(name,"HydrologyshreveKn")==0) return HydrologyshreveKnEnum;
@@ -92,4 +94,8 @@
 	      else if (strcmp(name,"HydrologyshreveSpcwatercolumn")==0) return HydrologyshreveSpcwatercolumnEnum;
 	      else if (strcmp(name,"HydrologyshreveStabilization")==0) return HydrologyshreveStabilizationEnum;
+	      else if (strcmp(name,"Hydrologydc")==0) return HydrologydcEnum;
+	      else if (strcmp(name,"Sedimenthead")==0) return SedimentheadEnum;
+	      else if (strcmp(name,"HydrologydcSedimentporosity")==0) return HydrologydcSedimentporosityEnum;
+	      else if (strcmp(name,"HydrologydcSpcsedimenthead")==0) return HydrologydcSpcsedimentheadEnum;
 	      else if (strcmp(name,"IndependentObject")==0) return IndependentObjectEnum;
 	      else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum;
@@ -132,5 +138,8 @@
 	      else if (strcmp(name,"MaterialsRheologyZ")==0) return MaterialsRheologyZEnum;
 	      else if (strcmp(name,"MaterialsRheologyZbar")==0) return MaterialsRheologyZbarEnum;
-	      else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
+         else stage=2;
+   }
+   if(stage==2){
+	      if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
 	      else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum;
 	      else if (strcmp(name,"MaterialsRhoFreshwater")==0) return MaterialsRhoFreshwaterEnum;
@@ -138,8 +147,5 @@
 	      else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum;
 	      else if (strcmp(name,"MaterialsThermalconductivity")==0) return MaterialsThermalconductivityEnum;
-         else stage=2;
-   }
-   if(stage==2){
-	      if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum;
+	      else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum;
 	      else if (strcmp(name,"MeshDimension")==0) return MeshDimensionEnum;
 	      else if (strcmp(name,"MeshEdges")==0) return MeshEdgesEnum;
@@ -255,5 +261,8 @@
 	      else if (strcmp(name,"FlaimAnalysis")==0) return FlaimAnalysisEnum;
 	      else if (strcmp(name,"FlaimSolution")==0) return FlaimSolutionEnum;
-	      else if (strcmp(name,"HydrologyAnalysis")==0) return HydrologyAnalysisEnum;
+         else stage=3;
+   }
+   if(stage==3){
+	      if (strcmp(name,"HydrologyAnalysis")==0) return HydrologyAnalysisEnum;
 	      else if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum;
 	      else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum;
@@ -261,8 +270,5 @@
 	      else if (strcmp(name,"PrognosticAnalysis")==0) return PrognosticAnalysisEnum;
 	      else if (strcmp(name,"PrognosticSolution")==0) return PrognosticSolutionEnum;
-         else stage=3;
-   }
-   if(stage==3){
-	      if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum;
+	      else if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum;
 	      else if (strcmp(name,"SurfaceSlopeAnalysis")==0) return SurfaceSlopeAnalysisEnum;
 	      else if (strcmp(name,"SurfaceSlopeSolution")==0) return SurfaceSlopeSolutionEnum;
@@ -378,5 +384,8 @@
 	      else if (strcmp(name,"QmuPressure")==0) return QmuPressureEnum;
 	      else if (strcmp(name,"QmuVx")==0) return QmuVxEnum;
-	      else if (strcmp(name,"QmuVy")==0) return QmuVyEnum;
+         else stage=4;
+   }
+   if(stage==4){
+	      if (strcmp(name,"QmuVy")==0) return QmuVyEnum;
 	      else if (strcmp(name,"QmuVz")==0) return QmuVzEnum;
 	      else if (strcmp(name,"QmuThickness")==0) return QmuThicknessEnum;
@@ -384,8 +393,5 @@
 	      else if (strcmp(name,"QmuSurface")==0) return QmuSurfaceEnum;
 	      else if (strcmp(name,"QmuMelting")==0) return QmuMeltingEnum;
-         else stage=4;
-   }
-   if(stage==4){
-	      if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum;
+	      else if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum;
 	      else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum;
 	      else if (strcmp(name,"SegmentOnIceShelf")==0) return SegmentOnIceShelfEnum;
@@ -501,5 +507,8 @@
 	      else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum;
 	      else if (strcmp(name,"Gset")==0) return GsetEnum;
-	      else if (strcmp(name,"Index")==0) return IndexEnum;
+         else stage=5;
+   }
+   if(stage==5){
+	      if (strcmp(name,"Index")==0) return IndexEnum;
 	      else if (strcmp(name,"Indexed")==0) return IndexedEnum;
 	      else if (strcmp(name,"Intersect")==0) return IntersectEnum;
@@ -507,8 +516,5 @@
 	      else if (strcmp(name,"OldGradient")==0) return OldGradientEnum;
 	      else if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum;
-         else stage=5;
-   }
-   if(stage==5){
-	      if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum;
+	      else if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum;
 	      else if (strcmp(name,"LockFileName")==0) return LockFileNameEnum;
 	      else if (strcmp(name,"PetscOptionsAnalyses")==0) return PetscOptionsAnalysesEnum;
Index: /issm/trunk-jpl/src/c/solutions/hydrology_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutions/hydrology_core.cpp	(revision 14561)
+++ /issm/trunk-jpl/src/c/solutions/hydrology_core.cpp	(revision 14562)
@@ -19,5 +19,5 @@
 	/*intermediary*/
 	int        step,nsteps;
-	int        output_frequency;
+	int        output_frequency,hydrology_model;
 	bool       save_results;
 	bool       modify_loads=true;
@@ -31,8 +31,11 @@
 	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
 	femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
+	femmodel->parameters->FindParam(&hydrology_model,HydrologyEnum);
 
 	/*first compute slopes: */
-	surfaceslope_core(femmodel);
-	bedslope_core(femmodel);
+	if (hydrology_model==HydrologyshreveEnum){
+		surfaceslope_core(femmodel);
+		bedslope_core(femmodel);
+	}
 
 	/*Compute number of time steps: */
@@ -56,22 +59,38 @@
 		femmodel->parameters->SetParam(step,StepEnum);
 
-		/*Compute hydrology solution: */
-		if(VerboseSolution()) _pprintLine_("   computing water column");
-		femmodel->SetCurrentConfiguration(HydrologyAnalysisEnum);
-		solver_nonlinear(femmodel,modify_loads);
+		if (hydrology_model==HydrologyshreveEnum){
+			/*Compute hydrology solution: */
+			if(VerboseSolution()) _pprintLine_("   computing water column");
+			femmodel->SetCurrentConfiguration(HydrologyAnalysisEnum);
+			solver_nonlinear(femmodel,modify_loads);
 
-		/*transfer water column thickness to old water column thickness: */
-		InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,WaterColumnOldEnum);
+			/*transfer water column thickness to old water column thickness: */
+			InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,WaterColumnOldEnum);
 
-		if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
-			if(VerboseSolution()) _pprintLine_("   saving results ");
-			InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum);
-			InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum);
-			InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum);
+			if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
+				if(VerboseSolution()) _pprintLine_("   saving results ");
+				InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum);
+				InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum);
+				InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum);
 
-			/*unload results*/
-			if(VerboseSolution()) _pprintLine_("   saving temporary results");
-			OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
+				/*unload results*/
+				if(VerboseSolution()) _pprintLine_("   saving temporary results");
+				OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
+			}
 		}
+		else if (hydrology_model==HydrologydcEnum){
+			//solver_linear(femmodel,modify_loads);
+			_error_("not implemented yet");
+			if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
+				if(VerboseSolution()) _pprintLine_("   saving results ");
+				InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SedimentheadEnum);
+
+				/*unload results*/
+				if(VerboseSolution()) _pprintLine_("   saving temporary results");
+				OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
+			}
+		}
+
+
 	}
 }
Index: /issm/trunk-jpl/src/m/classes/hydrologydc.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologydc.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/classes/hydrologydc.m	(revision 14562)
@@ -0,0 +1,47 @@
+%HYDROLOGYDC class definition
+%
+%   Usage:
+%      hydrologydc=hydrologydc();
+
+classdef hydrologydc
+	properties (SetAccess=public) 
+		spcsedimenthead  = NaN;
+		sedimentporosity = 0;
+	end
+	methods
+		function obj = hydrologydc(varargin) % {{{
+			switch nargin
+				case 0
+					obj=setdefaultparameters(obj);
+				otherwise
+					error('constructor not supported');
+			end
+		end % }}}
+		function obj = setdefaultparameters(obj) % {{{
+
+			%Parameters from de Fleurian 2013
+			obj.sedimentporosity = .01;
+
+		end % }}}
+		function md = checkconsistency(obj,md,solution,analyses) % {{{
+
+			%Early return
+			if ~ismember(HydrologyAnalysisEnum(),analyses), return; end
+
+			md = checkfield(md,'hydrology.spcsedimenthead','forcing',1);
+			md = checkfield(md,'hydrology.sedimentporosity','>',0,'numel',1);
+		end % }}}
+		function disp(obj) % {{{
+			disp(sprintf('   hydrology Dual Porous Continuum Equivalent parameters:'));
+
+			fielddisplay(obj,'spcsedimenthead','sediment water head constraints (NaN means no constraint, meters above MSL)');
+			fielddisplay(obj,'sedimentporosity','sediment porosity (dimensionless)');
+
+		end % }}}
+		function marshall(obj,fid) % {{{
+			WriteData(fid,'enum',HydrologyEnum(),'data',HydrologydcEnum(),'format','Integer');
+			WriteData(fid,'object',obj,'fieldname','spcsedimenthead','format','DoubleMat','mattype',1);
+			WriteData(fid,'object',obj,'fieldname','sedimentporosity','format','Double');
+		end % }}}
+	end
+end
Index: /issm/trunk-jpl/src/m/classes/hydrologyshreve.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologyshreve.m	(revision 14561)
+++ /issm/trunk-jpl/src/m/classes/hydrologyshreve.m	(revision 14562)
@@ -56,4 +56,5 @@
 		end % }}}
 		function marshall(obj,fid) % {{{
+			WriteData(fid,'enum',HydrologyEnum(),'data',HydrologyshreveEnum(),'format','Integer');
 			WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1);
 			WriteData(fid,'object',obj,'fieldname','n','format','Double');
Index: /issm/trunk-jpl/src/m/classes/hydrologyshreve.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologyshreve.py	(revision 14561)
+++ /issm/trunk-jpl/src/m/classes/hydrologyshreve.py	(revision 14562)
@@ -71,4 +71,5 @@
 
 	def marshall(self,fid):    # {{{
+		WriteData(fid,'enum',HydrologyEnum(),'data',HydrologyshreveEnum(),'format','Integer');
 		WriteData(fid,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1)
 		WriteData(fid,'object',self,'fieldname','n','format','Double')
Index: /issm/trunk-jpl/src/m/classes/initialization.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/initialization.m	(revision 14561)
+++ /issm/trunk-jpl/src/m/classes/initialization.m	(revision 14562)
@@ -15,4 +15,5 @@
 		basaltemp     = NaN;
 		watercolumn   = NaN;
+		sedimenthead  = NaN;
 		waterfraction = NaN;
 	end
@@ -41,5 +42,9 @@
 			end
 			if ismember(HydrologyAnalysisEnum(),analyses),
-				md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				if isa(md.hydrology,'hydrologydc'),
+					md = checkfield(md,'initialization.sedimenthead','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				else
+					md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				end
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
@@ -73,4 +78,5 @@
 			fielddisplay(obj,'basaltemp','basal temperature in Kelvins');
 			fielddisplay(obj,'watercolumn','thickness of subglacial water');
+			fielddisplay(obj,'sedimenthead','sediment water head of subglacial system (meters)');
 			fielddisplay(obj,'waterfraction','fraction of water in the ice');
 
@@ -83,4 +89,5 @@
 			WriteData(fid,'data',obj.temperature,'format','DoubleMat','mattype',1,'enum',TemperatureEnum);
 			WriteData(fid,'data',obj.watercolumn,'format','DoubleMat','mattype',1,'enum',WatercolumnEnum);
+			WriteData(fid,'data',obj.sedimenthead,'format','DoubleMat','mattype',1,'enum',SedimentheadEnum);
 			WriteData(fid,'data',obj.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum);
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/initialization.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/initialization.py	(revision 14561)
+++ /issm/trunk-jpl/src/m/classes/initialization.py	(revision 14562)
@@ -27,4 +27,5 @@
 		self.basaltemp     = float('NaN')
 		self.watercolumn   = float('NaN')
+		self.sedimenthead  = float('NaN')
 		self.waterfraction = float('NaN')
 
@@ -46,4 +47,5 @@
 		string="%s\n%s"%(string,fielddisplay(self,'basaltemp','basal temperature in Kelvins'))
 		string="%s\n%s"%(string,fielddisplay(self,'watercolumn','thickness of subglacial water'))
+		string="%s\n%s"%(string,fielddisplay(self,'sedimenthead','sediment water head of subglacial system (meters)'))
 		string="%s\n%s"%(string,fielddisplay(self,'waterfraction','fraction of water in the ice'))
 
@@ -91,4 +93,5 @@
 		WriteData(fid,'data',self.temperature,'format','DoubleMat','mattype',1,'enum',TemperatureEnum())
 		WriteData(fid,'data',self.watercolumn,'format','DoubleMat','mattype',1,'enum',WatercolumnEnum())
+		WriteData(fid,'data',self.sedimenthead,'format','DoubleMat','mattype',1,'enum',SedimentheadEnum())
 		WriteData(fid,'data',self.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum())
 	# }}}
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 14561)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 14562)
@@ -679,73 +679,133 @@
 	return StringToEnum('GeometryHydrostaticRatio')[0]
 
-def HydrologyCREnum():
-	"""
-	HYDROLOGYCRENUM - Enum of HydrologyCR
-
-	   Usage:
-	      macro=HydrologyCREnum()
-	"""
-
-	return StringToEnum('HydrologyCR')[0]
-
-def HydrologyKnEnum():
-	"""
-	HYDROLOGYKNENUM - Enum of HydrologyKn
-
-	   Usage:
-	      macro=HydrologyKnEnum()
-	"""
-
-	return StringToEnum('HydrologyKn')[0]
-
-def HydrologyNEnum():
-	"""
-	HYDROLOGYNENUM - Enum of HydrologyN
-
-	   Usage:
-	      macro=HydrologyNEnum()
-	"""
-
-	return StringToEnum('HydrologyN')[0]
-
-def HydrologyPEnum():
-	"""
-	HYDROLOGYPENUM - Enum of HydrologyP
-
-	   Usage:
-	      macro=HydrologyPEnum()
-	"""
-
-	return StringToEnum('HydrologyP')[0]
-
-def HydrologyQEnum():
-	"""
-	HYDROLOGYQENUM - Enum of HydrologyQ
-
-	   Usage:
-	      macro=HydrologyQEnum()
-	"""
-
-	return StringToEnum('HydrologyQ')[0]
-
-def HydrologySpcwatercolumnEnum():
-	"""
-	HYDROLOGYSPCWATERCOLUMNENUM - Enum of HydrologySpcwatercolumn
-
-	   Usage:
-	      macro=HydrologySpcwatercolumnEnum()
-	"""
-
-	return StringToEnum('HydrologySpcwatercolumn')[0]
-
-def HydrologyStabilizationEnum():
-	"""
-	HYDROLOGYSTABILIZATIONENUM - Enum of HydrologyStabilization
-
-	   Usage:
-	      macro=HydrologyStabilizationEnum()
-	"""
-
-	return StringToEnum('HydrologyStabilization')[0]
+def HydrologyEnum():
+	"""
+	HYDROLOGYENUM - Enum of Hydrology
+
+	   Usage:
+	      macro=HydrologyEnum()
+	"""
+
+	return StringToEnum('Hydrology')[0]
+
+def HydrologyshreveEnum():
+	"""
+	HYDROLOGYSHREVEENUM - Enum of Hydrologyshreve
+
+	   Usage:
+	      macro=HydrologyshreveEnum()
+	"""
+
+	return StringToEnum('Hydrologyshreve')[0]
+
+def HydrologyshreveCREnum():
+	"""
+	HYDROLOGYSHREVECRENUM - Enum of HydrologyshreveCR
+
+	   Usage:
+	      macro=HydrologyshreveCREnum()
+	"""
+
+	return StringToEnum('HydrologyshreveCR')[0]
+
+def HydrologyshreveKnEnum():
+	"""
+	HYDROLOGYSHREVEKNENUM - Enum of HydrologyshreveKn
+
+	   Usage:
+	      macro=HydrologyshreveKnEnum()
+	"""
+
+	return StringToEnum('HydrologyshreveKn')[0]
+
+def HydrologyshreveNEnum():
+	"""
+	HYDROLOGYSHREVENENUM - Enum of HydrologyshreveN
+
+	   Usage:
+	      macro=HydrologyshreveNEnum()
+	"""
+
+	return StringToEnum('HydrologyshreveN')[0]
+
+def HydrologyshrevePEnum():
+	"""
+	HYDROLOGYSHREVEPENUM - Enum of HydrologyshreveP
+
+	   Usage:
+	      macro=HydrologyshrevePEnum()
+	"""
+
+	return StringToEnum('HydrologyshreveP')[0]
+
+def HydrologyshreveQEnum():
+	"""
+	HYDROLOGYSHREVEQENUM - Enum of HydrologyshreveQ
+
+	   Usage:
+	      macro=HydrologyshreveQEnum()
+	"""
+
+	return StringToEnum('HydrologyshreveQ')[0]
+
+def HydrologyshreveSpcwatercolumnEnum():
+	"""
+	HYDROLOGYSHREVESPCWATERCOLUMNENUM - Enum of HydrologyshreveSpcwatercolumn
+
+	   Usage:
+	      macro=HydrologyshreveSpcwatercolumnEnum()
+	"""
+
+	return StringToEnum('HydrologyshreveSpcwatercolumn')[0]
+
+def HydrologyshreveStabilizationEnum():
+	"""
+	HYDROLOGYSHREVESTABILIZATIONENUM - Enum of HydrologyshreveStabilization
+
+	   Usage:
+	      macro=HydrologyshreveStabilizationEnum()
+	"""
+
+	return StringToEnum('HydrologyshreveStabilization')[0]
+
+def HydrologydcEnum():
+	"""
+	HYDROLOGYDCENUM - Enum of Hydrologydc
+
+	   Usage:
+	      macro=HydrologydcEnum()
+	"""
+
+	return StringToEnum('Hydrologydc')[0]
+
+def SedimentheadEnum():
+	"""
+	SEDIMENTHEADENUM - Enum of Sedimenthead
+
+	   Usage:
+	      macro=SedimentheadEnum()
+	"""
+
+	return StringToEnum('Sedimenthead')[0]
+
+def HydrologydcSedimentporosityEnum():
+	"""
+	HYDROLOGYDCSEDIMENTPOROSITYENUM - Enum of HydrologydcSedimentporosity
+
+	   Usage:
+	      macro=HydrologydcSedimentporosityEnum()
+	"""
+
+	return StringToEnum('HydrologydcSedimentporosity')[0]
+
+def HydrologydcSpcsedimentheadEnum():
+	"""
+	HYDROLOGYDCSPCSEDIMENTHEADENUM - Enum of HydrologydcSpcsedimenthead
+
+	   Usage:
+	      macro=HydrologydcSpcsedimentheadEnum()
+	"""
+
+	return StringToEnum('HydrologydcSpcsedimenthead')[0]
 
 def IndependentObjectEnum():
@@ -5077,4 +5137,4 @@
 	"""
 
-	return 506
-
+	return 512
+
Index: /issm/trunk-jpl/src/m/enum/HydrologyEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyEnum()
+%HYDROLOGYENUM - Enum of Hydrology
+%
+%   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=HydrologyEnum()
+
+macro=StringToEnum('Hydrology');
Index: /issm/trunk-jpl/src/m/enum/HydrologydcEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologydcEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologydcEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologydcEnum()
+%HYDROLOGYDCENUM - Enum of Hydrologydc
+%
+%   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=HydrologydcEnum()
+
+macro=StringToEnum('Hydrologydc');
Index: /issm/trunk-jpl/src/m/enum/HydrologydcSedimentporosityEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologydcSedimentporosityEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologydcSedimentporosityEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologydcSedimentporosityEnum()
+%HYDROLOGYDCSEDIMENTPOROSITYENUM - Enum of HydrologydcSedimentporosity
+%
+%   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=HydrologydcSedimentporosityEnum()
+
+macro=StringToEnum('HydrologydcSedimentporosity');
Index: /issm/trunk-jpl/src/m/enum/HydrologydcSpcsedimentheadEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologydcSpcsedimentheadEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologydcSpcsedimentheadEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologydcSpcsedimentheadEnum()
+%HYDROLOGYDCSPCSEDIMENTHEADENUM - Enum of HydrologydcSpcsedimenthead
+%
+%   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=HydrologydcSpcsedimentheadEnum()
+
+macro=StringToEnum('HydrologydcSpcsedimenthead');
Index: /issm/trunk-jpl/src/m/enum/HydrologyshreveCREnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyshreveCREnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyshreveCREnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyshreveCREnum()
+%HYDROLOGYSHREVECRENUM - Enum of HydrologyshreveCR
+%
+%   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=HydrologyshreveCREnum()
+
+macro=StringToEnum('HydrologyshreveCR');
Index: /issm/trunk-jpl/src/m/enum/HydrologyshreveEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyshreveEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyshreveEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyshreveEnum()
+%HYDROLOGYSHREVEENUM - Enum of Hydrologyshreve
+%
+%   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=HydrologyshreveEnum()
+
+macro=StringToEnum('Hydrologyshreve');
Index: /issm/trunk-jpl/src/m/enum/HydrologyshreveKnEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyshreveKnEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyshreveKnEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyshreveKnEnum()
+%HYDROLOGYSHREVEKNENUM - Enum of HydrologyshreveKn
+%
+%   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=HydrologyshreveKnEnum()
+
+macro=StringToEnum('HydrologyshreveKn');
Index: /issm/trunk-jpl/src/m/enum/HydrologyshreveNEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyshreveNEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyshreveNEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyshreveNEnum()
+%HYDROLOGYSHREVENENUM - Enum of HydrologyshreveN
+%
+%   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=HydrologyshreveNEnum()
+
+macro=StringToEnum('HydrologyshreveN');
Index: /issm/trunk-jpl/src/m/enum/HydrologyshrevePEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyshrevePEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyshrevePEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyshrevePEnum()
+%HYDROLOGYSHREVEPENUM - Enum of HydrologyshreveP
+%
+%   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=HydrologyshrevePEnum()
+
+macro=StringToEnum('HydrologyshreveP');
Index: /issm/trunk-jpl/src/m/enum/HydrologyshreveQEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyshreveQEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyshreveQEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyshreveQEnum()
+%HYDROLOGYSHREVEQENUM - Enum of HydrologyshreveQ
+%
+%   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=HydrologyshreveQEnum()
+
+macro=StringToEnum('HydrologyshreveQ');
Index: /issm/trunk-jpl/src/m/enum/HydrologyshreveSpcwatercolumnEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyshreveSpcwatercolumnEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyshreveSpcwatercolumnEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyshreveSpcwatercolumnEnum()
+%HYDROLOGYSHREVESPCWATERCOLUMNENUM - Enum of HydrologyshreveSpcwatercolumn
+%
+%   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=HydrologyshreveSpcwatercolumnEnum()
+
+macro=StringToEnum('HydrologyshreveSpcwatercolumn');
Index: /issm/trunk-jpl/src/m/enum/HydrologyshreveStabilizationEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/HydrologyshreveStabilizationEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/HydrologyshreveStabilizationEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=HydrologyshreveStabilizationEnum()
+%HYDROLOGYSHREVESTABILIZATIONENUM - Enum of HydrologyshreveStabilization
+%
+%   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=HydrologyshreveStabilizationEnum()
+
+macro=StringToEnum('HydrologyshreveStabilization');
Index: /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m	(revision 14561)
+++ /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m	(revision 14562)
@@ -9,3 +9,3 @@
 %      macro=MaximumNumberOfEnums()
 
-macro=506;
+macro=512;
Index: /issm/trunk-jpl/src/m/enum/SedimentheadEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SedimentheadEnum.m	(revision 14562)
+++ /issm/trunk-jpl/src/m/enum/SedimentheadEnum.m	(revision 14562)
@@ -0,0 +1,11 @@
+function macro=SedimentheadEnum()
+%SEDIMENTHEADENUM - Enum of Sedimenthead
+%
+%   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=SedimentheadEnum()
+
+macro=StringToEnum('Sedimenthead');
