Index: /issm/trunk-jpl/src/c/classes/Loads/Channel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Channel.cpp	(revision 27388)
+++ /issm/trunk-jpl/src/c/classes/Loads/Channel.cpp	(revision 27389)
@@ -366,5 +366,5 @@
 	/*Intermediaries */
 	IssmDouble  Jdet,v1,qc,fFactor,Afactor,Bfactor,Xifactor;
-	IssmDouble  A,B,n,phi_old,phi,phi_0,dPw,ks,Ngrad;
+	IssmDouble  A,B,n,phi_old,phi,phi_0,dPw,ks,kc,Ngrad;
 	IssmDouble  H,h,b,dphi[2],dphids,dphimds,db[2],dbds;
 	IssmDouble  xyz_list[NUMVERTICES][3];
@@ -386,15 +386,15 @@
 	IssmDouble rho_water = element->FindParam(MaterialsRhoFreshwaterEnum);
 	IssmDouble g         = element->FindParam(ConstantsGEnum);
-	IssmDouble kc        = element->FindParam(HydrologyChannelConductivityEnum);
 	IssmDouble lc        = element->FindParam(HydrologyChannelSheetWidthEnum);
 	IssmDouble c_t       = element->FindParam(HydrologyPressureMeltCoefficientEnum);
 
-	Input* h_input      = element->GetInput(HydrologySheetThicknessEnum);_assert_(h_input);
-	Input* H_input      = element->GetInput(ThicknessEnum); _assert_(H_input);
-	Input* b_input      = element->GetInput(BedEnum); _assert_(b_input);
-	Input* B_input      = element->GetInput(MaterialsRheologyBEnum);         _assert_(B_input);
-	Input* n_input      = element->GetInput(MaterialsRheologyNEnum);         _assert_(n_input);
-	Input* ks_input     = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input);
-	Input* phi_input    = element->GetInput(HydraulicPotentialEnum);         _assert_(phi_input);
+	Input* h_input      = element->GetInput(HydrologySheetThicknessEnum);      _assert_(h_input);
+	Input* H_input      = element->GetInput(ThicknessEnum);                    _assert_(H_input);
+	Input* b_input      = element->GetInput(BedEnum);                          _assert_(b_input);
+	Input* B_input      = element->GetInput(MaterialsRheologyBEnum);           _assert_(B_input);
+	Input* n_input      = element->GetInput(MaterialsRheologyNEnum);           _assert_(n_input);
+	Input* ks_input     = element->GetInput(HydrologySheetConductivityEnum);   _assert_(ks_input);
+	Input* kc_input     = element->GetInput(HydrologyChannelConductivityEnum); _assert_(kc_input);
+	Input* phi_input    = element->GetInput(HydraulicPotentialEnum);           _assert_(phi_input);
 
 	/*Get tangent vector*/
@@ -425,4 +425,7 @@
 		b_input->GetInputValue(&b,gauss);
 		H_input->GetInputValue(&H,gauss);
+
+		/*Hard code B*/
+		B = Cuffey(273.15-2);
 
 		/*Get values for a few potentials*/
@@ -499,5 +502,5 @@
 	IssmDouble  Jdet,v2,Afactor,Bfactor,fFactor;
 	IssmDouble  A,B,n,phi_old,phi,phi_0,dphimds,dphi[2];
-	IssmDouble  H,h,b,db[2],dphids,qc,dPw,ks,Ngrad;
+	IssmDouble  H,h,b,db[2],dphids,qc,dPw,ks,kc,Ngrad;
 	IssmDouble  xyz_list[NUMVERTICES][3];
 	IssmDouble  xyz_list_tria[3][3];
@@ -519,11 +522,12 @@
 	IssmDouble c_t       = element->FindParam(HydrologyPressureMeltCoefficientEnum);
 
