Index: /issm/trunk-jpl/src/c/analyses/masstransport_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/masstransport_core.cpp	(revision 16463)
+++ /issm/trunk-jpl/src/c/analyses/masstransport_core.cpp	(revision 16464)
@@ -78,8 +78,5 @@
 	if(save_results){
 		if(VerboseSolution()) _printf0_("   saving results\n");
-		InputToResultx(femmodel,ThicknessEnum);
-		InputToResultx(femmodel,BedEnum);
-		InputToResultx(femmodel,SurfaceEnum);
-		femmodel->RequestedOutputsx(requested_outputs,numoutputs);
+		femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs);
 	}
 
Index: /issm/trunk-jpl/src/m/classes/masstransport.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/masstransport.m	(revision 16463)
+++ /issm/trunk-jpl/src/m/classes/masstransport.m	(revision 16464)
@@ -60,4 +60,9 @@
 			end
 		end % }}}
+		function list=defaultoutputs(self,md) % {{{
+
+			list = {'Thickness','Surface','Bed'};
+
+		end % }}}
 		function obj = setdefaultparameters(obj) % {{{
 
@@ -73,4 +78,7 @@
 			%Hydrostatic adjustment
 			obj.hydrostatic_adjustment='Absolute';
+
+			%default output
+			obj.requested_outputs={'default'};
 		end % }}}
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
@@ -109,5 +117,13 @@
 			WriteData(fid,'object',obj,'fieldname','vertex_pairing','format','DoubleMat','mattype',3);
 			WriteData(fid,'object',obj,'fieldname','penalty_factor','format','Double');
-			WriteData(fid,'object',obj,'fieldname','requested_outputs','format','StringArray');
+			
+			%process requested outputs
+			outputs = obj.requested_outputs;
+			pos  = find(ismember(outputs,'default'));
+			if ~isempty(pos),
+				outputs(pos) = [];                         %remove 'default' from outputs
+				outputs      = [outputs defaultoutputs(obj,md)]; %add defaults
+			end
+			WriteData(fid,'data',outputs,'enum',MasstransportRequestedOutputsEnum,'format','StringArray');
 		end % }}}
 	end
Index: /issm/trunk-jpl/src/m/classes/masstransport.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/masstransport.py	(revision 16463)
+++ /issm/trunk-jpl/src/m/classes/masstransport.py	(revision 16464)
@@ -38,4 +38,9 @@
 		return string
 		#}}}
+	def defaultoutputs(self,md): # {{{
+
+		return ['Thickness','Surface','Bed']
+
+	#}}}
 	def setdefaultparameters(self): # {{{
 		
@@ -52,4 +57,6 @@
 		self.hydrostatic_adjustment='Absolute'
 
+		#default output
+		self.requested_outputs=['default']
 		return self
 	#}}}
@@ -77,4 +84,11 @@
 		WriteData(fid,'object',self,'fieldname','vertex_pairing','format','DoubleMat','mattype',3)
 		WriteData(fid,'object',self,'fieldname','penalty_factor','format','Double')
-		WriteData(fid,'object',self,'fieldname','requested_outputs','format','StringArray');
+
+		#process requested outputs
+		outputs = self.requested_outputs
+		indices = [i for i, x in enumerate(outputs) if x == 'default']
+		if len(indices) > 0:
+			outputscopy=outputs[0:max(0,indices[0]-1)]+self.defaultoutputs(md)+outputs[indices[0]+1:]
+			outputs    =outputscopy
+		WriteData(fid,'data',outputs,'enum',MasstransportRequestedOutputsEnum(),'format','StringArray')
 	# }}}
