Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 24442)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 24443)
@@ -372,4 +372,5 @@
 		#endif
 		#ifdef _HAVE_SEALEVELRISE_
+		virtual void UpdateStericRate(int steric_rate_model)=0;
 		virtual IssmDouble    GetArea3D(void)=0;
 		virtual IssmDouble    GetAreaSpherical(void)=0;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 24442)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 24443)
@@ -210,4 +210,5 @@
 		#endif
 		#ifdef _HAVE_SEALEVELRISE_
+		void UpdateStericRate(int steric_rate_model){_error_("not implemented yet!");};
 		IssmDouble    OceanArea(void){_error_("not implemented yet!");};
 		IssmDouble    OceanAverage(IssmDouble* Sg){_error_("not implemented yet!");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 24442)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 24443)
@@ -171,4 +171,5 @@
 #endif
 #ifdef _HAVE_SEALEVELRISE_
+		void UpdateStericRate(int steric_rate_model){_error_("not implemented yet!");};
 		void    SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea){_error_("not implemented yet!");};
 		void    SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea){_error_("not implemented yet!");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 24442)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 24443)
@@ -177,4 +177,5 @@
 #endif
 #ifdef _HAVE_SEALEVELRISE_
+		void UpdateStericRate(int steric_rate_model){_error_("not implemented yet!");};
 		void    SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea){_error_("not implemented yet!");};
 		void    SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea){_error_("not implemented yet!");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24442)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24443)
@@ -5436,4 +5436,40 @@
 #endif
 #ifdef _HAVE_SEALEVELRISE_
+void    Tria::UpdateStericRate(int steric_rate_model){ /*{{{*/
+
+	if (steric_rate_model==0){
+		//do nothing
+	}
+	else if (steric_rate_model==1){
+		IssmDouble eof1[3],eof2[3],eof3[3],eof4[3];
+		IssmDouble steric_rate[3];
+		IssmDouble pc1,pc2,pc3,pc4;
+
+		GetInputListOnVertices(&eof1[0],SealevelriseModeleoftrendEof1Enum);
+		GetInputListOnVertices(&eof2[0],SealevelriseModeleoftrendEof2Enum);
+		GetInputListOnVertices(&eof3[0],SealevelriseModeleoftrendEof3Enum);
+		GetInputListOnVertices(&eof4[0],SealevelriseModeleoftrendEof4Enum);
+	
+		Input* pc1_input = inputs->GetInput(SealevelriseModeleoftrendPc1Enum); _assert_(pc1_input);
+		Input* pc2_input = inputs->GetInput(SealevelriseModeleoftrendPc2Enum); _assert_(pc2_input);
+		Input* pc3_input = inputs->GetInput(SealevelriseModeleoftrendPc3Enum); _assert_(pc3_input);
+		Input* pc4_input = inputs->GetInput(SealevelriseModeleoftrendPc4Enum); _assert_(pc4_input);
+		
+		pc1_input->GetInputValue(&pc1);
+		pc2_input->GetInputValue(&pc2);
+		pc3_input->GetInputValue(&pc3);
+		pc4_input->GetInputValue(&pc4);
+
+		for (int i=0;i<4;i++)steric_rate[i]=pc1*eof1[i]+pc2*eof2[i]+pc3*eof3[i]+pc4*eof4[i];
+
+		/*upate input: */
+		this->inputs->AddInput(new TriaInput(SealevelriseStericRateEnum,&steric_rate[0],P1Enum));
+
+	else{
+
+	
+	}
+}
+/*}}}*/
 IssmDouble    Tria::OceanArea(void){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 24442)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 24443)
@@ -163,4 +163,5 @@
 		#endif
 		#ifdef _HAVE_SEALEVELRISE_
+		void UpdateStericRate(int steric_rate_model);
 		IssmDouble OceanArea(void);
 		IssmDouble OceanAverage(IssmDouble* Sg);