-	Input* h_input      = element->GetInput(HydrologySheetThicknessEnum);_assert_(h_input);
-	Input* H_input      = element->GetInput(ThicknessEnum); _assert_(H_input);
-	Input* b_input      = element->GetInput(BedEnum); _assert_(b_input);
-	Input* B_input      = element->GetInput(MaterialsRheologyBEnum);         _assert_(B_input);
-	Input* n_input      = element->GetInput(MaterialsRheologyNEnum);         _assert_(n_input);
-	Input* ks_input     = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input);
-	Input* phi_input    = element->GetInput(HydraulicPotentialEnum);         _assert_(phi_input);
+	Input* h_input      = element->GetInput(HydrologySheetThicknessEnum);      _assert_(h_input);
+	Input* H_input      = element->GetInput(ThicknessEnum);                    _assert_(H_input);
+	Input* b_input      = element->GetInput(BedEnum);                          _assert_(b_input);
+	Input* B_input      = element->GetInput(MaterialsRheologyBEnum);           _assert_(B_input);
+	Input* n_input      = element->GetInput(MaterialsRheologyNEnum);           _assert_(n_input);
+	Input* ks_input     = element->GetInput(HydrologySheetConductivityEnum);   _assert_(ks_input);
+	Input* kc_input     = element->GetInput(HydrologyChannelConductivityEnum); _assert_(kc_input);
+	Input* phi_input    = element->GetInput(HydraulicPotentialEnum);           _assert_(phi_input);
 
 	/*Get tangent vector*/
@@ -552,4 +556,7 @@
 		H_input->GetInputValue(&H,gauss);
 
+		/*Hard code B*/
+		B = Cuffey(273.15-2);
+		
 		/*Get values for a few potentials*/
 		phi_0   = rho_water*g*b + rho_ice*g*H;
@@ -626,5 +633,5 @@
 
 	/*Intermediaries */
-	IssmDouble  A,B,n,phi,phi_0,ks,Ngrad;
+	IssmDouble  A,B,n,phi,phi_0,ks,kc,Ngrad;
 	IssmDouble  H,h,b,dphi[2],dphids,dphimds,db[2],dbds;
 	IssmDouble  xyz_list[NUMVERTICES][3];
@@ -639,16 +646,16 @@
 	IssmDouble rho_water = element->FindParam(MaterialsRhoFreshwaterEnum);
 	IssmDouble g         = element->FindParam(ConstantsGEnum);
-	IssmDouble kc        = element->FindParam(HydrologyChannelConductivityEnum);
 	IssmDouble lc        = element->FindParam(HydrologyChannelSheetWidthEnum);
 	IssmDouble c_t       = element->FindParam(HydrologyPressureMeltCoefficientEnum);
 	IssmDouble dt        = element->FindParam(TimesteppingTimeStepEnum);
 
-	Input* h_input      = element->GetInput(HydrologySheetThicknessEnum);_assert_(h_input);
-	Input* H_input      = element->GetInput(ThicknessEnum); _assert_(H_input);
-	Input* b_input      = element->GetInput(BedEnum); _assert_(b_input);
-	Input* B_input      = element->GetInput(MaterialsRheologyBEnum);         _assert_(B_input);
-	Input* n_input      = element->GetInput(MaterialsRheologyNEnum);         _assert_(n_input);
-	Input* ks_input     = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input);
-	Input* phi_input    = element->GetInput(HydraulicPotentialEnum);         _assert_(phi_input);
+	Input* h_input      = element->GetInput(HydrologySheetThicknessEnum);      _assert_(h_input);
+	Input* H_input      = element->GetInput(ThicknessEnum);                    _assert_(H_input);
+	Input* b_input      = element->GetInput(BedEnum);                          _assert_(b_input);
+	Input* B_input      = element->GetInput(MaterialsRheologyBEnum);           _assert_(B_input);
+	Input* n_input      = element->GetInput(MaterialsRheologyNEnum);           _assert_(n_input);
+	Input* ks_input     = element->GetInput(HydrologySheetConductivityEnum);   _assert_(ks_input);
+	Input* kc_input     = element->GetInput(HydrologyChannelConductivityEnum); _assert_(kc_input);
+	Input* phi_input    = element->GetInput(HydraulicPotentialEnum);           _assert_(phi_input);
 
 	/*Get tangent vector*/
@@ -670,4 +677,7 @@
 	H_input->GetInputValue(&H,gauss);
 
+	/*Hard code B*/
+	B = Cuffey(273.15-2);
+
 	/*Get values for a few potentials*/
 	phi_0   = rho_water*g*b + rho_ice*g*H;
@@ -716,5 +726,8 @@
 		/*Constrain the cross section to be between 0 and 500 m^2*/
 		if(this->S<0.)   this->S = 0.;
-		if(this->S>500.) this->S = 500.;
+		if(this->S>100.) this->S = 100.;
+		
+		/*Do not allow channels to grow in areas with no sheet thickness*/
+		if(H<200.) this->S = 0.;
 
 		count++;
