Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp	(revision 24190)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp	(revision 24191)
@@ -127,19 +127,19 @@
 
 	// temperature coefficient F
-	if(T>-6.0) F =  0.7 + ((T/-6.0) * 0.3);
-	if(T<=-6.0 && T>-22.0) F =  1.0 - ((T+6.0)/-16.0 * 0.8);
-	if(T<=-22.0 && T>-40.0) F =  0.2 - ((T+22.0)/-18.0 * 0.2);
+	if(T>-6.0+Ttol) F =  0.7 + ((T/-6.0) * 0.3);
+	if(T<=-6.0+Ttol && T>-22.0+Ttol) F =  1.0 - ((T+6.0)/-16.0 * 0.8);
+	if(T<=-22.0+Ttol && T>-40.0+Ttol) F =  0.2 - ((T+22.0)/-18.0 * 0.2);
 
 	// density coefficient F
-	if(d<150.0) H=1.0;
-
-	if(d>=150.0 & d<400.0) H = 1.0 - ((d-150.0)/250.0);
+	if(d<150.0-Dtol) H=1.0;
+
+	if(d>=150.0-Dtol & d<400.0-Dtol) H = 1.0 - ((d-150.0)/250.0);
 
 	// temperature gradient coefficient G
-	if(dT >= 0.16 && dT < 0.25) G = ((dT - 0.16)/0.09) * 0.1;
-	if(dT >= 0.25 && dT < 0.4)  G = 0.1 + (((dT - 0.25)/0.15) * 0.57);
-	if(dT >= 0.4  && dT < 0.5)  G = 0.67 + (((dT - 0.4)/0.1) * 0.23);
-	if(dT >= 0.5  && dT < 0.7)  G = 0.9 + (((dT - 0.5)/0.2) * 0.1);
-	if(dT >= 0.7              )  G = 1.0;
+	if(dT >= 0.16-Ttol && dT < 0.25-Ttol) G = ((dT - 0.16)/0.09) * 0.1;
+	if(dT >= 0.25-Ttol && dT < 0.4-Ttol)  G = 0.1 + (((dT - 0.25)/0.15) * 0.57);
+	if(dT >= 0.4-Ttol && dT < 0.5-Ttol)  G = 0.67 + (((dT - 0.4)/0.1) * 0.23);
+	if(dT >= 0.5-Ttol && dT < 0.7-Ttol)  G = 0.9 + (((dT - 0.5)/0.2) * 0.1);
+	if(dT >= 0.7-Ttol)  G = 1.0;
 
 	// grouped coefficient Q
@@ -1168,9 +1168,9 @@
 			//dSnow = alpha1 + beta1*T + delta1*C + epsilon1*W
 			//     7.36x10-2  1.06x10-3  6.69x10-2  4.77x10-3 
-			dSnow=(7.36e-2 + 1.06e-3*min(Tmean,CtoK) + 6.69e-2*C/1000 + 4.77e-3*Vmean)*1000;
+			dSnow=(7.36e-2 + 1.06e-3*min(Tmean,CtoK-Ttol) + 6.69e-2*C/1000 + 4.77e-3*Vmean)*1000;
 			break;
 
 		case 4: // Kuipers Munneke and others (2015), Greenland
-			dSnow = 481.0 + 4.834*(Tmean-CtoK);
+			dSnow = 481.0 + 4.834*(Tmean-CtoK+Ttol);
 			break;
 	}
Index: /issm/trunk-jpl/test/NightlyRun/test243.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test243.m	(revision 24190)
+++ /issm/trunk-jpl/test/NightlyRun/test243.m	(revision 24191)
@@ -48,5 +48,5 @@
 %Fields and tolerances to track changes
 field_names      ={'SmbDz','SmbT' ,'SmbD' ,'SmbRe','SmbGdn','SmbGsp','SmbA' ,'SmbEC','SmbMassBalance','SmbMAdd','SmbDzAdd','SmbFAC','SmbMeanSHF','SmbMeanLHF','SmbMeanULW','SmbNetLW','SmbNetSW'};
