Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 22284)
@@ -224,5 +224,5 @@
 	basalelement->GetVerticesCoordinates(&xyz_list);
 	//basalelement->FindParam(&dt,TimesteppingTimeStepEnum);
-	basalelement ->FindParam(&dt,HydrologydcHydrodtEnum);
+	basalelement ->FindParam(&dt,HydrologydtEnum);
 
 	Input* epl_thick_input = basalelement->GetInput(HydrologydcEplThicknessEnum); _assert_(epl_thick_input);
@@ -334,5 +334,5 @@
 	basalelement->GetVerticesCoordinates(&xyz_list);
 	//basalelement->FindParam(&dt,TimesteppingTimeStepEnum);	
-	basalelement ->FindParam(&dt,HydrologydcHydrodtEnum);
+	basalelement ->FindParam(&dt,HydrologydtEnum);
 
 	Input* epl_thick_input = basalelement->GetInput(HydrologydcEplThicknessEnum); _assert_(epl_thick_input);
@@ -558,5 +558,5 @@
 		active_element_input->GetInputValue(&active_element);
 		//element->FindParam(&dt,TimesteppingTimeStepEnum);
-		element ->FindParam(&dt,HydrologydcHydrodtEnum);
+		element ->FindParam(&dt,HydrologydtEnum);
 	
 		/*For now, assuming just one way to compute EPL thickness*/
Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 22284)
@@ -50,5 +50,5 @@
 	parameters->AddObject(new IntParam(HydrologydcPenaltyLockEnum,penalty_lock));
 	parameters->AddObject(new IntParam(HydrologydcMaxIterEnum,hydro_maxiter));
-	parameters->AddObject(new IntParam(HydrologydcStepsPerStepEnum,hydroslices));
+	parameters->AddObject(new IntParam(HydrologyStepsPerStepEnum,hydroslices));
 
 	parameters->AddObject(new BoolParam(HydrologydcIsefficientlayerEnum,isefficientlayer));
@@ -222,5 +222,5 @@
 	basalelement ->GetVerticesCoordinates(&xyz_list);
 	//basalelement ->FindParam(&dt,TimesteppingTimeStepEnum);
-	basalelement ->FindParam(&dt,HydrologydcHydrodtEnum);
+	basalelement ->FindParam(&dt,HydrologydtEnum);
 	basalelement ->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum);
 	Input* SedTrans_input = basalelement->GetInput(HydrologydcSedimentTransmitivityEnum); _assert_(SedTrans_input);
@@ -334,5 +334,5 @@
 	basalelement->GetVerticesCoordinates(&xyz_list);
 	//basalelement->FindParam(&dt,TimesteppingTimeStepEnum);
-	basalelement ->FindParam(&dt,HydrologydcHydrodtEnum);
+	basalelement ->FindParam(&dt,HydrologydtEnum);
 	basalelement->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum);
 
Index: /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp	(revision 22284)
@@ -73,5 +73,7 @@
 
 	/*retrieve some parameters: */
-	int  hydrology_model;
+	int    hydrology_model;
+	int    numoutputs;
+	char** requestedoutputs = NULL;
 	iomodel->FindConstant(&hydrology_model,"md.hydrology.model");
 
@@ -81,4 +83,9 @@
 	parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model));
 	parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.stabilization",HydrologyshreveStabilizationEnum));
+  /*Requested outputs*/
+  iomodel->FindConstant(&requestedoutputs,&numoutputs,"md.hydrology.requested_outputs");
+  parameters->AddObject(new IntParam(HydrologyNumRequestedOutputsEnum,numoutputs));
+  if(numoutputs)parameters->AddObject(new StringArrayParam(HydrologyRequestedOutputsEnum,requestedoutputs,numoutputs));
+  iomodel->DeleteData(&requestedoutputs,numoutputs,"md.hydrology.requested_outputs");
 
 }/*}}}*/
Index: /issm/trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp	(revision 22284)
@@ -139,5 +139,7 @@
 
 	/*retrieve some parameters: */
