Index: /issm/trunk-jpl/src/m/classes/stressbalance.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 16462)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 16463)
@@ -73,4 +73,7 @@
 			 obj.rift_penalty_lock=10;
 
+			 %output default:
+			 obj.requested_outputs={'default'};
+
 		end % }}}
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
@@ -116,4 +119,17 @@
 				md = checkfield(md,'stressbalance.FSreconditioning','>',0);
 			end
+		end % }}}
+		function list=defaultoutputs(self,md) % {{{
+
+			if strcmp(meshtype(md.mesh),'3D'),
+				list = {'Vx','Vy','Vz','Vel','Pressure'};
+			elseif strcmp(meshtype(md.mesh),'2Dhorizontal'),
+				list = {'Vx','Vy','Vel','Pressure'};
+			elseif strcmp(meshtype(md.mesh),'2Dvertical'),
+				list = {'Vx','Vy','Vel','Pressure'};
+			else
+				error('mesh type not supported yet');
+			end
+
 		end % }}}
 		function disp(obj) % {{{
@@ -170,8 +186,17 @@
 			WriteData(fid,'object',obj,'class','stressbalance','fieldname','rift_penalty_threshold','format','Integer');
 			WriteData(fid,'object',obj,'class','stressbalance','fieldname','referential','format','DoubleMat','mattype',1);
-			WriteData(fid,'object',obj,'class','stressbalance','fieldname','requested_outputs','format','StringArray');
+
 			WriteData(fid,'data',obj.loadingforce(:,1),'format','DoubleMat','mattype',1,'enum',LoadingforceXEnum);
 			WriteData(fid,'data',obj.loadingforce(:,2),'format','DoubleMat','mattype',1,'enum',LoadingforceYEnum);
 			WriteData(fid,'data',obj.loadingforce(:,3),'format','DoubleMat','mattype',1,'enum',LoadingforceZEnum);
+
+			%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',StressbalanceRequestedOutputsEnum,'format','StringArray');
 		end % }}}
 	end
Index: /issm/trunk-jpl/src/m/classes/stressbalance.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 16462)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 16463)
@@ -6,4 +6,5 @@
 from checkfield import *
 from WriteData import *
+from MatlabFuncs import *
 
 class stressbalance(object):
@@ -102,5 +103,21 @@
 		self.rift_penalty_lock=10
 
+		#output default:
+		self.requested_outputs=['default']
+
 		return self
+	#}}}
+	def defaultoutputs(self,md): # {{{
+
+		if strcmp(md.mesh.meshtype(),'3D'):
+			list = ['Vx','Vy','Vz','Vel','Pressure']
+		elif strcmp(md.mesh.meshtype(),'2Dhorizontal'):
+			list = ['Vx','Vy','Vel','Pressure']
+		elif strcmp(md.mesh.meshtype(),'2Dvertical'):
+			list = ['Vx','Vy','Vel','Pressure']
+		else:
+			raise TypeError('mesh type not supported yet');
+		return list
+
 	#}}}
 	def checkconsistency(self,md,solution,analyses):    # {{{
@@ -171,7 +188,15 @@
 		WriteData(fid,'object',self,'class','stressbalance','fieldname','rift_penalty_threshold','format','Integer')
 		WriteData(fid,'object',self,'class','stressbalance','fieldname','referential','format','DoubleMat','mattype',1)
-		WriteData(fid,'object',self,'class','stressbalance','fieldname','requested_outputs','format','StringArray')
+
 		WriteData(fid,'data',self.loadingforce[:,0],'format','DoubleMat','mattype',1,'enum',LoadingforceXEnum())
 		WriteData(fid,'data',self.loadingforce[:,1],'format','DoubleMat','mattype',1,'enum',LoadingforceYEnum())
 		WriteData(fid,'data',self.loadingforce[:,2],'format','DoubleMat','mattype',1,'enum',LoadingforceZEnum())
+
+		#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',StressbalanceRequestedOutputsEnum(),'format','StringArray')
 	# }}}