-field_tolerances ={1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,1e-11,2e-11, 2e-11, 1e-11, 1e-9, 2e-11};
+field_tolerances ={1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,3e-11,2e-11, 2e-11, 1e-11, 1e-9, 2e-11};
 
 field_values={...
Index: /issm/trunk-jpl/test/NightlyRun/test243.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test243.py	(revision 24190)
+++ /issm/trunk-jpl/test/NightlyRun/test243.py	(revision 24191)
@@ -62,5 +62,5 @@
 #Fields and tolerances to track changes
 field_names = ['SmbDz', 'SmbT', 'SmbD', 'SmbRe', 'SmbGdn', 'SmbGsp', 'SmbA', 'SmbEC', 'SmbMassBalance', 'SmbMAdd', 'SmbDzAdd', 'SmbFAC', 'SmbMeanSHF', 'SmbMeanLHF', 'SmbMeanULW', 'SmbNetLW', 'SmbNetSW']
-field_tolerances = [1e-11, 1e-12, 1e-11, 2e-11, 1e-11, 1e-11, 1e-12, 4e-12, 1e-12, 1e-12, 1e-12, 1e-11, 2e-11, 2e-11, 1e-11, 1e-9, 2e-11]
+field_tolerances = [1e-11, 1e-12, 1e-11, 2e-11, 1e-11, 1e-11, 1e-12, 4e-12, 1e-12, 1e-12, 1e-12, 3e-11, 2e-11, 2e-11, 1e-11, 1e-9, 2e-11]
 #shape is different in python solution (fixed using reshape) which can cause test failure:
 field_values = [md.results.TransientSolution[-1].SmbDz[0, 0:240].reshape(1, -1),
Index: /issm/trunk-jpl/test/NightlyRun/test252.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test252.m	(revision 24190)
+++ /issm/trunk-jpl/test/NightlyRun/test252.m	(revision 24191)
@@ -60,7 +60,7 @@
 	'SmbDz4','SmbT4' ,'SmbD4' ,'SmbRe4','SmbGdn4','SmbGsp4','SmbA4' ,'SmbEC4','SmbMassBalance4','SmbMAdd4','SmbDzAdd4','SmbFAC4'};
 field_tolerances ={1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,2e-12,1e-12,1e-12,1e-12,1e-11,...
-	                1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,1e-11,...
-               	 1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,1e-11,1e-11,1e-12,1e-12,1e-11,...
-	                1e-11,1e-12,4e-11,5e-11,1e-11,1e-11,1e-12,1e-11,5e-10,1e-12,1e-12,2e-11};
+	                1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,2e-11,...
+	                1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,1e-11,1e-11,1e-12,1e-12,2e-11,...
+	                5e-9,1e-12,2e-9,3e-10,1e-11,1e-11,3e-11,1e-11,5e-9,1e-12,1e-12,4e-10};
 
 field_values={...
Index: /issm/trunk-jpl/test/NightlyRun/test252.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test252.py	(revision 24190)
+++ /issm/trunk-jpl/test/NightlyRun/test252.py	(revision 24191)
@@ -72,7 +72,7 @@
 field_names = ['SmbDz1','SmbT1' ,'SmbD1' ,'SmbRe1','SmbGdn1','SmbGsp1','SmbA1' ,'SmbEC1','SmbMassBalance1','SmbMAdd1','SmbDzAdd1','SmbFAC1','SmbDz2','SmbT2','SmbD2' ,'SmbRe2','SmbGdn2','SmbGsp2','SmbA2','SmbEC2','SmbMassBalance2','SmbMAdd2','SmbDzAdd2','SmbFAC2','SmbDz3','SmbT3','SmbD3','SmbRe3','SmbGdn3','SmbGsp3','SmbA3','SmbEC3','SmbMassBalance3','SmbMAdd3','SmbDzAdd3','SmbFAC3','SmbDz4','SmbT4' ,'SmbD4' ,'SmbRe4','SmbGdn4','SmbGsp4','SmbA4','SmbEC4','SmbMassBalance4','SmbMAdd4','SmbDzAdd4','SmbFAC4']
 field_tolerances = [1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,2e-12,1e-12,1e-12,1e-12,1e-11,
-					1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,1e-11,
-					1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,1e-11,1e-11,1e-12,1e-12,1e-11,
-					1e-11,1e-12,4e-11,5e-11,1e-11,1e-11,1e-12,1e-11,5e-10,1e-12,1e-12,2e-11]
+					1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,2e-11,
+					1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,1e-11,1e-11,1e-12,1e-12,2e-11,
+					5e-9,1e-12,2e-9,3e-10,1e-11,1e-11,3e-11,1e-11,5e-9,1e-12,1e-12,4e-10]
 
 #shape is different in python solution (fixed using reshape) which can cause test failure:
