Index: /issm/trunk-jpl/src/m/classes/masstransport.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/masstransport.m	(revision 15877)
+++ /issm/trunk-jpl/src/m/classes/masstransport.m	(revision 15878)
@@ -7,4 +7,5 @@
 	properties (SetAccess=public) 
 		 spcthickness           = NaN;
+		 isfreesurface          = 0;
 		 min_thickness          = 0;
 		 hydrostatic_adjustment = 0;
@@ -79,4 +80,5 @@
 
 			md = checkfield(md,'masstransport.spcthickness','forcing',1);
+			md = checkfield(md,'masstransport.isfreesurface','values',[0 1]);
 			md = checkfield(md,'masstransport.hydrostatic_adjustment','values',{'Absolute' 'Incremental'});
 			md = checkfield(md,'masstransport.stabilization','values',[0 1 2 3]);
@@ -90,4 +92,5 @@
 			disp(sprintf('   Masstransport solution parameters:'));
 			fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint) [m]');
+			fielddisplay(obj,'isfreesurface','do we use free surfaces (FS only) are mass conservation');
 			fielddisplay(obj,'min_thickness','minimum ice thickness allowed [m]');
 			fielddisplay(obj,'hydrostatic_adjustment','adjustment of ice shelves surface and bed elevations: ''Incremental'' or ''Absolute'' ');
@@ -102,4 +105,5 @@
 		function marshall(obj,md,fid) % {{{
 			WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'fieldname','isfreesurface','format','Boolean');
 			WriteData(fid,'object',obj,'fieldname','min_thickness','format','Double');
 			WriteData(fid,'data',StringToEnum(obj.hydrostatic_adjustment),'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum());
Index: /issm/trunk-jpl/src/m/classes/masstransport.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/masstransport.py	(revision 15877)
+++ /issm/trunk-jpl/src/m/classes/masstransport.py	(revision 15878)
@@ -15,4 +15,5 @@
 	def __init__(self): # {{{
 		self.spcthickness           = float('NaN')
+		self.isfreesurface          = 0
 		self.min_thickness          = 0
 		self.hydrostatic_adjustment = 0
@@ -29,4 +30,5 @@
 		string='   Masstransport solution parameters:'
 		string="%s\n%s"%(string,fielddisplay(self,'spcthickness','thickness constraints (NaN means no constraint) [m]'))
+		string="%s\n%s"%(string,fielddisplay(self,'isfreesurface','do we use free surfaces (FS only) are mass conservation'))
 		string="%s\n%s"%(string,fielddisplay(self,'min_thickness','minimum ice thickness allowed [m]'))
 		string="%s\n%s"%(string,fielddisplay(self,'hydrostatic_adjustment','adjustment of ice shelves surface and bed elevations: ''Incremental'' or ''Absolute'' '))
@@ -59,4 +61,5 @@
 
 		md = checkfield(md,'masstransport.spcthickness','forcing',1)
+		md = checkfield(md,'masstransport.isfreesurface','values',[0 1])
 		md = checkfield(md,'masstransport.hydrostatic_adjustment','values',['Absolute','Incremental'])
 		md = checkfield(md,'masstransport.stabilization','values',[0,1,2,3])
@@ -69,4 +72,5 @@
 	def marshall(self,md,fid):    # {{{
 		WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','isfreesurface','format','Boolean')
 		WriteData(fid,'object',self,'fieldname','min_thickness','format','Double')
 		WriteData(fid,'data',StringToEnum(self.hydrostatic_adjustment)[0],'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum())