-	int  hydrology_model;
+	int    hydrology_model;
+	int    numoutputs;
+	char** requestedoutputs = NULL;
 	iomodel->FindConstant(&hydrology_model,"md.hydrology.model");
 
@@ -149,4 +151,10 @@
    parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.relaxation",HydrologyRelaxationEnum));
 	parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.storage",HydrologyStorageEnum));
+
+  /*Requested outputs*/
+  iomodel->FindConstant(&requestedoutputs,&numoutputs,"md.hydrology.requested_outputs");
+  parameters->AddObject(new IntParam(HydrologyNumRequestedOutputsEnum,numoutputs));
+  if(numoutputs)parameters->AddObject(new StringArrayParam(HydrologyRequestedOutputsEnum,requestedoutputs,numoutputs));
+  iomodel->DeleteData(&requestedoutputs,numoutputs,"md.hydrology.requested_outputs");
 }/*}}}*/
 
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 22284)
@@ -4487,5 +4487,5 @@
 				Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(j));
 				TransientInput* stacking_input=NULL;
-				Input* input=element->inputs->GetInput(HydrologydcStackedNEnum); _assert_(input);
+				Input* input=element->inputs->GetInput(EffectivePressureStackedEnum); _assert_(input);
 				Input* input_to_stack=element->GetInput(input_enum[i]); _assert_(input_to_stack);
 				stacking_input=dynamic_cast<TransientInput*>(input);
@@ -4496,11 +4496,11 @@
 				switch(element->ObjectEnum()){
 				case TriaEnum:
-					stacking_input->AddTimeInput(new TriaInput(HydrologydcStackedNEnum,&N[0],P1Enum),hydrotime);
+					stacking_input->AddTimeInput(new TriaInput(EffectivePressureStackedEnum,&N[0],P1Enum),hydrotime);
 					break;
 				case PentaEnum:
-					stacking_input->AddTimeInput(new PentaInput(HydrologydcStackedNEnum,&N[0],P1Enum),hydrotime);
+					stacking_input->AddTimeInput(new PentaInput(EffectivePressureStackedEnum,&N[0],P1Enum),hydrotime);
 					break;
 				case TetraEnum:
-					stacking_input->AddTimeInput(new TetraInput(HydrologydcStackedNEnum,&N[0],P1Enum),hydrotime);
+					stacking_input->AddTimeInput(new TetraInput(EffectivePressureStackedEnum,&N[0],P1Enum),hydrotime);
 					break;
 				default: _error_("Not implemented yet");
@@ -4530,5 +4530,5 @@
 				stacking_input->GetInputAverageOnTimes(&time_averaged,init_time);
 
-				element->AddInput(TimeAverageEffectivePressureEnum,&time_averaged[0],P1Enum);
+				element->AddInput(EffectivePressureTimeAverageEnum,&time_averaged[0],P1Enum);
 				xDelete<IssmDouble>(time_averaged);
 			}
Index: /issm/trunk-jpl/src/c/cores/hydrology_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 22284)
@@ -15,7 +15,9 @@
 	int  hydrology_model;
 	int  solution_type;
+	int  numoutputs=0;
 	bool save_results;
 	bool modify_loads=true;
 	bool isefficientlayer;
+	char **requested_outputs = NULL;
 
 	/*first recover parameters common to all solutions*/
@@ -23,4 +25,6 @@
 	femmodel->parameters->FindParam(&hydrology_model,HydrologyModelEnum);
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);	
+	femmodel->parameters->FindParam(&numoutputs,HydrologyNumRequestedOutputsEnum);
+	if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,HydrologyRequestedOutputsEnum);
 
 	/*Using the Shreve based Model*/
@@ -40,6 +44,5 @@
 		if(save_results){
 			if(VerboseSolution()) _printf0_("   saving results \n");
-			int outputs[3] = {WatercolumnEnum,HydrologyWaterVxEnum,HydrologyWaterVyEnum};
-			femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],3);
+			femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs);
 		}
 	}
@@ -49,6 +52,4 @@
 		/*intermediary: */
 		int        step,hydroslices;
-		int        numoutputs=0;
-		char       **requested_outputs = NULL;
 		IssmDouble time,init_time,hydrotime,yts;
 		IssmDouble dt,hydrodt;
