Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15233)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15234)
@@ -6304,5 +6304,4 @@
 /*FUNCTION Tria::GetSolutionFromInputsHydrologyShreve{{{*/
 void  Tria::GetSolutionFromInputsHydrologyShreve(Vector<IssmDouble>* solution){
-
 	const int    numdof=NDOF1*NUMVERTICES;
 
@@ -6498,4 +6497,5 @@
 	/*Free ressources:*/
 	xDelete<int>(doflist);
+
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 15233)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 15234)
@@ -108,44 +108,44 @@
 
 		/*Second layer*/
-		if(!isefficientlayer) break;
-		femmodel->SetCurrentConfiguration(HydrologyDCEfficientAnalysisEnum);
-		InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,true,ResetPenaltiesEnum);
-		InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,false,ConvergedEnum);
-		femmodel->UpdateConstraintsx();
-		femmodel->parameters->SetParam(HydrologyEfficientEnum,HydrologyLayerEnum);
-		eplconverged = false;
-		/*Iteration on the EPL layer*/
-		for(;;){
-			femmodel->HydrologyTransferx();
-			femmodel->SystemMatricesx(&Kff, &Kfs, &pf,&df,NULL);
-			CreateNodalConstraintsx(&ys,femmodel->nodes,HydrologyDCEfficientAnalysisEnum);
-			Reduceloadx(pf,Kfs,ys); delete Kfs;
-			delete uf;
-			Solverx(&uf, Kff, pf,old_uf, df, femmodel->parameters);
-			delete old_uf; old_uf=uf->Duplicate();			
-			if(eplcount>1) delete ug_epl; 
-			delete Kff;delete pf;
-			delete df;
-			Mergesolutionfromftogx(&ug_epl,uf,ys,femmodel->nodes,femmodel->parameters); delete ys;
-			InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug_epl);
-			ConstraintsStatex(&constraints_converged,&num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
-
-			if (!eplconverged){
-				if(VerboseConvergence()) _printf0_("   #unstable constraints = " << num_unstable_constraints << "\n");
-				if(num_unstable_constraints==0) eplconverged = true;
-				if (eplcount>=hydro_maxiter){
-					_error_("   maximum number of EPL iterations (" << hydro_maxiter << ") exceeded");
-				}
-			}
-			eplcount++;
-
-			if(eplconverged){
-				InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,eplconverged,ConvergedEnum);
-				InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,sediment_kmax,MeltingOffsetEnum);
+		if(isefficientlayer){
+			femmodel->SetCurrentConfiguration(HydrologyDCEfficientAnalysisEnum);
+			InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,true,ResetPenaltiesEnum);
+			InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,false,ConvergedEnum);
+			femmodel->UpdateConstraintsx();
+			femmodel->parameters->SetParam(HydrologyEfficientEnum,HydrologyLayerEnum);
+			eplconverged = false;
+			/*Iteration on the EPL layer*/
+			for(;;){
+				femmodel->HydrologyTransferx();
+				femmodel->SystemMatricesx(&Kff, &Kfs, &pf,&df,NULL);
+				CreateNodalConstraintsx(&ys,femmodel->nodes,HydrologyDCEfficientAnalysisEnum);
+				Reduceloadx(pf,Kfs,ys); delete Kfs;
+				delete uf;
+				Solverx(&uf, Kff, pf,old_uf, df, femmodel->parameters);
+				delete old_uf; old_uf=uf->Duplicate();			
+				if(eplcount>1) delete ug_epl; 
+				delete Kff;delete pf;
+				delete df;
+				Mergesolutionfromftogx(&ug_epl,uf,ys,femmodel->nodes,femmodel->parameters); delete ys;
 				InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug_epl);
-				break;
-			}
-		}
-
+				ConstraintsStatex(&constraints_converged,&num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
+				
+				if (!eplconverged){
+					if(VerboseConvergence()) _printf0_("   #unstable constraints = " << num_unstable_constraints << "\n");
+					if(num_unstable_constraints==0) eplconverged = true;
+					if (eplcount>=hydro_maxiter){
+						_error_("   maximum number of EPL iterations (" << hydro_maxiter << ") exceeded");
+					}
+				}
+				eplcount++;
+				
+				if(eplconverged){
+					InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,eplconverged,ConvergedEnum);
+					InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,sediment_kmax,MeltingOffsetEnum);
+					InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug_epl);
+					break;
+				}
+			}
+		}
 		/*System convergence check*/
 		if(!hydroconverged){
@@ -159,5 +159,5 @@
 				if (!isefficientlayer){
 					if ((ndu_sed/nu_sed)<eps_hyd){
-						if(VerboseConvergence()) _printf0_(setw(50) << left << "   Converged");
+						if(VerboseConvergence()) _printf0_(setw(50) << left << "   Converged \n");
 						hydroconverged=true;
 					}
@@ -177,5 +177,5 @@
 					if (ndu_epl==0.0 && nu_epl==0.0) nu_epl=1.0e-6; /*Hacking the case where the EPL is used but empty*/
 					if ((ndu_epl/nu_epl)<eps_hyd && (ndu_sed/nu_sed)<eps_hyd){
-						if (VerboseConvergence()) _printf0_(setw(50) << left << "   Converged");
+						if (VerboseConvergence()) _printf0_(setw(50) << left << "   Converged \n");
 						hydroconverged=true;
 					}
@@ -195,8 +195,7 @@
 		if(hydroconverged)break;
 	}
-
 	InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug_sed);
-	InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug_epl);
-	
+	if(isefficientlayer)InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug_epl);
+
 	/*Free ressources: */
 	delete ug_epl;
