Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 22122)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 22123)
@@ -217,5 +217,5 @@
 	IssmDouble  lambda1,lambda2,ex,ey,vx,vy,vel;
 	IssmDouble  sigma_vm,sigma_max,sigma_max_floating,sigma_max_grounded;
-	IssmDouble  epse_2,groundedice;
+	IssmDouble  epse_2,groundedice,bed;
 
 	/* Get node coordinates and dof list: */
@@ -226,4 +226,5 @@
 	Input* vy_input = inputs->GetInput(VyEnum); _assert_(vy_input);
 	Input* gr_input = inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+	Input* bs_input = inputs->GetInput(BaseEnum);                    _assert_(bs_input);
 	Input* smax_fl_input = inputs->GetInput(CalvingStressThresholdFloatingiceEnum); _assert_(smax_fl_input);
 	Input* smax_gr_input = inputs->GetInput(CalvingStressThresholdGroundediceEnum); _assert_(smax_gr_input);
@@ -240,4 +241,5 @@
 		vy_input->GetInputValue(&vy,gauss);
 		gr_input->GetInputValue(&groundedice,gauss);
+		bs_input->GetInputValue(&bed,gauss);
 		smax_fl_input->GetInputValue(&sigma_max_floating,gauss);
 		smax_gr_input->GetInputValue(&sigma_max_grounded,gauss);
@@ -272,7 +274,13 @@
 
 		/*Assign values*/
-		calvingratex[iv]=vx*sigma_vm/sigma_max;
-		calvingratey[iv]=vy*sigma_vm/sigma_max;
-		calvingrate[iv]=sqrt(calvingratex[iv]*calvingratex[iv] + calvingratey[iv]*calvingratey[iv]);
+		if(bed>0.){
+			calvingratex[iv]=0.;
+			calvingratey[iv]=0.;
+		}
+		else{
+			calvingratex[iv]=vx*sigma_vm/sigma_max;
+			calvingratey[iv]=vy*sigma_vm/sigma_max;
+		}
+		calvingrate[iv] =sqrt(calvingratex[iv]*calvingratex[iv] + calvingratey[iv]*calvingratey[iv]);
 	}
 