@@ -57,16 +58,14 @@
 		femmodel->parameters->FindParam(&step,StepEnum);
 		femmodel->parameters->FindParam(&time,TimeEnum);
-		femmodel->parameters->FindParam(&hydroslices,HydrologydcStepsPerStepEnum);
+		femmodel->parameters->FindParam(&hydroslices,HydrologyStepsPerStepEnum);
 		femmodel->parameters->FindParam(&yts,ConstantsYtsEnum);
 		init_time = time-dt; //getting the time back to the start of the timestep
 		hydrotime=init_time;
 		hydrodt=dt/hydroslices; //computing hydro dt from dt and a divider
-		femmodel->parameters->AddObject(new DoubleParam(HydrologydcHydrodtEnum,hydrodt));
-		femmodel->parameters->FindParam(&numoutputs,HydrologyNumRequestedOutputsEnum);
-		if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,HydrologyRequestedOutputsEnum);
+		femmodel->parameters->AddObject(new DoubleParam(HydrologydtEnum,hydrodt));
 
 		if(dt>0){
 			if(hydroslices>1){
-				int trans_input[1]={HydrologydcStackedNEnum};
+				int trans_input[1]={EffectivePressureStackedEnum};
 				femmodel->InitTransientOutputx(&trans_input[0],1);
 			}
@@ -87,5 +86,5 @@
 			}
 			if(hydroslices>1){
-				int output[1]={HydrologydcStackedNEnum};
+				int output[1]={EffectivePressureStackedEnum};
 				femmodel->AverageTransientOutputx(&output[0],init_time,1);
 			}		
@@ -105,14 +104,6 @@
 			femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs);
 		}
-		/*Free ressources:*/	
-		if(numoutputs){
-			for(int i=0;i<numoutputs;i++){
-				xDelete<char>(requested_outputs[i]);
-			}
-			xDelete<char*>(requested_outputs);
-		}
 	}
 	
-
 	else if (hydrology_model==HydrologysommersEnum){	
 		femmodel->SetCurrentConfiguration(HydrologySommersAnalysisEnum);	
@@ -126,6 +117,5 @@
 		if(save_results){
 			if(VerboseSolution()) _printf0_("   saving results \n");
-			int outputs[5] = {HydrologyHeadEnum,HydrologyGapHeightEnum,EffectivePressureEnum,HydrologyBasalFluxEnum,DegreeOfChannelizationEnum};
-			femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],5);
+			femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs);
 		}
 	}
@@ -134,4 +124,11 @@
 		_error_("Hydrology model "<< EnumToStringx(hydrology_model) <<" not supported yet");
 	}
+	/*Free ressources:*/	
+	if(numoutputs){
+		for(int i=0;i<numoutputs;i++){
+			xDelete<char>(requested_outputs[i]);
+		}
+		xDelete<char*>(requested_outputs);
+	}
 }
 
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 22283)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 22284)
@@ -133,18 +133,22 @@
 	HydrologyNumRequestedOutputsEnum,
 	HydrologyRequestedOutputsEnum,
-	HydrologydcHydrodtEnum,
-	HydrologydcStepsPerStepEnum,
+	HydrologydtEnum,
+	HydrologyStepsPerStepEnum,
 	SedimentHeadEnum,
 	SedimentHeadOldEnum,
+	SedimentHeadStackedEnum,
+	SedimentHeadTimeAverageEnum,
 	SedimentHeadResidualEnum,
 	EffectivePressureEnum,
-	TimeAverageEffectivePressureEnum,
+	EffectivePressureStackedEnum,
+	EffectivePressureTimeAverageEnum,
 	EplHeadEnum,
 	EplHeadOldEnum,
+	EplHeadStackedEnum,
+	EplHeadTimeAverageEnum,
 	EplHeadSlopeXEnum,
 	EplHeadSlopeYEnum,
 	EplZigZagCounterEnum,
 	MeanEffectivePressureEnum,
-	HydrologydcStackedNEnum,
 	HydrologydcMaxIterEnum,
 	HydrologydcRelTolEnum,
