Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 17353)
@@ -56,6 +56,4 @@
 	iomodel->FetchDataToInput(elements,HydrologydcEplInitialThicknessEnum);
 	iomodel->FetchDataToInput(elements,HydrologydcSedimentTransmitivityEnum);
-
-	iomodel->FetchDataToInput(elements,HydrologydcMaskEplactiveNodeEnum);
 	
 	elements->InputDuplicate(HydrologydcEplInitialThicknessEnum,HydrologydcEplThicknessEnum);
@@ -186,5 +184,4 @@
 			/*Transfer EPL part*/
 			transfer=GetHydrologyKMatrixTransfer(basalelement,gauss);
-			basalelement->NodalFunctions(&basis[0],gauss);
 			D_scalar=transfer*gauss->weight*Jdet*dt;
 			TripleMultiply(basis,numnodes,1,0,
@@ -296,7 +293,9 @@
 	return pe;
 }/*}}}*/
+
 void HydrologyDCEfficientAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
 	element->GetSolutionFromInputsOneDof(solution,EplHeadEnum);
 }/*}}}*/
+
 void HydrologyDCEfficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
 
@@ -322,5 +321,4 @@
 	/*Fetch dof list and allocate solution vector*/
 	basalelement->GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
-	
 	IssmDouble* eplHeads    = xNew<IssmDouble>(numnodes);
 
@@ -329,5 +327,4 @@
 		eplHeads[i]=solution[doflist[i]];
 		if(xIsNan<IssmDouble>(eplHeads[i])) _error_("NaN found in solution vector");
-
 	}
 	/*Add input to the element: */
@@ -336,5 +333,4 @@
 	/*Free ressources:*/
 	xDelete<IssmDouble>(eplHeads);
-	//	xDelete<IssmDouble>(eplOldHeads);
 	xDelete<int>(doflist);
 	if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
@@ -355,4 +351,5 @@
 	return rho_freshwater*g*epl_porosity*(water_compressibility+(epl_compressibility/epl_porosity));		 
 }/*}}}*/
+
 IssmDouble HydrologyDCEfficientAnalysis::SedimentStoring(Element* element){/*{{{*/
 	IssmDouble rho_freshwater           = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
@@ -364,4 +361,5 @@
 	return rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));		 
 }/*}}}*/
+
 IssmDouble HydrologyDCEfficientAnalysis::GetHydrologyDCInefficientHmax(Element* element, Gauss* gauss){/*{{{*/
 	int        hmax_flag;
@@ -369,4 +367,5 @@
 	IssmDouble rho_ice,rho_water;
 	IssmDouble thickness,bed;
+
 	/*Get the flag to the limitation method*/
 	element->FindParam(&hmax_flag,HydrologydcSedimentlimitFlagEnum);
Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 17353)
@@ -81,9 +81,7 @@
 
 	iomodel->FetchDataToInput(elements,ThicknessEnum);
-	iomodel->FetchDataToInput(elements,SurfaceEnum);
 	iomodel->FetchDataToInput(elements,BedEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
-	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,SedimentHeadEnum);
@@ -235,5 +233,4 @@
 				if(active_element){
 					transfer=GetHydrologyKMatrixTransfer(basalelement,gauss);
-					
 					basalelement->NodalFunctions(&basis[0],gauss);
 					D_scalar=transfer*gauss->weight*Jdet*dt;
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 17353)
@@ -494,6 +494,5 @@
 				name==HydrologydcEplThicknessEnum ||
 				name==HydrologydcMaskEplactiveNodeEnum ||
-				name==MeshVertexonbedEnum ||
-				name==WaterTransferEnum
+				name==MeshVertexonbedEnum 
 
 				) {
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 17353)
@@ -283,7 +283,5 @@
 		virtual void UpdateConstraintsExtrudeFromTop(void)=0;
 
-		//		virtual void GetHydrologyDCInefficientHmax(IssmDouble* ph_max,int index)=0;
 		virtual void GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode)=0;
-		virtual void GetHydrologyTransfer(Vector<IssmDouble>* transfer)=0; 
 		virtual void HydrologyEPLGetMask(Vector<IssmDouble>* mask)=0;
 		virtual void HydrologyEPLGetActive(Vector<IssmDouble>* active)=0;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 17353)
