Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp	(revision 3437)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp	(revision 3438)
@@ -13,10 +13,5 @@
 void	CreateLoadsDiagnosticStokes(DataSet** ploads, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
-	int i,j,counter;
-	int element;
 
-	extern int my_rank;
-	extern int num_procs;
-	
 	DataSet*    loads    = NULL;
 	Icefront*   icefront = NULL;
@@ -24,18 +19,5 @@
 
 	int segment_width;
-	int i1,i2,i3,i4;
-	int i0,range;
-	int grid1,grid2;
-
-	/*icefront intermediary data: */
-	char icefront_type[ICEFRONTSTRING];
-	int  icefront_fill;
-	int  icefront_element_type;
-	int  icefront_sid;
-	int icefront_eid;
-	int icefront_mparid;
-	int	icefront_node_ids[MAX_ICEFRONT_GRIDS];
-	double icefront_h[MAX_ICEFRONT_GRIDS];
-	double	icefront_b[MAX_ICEFRONT_GRIDS];
+	int element;
 
 	/*pengrid intermediary data: */
@@ -75,11 +57,6 @@
 		element=(int)(*(iomodel->pressureload+segment_width*i+segment_width-2)-1); //element is in the penultimate column (grid1 grid2 ... elem fill)
 
-		#ifdef _PARALLEL_
-		if (iomodel->epart[element]!=my_rank){
-			/*This load does not belong to this cluster node, as it references an element 
-			 *that does not belong to this node's partition. Drop this 'i':*/
-			continue;
-		}
-		#endif
+		/*Now, if this element is not in the partition, pass: */
+		if(!iomodel->my_elements[i])continue;
 	
 		/*Do not create ice front if it is not a Stokes element*/
@@ -88,34 +65,6 @@
 		}
 
-		icefront_mparid=iomodel->numberofelements+1; //matlab indexing
-		icefront_sid=count+1; //matlab indexing
-		icefront_fill=(int)*(iomodel->pressureload+segment_width*i+segment_width-1);
-		icefront_eid=(int) *(iomodel->pressureload+segment_width*i+segment_width-2); //matlab indexing
-		icefront_element_type=PentaEnum();
-
-		i1=(int)*(iomodel->pressureload+segment_width*i+0);
-		i2=(int)*(iomodel->pressureload+segment_width*i+1);
-		i3=(int)*(iomodel->pressureload+segment_width*i+2);
-		i4=(int)*(iomodel->pressureload+segment_width*i+3);
-	
-		icefront_node_ids[0]=i1;
-		icefront_node_ids[1]=i2;
-		icefront_node_ids[2]=i3;
-		icefront_node_ids[3]=i4;
-	
-		icefront_h[0]=iomodel->thickness[i1-1];
-		icefront_h[1]=iomodel->thickness[i2-1];
-		icefront_h[2]=iomodel->thickness[i3-1];
-		icefront_h[3]=iomodel->thickness[i4-1];
-
-		icefront_b[0]=iomodel->bed[i1-1];
-		icefront_b[1]=iomodel->bed[i2-1];
-		icefront_b[2]=iomodel->bed[i3-1];
-		icefront_b[3]=iomodel->bed[i4-1];
-	
-		icefront = new Icefront(icefront_type,icefront_fill,icefront_sid,icefront_mparid,icefront_eid,icefront_element_type,icefront_node_ids,icefront_h,icefront_b);
-		
-		loads->AddObject(icefront);
-		count++;
+		/*Create and  add load: */
+		loads->AddObject(new Icefront(i,iomodel));
 
 	}
