Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 15432)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 15433)
@@ -75,5 +75,4 @@
 		virtual void   GetVectorFromResults(Vector<IssmDouble>* vector,int id,int enum_in,int interp)=0;
 		virtual void   InputArtificialNoise(int enum_type,IssmDouble min,IssmDouble max)=0;
-		virtual int*   GetHorizontalNeighboorSids(void)=0;
 		virtual IssmDouble TimeAdapt()=0;
 		virtual void   PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm)=0;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15432)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15433)
@@ -31,5 +31,4 @@
 	this->parameters        = NULL;
 	this->results           = NULL;
-	for(int i=0;i<3;i++)this->horizontalneighborsids[i]=UNDEF;
 }
 /*}}}*/
@@ -66,8 +65,4 @@
 	else                                    penta_elements_ids[0]=reCast<int,IssmDouble>((iomodel->Data(MeshLowerelementsEnum)[index]));
 	this->InitHookNeighbors(penta_elements_ids);
-
-	/*Build horizontalneighborsids list: */
-	_assert_(iomodel->Data(MeshElementconnectivityEnum));
-	for(i=0;i<3;i++) this->horizontalneighborsids[i]=reCast<int,IssmDouble>(iomodel->Data(MeshElementconnectivityEnum)[3*index+i])-1;
 
 	//this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
@@ -133,7 +128,4 @@
 	penta->matpar=(Matpar*)penta->hmatpar->delivers();
 	penta->verticalneighbors=(Penta**)penta->hneighbors->deliverp();
-
-	/*neighbors: */
-	for(i=0;i<3;i++)penta->horizontalneighborsids[i]=this->horizontalneighborsids[i];
 
 	return penta;
@@ -696,6 +688,4 @@
 	_printf_("   results\n");
 	results->DeepEcho();
-	_printf_("neighboor sids: \n");
-	_printf_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n");
 }
 /*}}}*/
@@ -992,12 +982,4 @@
 	*hy=ymax-ymin;
 	*hz=zmax-zmin;
-}
-/*}}}*/
-/*FUNCTION Penta::GetHorizontalNeighboorSids {{{*/
-int* Penta::GetHorizontalNeighboorSids(){
-
-	/*return PentaRef field*/
-	return &this->horizontalneighborsids[0];
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 15432)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 15433)
@@ -40,5 +40,4 @@
 		Matpar      *matpar;                      // 1 material parameter
 		Penta      **verticalneighbors;           // 2 neighbors: first one under, second one above
-		int          horizontalneighborsids[3];
 
 		Parameters  *parameters;                  //pointer to solution parameters
@@ -116,5 +115,4 @@
 		int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum);
 		IssmDouble TimeAdapt();
-		int*   GetHorizontalNeighboorSids(void);
 		void   ViscousHeatingCreateInput(void);
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15432)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15433)
@@ -31,5 +31,4 @@
 	this->material = NULL;
 	this->matpar   = NULL;
-	for(i=0;i<3;i++)this->horizontalneighborsids[i]=UNDEF;
 	this->inputs     = NULL;
 	this->parameters = NULL;
@@ -49,8 +48,4 @@
 		//this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
 		this->parameters=NULL;
-
-		/*Build horizontalneighborsids list: */
-		_assert_(iomodel->Data(MeshElementconnectivityEnum));
-		//for (i=0;i<3;i++) this->horizontalneighborsids[i]=(int)iomodel->elementconnectivity[3*index+i]-1;
 
 		/*intialize inputs and results: */
@@ -117,7 +112,4 @@
 	tria->material=(Material*)tria->hmaterial->delivers();
 	tria->matpar=(Matpar*)tria->hmatpar->delivers();
-
-	/*neighbors: */
-	for(i=0;i<3;i++)tria->horizontalneighborsids[i]=this->horizontalneighborsids[i];
 
 	return tria;
@@ -561,7 +553,4 @@
 	else _printf_("results=NULL\n");
 