@@ -4179,14 +4179,4 @@
 }
 /*}}}*/
-/*FUNCTION Penta::GetHydrologyTransfer{{{*/
-void  Penta::GetHydrologyTransfer(Vector<IssmDouble>* transfer){
-
-	if (!IsOnBed()) return;
-
-	Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
-	tria->GetHydrologyTransfer(transfer);
-	delete tria->material; delete tria;
-}
-/*}}}*/
 /*FUNCTION Penta::GetSolutionFromInputsOneDof {{{*/
 void Penta::GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution, int enum_type){
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 17353)
@@ -243,6 +243,4 @@
 		ElementMatrix* CreateEPLDomainMassMatrix(void);
 		void           GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode);
-		//		void           GetHydrologyDCInefficientHmax(IssmDouble* ph_max,int index){_error_("not implemented yet");};
-		void           GetHydrologyTransfer(Vector<IssmDouble>* transfer);
 		void           HydrologyEPLGetActive(Vector<IssmDouble>* active_vec);
 		void           HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask);
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 17353)
@@ -151,6 +151,4 @@
 
 		void    GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode){_error_("not implemented yet");};
-		//		void    GetHydrologyDCInefficientHmax(IssmDouble* ph_max,int index){_error_("not implemented yet");};
-		void    GetHydrologyTransfer(Vector<IssmDouble>* transfer){_error_("not implemented yet");};
 		void    HydrologyEPLGetActive(Vector<IssmDouble>* active_vec){_error_("not implemented yet");};
 		void    HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17353)
