Index: /issm/trunk/src/c/parallel/control.cpp
===================================================================
--- /issm/trunk/src/c/parallel/control.cpp	(revision 1707)
+++ /issm/trunk/src/c/parallel/control.cpp	(revision 1708)
@@ -82,4 +82,5 @@
 	inputs->Add("velocity",u_g_initial,3,numberofnodes);
 	inputs->Add("velocity_obs",u_g_obs,2,numberofnodes);
+	
 
 	/*erase velocities: */
@@ -144,5 +145,9 @@
 	/*end module: */
 	MODULEEND();
-	
+
+	/*Free ressources */
+	xfree((void**)&u_g_initial);
+	xfree((void**)&u_g_obs);
+
 	return 0; //unix success return;
 }
Index: /issm/trunk/src/c/parallel/diagnostic.cpp
===================================================================
--- /issm/trunk/src/c/parallel/diagnostic.cpp	(revision 1707)
+++ /issm/trunk/src/c/parallel/diagnostic.cpp	(revision 1708)
@@ -128,4 +128,7 @@
 	MODULEEND();
 	
+	/*Free ressources */
+	xfree((void**)&u_g_initial);
+
 	return 0; //unix success return;
 }
Index: /issm/trunk/src/c/parallel/diagnostic_core.cpp
===================================================================
--- /issm/trunk/src/c/parallel/diagnostic_core.cpp	(revision 1707)
+++ /issm/trunk/src/c/parallel/diagnostic_core.cpp	(revision 1708)
@@ -87,4 +87,5 @@
 			FieldExtrudex( slopex, fem_sl->elements,fem_sl->nodes,fem_sl->loads,fem_sl->materials,"slopex",0);
 			FieldExtrudex( slopey, fem_sl->elements,fem_sl->nodes,fem_sl->loads,fem_sl->materials,"slopex",0);
+			VecFree(&slopex); VecFree(&slopey);
 		}
 
@@ -92,4 +93,5 @@
 		inputs->Add("surfaceslopex",slopex,numberofdofspernode_sl,numberofnodes);
 		inputs->Add("surfaceslopey",slopey,numberofdofspernode_sl,numberofnodes);
+		VecFree(&slopex); VecFree(&slopey);
 
 		if(debug)_printf_("%s\n"," computing hutter velocities...");
@@ -133,4 +135,5 @@
 		VecMerge(ug,ug_horiz,dofsetgen(2,&dof01[0],3,numberofnodes*3),numberofnodes*2);
 		VecMerge(ug,ug_vert,dofsetgen(1,&dof2[0],3,numberofnodes*3),numberofnodes*1);
+		VecFree(&ug_horiz); VecFree(&ug_vert);
 
 		if(debug)_printf_("%s\n"," computing pressure according to Pattyn...");
@@ -150,4 +153,5 @@
 			inputs->Add("bedslopex",slopex,numberofdofspernode_sl,numberofnodes);
 			inputs->Add("bedslopey",slopey,numberofdofspernode_sl,numberofnodes);
+			VecFree(&slopex); VecFree(&slopey);
 			
 			//recombine ug and pg: 
@@ -157,4 +161,5 @@
 
 			inputs->Add("velocity",ug_stokes,numberofdofspernode_ds,numberofnodes);
+			VecFree(&ug_stokes);
 
 			if(debug)_printf_("%s\n"," update boundary conditions for stokes using velocities previously computed...");
