Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp	(revision 24202)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp	(revision 24203)
@@ -127,12 +127,12 @@
 
 	// temperature coefficient F
-	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);
+	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-Dtol) H=1.0;
-
-	if(d>=150.0-Dtol & d<400.0-Dtol) 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
@@ -204,5 +204,5 @@
 
 	/*only when aIdx = 1 or 2 do we run grainGrowth: */
-	if(aIdx!=1 & aIdx!=2){
+	if(aIdx!=1 && aIdx!=2){
 		/*come out as we came in: */
 		return;
@@ -412,5 +412,5 @@
 	const IssmDouble dSnow = 300;   // density of fresh snow [kg m-3]       
 
-	if(aIdx==0 || (adThresh - d[0]<Dtol)){
+	if(aIdx==0 || (d[0]-adThresh)<Dtol){
 		a[0] = aValue;
 	}
@@ -1104,4 +1104,5 @@
 	   adjusts the properties of the top grid cell to account for accumulation
 	   T_air & T = Air and top grid cell temperatures [K]
+		Tmean =  average surface temperature [K]
 		Vmean =  average wind velocity [m s-1]
 		V =  wind velocity [m s-1]
Index: /issm/trunk-jpl/src/m/classes/SMBgemb.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBgemb.m	(revision 24202)
+++ /issm/trunk-jpl/src/m/classes/SMBgemb.m	(revision 24203)
@@ -415,5 +415,4 @@
 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','denIdx','format','Integer');
 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','dsnowIdx','format','Integer');
-			WriteData(fid,prefix,'object',self,'class','smb','fieldname','dsnowIdx','format','Integer');
 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','InitDensityScaling','format','Double');
 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','ThermoDeltaTScaling','format','Double');
Index: /issm/trunk-jpl/test/NightlyRun/test243.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test243.m	(revision 24202)
+++ /issm/trunk-jpl/test/NightlyRun/test243.m	(revision 24203)
@@ -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,2e-10,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,2e-10,2e-11, 2e-11, 1e-11, 2e-9, 2e-11};
 
 field_values={...
Index: /issm/trunk-jpl/test/NightlyRun/test243.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test243.py	(revision 24202)
+++ /issm/trunk-jpl/test/NightlyRun/test243.py	(revision 24203)
@@ -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, 2e-10, 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, 2e-10, 2e-11, 2e-11, 1e-11, 2e-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),
