Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 12573)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 12574)
@@ -69,11 +69,11 @@
 	bool*   my_nodes=NULL;
 
-	int     i1,i2;
-	int     cols;
-	IssmDouble  e1,e2;
-	int     pos;
-	int     numberofedges;
-	IssmDouble* edges=NULL;
-	IssmDouble* elements=NULL;
+	int  i1,i2;
+	int  cols;
+	int  e1,e2;
+	int  pos;
+	int  numberofedges;
+	int *edges         = NULL;
+	int *elements      = NULL;
 
 	/*Fetch parameters: */
@@ -125,14 +125,14 @@
 		 * we must clone the nodes on this partition so that the loads (Numericalflux)
 		 * will have access to their properties (dofs,...)*/
-		if(my_elements[reCast<int>(e1)] && !xIsNan<IssmDouble>(e2) && !my_elements[reCast<int>(e2)]){
+		if(my_elements[e1] && e2!=-2 && !my_elements[e2]){
 
 			/*1: Get vertices ids*/
-			i1=reCast<int>(edges[4*i+0]);
-			i2=reCast<int>(edges[4*i+1]);
+			i1=edges[4*i+0];
+			i2=edges[4*i+1];
 
 			/*2: Get the column where these ids are located in the index*/
 			pos=UNDEF;
 			for(j=0;j<3;j++){
-				if (reCast<int>(elements[3*(reCast<int>(e2))+j])==i1) pos=j;
+				if (elements[3*e2+j]==i1) pos=j;
 			}
 
@@ -140,14 +140,14 @@
 			 * we can now create the corresponding nodes:*/
 			if (pos==0){
-				my_nodes[reCast<int>(e2)*3+0]=true;
-				my_nodes[reCast<int>(e2)*3+2]=true;
+				my_nodes[e2*3+0]=true;
+				my_nodes[e2*3+2]=true;
 			}
 			else if(pos==1){
-				my_nodes[reCast<int>(e2)*3+1]=true;
-				my_nodes[reCast<int>(e2)*3+0]=true;
+				my_nodes[e2*3+1]=true;
+				my_nodes[e2*3+0]=true;
 			}
 			else if (pos==2){
-				my_nodes[reCast<int>(e2)*3+2]=true;
-				my_nodes[reCast<int>(e2)*3+1]=true;
+				my_nodes[e2*3+2]=true;
+				my_nodes[e2*3+1]=true;
 			}
 			else{
@@ -158,6 +158,6 @@
 
 	/*Free data: */
-	xDelete<IssmDouble>(elements);
-	xDelete<IssmDouble>(edges);
+	xDelete<int>(elements);
+	xDelete<int>(edges);
 
 	/*Assign output pointers:*/
Index: /issm/trunk-jpl/src/c/objects/Bamg/Mesh.cpp
===================================================================
--- /issm/trunk-jpl/src/c/objects/Bamg/Mesh.cpp	(revision 12573)
+++ /issm/trunk-jpl/src/c/objects/Bamg/Mesh.cpp	(revision 12574)
@@ -618,5 +618,5 @@
 		double* elemedge=NULL;
 		elemedge=xNew<double>(3*nbt);
-		for (i=0;i<3*nbt;i++) elemedge[i]=NAN;
+		for (i=0;i<3*nbt;i++) elemedge[i]=-2.;//will become -1
 		k=0;
 		for (i=0;i<nbt;i++){
Index: /issm/trunk-jpl/src/c/objects/IoModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/objects/IoModel.cpp	(revision 12573)
+++ /issm/trunk-jpl/src/c/objects/IoModel.cpp	(revision 12574)
@@ -474,5 +474,4 @@
 	extern int my_rank;
 	extern int num_procs;
-	
 
 	/*output: */
@@ -496,5 +495,4 @@
 	/*Assign output pointers: */
 	*pinteger=integer;
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk-jpl/src/c/objects/Loads/Numericalflux.cpp	(revision 12573)
+++ /issm/trunk-jpl/src/c/objects/Loads/Numericalflux.cpp	(revision 12574)
@@ -59,6 +59,6 @@
 	numericalflux_mparid=numberofelements+1; //matlab indexing
 
-	/*First, see wether this is an internal or boundary edge (if e2=NaN)*/
-	if (xIsNan<IssmDouble>((IssmDouble)iomodel->Data(MeshEdgesEnum)[4*i+3])){ //edges are [node1 node2 elem1 elem2]
+	/*First, see wether this is an internal or boundary edge (if e2=-1)*/
+	if (iomodel->Data(MeshEdgesEnum)[4*i+3]==-1.){ //edges are [node1 node2 elem1 elem2]
 		/* Boundary edge, only one element */
 		e1=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+2]);
@@ -67,5 +67,5 @@
 		num_nodes=2;
 		numericalflux_type=BoundaryEnum;
-		numericalflux_elem_ids[0]=reCast<int>(e1);
+		numericalflux_elem_ids[0]=e1;
 	}
 	else{
@@ -76,6 +76,6 @@
 		num_nodes=4;
 		numericalflux_type=InternalEnum;
-		numericalflux_elem_ids[0]=reCast<int>(e1);
-		numericalflux_elem_ids[1]=reCast<int>(e2);
+		numericalflux_elem_ids[0]=e1;
+		numericalflux_elem_ids[1]=e2;
 	}
 