-	_printf_("neighboor sids: \n");
-	_printf_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n");
-
 	return;
 }
@@ -672,7 +661,4 @@
 	if (results) results->Echo();
 	else _printf_("results=NULL\n");
-
-	_printf_("neighboor sids: \n");
-	_printf_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n");
 }
 /*}}}*/
@@ -729,12 +715,4 @@
 	/*return TriaRef field*/
 	return this->element_type;
-
-}
-/*}}}*/
-/*FUNCTION Tria::GetHorizontalNeighboorSids {{{*/
-int* Tria::GetHorizontalNeighboorSids(){
-
-	/*return TriaRef field*/
-	return &this->horizontalneighborsids[0];
 
 }
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 15432)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 15433)
@@ -37,5 +37,4 @@
 		Material    *material;                    // 1 material ice
 		Matpar      *matpar;                      // 1 material parameter
-		int          horizontalneighborsids[3];
 
 		Parameters  *parameters;                  //pointer to solution parameters
@@ -115,5 +114,4 @@
 		void   Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
 		IssmDouble TimeAdapt();
-		int*   GetHorizontalNeighboorSids(void);
 
 		#ifdef _HAVE_RESPONSES_
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 15432)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 15433)
@@ -34,5 +34,4 @@
 	materials = new Materials();
 
-	iomodel->FetchData(1,MeshElementconnectivityEnum);
 	#ifdef _HAVE_3D_
 	if(iomodel->dim==3)iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum);
@@ -73,5 +72,5 @@
 
 	/*Free data: */
-	iomodel->DeleteData(9,MeshElementconnectivityEnum,MeshUpperelementsEnum,MeshLowerelementsEnum,
+	iomodel->DeleteData(8,MeshUpperelementsEnum,MeshLowerelementsEnum,
 				MaterialsRheologyBEnum,MaterialsRheologyNEnum,MaterialsRheologyZEnum,InversionControlParametersEnum,InversionMinParametersEnum,
 				InversionMaxParametersEnum);
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 15432)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 15433)
@@ -169,5 +169,4 @@
 	MeshAverageVertexConnectivityEnum,
 	MeshDimensionEnum,
-	MeshElementconnectivityEnum,
 	MeshElementonbedEnum,
 	MeshElementonsurfaceEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 15432)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 15433)
@@ -177,5 +177,4 @@
 		case MeshAverageVertexConnectivityEnum : return "MeshAverageVertexConnectivity";
 		case MeshDimensionEnum : return "MeshDimension";
-		case MeshElementconnectivityEnum : return "MeshElementconnectivity";
 		case MeshElementonbedEnum : return "MeshElementonbed";
 		case MeshElementonsurfaceEnum : return "MeshElementonsurface";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 15432)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 15433)
@@ -180,5 +180,4 @@
 	      else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum;
 	      else if (strcmp(name,"MeshDimension")==0) return MeshDimensionEnum;
-	      else if (strcmp(name,"MeshElementconnectivity")==0) return MeshElementconnectivityEnum;
 	      else if (strcmp(name,"MeshElementonbed")==0) return MeshElementonbedEnum;
 	      else if (strcmp(name,"MeshElementonsurface")==0) return MeshElementonsurfaceEnum;
@@ -260,9 +259,9 @@
 	      else if (strcmp(name,"GiaLithosphereThickness")==0) return GiaLithosphereThicknessEnum;
 	      else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
+	      else if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum;
-	      else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
+	      if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
 	      else if (strcmp(name,"TimesteppingCflCoefficient")==0) return TimesteppingCflCoefficientEnum;
 	      else if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum;
@@ -383,9 +382,9 @@
 	      else if (strcmp(name,"RiftfrontType")==0) return RiftfrontTypeEnum;
 	      else if (strcmp(name,"Segment")==0) return SegmentEnum;
