Index: /issm/trunk-jpl/src/c/classes/Node.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Node.cpp	(revision 16337)
+++ /issm/trunk-jpl/src/c/classes/Node.cpp	(revision 16338)
@@ -920,4 +920,5 @@
 			case PressureEnum: numdofs+=1; break;
 			case XYEnum:       numdofs+=2; break;
+			case XZEnum:       numdofs+=2; break;
 			case XYZEnum:      numdofs+=3; break;
 			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
@@ -970,4 +971,5 @@
 			case PressureEnum: numdofs+=1; break;
 			case XYEnum:       numdofs+=2; break;
+			case XZEnum:       numdofs+=2; break;
 			case XYZEnum:      numdofs+=3; break;
 			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
@@ -1019,4 +1021,5 @@
 			case PressureEnum: numdofs+=1; break;
 			case XYEnum:       numdofs+=2; break;
+			case XZEnum:       numdofs+=2; break;
 			case XYZEnum:      numdofs+=3; break;
 			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
@@ -1067,4 +1070,5 @@
 			case PressureEnum: numdofs+=1; break;
 			case XYEnum:       numdofs+=2; break;
+			case XZEnum:       numdofs+=2; break;
 			case XYZEnum:      numdofs+=3; break;
 			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
@@ -1106,4 +1110,5 @@
 			case PressureEnum: numdofs+=1; break;
 			case XYEnum:       numdofs+=2; break;
+			case XZEnum:       numdofs+=2; break;
 			case XYZEnum:      numdofs+=3; break;
 			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
@@ -1142,4 +1147,13 @@
 				counter+=2;
 				break;
+			case XZEnum:
+				/*We remove the y component, we need to renormalize x and z: x=[x1 0 x2] y=[-x2 0 x1]*/
+				norm = sqrt( coord_system[0][0]*coord_system[0][0] + coord_system[2][0]*coord_system[2][0]); _assert_(norm>1.e-4);
+				transform[(numdofs)*(counter+0) + counter+0] =   coord_system[0][0]/norm;
+				transform[(numdofs)*(counter+0) + counter+2] = - coord_system[2][0]/norm;
+				transform[(numdofs)*(counter+1) + counter+0] =   coord_system[2][0]/norm;
+				transform[(numdofs)*(counter+1) + counter+2] =   coord_system[0][0]/norm;
+				counter+=2;
+				break;
 			case XYZEnum:
 				/*The 3 coordinates are changed (x,y,z)*/
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 16337)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 16338)
@@ -611,4 +611,5 @@
 	/*Coordinate Systems{{{*/
 	XYEnum,
+	XZEnum,
 	XYZEnum,
 	/*}}}*/
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 16337)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 16338)
@@ -587,4 +587,5 @@
 		case NearestInterpEnum : return "NearestInterp";
 		case XYEnum : return "XY";
+		case XZEnum : return "XZ";
 		case XYZEnum : return "XYZ";
 		case DenseEnum : return "Dense";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 16337)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 16338)
@@ -599,4 +599,5 @@
 	      else if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum;
 	      else if (strcmp(name,"XY")==0) return XYEnum;
+	      else if (strcmp(name,"XZ")==0) return XZEnum;
 	      else if (strcmp(name,"XYZ")==0) return XYZEnum;
 	      else if (strcmp(name,"Dense")==0) return DenseEnum;
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 16337)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 16338)
@@ -579,4 +579,5 @@
 def NearestInterpEnum(): return StringToEnum("NearestInterp")[0]
 def XYEnum(): return StringToEnum("XY")[0]
+def XZEnum(): return StringToEnum("XZ")[0]
 def XYZEnum(): return StringToEnum("XYZ")[0]
 def DenseEnum(): return StringToEnum("Dense")[0]
Index: /issm/trunk-jpl/src/m/enum/XZEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/XZEnum.m	(revision 16338)
+++ /issm/trunk-jpl/src/m/enum/XZEnum.m	(revision 16338)
@@ -0,0 +1,11 @@
+function macro=XZEnum()
+%XZENUM - Enum of XZ
+%
+%   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=XZEnum()
+
+macro=StringToEnum('XZ');