@@ -4499,97 +4499,4 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetHydrologyTransfer{{{*/
-/*This thing should be useless and deleted soon*/
-
- void  Tria::GetHydrologyTransfer(Vector<IssmDouble>* transfer){ 
-
-/* 	const int  numdof   = NDOF1 *NUMVERTICES; */
-/* 	int        *doflist = NULL; */
-/* 	int        analysis_type; */
-/* 	bool       isefficientlayer; */
-/* 	bool       active_element; */
-/* 	int        transfermethod; */
-/* 	IssmDouble leakage,h_max,dt,test; */
-/* 	IssmDouble wh_trans,sed_thick,relaxed; */
-/* 	IssmDouble epl_specificstoring,sedstoring; */
-/* 	IssmDouble activeEpl[numdof],epl_thickness[numdof],old_epl_thickness[numdof]; */
-/* 	IssmDouble epl_head[numdof],sed_head[numdof]; */
-/* 	IssmDouble epl_head_old[numdof],sed_head_old[numdof]; */
-/* 	IssmDouble preceding_transfer[numdof],sed_trans[numdof]; */
-
-/* 	Input* active_element_input=NULL; */
-
-
-/* 	parameters->FindParam(&analysis_type,AnalysisTypeEnum); */
-		
-/* 	GetDofList(&doflist,NoneApproximationEnum,GsetEnum); */
-
-/* 	/\*Get the flag to know if the efficient layer is present*\/ */
-/* 	this->parameters->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum); */
-
-/* 	if(isefficientlayer){ */
-/* 		/\*Also get the flag to the transfer method*\/ */
-/* 		this->parameters->FindParam(&transfermethod,HydrologydcTransferFlagEnum); */
-/* 		this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);		 */
-/* 		/\*Switch between the different transfer methods cases*\/ */
-/* 		switch(transfermethod){ */
-/* 		case 0: */
-/* 			/\*Just keepping the transfer to zero, should be OK with the initial value of transfer*\/ */
-/* 			break; */
-/* 		case 1: */
-	
-/* 			active_element_input=inputs->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input); */
-/* 			active_element_input->GetInputValue(&active_element); */
-
-/* 			GetInputListOnVertices(&sed_head[0],SedimentHeadEnum); */
-/* 			GetInputListOnVertices(&sed_head_old[0],SedimentHeadOldEnum); */
-/* 			GetInputListOnVertices(&sed_trans[0],HydrologydcSedimentTransmitivityEnum); */
-/* 			GetInputListOnVertices(&epl_head[0],EplHeadEnum); */
-/* 			GetInputListOnVertices(&epl_head_old[0],EplHeadOldEnum); */
-/* 			GetInputListOnVertices(&epl_thickness[0],HydrologydcEplThicknessEnum);			 */
-
-/* 			this->parameters->FindParam(&leakage,HydrologydcLeakageFactorEnum); */
-
-/* 			sed_thick = matpar->GetSedimentThickness(); */
-
-/* 			if(!active_element){ */
-
-						
-/* 				/\*No transfer if the EPL is not active*\/ */
-/* 			} */
-/* 			else{ */
-/* 				GetInputListOnVertices(&preceding_transfer[0],WaterTransferEnum); */
-/* 				sedstoring=matpar->GetSedimentStoring(); */
-/* 				epl_specificstoring=matpar->GetEplSpecificStoring(); */
-					
-/* 				for(int i=0;i<numdof;i++){ */
-/* 					this->GetHydrologyDCInefficientHmax(&h_max,this->nodes[i]); */
-/* 					/\*EPL head higher than sediment head, transfer from the epl to the sediment*\/ */
-/* 					if(epl_head[i]>sed_head[i]){ */
-/* 						if(sed_head[i]>=h_max){ */
-/* 							wh_trans=0.0; */
-/* 						} */
-/* 						else{ */
-/* 							wh_trans=epl_specificstoring*epl_thickness[i]*sed_trans[i]*(epl_head[i]-sed_head[i])/(leakage*sed_thick); */
-/* 						}						 */
-/* 					} */
-/* 					/\* EPL head lower than sediment head, transfer from the sediment to the epl *\/ */
-/* 					else if(epl_head[i]<=sed_head[i]){ */
-/* 						wh_trans=sedstoring*sed_trans[i]*(epl_head[i]-sed_head[i])/(leakage*sed_thick); */
-/* 					}  */
-					
-/* 					/\*Assign output pointer*\/ */
-/* 					transfer->SetValue(doflist[i],wh_trans,INS_VAL); */
-/* 				} */
-/* 			} */
-/* 			break; */
-/* 		default: */
-/* 			_error_("no case higher than 1 for the Transfer method"); */
-/* 		} */
-/* 	} */
-/* 	/\*Free ressources:*\/ */
-/* 	xDelete<int>(doflist); */
- } 
-/*}}}*/
 /*FUNCTION Tria::HydrologyEPLGetActive {{{*/
 void Tria::HydrologyEPLGetActive(Vector<IssmDouble>* active_vec){
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 17353)
@@ -254,7 +254,5 @@
 		ElementMatrix* CreateEPLDomainMassMatrix(void);
 		void           CreateHydrologyWaterVelocityInput(void);
-		//		void           GetHydrologyDCInefficientHmax(IssmDouble* ph_max,int index);
 		void           GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode);
-		void           GetHydrologyTransfer(Vector<IssmDouble>* transfer);
 		void           HydrologyEPLGetActive(Vector<IssmDouble>* active_vec);
 		void           HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask);
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 17353)
@@ -1407,24 +1407,4 @@
 }
 /*}}}*/
-void FemModel::HydrologyTransferx(void){ /*{{{*/
-
-	Vector<IssmDouble>* transferg=NULL;
-
-	/*Vector allocation*/
-	transferg=new Vector<IssmDouble>(nodes->NumberOfNodes());
-
-	for (int i=0;i<elements->Size();i++){
-
-		Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
-		element->GetHydrologyTransfer(transferg);
-	}
-	/*Assemble*/
-	transferg->Assemble();
-
-	/*Update Inputs*/
-	InputUpdateFromVectorx(this,transferg,WaterTransferEnum,NodesEnum);
-	delete transferg;
-}
-/*}}}*/
 void FemModel::HydrologyEPLThicknessx(void){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 17352)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 17353)
@@ -95,5 +95,4 @@
 		void UpdateConstraintsExtrudeFromBasex();
 		void UpdateConstraintsExtrudeFromTopx();
-		void HydrologyTransferx(void);
 		void HydrologyEPLupdateDomainx(void);
 		void HydrologyEPLThicknessx(void);
