Index: /issm/trunk-jpl/src/m/classes/SMBforcing.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBforcing.m	(revision 24796)
+++ /issm/trunk-jpl/src/m/classes/SMBforcing.m	(revision 24797)
@@ -10,4 +10,5 @@
 		steps_per_step    = 1;
 		requested_outputs = {};
+		averaging         = 0;
 	end
 	methods
@@ -61,4 +62,5 @@
 			md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1);
 			md = checkfield(md,'fieldname','smb.isclimatology','values',[0 1]);
+			md = checkfield(md, 'fieldname', 'smb.averaging', 'numel', [1], 'values', [0, 1, 2])
 			if (self.isclimatology)
 				md = checkfield(md,'fieldname', 'smb.mass_balance', 'size',[md.mesh.numberofvertices+1],...
@@ -72,4 +74,5 @@
 			fielddisplay(self, 'steps_per_step', 'number of smb steps per time step');
 			fielddisplay(self,'requested_outputs','additional outputs requested');
+			fielddisplay(self,'averaging','averaging methods from short to long steps');
 		end % }}}
 		function marshall(self,prefix,md,fid) % {{{
@@ -79,6 +82,6 @@
 			WriteData(fid,prefix,'name','md.smb.model','data',1,'format','Integer');
 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
-			%WriteData(fid,prefix,'object',self,'class','smb','fieldname','mass_balance','format','CompressedMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
 			WriteData(fid, prefix, 'object', self, 'fieldname', 'steps_per_step', 'format', 'Integer');
+			WriteData(fid, prefix, 'object', self, 'fieldname', 'averaging', 'format', 'Integer')
 
 			%process requested outputs
