Index: /issm/branches/trunk-larour-NatGeoScience2016/src/c/cores/sealevelrise_core.cpp
===================================================================
--- /issm/branches/trunk-larour-NatGeoScience2016/src/c/cores/sealevelrise_core.cpp	(revision 21325)
+++ /issm/branches/trunk-larour-NatGeoScience2016/src/c/cores/sealevelrise_core.cpp	(revision 21326)
@@ -33,4 +33,5 @@
 	IssmDouble          *yy     = NULL;
 	IssmDouble          *zz     = NULL;
+	IssmDouble          dt,steric_rate;
 
 	/*Recover some parameters: */
@@ -91,8 +92,13 @@
 
 		Sg=sealevelrise_core_noneustatic(femmodel,Sg_eustatic); //ocean loading tems  (2nd and 5th terms on the RHS of Farrel and Clark)
+
+		/*Now deal with steric ocean expansion by just shifting Sg by a constant rate: */
+		femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
+		femmodel->parameters->FindParam(&steric_rate,SealevelriseStericRateEnum);
+		Sg->Shift(dt*steric_rate);
 		
 		/*get results into elements:*/
-		//InputUpdateFromSolutionx(femmodel,Sg);		// from Eric 
-		InputUpdateFromVectorx(femmodel,Sg,SealevelEnum,VertexSIdEnum);
+		InputUpdateFromSolutionx(femmodel,Sg);		// from Eric 
+		//InputUpdateFromVectorx(femmodel,Sg,SealevelEnum,VertexSIdEnum);
 
 		int geodetic=0;
Index: /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumDefinitions.h	(revision 21325)
+++ /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumDefinitions.h	(revision 21326)
@@ -774,4 +774,5 @@
 	SealevelriseElasticEnum,
 	SealevelriseOceanAreaScalingEnum,
+	SealevelriseStericRateEnum,
 	SealevelriseGElasticEnum,
 	SealevelriseUElasticEnum,
Index: /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumToStringx.cpp	(revision 21325)
+++ /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumToStringx.cpp	(revision 21326)
@@ -755,4 +755,5 @@
 		case SealevelriseElasticEnum : return "SealevelriseElastic";
 		case SealevelriseOceanAreaScalingEnum : return "SealevelriseOceanAreaScaling";
+		case SealevelriseStericRateEnum : return "SealevelriseStericRate";
 		case SealevelriseGElasticEnum : return "SealevelriseGElastic";
 		case SealevelriseUElasticEnum : return "SealevelriseUElastic";
Index: /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/StringToEnumx.cpp	(revision 21325)
+++ /issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/StringToEnumx.cpp	(revision 21326)
@@ -773,4 +773,5 @@
 	      else if (strcmp(name,"SealevelriseElastic")==0) return SealevelriseElasticEnum;
 	      else if (strcmp(name,"SealevelriseOceanAreaScaling")==0) return SealevelriseOceanAreaScalingEnum;
+	      else if (strcmp(name,"SealevelriseStericRate")==0) return SealevelriseStericRateEnum;
 	      else if (strcmp(name,"SealevelriseGElastic")==0) return SealevelriseGElasticEnum;
 	      else if (strcmp(name,"SealevelriseUElastic")==0) return SealevelriseUElasticEnum;
@@ -874,9 +875,9 @@
 	      else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum;
 	      else if (strcmp(name,"MasstransportAnalysis")==0) return MasstransportAnalysisEnum;
-	      else if (strcmp(name,"MasstransportSolution")==0) return MasstransportSolutionEnum;
          else stage=8;
    }
    if(stage==8){
-	      if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum;
+	      if (strcmp(name,"MasstransportSolution")==0) return MasstransportSolutionEnum;
+	      else if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum;
 	      else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum;
 	      else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
Index: /issm/branches/trunk-larour-NatGeoScience2016/src/m/classes/slr.m
===================================================================
--- /issm/branches/trunk-larour-NatGeoScience2016/src/m/classes/slr.m	(revision 21325)
+++ /issm/branches/trunk-larour-NatGeoScience2016/src/m/classes/slr.m	(revision 21326)
@@ -21,4 +21,5 @@
 		rotation       = 0;
 		ocean_area_scaling = 0;
+		steric_rate    = 0; %rate of ocean expansion from steric effects. 
 		degacc         = 0;
 		requested_outputs      = {};
@@ -55,4 +56,7 @@
 		%numerical discretization accuracy
 		self.degacc=.01;
+
+		%steric: 
+		self.steric_rate=0;
 		
 		%output default:
@@ -77,4 +81,5 @@
 			md = checkfield(md,'fieldname','slr.abstol','size',[1 1]);
 			md = checkfield(md,'fieldname','slr.maxiter','size',[1 1],'>=',1);
+			md = checkfield(md,'fieldname','slr.steric_rate','size',[1 1]);
 			md = checkfield(md,'fieldname','slr.degacc','size',[1 1],'>=',1e-10);
 			md = checkfield(md,'fieldname','slr.requested_outputs','stringrow',1);
@@ -113,4 +118,5 @@
 			fielddisplay(self,'rotation','earth rotational potential perturbation');
 			fielddisplay(self,'ocean_area_scaling','correction for model representation of ocean area [default: No correction]'); 
+			fielddisplay(self,'steric_rate','rate of steric ocean expansion (in mm/yr)'); 
 			fielddisplay(self,'rigid','rigid earth graviational potential perturbation');
 			fielddisplay(self,'elastic','elastic earth graviational potential perturbation');
@@ -136,4 +142,5 @@
 			WriteData(fid,prefix,'object',self,'fieldname','rotation','format','Boolean');
 			WriteData(fid,prefix,'object',self,'fieldname','ocean_area_scaling','format','Boolean');
+			WriteData(fid,prefix,'object',self,'fieldname','steric_rate','format','Double','scale',1e-3/yts);
 			WriteData(fid,prefix,'object',self,'fieldname','degacc','format','Double');
 			WriteData(fid,prefix,'object',self,'fieldname','transitions','format','MatArray');
@@ -165,4 +172,5 @@
 			writejsdouble(fid,[modelname '.slr.rotation'],self.rotation);
 			writejsdouble(fid,[modelname '.slr.ocean_area_scaling'],self.ocean_area_scaling);
+			writejsdouble(fid,[modelname '.slr.steric_rate'],self.steric_rate);
 			writejsdouble(fid,[modelname '.slr.elastic'],self.elastic);
 			writejsdouble(fid,[modelname '.slr.degacc'],self.degacc);