@@ -163,4 +167,6 @@
 	HydrologydcEplThicknessEnum,
 	HydrologydcEplThicknessOldEnum,
+	HydrologydcEplThicknessStackedEnum,
+	HydrologydcEplThicknessTimeAverageEnum,
 	HydrologydcEplThickCompEnum,
 	HydrologydcEplConductivityEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 22284)
@@ -139,18 +139,22 @@
 		case HydrologyNumRequestedOutputsEnum : return "HydrologyNumRequestedOutputs";
 		case HydrologyRequestedOutputsEnum : return "HydrologyRequestedOutputs";
-		case HydrologydcHydrodtEnum : return "HydrologydcHydrodt";
-		case HydrologydcStepsPerStepEnum : return "HydrologydcStepsPerStep";
+		case HydrologydtEnum : return "Hydrologydt";
+		case HydrologyStepsPerStepEnum : return "HydrologyStepsPerStep";
 		case SedimentHeadEnum : return "SedimentHead";
 		case SedimentHeadOldEnum : return "SedimentHeadOld";
+		case SedimentHeadStackedEnum : return "SedimentHeadStacked";
+		case SedimentHeadTimeAverageEnum : return "SedimentHeadTimeAverage";
 		case SedimentHeadResidualEnum : return "SedimentHeadResidual";
 		case EffectivePressureEnum : return "EffectivePressure";
-		case TimeAverageEffectivePressureEnum : return "TimeAverageEffectivePressure";
+		case EffectivePressureStackedEnum : return "EffectivePressureStacked";
+		case EffectivePressureTimeAverageEnum : return "EffectivePressureTimeAverage";
 		case EplHeadEnum : return "EplHead";
 		case EplHeadOldEnum : return "EplHeadOld";
+		case EplHeadStackedEnum : return "EplHeadStacked";
+		case EplHeadTimeAverageEnum : return "EplHeadTimeAverage";
 		case EplHeadSlopeXEnum : return "EplHeadSlopeX";
 		case EplHeadSlopeYEnum : return "EplHeadSlopeY";
 		case EplZigZagCounterEnum : return "EplZigZagCounter";
 		case MeanEffectivePressureEnum : return "MeanEffectivePressure";
-		case HydrologydcStackedNEnum : return "HydrologydcStackedN";
 		case HydrologydcMaxIterEnum : return "HydrologydcMaxIter";
 		case HydrologydcRelTolEnum : return "HydrologydcRelTol";
@@ -169,4 +173,6 @@
 		case HydrologydcEplThicknessEnum : return "HydrologydcEplThickness";
 		case HydrologydcEplThicknessOldEnum : return "HydrologydcEplThicknessOld";
+		case HydrologydcEplThicknessStackedEnum : return "HydrologydcEplThicknessStacked";
+		case HydrologydcEplThicknessTimeAverageEnum : return "HydrologydcEplThicknessTimeAverage";
 		case HydrologydcEplThickCompEnum : return "HydrologydcEplThickComp";
 		case HydrologydcEplConductivityEnum : return "HydrologydcEplConductivity";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 22284)
@@ -142,18 +142,22 @@
 	      if (strcmp(name,"HydrologyNumRequestedOutputs")==0) return HydrologyNumRequestedOutputsEnum;
 	      else if (strcmp(name,"HydrologyRequestedOutputs")==0) return HydrologyRequestedOutputsEnum;
-	      else if (strcmp(name,"HydrologydcHydrodt")==0) return HydrologydcHydrodtEnum;
-	      else if (strcmp(name,"HydrologydcStepsPerStep")==0) return HydrologydcStepsPerStepEnum;
+	      else if (strcmp(name,"Hydrologydt")==0) return HydrologydtEnum;
+	      else if (strcmp(name,"HydrologyStepsPerStep")==0) return HydrologyStepsPerStepEnum;
 	      else if (strcmp(name,"SedimentHead")==0) return SedimentHeadEnum;
 	      else if (strcmp(name,"SedimentHeadOld")==0) return SedimentHeadOldEnum;
