Index: /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 19150)
+++ /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 19151)
@@ -120,4 +120,5 @@
 
 	/*diverse: */
+	int         CoupledFlag;
 	IssmDouble  q_exp;
 	IssmDouble  C_param;
@@ -135,6 +136,13 @@
 
 	element->GetInputValue(&As,gauss,FrictionAsEnum);
-	element->GetInputValue(&Neff,gauss,FrictionEffectivePressureEnum);
 	element->GetInputValue(&n,gauss,MaterialsRheologyNEnum);
+	element->parameters->FindParam(&CoupledFlag,FrictionCouplingEnum);
+
+	if (CoupledFlag==1){
+		element->GetInputValue(&Neff,gauss,EffectivePressureEnum);
+	}
+	else{
+		element->GetInputValue(&Neff,gauss,FrictionEffectivePressureEnum);
+	}
 
 	if(Neff<0)Neff=0;
@@ -215,7 +223,8 @@
 	  alpha2= NeffC[Chi/(1+alpha*Chi^q)]^(1/n)*1/vel  with
 		-Chi=|vel|/(C^n*Neff^n*As)
-		-alpha=(q-1)^(q-1)/q^q  **/
+		-alpha=(q-1)^(q-1)/q^q */
 
 	/*diverse: */
+	int         CoupledFlag;
 	IssmDouble  q_exp;
 	IssmDouble  C_param;
@@ -235,8 +244,14 @@
 	element->GetInputValue(&C_param,FrictionCEnum);
 	element->GetInputValue(&As,gauss,FrictionAsEnum);
-
-	element->GetInputValue(&Neff,gauss,FrictionEffectivePressureEnum);
 	element->GetInputValue(&n,gauss,MaterialsRheologyNEnum);
 	
+	element->parameters->FindParam(&CoupledFlag,FrictionCouplingEnum);
+	if (CoupledFlag==1){
+		element->GetInputValue(&Neff,gauss,EffectivePressureEnum);
+	}
+	else{
+		element->GetInputValue(&Neff,gauss,FrictionEffectivePressureEnum);
+	}
+		
 	if(Neff<0)Neff=0;
 
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 19150)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 19151)
@@ -98,4 +98,5 @@
 	FrictionWaterLayerEnum,
 	FrictionEffectivePressureEnum,
+	FrictionCouplingEnum,
 	GeometryHydrostaticRatioEnum,
 	HydrologyModelEnum,
@@ -294,5 +295,4 @@
 	ProfilingCurrentFlopsEnum,
 	ProfilingSolutionTimeEnum,
-	MaxIterationConvergenceFlagEnum,
 	SteadystateMaxiterEnum,
 	SteadystateNumRequestedOutputsEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 19150)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 19151)
@@ -106,4 +106,5 @@
 		case FrictionWaterLayerEnum : return "FrictionWaterLayer";
 		case FrictionEffectivePressureEnum : return "FrictionEffectivePressure";
+		case FrictionCouplingEnum : return "FrictionCoupling";
 		case GeometryHydrostaticRatioEnum : return "GeometryHydrostaticRatio";
 		case HydrologyModelEnum : return "HydrologyModel";
@@ -302,5 +303,4 @@
 		case ProfilingCurrentFlopsEnum : return "ProfilingCurrentFlops";
 		case ProfilingSolutionTimeEnum : return "ProfilingSolutionTime";
-		case MaxIterationConvergenceFlagEnum : return "MaxIterationConvergenceFlag";
 		case SteadystateMaxiterEnum : return "SteadystateMaxiter";
 		case SteadystateNumRequestedOutputsEnum : return "SteadystateNumRequestedOutputs";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 19150)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 19151)
@@ -106,4 +106,5 @@
 	      else if (strcmp(name,"FrictionWaterLayer")==0) return FrictionWaterLayerEnum;
 	      else if (strcmp(name,"FrictionEffectivePressure")==0) return FrictionEffectivePressureEnum;
+	      else if (strcmp(name,"FrictionCoupling")==0) return FrictionCouplingEnum;
 	      else if (strcmp(name,"GeometryHydrostaticRatio")==0) return GeometryHydrostaticRatioEnum;
 	      else if (strcmp(name,"HydrologyModel")==0) return HydrologyModelEnum;
@@ -136,9 +137,9 @@
 	      else if (strcmp(name,"HydrologydcEplInitialThickness")==0) return HydrologydcEplInitialThicknessEnum;
 	      else if (strcmp(name,"HydrologydcEplColapseThickness")==0) return HydrologydcEplColapseThicknessEnum;
-	      else if (strcmp(name,"HydrologydcEplMaxThickness")==0) return HydrologydcEplMaxThicknessEnum;
          else stage=2;
    }
    if(stage==2){
-	      if (strcmp(name,"HydrologydcEplThickness")==0) return HydrologydcEplThicknessEnum;
+	      if (strcmp(name,"HydrologydcEplMaxThickness")==0) return HydrologydcEplMaxThicknessEnum;
+	      else if (strcmp(name,"HydrologydcEplThickness")==0) return HydrologydcEplThicknessEnum;
 	      else if (strcmp(name,"HydrologydcEplThicknessOld")==0) return HydrologydcEplThicknessOldEnum;
 	      else if (strcmp(name,"HydrologydcEplThickComp")==0) return HydrologydcEplThickCompEnum;
@@ -259,9 +260,9 @@
 	      else if (strcmp(name,"MeshNumberofelements2d")==0) return MeshNumberofelements2dEnum;
 	      else if (strcmp(name,"MeshNumberofelements")==0) return MeshNumberofelementsEnum;
-	      else if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"MeshNumberofvertices2d")==0) return MeshNumberofvertices2dEnum;
+	      if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum;
+	      else if (strcmp(name,"MeshNumberofvertices2d")==0) return MeshNumberofvertices2dEnum;
 	      else if (strcmp(name,"MeshNumberofvertices")==0) return MeshNumberofverticesEnum;
 	      else if (strcmp(name,"MeshUpperelements")==0) return MeshUpperelementsEnum;
@@ -308,5 +309,4 @@
 	      else if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum;
 	      else if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum;
-	      else if (strcmp(name,"MaxIterationConvergenceFlag")==0) return MaxIterationConvergenceFlagEnum;
 	      else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum;
 	      else if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum;
