Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 23504)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 23505)
@@ -92,5 +92,4 @@
 	iomodel->DeleteData(vertex_pairing,"md.masstransport.vertex_pairing");
 	iomodel->DeleteData(nodeonbase,"md.mesh.vertexonbase");
-
 }/*}}}*/
 void MasstransportAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/
Index: /issm/trunk-jpl/src/c/classes/IoModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/IoModel.cpp	(revision 23504)
+++ /issm/trunk-jpl/src/c/classes/IoModel.cpp	(revision 23505)
@@ -247,5 +247,5 @@
 	xDelete<bool>(this->my_faces);
 	xDelete<bool>(this->my_edges);
-	xDelete<int>(this->my_vertices);
+	xDelete<bool>(this->my_vertices);
 
 	xDelete<int>(this->elements);
Index: /issm/trunk-jpl/src/c/classes/IoModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/IoModel.h	(revision 23504)
+++ /issm/trunk-jpl/src/c/classes/IoModel.h	(revision 23505)
@@ -66,5 +66,5 @@
 		bool *my_faces;
 		bool *my_edges;
-		int  *my_vertices;
+		bool *my_vertices;
 
 		/*Mesh properties and connectivity tables*/
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp	(revision 23504)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp	(revision 23505)
@@ -28,5 +28,5 @@
 
 		case P1DGEnum:
-			NodesPartitioning(&my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,false);
+			DiscontinuousGalerkinNodesPartitioning(&my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel);
 			for(i=0;i<iomodel->numberofelements;i++){
 				for(j=0;j<3;j++){
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp	(revision 23504)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp	(revision 23505)
@@ -69,11 +69,5 @@
 		parameters->AddObject(iomodel->CopyConstantObject("md.qmu.numberofpartitions",QmuNumberofpartitionsEnum));
 		iomodel->FetchData(&dpart,NULL,NULL,"md.qmu.partition");
-		if(!dpart){
-			/*Partition elements and vertices and nodes: */
-			ElementsAndVerticesPartitioning(&iomodel->my_elements,&iomodel->my_vertices,iomodel);
-
-			dpart=xNew<double>(iomodel->numberofvertices);
-			for(i=0;i<iomodel->numberofvertices;i++)dpart[i]=iomodel->my_vertices[i];
-		}
+		if(!dpart) _error_("md.qmu.partition is empty");
 		parameters->AddObject(new DoubleVecParam(QmuPartitionEnum,dpart,iomodel->numberofvertices));
 
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 23504)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 23505)
@@ -15,5 +15,5 @@
 #include "../ModelProcessorx/ModelProcessorx.h"
 