+	      else if (strcmp(name,"SedimentHeadStacked")==0) return SedimentHeadStackedEnum;
+	      else if (strcmp(name,"SedimentHeadTimeAverage")==0) return SedimentHeadTimeAverageEnum;
 	      else if (strcmp(name,"SedimentHeadResidual")==0) return SedimentHeadResidualEnum;
 	      else if (strcmp(name,"EffectivePressure")==0) return EffectivePressureEnum;
-	      else if (strcmp(name,"TimeAverageEffectivePressure")==0) return TimeAverageEffectivePressureEnum;
+	      else if (strcmp(name,"EffectivePressureStacked")==0) return EffectivePressureStackedEnum;
+	      else if (strcmp(name,"EffectivePressureTimeAverage")==0) return EffectivePressureTimeAverageEnum;
 	      else if (strcmp(name,"EplHead")==0) return EplHeadEnum;
 	      else if (strcmp(name,"EplHeadOld")==0) return EplHeadOldEnum;
+	      else if (strcmp(name,"EplHeadStacked")==0) return EplHeadStackedEnum;
+	      else if (strcmp(name,"EplHeadTimeAverage")==0) return EplHeadTimeAverageEnum;
 	      else if (strcmp(name,"EplHeadSlopeX")==0) return EplHeadSlopeXEnum;
 	      else if (strcmp(name,"EplHeadSlopeY")==0) return EplHeadSlopeYEnum;
 	      else if (strcmp(name,"EplZigZagCounter")==0) return EplZigZagCounterEnum;
 	      else if (strcmp(name,"MeanEffectivePressure")==0) return MeanEffectivePressureEnum;
-	      else if (strcmp(name,"HydrologydcStackedN")==0) return HydrologydcStackedNEnum;
 	      else if (strcmp(name,"HydrologydcMaxIter")==0) return HydrologydcMaxIterEnum;
 	      else if (strcmp(name,"HydrologydcRelTol")==0) return HydrologydcRelTolEnum;
@@ -172,4 +176,6 @@
 	      else if (strcmp(name,"HydrologydcEplThickness")==0) return HydrologydcEplThicknessEnum;
 	      else if (strcmp(name,"HydrologydcEplThicknessOld")==0) return HydrologydcEplThicknessOldEnum;
+	      else if (strcmp(name,"HydrologydcEplThicknessStacked")==0) return HydrologydcEplThicknessStackedEnum;
+	      else if (strcmp(name,"HydrologydcEplThicknessTimeAverage")==0) return HydrologydcEplThicknessTimeAverageEnum;
 	      else if (strcmp(name,"HydrologydcEplThickComp")==0) return HydrologydcEplThickCompEnum;
 	      else if (strcmp(name,"HydrologydcEplConductivity")==0) return HydrologydcEplConductivityEnum;
@@ -254,5 +260,8 @@
 	      else if (strcmp(name,"DamageLaw")==0) return DamageLawEnum;
 	      else if (strcmp(name,"DamageC1")==0) return DamageC1Enum;
