Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 17321)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 17322)
@@ -320,6 +320,6 @@
 					./modules/ResetConstraintsx/ResetConstraintsx.h\
 					./modules/ResetConstraintsx/ResetConstraintsx.cpp\
-					./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.h\
-					./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.cpp\
+					./modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.h\
+					./modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.cpp\
 					./modules/Solverx/Solverx.cpp\
 					./modules/Solverx/Solverx.h\
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 17321)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 17322)
@@ -216,5 +216,5 @@
 		virtual Element*   SpawnTopElement(void)=0;
 		virtual void   ReduceMatrices(ElementMatrix* Ke,ElementVector* pe)=0;
-		virtual void   ResetCoordinateSystem()=0;
+		virtual void   ResetFSBasalBoundaryCondition()=0;
 		virtual void   SetTemporaryElementType(int element_type_in)=0;
 		virtual IssmDouble StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa)=0;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 17321)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 17322)
@@ -2158,6 +2158,6 @@
 }
 /*}}}*/
-/*FUNCTION Penta::ResetCoordinateSystem{{{*/
-void  Penta::ResetCoordinateSystem(void){
+/*FUNCTION Penta::ResetFSBasalBoundaryCondition{{{*/
+void  Penta::ResetFSBasalBoundaryCondition(void){
 
 	int        approximation;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 17321)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 17322)
@@ -117,5 +117,5 @@
 		void   PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm);
 		void   ReduceMatrices(ElementMatrix* Ke,ElementVector* pe);
-		void   ResetCoordinateSystem(void);
+		void   ResetFSBasalBoundaryCondition(void);
 		void   SmbGradients();
 		void   SetTemporaryElementType(int element_type_in);
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 17321)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 17322)
@@ -169,5 +169,5 @@
 		int         NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){_error_("not implemented yet");};
 		void        PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm){_error_("not implemented yet");};
-		void        ResetCoordinateSystem(void){_error_("not implemented yet");};
+		void        ResetFSBasalBoundaryCondition(void){_error_("not implemented yet");};
 		void        ReduceMatrices(ElementMatrix* Ke,ElementVector* pe){_error_("not implemented yet");};
 		void        SetTemporaryElementType(int element_type_in){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17321)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17322)
@@ -1936,6 +1936,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ResetCoordinateSystem{{{*/
-void  Tria::ResetCoordinateSystem(void){
+/*FUNCTION Tria::ResetFSBasalBoundaryCondition{{{*/
+void  Tria::ResetFSBasalBoundaryCondition(void){
 
 	int        approximation;
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 17321)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 17322)
@@ -113,5 +113,5 @@
 		void        PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm);
 		void        ReduceMatrices(ElementMatrix* Ke,ElementVector* pe);
-		void        ResetCoordinateSystem(void);
+		void        ResetFSBasalBoundaryCondition(void);
 		void	      SmbGradients();
 	   Element*    SpawnBasalElement(void);
Index: /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp	(revision 17321)
+++ /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp	(revision 17322)
@@ -49,5 +49,5 @@
 		bedslope_core(femmodel);
 		femmodel->SetCurrentConfiguration(StressbalanceAnalysisEnum);
-		ResetCoordinateSystemx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
+		ResetFSBasalBoundaryConditionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
 	}
 
Index: /issm/trunk-jpl/src/c/modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.cpp	(revision 17322)
+++ /issm/trunk-jpl/src/c/modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.cpp	(revision 17322)
@@ -0,0 +1,18 @@
+/*!\file ResetFSBasalBoundaryConditionx
+ * \brief: reset coordinate system for full-FS: tangential to the bedrock
+ */
+
+#include "./ResetFSBasalBoundaryConditionx.h"
+#include "../../shared/shared.h"
+#include "../../toolkits/toolkits.h"
+
+void ResetFSBasalBoundaryConditionx(Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads,Materials* materials,Parameters* parameters){
+
+	Element *element = NULL;
+
+	for (int i=0;i<elements->Size();i++){
+		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
+		element->ResetFSBasalBoundaryCondition();
+	}
+
+}
Index: /issm/trunk-jpl/src/c/modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.h	(revision 17322)
+++ /issm/trunk-jpl/src/c/modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.h	(revision 17322)
@@ -0,0 +1,13 @@
+/*!\file:  ResetFSBasalBoundaryConditionx.h
+ * \brief header file for reset coordinate system module
+ */ 
+
+#ifndef _RESETFSBASALBOUNDARYCONDITIONX_H
+#define _RESETFSBASALBOUNDARYCONDITIONX_H
+
+#include "../../classes/classes.h"
+
+/* local prototypes: */
+void ResetFSBasalBoundaryConditionx(Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads,Materials* materials,  Parameters* parameters); 
+
+#endif  /* _RESETFSBASALBOUNDARYCONDITIONX_H */
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 17321)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 17322)
@@ -80,5 +80,5 @@
 #include "./Reducevectorgtofx/Reducevectorgtofx.h"
 #include "./ResetConstraintsx/ResetConstraintsx.h"
-#include "./ResetCoordinateSystemx/ResetCoordinateSystemx.h"
+#include "./ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.h"
 #include "./RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h"
 #include "./Scotchx/Scotchx.h"
