Index: /issm/trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp	(revision 20035)
+++ /issm/trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp	(revision 20036)
@@ -48,4 +48,7 @@
 	int         M,m,lower_row,upper_row;
 	IssmDouble  degacc=.01;
+
+	int     numoutputs;
+	char**  requestedoutputs = NULL;
 
 	/*some constant parameters: */
@@ -144,4 +147,11 @@
 		xDelete<IssmDouble>(G_elastic_local);
 	}
+	
+	/*Requested outputs*/
+	iomodel->FetchData(&requestedoutputs,&numoutputs,SealevelriseRequestedOutputsEnum);
+	parameters->AddObject(new IntParam(SealevelriseNumRequestedOutputsEnum,numoutputs));
+	if(numoutputs)parameters->AddObject(new StringArrayParam(SealevelriseRequestedOutputsEnum,requestedoutputs,numoutputs));
+	iomodel->DeleteData(&requestedoutputs,numoutputs,SealevelriseRequestedOutputsEnum);
+
 
 }/*}}}*/
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 20035)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 20036)
@@ -1049,4 +1049,6 @@
 	SealevelriseGElasticEnum,
 	SealevelriseDegaccEnum,
+	SealevelriseRequestedOutputsEnum,
+	SealevelriseNumRequestedOutputsEnum,
 	/*}}}*/
 	MaximumNumberOfDefinitionsEnum
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 20035)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 20036)
@@ -1003,4 +1003,6 @@
 		case SealevelriseGElasticEnum : return "SealevelriseGElastic";
 		case SealevelriseDegaccEnum : return "SealevelriseDegacc";
+		case SealevelriseRequestedOutputsEnum : return "SealevelriseRequestedOutputs";
+		case SealevelriseNumRequestedOutputsEnum : return "SealevelriseNumRequestedOutputs";
 		case MaximumNumberOfDefinitionsEnum : return "MaximumNumberOfDefinitions";
 		default : return "unknown";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 20035)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 20036)
@@ -1027,4 +1027,6 @@
 	      else if (strcmp(name,"SealevelriseGElastic")==0) return SealevelriseGElasticEnum;
 	      else if (strcmp(name,"SealevelriseDegacc")==0) return SealevelriseDegaccEnum;
+	      else if (strcmp(name,"SealevelriseRequestedOutputs")==0) return SealevelriseRequestedOutputsEnum;
+	      else if (strcmp(name,"SealevelriseNumRequestedOutputs")==0) return SealevelriseNumRequestedOutputsEnum;
 	      else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum;
          else stage=10;
Index: /issm/trunk-jpl/src/m/classes/slr.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/slr.m	(revision 20035)
+++ /issm/trunk-jpl/src/m/classes/slr.m	(revision 20036)
@@ -16,4 +16,5 @@
 		eustatic         = 0;
 		degacc         = 0;
+		requested_outputs      = {};
 	end
 	methods
@@ -43,4 +44,7 @@
 		self.degacc=.01;
 		
+		%output default:
+		self.requested_outputs={'default'};
+		
 		end % }}}
 		function md = checkconsistency(self,md,solution,analyses) % {{{
@@ -54,4 +58,5 @@
 			md = checkfield(md,'fieldname','slr.maxiter','size',[1 1],'>=',1);
 			md = checkfield(md,'fieldname','slr.degacc','size',[1 1],'>=',1e-10);
+			md = checkfield(md,'fieldname','slr.requested_outputs','stringrow',1);
 
 			%check that love numbers are provided at the same level of accuracy: 
@@ -60,4 +65,7 @@
 			end
 
+		end % }}}
+		function list=defaultoutputs(self,md) % {{{
+			list = {'SealevelriseS'};
 		end % }}}
 		function disp(self) % {{{
@@ -74,4 +82,5 @@
 			fielddisplay(self,'eustatic','eustatic sea level rise');
 			fielddisplay(self,'degacc','accuracy (default .01 deg) for numerical discretization of the Green''s functions');
+			fielddisplay(self,'requested_outputs','additional outputs requested');
 
 		end % }}}
@@ -87,4 +96,14 @@
 			WriteData(fid,'object',self,'class','sealevelrise','fieldname','eustatic','format','Boolean');
 			WriteData(fid,'object',self,'class','sealevelrise','fieldname','degacc','format','Double');
+			
+			%process requested outputs
+			outputs = self.requested_outputs;
+			pos  = find(ismember(outputs,'default'));
+			if ~isempty(pos),
+				outputs(pos) = [];                         %remove 'default' from outputs
+				outputs      = [outputs defaultoutputs(self,md)]; %add defaults
+			end
+			WriteData(fid,'data',outputs,'enum',SealevelriseRequestedOutputsEnum,'format','StringArray');
+
 		end % }}}
 		function savemodeljs(self,fid,modelname) % {{{
@@ -99,4 +118,5 @@
 			writejsdouble(fid,[modelname '.slr.eustatic'],self.eustatic);
 			writejsdouble(fid,[modelname '.slr.degacc'],self.degacc);
+			writejscellstring(fid,[modelname '.slr.requested_outputs'],self.requested_outputs);
 
 		end % }}}
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.js
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.js	(revision 20035)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.js	(revision 20036)
@@ -988,3 +988,5 @@
 function SealevelriseGElasticEnum(){ return 984;}
 function SealevelriseDegaccEnum(){ return 985;}
-function MaximumNumberOfDefinitionsEnum(){ return 986;}
+function SealevelriseRequestedOutputsEnum(){ return 986;}
+function SealevelriseNumRequestedOutputsEnum(){ return 987;}
+function MaximumNumberOfDefinitionsEnum(){ return 988;}
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 20035)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 20036)
@@ -995,3 +995,5 @@
 def SealevelriseGElasticEnum(): return StringToEnum("SealevelriseGElastic")[0]
 def SealevelriseDegaccEnum(): return StringToEnum("SealevelriseDegacc")[0]
+def SealevelriseRequestedOutputsEnum(): return StringToEnum("SealevelriseRequestedOutputs")[0]
+def SealevelriseNumRequestedOutputsEnum(): return StringToEnum("SealevelriseNumRequestedOutputs")[0]
 def MaximumNumberOfDefinitionsEnum(): return StringToEnum("MaximumNumberOfDefinitions")[0]
Index: /issm/trunk-jpl/src/m/enum/SealevelriseNumRequestedOutputsEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SealevelriseNumRequestedOutputsEnum.m	(revision 20036)
+++ /issm/trunk-jpl/src/m/enum/SealevelriseNumRequestedOutputsEnum.m	(revision 20036)
@@ -0,0 +1,11 @@
+function macro=SealevelriseNumRequestedOutputsEnum()
+%SEALEVELRISENUMREQUESTEDOUTPUTSENUM - Enum of SealevelriseNumRequestedOutputs
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SealevelriseNumRequestedOutputsEnum()
+
+macro=StringToEnum('SealevelriseNumRequestedOutputs');
Index: /issm/trunk-jpl/src/m/enum/SealevelriseRequestedOutputsEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SealevelriseRequestedOutputsEnum.m	(revision 20036)
+++ /issm/trunk-jpl/src/m/enum/SealevelriseRequestedOutputsEnum.m	(revision 20036)
@@ -0,0 +1,11 @@
+function macro=SealevelriseRequestedOutputsEnum()
+%SEALEVELRISEREQUESTEDOUTPUTSENUM - Enum of SealevelriseRequestedOutputs
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SealevelriseRequestedOutputsEnum()
+
+macro=StringToEnum('SealevelriseRequestedOutputs');