-	      else if (strcmp(name,"DamageC2")==0) return DamageC2Enum;
+         else stage=3;
+   }
+   if(stage==3){
+	      if (strcmp(name,"DamageC2")==0) return DamageC2Enum;
 	      else if (strcmp(name,"DamageC3")==0) return DamageC3Enum;
 	      else if (strcmp(name,"DamageC4")==0) return DamageC4Enum;
@@ -260,8 +269,5 @@
 	      else if (strcmp(name,"DamageHealing")==0) return DamageHealingEnum;
 	      else if (strcmp(name,"DamageStressThreshold")==0) return DamageStressThresholdEnum;
-         else stage=3;
-   }
-   if(stage==3){
-	      if (strcmp(name,"DamageKappa")==0) return DamageKappaEnum;
+	      else if (strcmp(name,"DamageKappa")==0) return DamageKappaEnum;
 	      else if (strcmp(name,"DamageStabilization")==0) return DamageStabilizationEnum;
 	      else if (strcmp(name,"DamageMaxiter")==0) return DamageMaxiterEnum;
@@ -377,5 +383,8 @@
 	      else if (strcmp(name,"GiaMantleViscosity")==0) return GiaMantleViscosityEnum;
 	      else if (strcmp(name,"GiaLithosphereThickness")==0) return GiaLithosphereThicknessEnum;
-	      else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
+         else stage=4;
+   }
+   if(stage==4){
+	      if (strcmp(name,"Thickness")==0) return ThicknessEnum;
 	      else if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum;
 	      else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
@@ -383,8 +392,5 @@
 	      else if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum;
 	      else if (strcmp(name,"TimesteppingTimeStep")==0) return TimesteppingTimeStepEnum;
-         else stage=4;
-   }
-   if(stage==4){
-	      if (strcmp(name,"TimesteppingInterpForcings")==0) return TimesteppingInterpForcingsEnum;
+	      else if (strcmp(name,"TimesteppingInterpForcings")==0) return TimesteppingInterpForcingsEnum;
 	      else if (strcmp(name,"TransientIssmb")==0) return TransientIssmbEnum;
 	      else if (strcmp(name,"TransientIscoupler")==0) return TransientIscouplerEnum;
@@ -500,5 +506,8 @@
 	      else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum;
 	      else if (strcmp(name,"SmbSmbref")==0) return SmbSmbrefEnum;
-	      else if (strcmp(name,"SmbBPos")==0) return SmbBPosEnum;
+         else stage=5;
+   }
+   if(stage==5){
+	      if (strcmp(name,"SmbBPos")==0) return SmbBPosEnum;
 	      else if (strcmp(name,"SmbBNeg")==0) return SmbBNegEnum;
 	      else if (strcmp(name,"SMBhenning")==0) return SMBhenningEnum;
@@ -506,8 +515,5 @@
 	      else if (strcmp(name,"SmbAccumulation")==0) return SmbAccumulationEnum;
 	      else if (strcmp(name,"SmbEvaporation")==0) return SmbEvaporationEnum;
-         else stage=5;
-   }
-   if(stage==5){
-	      if (strcmp(name,"SmbRunoff")==0) return SmbRunoffEnum;
+	      else if (strcmp(name,"SmbRunoff")==0) return SmbRunoffEnum;
 	      else if (strcmp(name,"SMBmeltcomponents")==0) return SMBmeltcomponentsEnum;
 	      else if (strcmp(name,"SmbMelt")==0) return SmbMeltEnum;
@@ -623,5 +629,8 @@
 	      else if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum;
 	      else if (strcmp(name,"IntMatExternalResult")==0) return IntMatExternalResultEnum;
-	      else if (strcmp(name,"J")==0) return JEnum;
+         else stage=6;
+   }
+   if(stage==6){
+	      if (strcmp(name,"J")==0) return JEnum;
 	      else if (strcmp(name,"StringExternalResult")==0) return StringExternalResultEnum;
 	      else if (strcmp(name,"Step")==0) return StepEnum;
@@ -629,8 +638,5 @@
 	      else if (strcmp(name,"WaterColumnOld")==0) return WaterColumnOldEnum;
 	      else if (strcmp(name,"SurfaceObservation")==0) return SurfaceObservationEnum;
-         else stage=6;
-   }
-   if(stage==6){
-	      if (strcmp(name,"WeightsSurfaceObservation")==0) return WeightsSurfaceObservationEnum;
+	      else if (strcmp(name,"WeightsSurfaceObservation")==0) return WeightsSurfaceObservationEnum;
 	      else if (strcmp(name,"Outputdefinition")==0) return OutputdefinitionEnum;
 	      else if (strcmp(name,"Outputdefinition1")==0) return Outputdefinition1Enum;
@@ -746,5 +752,8 @@
 	      else if (strcmp(name,"AugmentedLagrangianRlambda")==0) return AugmentedLagrangianRlambdaEnum;
 	      else if (strcmp(name,"AugmentedLagrangianRholambda")==0) return AugmentedLagrangianRholambdaEnum;
-	      else if (strcmp(name,"AugmentedLagrangianTheta")==0) return AugmentedLagrangianThetaEnum;
+         else stage=7;
+   }
+   if(stage==7){
+	      if (strcmp(name,"AugmentedLagrangianTheta")==0) return AugmentedLagrangianThetaEnum;
 	      else if (strcmp(name,"None")==0) return NoneEnum;
 	      else if (strcmp(name,"AggressiveMigration")==0) return AggressiveMigrationEnum;
@@ -752,8 +761,5 @@
 	      else if (strcmp(name,"SubelementMigration")==0) return SubelementMigrationEnum;
 	      else if (strcmp(name,"SubelementMigration2")==0) return SubelementMigration2Enum;
-         else stage=7;
-   }
-   if(stage==7){
-	      if (strcmp(name,"SubelementMigration3")==0) return SubelementMigration3Enum;
+	      else if (strcmp(name,"SubelementMigration3")==0) return SubelementMigration3Enum;
 	      else if (strcmp(name,"Contact")==0) return ContactEnum;
 	      else if (strcmp(name,"GroundingOnly")==0) return GroundingOnlyEnum;
@@ -869,5 +875,8 @@
 	      else if (strcmp(name,"EsaHElastic")==0) return EsaHElasticEnum;
 	      else if (strcmp(name,"EsaTransitions")==0) return EsaTransitionsEnum;
-	      else if (strcmp(name,"EsaRequestedOutputs")==0) return EsaRequestedOutputsEnum;
+         else stage=8;
+   }
+   if(stage==8){
+	      if (strcmp(name,"EsaRequestedOutputs")==0) return EsaRequestedOutputsEnum;
 	      else if (strcmp(name,"EsaNumRequestedOutputs")==0) return EsaNumRequestedOutputsEnum;
 	      else if (strcmp(name,"TransientAmrFrequency")==0) return TransientAmrFrequencyEnum;
@@ -875,8 +884,5 @@
 	      else if (strcmp(name,"AmrRestart")==0) return AmrRestartEnum;
 	      else if (strcmp(name,"AmrNeopz")==0) return AmrNeopzEnum;
-         else stage=8;
-   }
-   if(stage==8){
-	      if (strcmp(name,"AmrLevelMax")==0) return AmrLevelMaxEnum;
+	      else if (strcmp(name,"AmrLevelMax")==0) return AmrLevelMaxEnum;
 	      else if (strcmp(name,"AmrLag")==0) return AmrLagEnum;
 	      else if (strcmp(name,"AmrBamg")==0) return AmrBamgEnum;
@@ -992,5 +998,8 @@
 	      else if (strcmp(name,"HydrologyDCEfficientAnalysis")==0) return HydrologyDCEfficientAnalysisEnum;
 	      else if (strcmp(name,"HydrologySommersAnalysis")==0) return HydrologySommersAnalysisEnum;
-	      else if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum;
+         else stage=9;
+   }
+   if(stage==9){
+	      if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum;
 	      else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum;
 	      else if (strcmp(name,"MasstransportAnalysis")==0) return MasstransportAnalysisEnum;
@@ -998,8 +1007,5 @@
 	      else if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum;
 	      else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum;
-         else stage=9;
-   }
-   if(stage==9){
-	      if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
+	      else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
 	      else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum;
 	      else if (strcmp(name,"DepthAverageAnalysis")==0) return DepthAverageAnalysisEnum;
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 22283)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 22284)
@@ -90,5 +90,5 @@
 		InputUpdateFromConstantx(femmodel,false,ConvergedEnum);
 		femmodel->UpdateConstraintsx();
-		femmodel->parameters->SetParam(HydrologySedimentEnum,HydrologyLayerEnum);
+		//femmodel->parameters->SetParam(HydrologySedimentEnum,HydrologyLayerEnum);
 		
 		/*Reset constraint on the ZigZag Lock*/
@@ -163,5 +163,5 @@
 			InputUpdateFromConstantx(femmodel,true,ResetPenaltiesEnum);
 			InputUpdateFromConstantx(femmodel,false,ConvergedEnum);
-			femmodel->parameters->SetParam(HydrologyEfficientEnum,HydrologyLayerEnum);
+			//femmodel->parameters->SetParam(HydrologyEfficientEnum,HydrologyLayerEnum);
 
 			for(;;){
