Index: issm/trunk-jpl/src/c/modules/HoleFillerx/HoleFillerx.cpp
===================================================================
--- issm/trunk-jpl/src/c/modules/HoleFillerx/HoleFillerx.cpp	(revision 12495)
+++ issm/trunk-jpl/src/c/modules/HoleFillerx/HoleFillerx.cpp	(revision 12507)
@@ -77,5 +77,5 @@
 		}
 		printf( "\n" );
-		printf("Number of zeroes remaining: %10ld",lines*samps-counter);
+		printf("Number of zeroes remaining: %d",lines*samps-counter);
 		fflush( stdout );
 	#endif
@@ -96,5 +96,5 @@
 		//        n u m b e r   o f   z e r o e s   r e m a i n i n g :   1 2 3 4 5 6 7 8 9 10        
 		printf( "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b" );
-		printf("Number of zeroes remaining: %10ld",lines*samps-counter);
+		printf("Number of zeroes remaining: %d",lines*samps-counter);
 		fflush( stdout );
 	#endif
Index: issm/trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp
===================================================================
--- issm/trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp	(revision 12495)
+++ issm/trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp	(revision 12507)
@@ -124,5 +124,5 @@
 	double *y             = gate->y;
 	int     nods          = gate->nods;
-	Vector*     data_mesh     = gate->data_mesh;
+	Vector *data_mesh     = gate->data_mesh;
 	double *data          = gate->data;
 	double  default_value = gate->default_value;
@@ -131,8 +131,13 @@
 	int     N             = gate->N;
 
+	bool debug = M*N>1? true:false;
+	debug = true;
+
 	/*partition loop across threads: */
 	PartitionRange(&i0,&i1,nods,num_threads,my_thread);
 	for (i=i0;i<i1;i++) {
 
+		if(debug && my_thread==0)
+		 _printLine_("\r      interpolation progress: "<<setw(5)<<setprecision(2)<<double(i-i0)/double(i1-i0)*100<<"%%");
 		x_grid=*(x_mesh+i);
 		y_grid=*(y_mesh+i);
Index: issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp
===================================================================
--- issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp	(revision 12495)
+++ issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp	(revision 12507)
@@ -17,17 +17,17 @@
 	bool debug;
 	int  nels_data;
-	double* index_data=NULL;
-	double* x_data=NULL;
-	double* y_data=NULL;
-	double* data=NULL;
-	double xmin,xmax;
-	double ymin,ymax;
-	int    nods_prime;
-	Vector*    data_prime=NULL;
-	double* x_prime=NULL;
-	double* y_prime=NULL;
-	double* default_values=NULL;
+	double *index_data         = NULL;
+	double *x_data             = NULL;
+	double *y_data             = NULL;
+	double *data               = NULL;
+	double  xmin                 ,xmax;
+	double  ymin                 ,ymax;
+	int     nods_prime;
+	Vector *data_prime         = NULL;
+	double *x_prime            = NULL;
+	double *y_prime            = NULL;
+	double *default_values     = NULL;
 	int     num_default_values;
-	double*    incontour=NULL;
+	double *incontour          = NULL;
 
 	/*intermediary: */
@@ -46,22 +46,22 @@
 	
 	/*recover parameters :*/
-	interpolation_type=gate->interpolation_type;
-	debug=gate->debug;
-	nels_data=gate->nels_data;
-	index_data=gate->index_data;
-	x_data=gate->x_data;
-	y_data=gate->y_data;
-	data=gate->data;
-	xmin=gate->xmin;
-	xmax=gate->xmax;
-	ymin=gate->ymin;
-	ymax=gate->ymax;
-	nods_prime=gate->nods_prime;
-	data_prime=gate->data_prime;
-	x_prime=gate->x_prime;
-	y_prime=gate->y_prime;
-	default_values=gate->default_values;
-	num_default_values=gate->num_default_values;
-	incontour=gate->incontour;
+	interpolation_type = gate->interpolation_type;
+	debug              = gate->debug;
+	nels_data          = gate->nels_data;
+	index_data         = gate->index_data;
+	x_data             = gate->x_data;
+	y_data             = gate->y_data;
+	data               = gate->data;
+	xmin               = gate->xmin;
+	xmax               = gate->xmax;
+	ymin               = gate->ymin;
+	ymax               = gate->ymax;
+	nods_prime         = gate->nods_prime;
+	data_prime         = gate->data_prime;
+	x_prime            = gate->x_prime;
+	y_prime            = gate->y_prime;
+	default_values     = gate->default_values;
+	num_default_values = gate->num_default_values;
+	incontour          = gate->incontour;
 
 	/*partition loop across threads: */
@@ -69,10 +69,9 @@
 
 	/*Loop over the elements*/
-	if (debug && my_thread==0) printf("      interpolation progress:   %5.2lf %%",0.0);
-
 	for (i=i0;i<i1;i++){
 
 		/*display current iteration*/
-		if (debug && my_thread==0 && fmod((double)i,(double)100)==0) printf("\b\b\b\b\b\b\b%5.2lf %%",(double)i/nels_data*100*num_threads);
+		if (debug && my_thread==0 && fmod((double)i,(double)100)==0)
+		 _printString_("\r      interpolation progress: "<<setw(6)<<setprecision(2)<<double(i-i0)/double(i1-i0)*100<<"%");
 
 		/*if there is no point inside the domain, go to next iteration*/
@@ -125,7 +124,6 @@
 		}
 	}
-	if (debug && my_thread==0) printf("\b\b\b\b\b\b\b%5.2lf %%\n",100.0);
-	
+	if(debug && my_thread==0)
+	 _printLine_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%");
 	return NULL;