+	      else if (strcmp(name,"SegmentRiftfront")==0) return SegmentRiftfrontEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"SegmentRiftfront")==0) return SegmentRiftfrontEnum;
-	      else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
+	      if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
 	      else if (strcmp(name,"SpcStatic")==0) return SpcStaticEnum;
 	      else if (strcmp(name,"SpcTransient")==0) return SpcTransientEnum;
@@ -506,9 +505,9 @@
 	      else if (strcmp(name,"DoubleElementResult")==0) return DoubleElementResultEnum;
 	      else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
+	      else if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
-	      else if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum;
+	      if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum;
 	      else if (strcmp(name,"J")==0) return JEnum;
 	      else if (strcmp(name,"Patch")==0) return PatchEnum;
Index: /issm/trunk-jpl/src/m/classes/mesh.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh.m	(revision 15432)
+++ /issm/trunk-jpl/src/m/classes/mesh.m	(revision 15433)
@@ -109,5 +109,4 @@
 				md = checkfield(md,'mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d');
 			end
-			md = checkfield(md,'mesh.elementconnectivity','size',[md.mesh.numberofelements 3],'NaN',1);
 
 			%Solution specific checks
@@ -196,5 +195,4 @@
 			WriteData(fid,'object',obj,'fieldname','lowerelements','format','DoubleMat','mattype',2);
 			WriteData(fid,'object',obj,'fieldname','upperelements','format','DoubleMat','mattype',2);
-			WriteData(fid,'object',obj,'fieldname','elementconnectivity','format','DoubleMat','mattype',3);
 			WriteData(fid,'object',obj,'fieldname','average_vertex_connectivity','format','Integer');
 			WriteData(fid,'object',obj,'fieldname','elements2d','format','DoubleMat','mattype',3);
Index: /issm/trunk-jpl/src/m/classes/mesh.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh.py	(revision 15432)
+++ /issm/trunk-jpl/src/m/classes/mesh.py	(revision 15433)
@@ -147,5 +147,4 @@
 		else:
 			md = checkfield(md,'mesh.average_vertex_connectivity','>=',24,'message',"'mesh.average_vertex_connectivity' should be at least 24 in 3d")
-		md = checkfield(md,'mesh.elementconnectivity','size',[md.mesh.numberofelements,3],'NaN',1)
 
 		#Solution specific checks
@@ -179,5 +178,4 @@
 		WriteData(fid,'object',self,'fieldname','lowerelements','format','DoubleMat','mattype',2)
 		WriteData(fid,'object',self,'fieldname','upperelements','format','DoubleMat','mattype',2)
-		WriteData(fid,'object',self,'fieldname','elementconnectivity','format','DoubleMat','mattype',3)
 		WriteData(fid,'object',self,'fieldname','average_vertex_connectivity','format','Integer')
 		WriteData(fid,'object',self,'fieldname','elements2d','format','DoubleMat','mattype',3)
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 15432)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 15433)
@@ -2249,18 +2249,4 @@
 	return StringToEnum('MeshDimension')[0]
 
-def MeshElementconnectivityEnum():
-	"""
-	MESHELEMENTCONNECTIVITYENUM - Enum of MeshElementconnectivity
-
-	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=MeshElementconnectivityEnum()
-	"""
-
-	return StringToEnum('MeshElementconnectivity')[0]
-
 def MeshElementonbedEnum():
 	"""
@@ -7861,4 +7847,4 @@
 	"""
 
-	return 560
-
+	return 559
+
Index: /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m	(revision 15432)
+++ /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m	(revision 15433)
@@ -9,3 +9,3 @@
 %      macro=MaximumNumberOfEnums()
 
-macro=560;
+macro=559;
Index: sm/trunk-jpl/src/m/enum/MeshElementconnectivityEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MeshElementconnectivityEnum.m	(revision 15432)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MeshElementconnectivityEnum()
-%MESHELEMENTCONNECTIVITYENUM - Enum of MeshElementconnectivity
-%
-%   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=MeshElementconnectivityEnum()
-
-macro=StringToEnum('MeshElementconnectivity');
