Index: /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 27493)
+++ /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 27494)
@@ -67,5 +67,5 @@
 	}
 
-	if(this->law==1){
+	if(this->law==1 || this->law==2){
 		element_in->FindParam(&linearization_type,FrictionLinearizeEnum);
 		if(linearization_type==0){
@@ -124,37 +124,36 @@
 void Friction::GetAlphaComplement(IssmDouble* palpha_complement, Gauss* gauss){/*{{{*/
 
-	switch(this->law){
-		case 1:
-			if(this->linearize==0){
+	if(this->linearize==0){
+		switch(this->law){
+			case 1:
 				GetAlphaViscousComplement(palpha_complement,gauss);
-			}
-			else if(this->linearize==1){
-				this->element->ValueP1OnGauss(palpha_complement, this->alpha2_complement_list, gauss);
-			}
-			else if(this->linearize==2){
-				*palpha_complement = this->alpha2_complement_list[0];
-			}
-			else{
-				_error_("not supported yet");
-			}
-			break;
-			break;
-		case 2:
-			GetAlphaWeertmanComplement(palpha_complement, gauss);
-			break;
-		case 3:
-			GetAlphaHydroComplement(palpha_complement,gauss);
-			break;
-		case 4:
-			GetAlphaTempComplement(palpha_complement,gauss);
-			break;
-		case 11:
-			GetAlphaSchoofComplement(palpha_complement,gauss);
-			break;
-		case 14:
-			GetAlphaRegCoulombComplement(palpha_complement,gauss);
-			break;
-	  default:
-			_error_("not supported");
+				break;
+			case 2:
+				GetAlphaWeertmanComplement(palpha_complement, gauss);
+				break;
+			case 3:
+				GetAlphaHydroComplement(palpha_complement,gauss);
+				break;
+			case 4:
+				GetAlphaTempComplement(palpha_complement,gauss);
+				break;
+			case 11:
+				GetAlphaSchoofComplement(palpha_complement,gauss);
+				break;
+			case 14:
+				GetAlphaRegCoulombComplement(palpha_complement,gauss);
+				break;
+			default:
+				_error_("not supported");
+		}
+	}
+	else if(this->linearize==1){
+		this->element->ValueP1OnGauss(palpha_complement, this->alpha2_complement_list, gauss);
+	}
+	else if(this->linearize==2){
+		*palpha_complement = this->alpha2_complement_list[0];
+	}
+	else{
+		_error_("not supported yet");
 	}
 
@@ -358,60 +357,60 @@
 void Friction::GetAlpha2(IssmDouble* palpha2, Gauss* gauss){/*{{{*/
 
-	switch(this->law){
-		case 1:
-			if(this->linearize==0){
+	if(this->linearize==0){
+		switch(this->law){
+			case 1:
 				GetAlpha2Viscous(palpha2,gauss);
-			}
-			else if(this->linearize==1){
-				this->element->ValueP1OnGauss(palpha2, this->alpha2_list, gauss);
-			}
-			else if(this->linearize==2){
-				*palpha2 = this->alpha2_list[0];
-			}
-			else{
-				_error_("not supported yet");
-			}
-			break;
-		case 2:
-			GetAlpha2Weertman(palpha2,gauss);
-			break;
-		case 3:
-			GetAlpha2Hydro(palpha2,gauss);
-			break;
-		case 4:
-			GetAlpha2Temp(palpha2,gauss);
-			break;
-		case 5:
-			GetAlpha2WaterLayer(palpha2,gauss);
-			break;
-		case 6:
-			GetAlpha2WeertmanTemp(palpha2,gauss);
-			break;
-		case 7:
-			GetAlpha2Coulomb(palpha2,gauss);
-			break;
-		case 8:
-			GetAlpha2Shakti(palpha2,gauss);
-			break;
-		case 9:
-			GetAlpha2Josh(palpha2,gauss);
-			break;
-		case 10:
-			GetAlpha2PISM(palpha2,gauss);
-			break;
-		case 11:
-			GetAlpha2Schoof(palpha2,gauss);
-			break;
-		case 12:
-			GetAlpha2Tsai(palpha2,gauss);
-			break;
-		case 13:
-			GetAlpha2Coulomb2(palpha2,gauss);
-			break;
-		case 14:
-			GetAlpha2RegCoulomb(palpha2,gauss);
-			break;
-	  default:
-			_error_("Friction law "<< this->law <<" not supported");
+				break;
+			case 2:
+				GetAlpha2Weertman(palpha2,gauss);
+				break;
+			case 3:
+				GetAlpha2Hydro(palpha2,gauss);
+				break;
+			case 4:
+				GetAlpha2Temp(palpha2,gauss);
+				break;
+			case 5:
+				GetAlpha2WaterLayer(palpha2,gauss);
+				break;
+			case 6:
+				GetAlpha2WeertmanTemp(palpha2,gauss);
+				break;
+			case 7:
+				GetAlpha2Coulomb(palpha2,gauss);
+				break;
+			case 8:
+				GetAlpha2Shakti(palpha2,gauss);
+				break;
+			case 9:
+				GetAlpha2Josh(palpha2,gauss);
+				break;
+			case 10:
+				GetAlpha2PISM(palpha2,gauss);
+				break;
+			case 11:
+				GetAlpha2Schoof(palpha2,gauss);
+				break;
+			case 12:
+				GetAlpha2Tsai(palpha2,gauss);
+				break;
+			case 13:
+				GetAlpha2Coulomb2(palpha2,gauss);
+				break;
+			case 14:
+				GetAlpha2RegCoulomb(palpha2,gauss);
+				break;
+			default:
+				_error_("Friction law "<< this->law <<" not supported");
+		}
+	}
+	else if(this->linearize==1){
+		this->element->ValueP1OnGauss(palpha2, this->alpha2_list, gauss);
+	}
+	else if(this->linearize==2){
+		*palpha2 = this->alpha2_list[0];
+	}
+	else{
+		_error_("not supported yet");
 	}
 
@@ -1326,4 +1325,5 @@
 			break;
 		case 2:
+			parameters->AddObject(iomodel->CopyConstantObject("md.friction.linearize",FrictionLinearizeEnum));
 			break;
 		case 3:
