Index: /issm/trunk-jpl/src/m/classes/SMB.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMB.m	(revision 17073)
+++ /issm/trunk-jpl/src/m/classes/SMB.m	(revision 17074)
@@ -1,3 +1,3 @@
-%SURFACEFORCING Class definition
+%SMB Class definition
 %
 %   Usage:
Index: /issm/trunk-jpl/src/m/classes/SMB.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMB.py	(revision 17074)
+++ /issm/trunk-jpl/src/m/classes/SMB.py	(revision 17074)
@@ -0,0 +1,46 @@
+from fielddisplay import fielddisplay
+from EnumDefinitions import *
+from checkfield import *
+from WriteData import *
+
+class SMB(object):
+	"""
+	SMB Class definition
+
+	   Usage:
+	      SMB=SMB();
+	"""
+
+	def __init__(self): # {{{
+		self.mass_balance = float('NaN')
+		#}}}
+	def __repr__(self): # {{{
+		string="   surface forcings parameters:"
+		string="%s\n%s"%(string,fielddisplay(self,'mass_balance','surface mass balance [m/yr ice eq]'))
+		return string
+		#}}}
+	def initialize(self,md): # {{{
+
+		if numpy.all(numpy.isnan(self.mass_balance)):
+			self.mass_balance=numpy.zeros((md.mesh.numberofvertices,1))
+			print "      no SMB.mass_balance specified: values set as zero"
+
+		return self
+	#}}}
+	def checkconsistency(self,md,solution,analyses):    # {{{
+
+		if MasstransportAnalysisEnum() in analyses:
+			md = checkfield(md,'fieldname','surfaceforcings.mass_balance','forcing',1,'NaN',1)
+
+		if BalancethicknessAnalysisEnum() in analyses:
+			md = checkfield(md,'fieldname','surfaceforcings.mass_balance','size',[md.mesh.numberofvertices],'NaN',1)
+
+		return md
+	# }}}
+	def marshall(self,md,fid):    # {{{
+
+		yts=365.0*24.0*3600.0
+
+		WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBEnum(),'format','Integer');
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+	# }}}
Index: /issm/trunk-jpl/src/m/classes/model.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.py	(revision 17073)
+++ /issm/trunk-jpl/src/m/classes/model.py	(revision 17074)
@@ -8,4 +8,5 @@
 from constants import constants
 from surfaceforcings import surfaceforcings
+from SMB import SMB
 from basalforcings import basalforcings
 from matice import matice