-
 }
Index: issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp
===================================================================
--- issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp	(revision 12495)
+++ issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp	(revision 12507)
@@ -85,9 +85,9 @@
 
 	/*Loop over the elements*/
-	if (debug) printf("      interpolation progress:   %5.2lf %%",0.0);
 	for (n=0;n<nels;n++){
 
 		/*display current iteration*/
-		if (debug && fmod((double)n,(double)100)==0) printf("\b\b\b\b\b\b\b%5.2lf %%",(double)n/nels*100);
+		if (debug && fmod((double)n,(double)100)==0)
+		 _printString_("\r      interpolation progress: "<<setw(6)<<setprecision(2)<<double(n)/double(nels)*100<<"%");
 
 		/*Get extrema coordinates of current elements*/
@@ -168,5 +168,6 @@
 		}
 	}
-	if (debug) printf("\b\b\b\b\b\b\b%5.2lf %%\n",100.0);
+	if (debug)
+	 _printLine_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%");
 
 	/*Assign output pointers:*/
Index: issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp
===================================================================
--- issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp	(revision 12495)
+++ issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp	(revision 12507)
@@ -58,9 +58,9 @@
 
 	/*Loop over the elements*/
-	if (debug) printf("      interpolation progress:   %5.2lf %%",0.0);
 	for (i=0;i<nels_data;i++){
 
 		/*display current iteration*/
-		if (debug && fmod((double)i,(double)100)==0) printf("\b\b\b\b\b\b\b%5.2lf %%",(double)i/nels_data*100);
+		if (debug && fmod((double)i,(double)100)==0)
+		 _printString_("\r      interpolation progress: "<<setw(6)<<setprecision(2)<<double(i)/double(nels_data)*100<<"%");
 
 		/*Get extrema coordinates of current elements*/
@@ -132,5 +132,6 @@
 		}
 	}
-	if (debug) printf("\b\b\b\b\b\b\b%5.2lf %%\n",100.0);
+	if (debug)
+	 _printLine_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%");
 
 	/*Assign output pointers:*/
Index: issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp
===================================================================
--- issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp	(revision 12495)
+++ issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp	(revision 12507)
@@ -96,5 +96,5 @@
 		/*launch the thread manager with Krigingxt as a core: */
 		LaunchThread(NearestNeighbort,(void*)&gate,num);
-		printf("\r      interpolation progress:  100.00%%\n");
+		_printLine_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%");
 		xDelete<double>(gate.percent);
 	}
@@ -115,5 +115,5 @@
 		/*launch the thread manager with Krigingxt as a core: */
 		LaunchThread(idwt,(void*)&gate,num);
-		printf("\r      interpolation progress:  100.00%%\n");
+		_printLine_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%");
 		xDelete<double>(gate.percent);
 	}
@@ -135,5 +135,5 @@
 		/*launch the thread manager with Krigingxt as a core: */
 		LaunchThread(Krigingxt,(void*)&gate,num);
-		printf("\r      interpolation progress:  100.00%%\n");
+		_printLine_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%");
 		xDelete<double>(gate.percent);
 	}
@@ -190,5 +190,5 @@
 		localpercent=percent[0];
 		for(int i=1;i<num_threads;i++) localpercent=min(localpercent,percent[i]);
-		printf("\r      interpolation progress: %5.2lf%%",localpercent);
+		_printString_("\r      interpolation progress: "<<setw(6)<<setprecision(2)<<localpercent<<"%");
 
 		/*Kriging interpolation*/
@@ -239,5 +239,5 @@
 		localpercent=percent[0];
 		for(i=1;i<num_threads;i++) localpercent=min(localpercent,percent[i]);
-		printf("\r      interpolation progress: %5.2lf%%",localpercent);
+		_printString_("\r      interpolation progress: "<<setw(6)<<setprecision(2)<<localpercent<<"%");
 
 		observations->InterpolationNearestNeighbor(&predictions[idx],x_interp[idx],y_interp[idx],radius);
@@ -287,5 +287,5 @@
 		localpercent=percent[0];
 		for(int i=1;i<num_threads;i++) localpercent=min(localpercent,percent[i]);
-		printf("\r      interpolation progress: %5.2lf%%",localpercent);
+		_printString_("\r      interpolation progress: "<<setw(6)<<setprecision(2)<<localpercent<<"%");
 
 		observations->InterpolationIDW(&predictions[idx],x_interp[idx],y_interp[idx],radius,mindata,maxdata,power);
Index: issm/trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp
===================================================================
--- issm/trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp	(revision 12495)
+++ issm/trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp	(revision 12507)
@@ -45,10 +45,9 @@
 
 	/*Loop over the nodes*/
-	if (my_thread==0) printf("      loop progress:   %5.2lf %%",0.0);
-
 	for (i=i0;i<i1;i++){
 
 		/*display current iteration*/
-		if (my_thread==0 && fmod((double)i,(double)100)==0) printf("\b\b\b\b\b\b\b%5.2lf %%",(double)i/nods*100*num_threads);
+		if (my_thread==0 && fmod((double)i,(double)100)==0)
+		 _printString_("\r      loop progress: "<<setw(6)<<setprecision(2)<<double(i-i0)/double(i1-i0)*100<<"%");
 
 		distance=mindistance+100; //make sure initialization respects min distance criterion.
@@ -70,5 +69,6 @@
 		}
 	}
-	if (my_thread==0) printf("\b\b\b\b\b\b\b%5.2lf %%\n",100.0);
+	if (my_thread==0)
+	 _printLine_("\r      loop progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%");
 
 	/*Free ressources:*/