-void  ElementsAndVerticesPartitioning(bool** pmy_elements, int** pmy_vertices, IoModel* iomodel){
+void  ElementsAndVerticesPartitioning(bool** pmy_elements,bool** pmy_vertices,IoModel* iomodel){
 
 	int numberofelements2d;
@@ -23,9 +23,8 @@
 
 	/*intermediary: */
-	int        *epart          = NULL; //element partitioning.
-	int        *npart          = NULL; //node partitioning.
-	int         elements_width;        //number of columns in elements (2d->3, 3d->6)
-	int         el1,el2;
-	int        *elements2d     = NULL;
+	int *epart          = NULL; //element partitioning.
+	int *npart          = NULL; //node partitioning.
+	int  elements_width;        //number of columns in elements (2d->3, 3d->6)
+	int *elements2d     = NULL;
 
 	/*Get my_rank:*/
@@ -75,6 +74,6 @@
 		for(int i=0;i<numrifts;i++){
 			const int RIFTINFOSIZE = 12;
-			el1=reCast<int>(*(riftinfo+RIFTINFOSIZE*i+2))-1; //matlab indexing to c indexing
-			el2=reCast<int>(*(riftinfo+RIFTINFOSIZE*i+3))-1; //matlab indexing to c indexing
+			int el1=reCast<int>(*(riftinfo+RIFTINFOSIZE*i+2))-1; //matlab indexing to c indexing
+			int el2=reCast<int>(*(riftinfo+RIFTINFOSIZE*i+3))-1; //matlab indexing to c indexing
 			epart[el2]=epart[el1]; //ensures that this pair of elements will be in the same partition, as well as the corresponding vertices;
 		}
@@ -84,5 +83,5 @@
 	/*Create my_vertices and my_elements, used by each partition */
 	bool *my_elements = xNewZeroInit<bool>(iomodel->numberofelements);
-	int  *my_vertices = xNewZeroInit<int>(iomodel->numberofvertices);
+	bool *my_vertices = xNewZeroInit<bool>(iomodel->numberofvertices);
 
 	/*Start figuring out, out of the partition, which elements belong to this cpu: */
@@ -97,5 +96,5 @@
 			 will hold which vertices belong to this partition*/
 			for(int j=0;j<elements_width;j++){
-				my_vertices[iomodel->elements[elements_width*i+j]-1]=1;
+				my_vertices[iomodel->elements[elements_width*i+j]-1]=true;
 			}
 		}
@@ -109,5 +108,5 @@
 	for(int i=0;i<numvertex_pairing;i++){
 		if(my_vertices[vertex_pairing[2*i+0]-1] && !my_vertices[vertex_pairing[2*i+1]-1]){
-			my_vertices[vertex_pairing[2*i+1]-1]=2; //to know that these elements are not on the partition
+			my_vertices[vertex_pairing[2*i+1]-1]=true;
 		}
 	}
@@ -116,5 +115,5 @@
 	for(int i=0;i<numvertex_pairing;i++){
 		if(my_vertices[vertex_pairing[2*i+0]-1] && !my_vertices[vertex_pairing[2*i+1]-1]){
-			my_vertices[vertex_pairing[2*i+1]-1]=2; //to know that these elements are not on the partition
+			my_vertices[vertex_pairing[2*i+1]-1]=true; 
 		}
 	}
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 23504)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 23505)
@@ -25,6 +25,6 @@
 
 /*partitioning: */
-void ElementsAndVerticesPartitioning(bool** pmy_elements, int** pmy_vertices, IoModel* iomodel);
-void NodesPartitioning(bool** pmy_nodes,bool* my_elements, int* my_vertices,  IoModel* iomodel, bool continuous);
+void ElementsAndVerticesPartitioning(bool** pmy_elements,bool** pmy_vertices, IoModel* iomodel);
+void DiscontinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements,bool* my_vertices,  IoModel* iomodel);
 void FacesPartitioning(IoModel* iomodel);
 void EdgesPartitioning(IoModel* iomodel);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 23504)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 23505)
@@ -15,26 +15,5 @@
 #include "../ModelProcessorx/ModelProcessorx.h"
 
-void  DiscontinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, int* my_vertices, IoModel* iomodel);
-void  ContinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, int* my_vertices, IoModel* iomodel);
-
-void  NodesPartitioning(bool** pmy_nodes,bool* my_elements, int* my_vertices, IoModel* iomodel, bool continuous){
-
-	if(continuous==true)
-		ContinuousGalerkinNodesPartitioning(pmy_nodes,my_elements, my_vertices, iomodel);
-	else
-		DiscontinuousGalerkinNodesPartitioning(pmy_nodes,my_elements, my_vertices, iomodel);
-}
-
-void  ContinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, int* my_vertices, IoModel* iomodel){
-
-	/*output: */
-	bool* my_nodes=xNew<bool>(iomodel->numberofvertices);
-	for(int i=0;i<iomodel->numberofvertices;i++) my_nodes[i]=(bool)my_vertices[i];
-
-	/*Assign output pointers:*/
-	*pmy_nodes=my_nodes;
-}
-
-void  DiscontinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, int* my_vertices, IoModel* iomodel){
+void  DiscontinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements,bool* my_vertices, IoModel* iomodel){
 
 	/* Each element has it own nodes (as many as vertices) + additional nodes