Index: /issm/trunk-jpl/src/c/cores/hydrology_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 17353)
@@ -93,6 +93,6 @@
 				if(VerboseSolution()) _printf0_("   saving results \n");
 				if(isefficientlayer){
-					int outputs[9] = {SedimentHeadEnum,SedimentHeadResidualEnum,EplHeadEnum,HydrologydcMaskEplactiveNodeEnum,HydrologydcMaskEplactiveEltEnum,EplHeadSlopeXEnum,EplHeadSlopeYEnum,HydrologydcEplThicknessEnum,WaterTransferEnum};
-					femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],9);
+					int outputs[8] = {SedimentHeadEnum,SedimentHeadResidualEnum,EplHeadEnum,HydrologydcMaskEplactiveNodeEnum,HydrologydcMaskEplactiveEltEnum,EplHeadSlopeXEnum,EplHeadSlopeYEnum,HydrologydcEplThicknessEnum};
+					femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],8);
 				}
 				else{
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 17352)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 17353)
@@ -130,5 +130,4 @@
 	HydrologyEfficientEnum,
 	HydrologySedimentKmaxEnum,
-	WaterTransferEnum,
 	IndependentObjectEnum,
 	InversionControlParametersEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 17353)
@@ -138,5 +138,4 @@
 		case HydrologyEfficientEnum : return "HydrologyEfficient";
 		case HydrologySedimentKmaxEnum : return "HydrologySedimentKmax";
-		case WaterTransferEnum : return "WaterTransfer";
 		case IndependentObjectEnum : return "IndependentObject";
 		case InversionControlParametersEnum : return "InversionControlParameters";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 17353)
@@ -141,5 +141,4 @@
    if(stage==2){
 	      if (strcmp(name,"HydrologySedimentKmax")==0) return HydrologySedimentKmaxEnum;
-	      else if (strcmp(name,"WaterTransfer")==0) return WaterTransferEnum;
 	      else if (strcmp(name,"IndependentObject")==0) return IndependentObjectEnum;
 	      else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum;
@@ -260,9 +259,9 @@
 	      else if (strcmp(name,"SteadystateRequestedOutputs")==0) return SteadystateRequestedOutputsEnum;
 	      else if (strcmp(name,"Surface")==0) return SurfaceEnum;
+	      else if (strcmp(name,"ThermalIsenthalpy")==0) return ThermalIsenthalpyEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"ThermalIsenthalpy")==0) return ThermalIsenthalpyEnum;
-	      else if (strcmp(name,"ThermalIsdynamicbasalspc")==0) return ThermalIsdynamicbasalspcEnum;
+	      if (strcmp(name,"ThermalIsdynamicbasalspc")==0) return ThermalIsdynamicbasalspcEnum;
 	      else if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum;
 	      else if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum;
@@ -383,9 +382,9 @@
 	      else if (strcmp(name,"Results")==0) return ResultsEnum;
 	      else if (strcmp(name,"GenericParam")==0) return GenericParamEnum;
+	      else if (strcmp(name,"AdolcParam")==0) return AdolcParamEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"AdolcParam")==0) return AdolcParamEnum;
-	      else if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
+	      if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
 	      else if (strcmp(name,"BoolParam")==0) return BoolParamEnum;
 	      else if (strcmp(name,"Contour")==0) return ContourEnum;
@@ -506,9 +505,9 @@
 	      else if (strcmp(name,"VzMesh")==0) return VzMeshEnum;
 	      else if (strcmp(name,"Enthalpy")==0) return EnthalpyEnum;
+	      else if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum;
-	      else if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum;
+	      if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum;
 	      else if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum;
 	      else if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum;
@@ -629,9 +628,9 @@
 	      else if (strcmp(name,"Sset")==0) return SsetEnum;
 	      else if (strcmp(name,"Verbose")==0) return VerboseEnum;
+	      else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum;
          else stage=6;
    }
    if(stage==6){
-	      if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum;
-	      else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum;
+	      if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum;
 	      else if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum;
 	      else if (strcmp(name,"XY")==0) return XYEnum;
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 17352)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 17353)
@@ -71,7 +71,4 @@
 		delete analysis;
 	}
-	/*For the initialization we compute the transfer without the mask if the EPL is not present*/
-	femmodel->HydrologyTransferx();
-
 	/*The real computation starts here, outermost loop is on the two layer system*/
 	for(;;){
