Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 16853)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 16854)
@@ -85,5 +85,5 @@
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,SedimentHeadEnum);
-	if(isefficientlayer)iomodel->FetchDataToInput(elements,HydrologydcMaskEplactiveEnum);
+	if(isefficientlayer)iomodel->FetchDataToInput(elements,HydrologydcMaskEplactiveNodeEnum);
 }/*}}}*/
 void HydrologyDCInefficientAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 16853)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 16854)
@@ -2407,5 +2407,5 @@
 				name==HydrologydcEplInitialThicknessEnum ||
 				name==HydrologydcEplThicknessEnum ||
-				name==HydrologydcMaskEplactiveEnum ||
+				name==HydrologydcMaskEplactiveNodeEnum ||
 				name==WaterTransferEnum
 
@@ -9845,5 +9845,5 @@
 		A                = material->GetA();
 		
-		GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveEnum);
+		GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum);
 		GetInputListOnVertices(&eplhead[0],EplHeadEnum);
 		GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum); 
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16853)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16854)
@@ -1979,5 +1979,5 @@
 				name==HydrologydcEplInitialThicknessEnum ||
 				name==HydrologydcEplThicknessEnum ||
-				name==HydrologydcMaskEplactiveEnum ||
+				name==HydrologydcMaskEplactiveNodeEnum ||
 				name==MeshVertexonbedEnum ||
 				name==WaterTransferEnum ||
@@ -6673,4 +6673,5 @@
 		transfer_input->GetInputValue(&transfer,gauss);
 		scalar = Jdet*gauss->weight*(water_load+transfer);
+		printf("are we loading: load,%e ,transfer,%e\n",water_load, transfer);
 		if(reCast<bool,IssmDouble>(dt)) scalar = scalar*dt;
 		for(int i=0;i<numnodes;i++) pe->values[i]+=scalar*basis[i];
@@ -6953,5 +6954,8 @@
 		case 1:
 
-			GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveEnum);
+			int analysis_type;
+			parameters->FindParam(&analysis_type,AnalysisTypeEnum);
+
+			GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum);
 			GetInputListOnVertices(&sed_head[0],SedimentHeadEnum); 
 			GetInputListOnVertices(&epl_head[0],EplHeadEnum);
@@ -6963,17 +6967,27 @@
 			sed_thick = matpar->GetSedimentThickness();
 
-			for(int i=0;i<numdof;i++){
+			printf("Which analyse %i \n",analysis_type);
+
+			if(!this->AnyActive()){
+
+				//printf("NoneActive\n");
+
 				/*No transfer if the EPL is not active*/
-				if(activeEpl[i]==0.0){
+				for(int i=0;i<numdof;i++){
 					wh_trans=0.0;
+					/*Assign output pointer*/
+					transfer->SetValue(doflist[i],wh_trans,INS_VAL);
 				}
-				else{
+			}
+			else{
+
+				for(int i=0;i<numdof;i++){
 					epl_specificstoring[i]=matpar->GetEplSpecificStoring();		
 					sedstoring[i]=matpar->GetSedimentStoring();
-
+					
 					/*EPL head higher than sediment head, transfer from the epl to the sediment*/
 					if(epl_head[i]>sed_head[i]){
 						wh_trans=epl_specificstoring[i]*epl_thickness[i]*sed_trans*(epl_head[i]-sed_head[i])/(leakage*sed_thick);				
-
+						
 						/*No transfer if the sediment head is allready at the maximum*/
 						this->GetHydrologyDCInefficientHmax(&h_max,nodes[i]);
@@ -6984,7 +6998,8 @@
 						wh_trans=sedstoring[i]*sed_trans*(epl_head[i]-sed_head[i])/(leakage*sed_thick);				
 					}
+					/*Assign output pointer*/
+					transfer->SetValue(doflist[i],wh_trans,INS_VAL);
+					printf("Computing, %e \n",wh_trans);
 				}
-				/*Assign output pointer*/
-				transfer->SetValue(doflist[i],wh_trans,INS_VAL);
 			}
 			break;
@@ -7005,5 +7020,5 @@
 	IssmDouble active[numnodes];
 
-	GetInputListOnVertices(&active[0],HydrologydcMaskEplactiveEnum);
+	GetInputListOnVertices(&active[0],HydrologydcMaskEplactiveNodeEnum);
 
 	for(int i=0;i<numnodes;i++) flag+=active[i];
@@ -7034,5 +7049,5 @@
 	IssmDouble  residual[numdof];
 
-	GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactiveEnum);	
+	GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactiveNodeEnum);	
 	GetInputListOnVertices(&epl_thickness[0],HydrologydcEplThicknessEnum);	
 	GetInputListOnVertices(&sedhead[0],SedimentHeadEnum);
@@ -7106,5 +7121,5 @@
 		A                = material->GetAbar();
 		
-		GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveEnum);
+		GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum);
 		GetInputListOnVertices(&eplhead[0],EplHeadEnum);
 		GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum); 
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 16853)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 16854)
@@ -1352,5 +1352,5 @@
 
 	/*Update Mask*/
-	InputUpdateFromVectorx(this,serial_mask,HydrologydcMaskEplactiveEnum,NodeSIdEnum);
+	InputUpdateFromVectorx(this,serial_mask,HydrologydcMaskEplactiveNodeEnum,NodeSIdEnum);
 	xDelete<IssmDouble>(serial_mask);
 
Index: /issm/trunk-jpl/src/c/cores/hydrology_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 16853)
+++ /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 16854)
@@ -94,6 +94,6 @@
 				if(VerboseSolution()) _printf0_("   saving results \n");
 				if(isefficientlayer){
-					int outputs[7] = {SedimentHeadEnum,SedimentHeadResidualEnum,EplHeadEnum,HydrologydcMaskEplactiveEnum,EplHeadSlopeXEnum,EplHeadSlopeYEnum,HydrologydcEplThicknessEnum};
-					femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],7);
+					int outputs[8] = {SedimentHeadEnum,SedimentHeadResidualEnum,EplHeadEnum,HydrologydcMaskEplactiveNodeEnum,EplHeadSlopeXEnum,EplHeadSlopeYEnum,HydrologydcEplThicknessEnum,WaterTransferEnum};
+					femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],8);
 				}
 				else{
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 16853)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 16854)
@@ -52,5 +52,4 @@
 
 	/*Retrieve inputs as the initial state for the non linear iteration*/
-	//femmodel->SetCurrentConfiguration(HydrologyDCInefficientAnalysisEnum);
 	GetSolutionFromInputsx(&ug_sed,femmodel);
 
@@ -78,4 +77,7 @@
 		femmodel->parameters->SetParam(HydrologySedimentEnum,HydrologyLayerEnum);
 
+		/*Reset constraint on the ZigZag Lock*/
+		ResetConstraintsx(femmodel);
+		
 		/*Iteration on the sediment layer*/
 		sedconverged=false;
@@ -99,6 +101,4 @@
 				if(num_unstable_constraints==0) sedconverged = true;
 				if (sedcount>=hydro_maxiter){
-					/*Hacking to get the results of non converged runs*/
-					//					sedconverged = true;
 					_error_("   maximum number of Sediment iterations (" << hydro_maxiter << ") exceeded");
 				}
@@ -124,6 +124,4 @@
 			femmodel->parameters->SetParam(HydrologyEfficientEnum,HydrologyLayerEnum);
 
-			/*Reset constraint on the ZigZag Lock*/
-			ResetConstraintsx(femmodel);
 			/*Iteration on the EPL layer*/
 			eplconverged = false;
