Index: /issm/trunk-jpl/src/modules/AverageFilter/AverageFilter.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/AverageFilter/AverageFilter.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/AverageFilter/AverageFilter.cpp	(revision 12517)
@@ -53,10 +53,10 @@
 void AverageFilterUsage(void)
 {
-	printf("   AverageFilter usage:\n");
-	printf("   [image_out]=AverageFilter(image_in,pixels);\n\n");
-	printf("   where:\n");
-	printf("      image_in in double format\n");
-	printf("      pixels: characteristic size of smoothing\n");
-	printf("      image_out in double format\n");
-	printf("\n");
+	_printLine_("   AverageFilter usage:");
+	_printLine_("   [image_out]=AverageFilter(image_in,pixels);\n");
+	_printLine_("   where:");
+	_printLine_("      image_in in double format");
+	_printLine_("      pixels: characteristic size of smoothing");
+	_printLine_("      image_out in double format");
+	_printLine_("");
 }
Index: /issm/trunk-jpl/src/modules/BamgConvertMesh/BamgConvertMesh.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/BamgConvertMesh/BamgConvertMesh.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/BamgConvertMesh/BamgConvertMesh.cpp	(revision 12517)
@@ -37,5 +37,5 @@
 
 	/*Input datasets: */
-	if (verbose) printf("Fetching inputs\n");
+	if (verbose) _printLine_("Fetching inputs");
 	FetchData(&index,&nels,&index_rows,INDEXHANDLE);
 	FetchData(&x,&nods,&x_cols,XHANDLE);
@@ -60,5 +60,5 @@
 
 	/* Run core computations: */
-	if (verbose) printf("Call core\n");
+	if (verbose) _printLine_("Call core");
 	BamgConvertMeshx(bamgmesh,bamggeom,index,x,y,nods,nels);
 
Index: /issm/trunk-jpl/src/modules/BamgTriangulate/BamgTriangulate.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/BamgTriangulate/BamgTriangulate.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/BamgTriangulate/BamgTriangulate.cpp	(revision 12517)
@@ -27,5 +27,5 @@
 
 	/*Input datasets: */
-	if (verbose) printf("Fetching inputs\n");
+	if (verbose) _printLine_("Fetching inputs");
 	FetchData(&x,&nods,&x_cols,XHANDLE);
 	FetchData(&y,&y_rows,&y_cols,YHANDLE);
@@ -37,5 +37,5 @@
 
 	/* Run core computations: */
-	if (verbose) printf("Call core\n");
+	if (verbose) _printLine_("Call core");
 	BamgTriangulatex(&index,&nels,x,y,nods);
 
Index: /issm/trunk-jpl/src/modules/Chaco/Chaco.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/Chaco/Chaco.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/Chaco/Chaco.cpp	(revision 12517)
@@ -82,22 +82,22 @@
 	/*Some debugging print: {{{*/
 	#ifdef _DEBUG_
-	printf("nvtxs: %i\n",nvtxs);
-	printf("options: [");
-	for(i=0;i<10;i++)printf("%g|",options[i]);
-	printf("]\n");
-	printf("start: \n");
-	for (i=0; i<nvtxs+1;i++)printf("%i ",start[i]);
-	printf("\n");
-	printf("adjacency: \n");
-	for (i=0; i<mxGetNzmax(A_IN);i++)printf("%i ",adjacency[i]);
-	printf("\n");
-	printf("nedges: %i %p\n",nedges,ewgts);
-	if(ewgts) for (i = 0; i < nedges; i++)printf("%g ",ewgts[i]);
-	printf("\n");
-	printf("vwgts:\n");
-	for (i = 0; i < nvtxs; i++)printf("%g ",vwgts[i]);
-	printf("\n");
-	printf("nparts: %i\n",nparts[0]);
-	printf("goal: %p\n",goal);
+	_printLine_("nvtxs: " << nvtxs);
+	_printString_("options: [");
+	for(i=0;i<10;i++)_printString_("" << options[i] << "|");
+	_printLine_("]");
+	_printLine_("start: ");
+	for (i=0; i<nvtxs+1;i++)_printString_("" << start[i] << " ");
+	_printLine_("");
+	_printLine_("adjacency: ");
+	for (i=0; i<mxGetNzmax(A_IN);i++)_printString_("" <<adjacency[i]<< " ");i++)
+	_printLine_("");
+	_printLine_("nedges: " << nedges << " " << ewgts);
+	if(ewgts) for (i = 0; i < nedges; i++)_printString_("" << ewgts[i] << " ");
+	_printLine_("");
+	_printLine_("vwgts:");
+	for (i = 0; i < nvtxs; i++)_printString_("" << vwgts[i] << " ");
+	_printLine_("");
+	_printLine_("nparts: " << nparts[0]);
+	_printLine_("goal: " << goal);
 	#endif
 	/*}}}*/
Index: /issm/trunk-jpl/src/modules/ContourToMesh/ContourToMesh.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/ContourToMesh/ContourToMesh.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/ContourToMesh/ContourToMesh.cpp	(revision 12517)
@@ -91,23 +91,23 @@
 void ContourToMeshUsage(void)//{{{1
 {
-	printf("CONTOURTOMESH - Flag the elements or nodes inside a contour\n");
-	printf("\n");
-	printf("      Usage: \n");
-	printf("         [in_nod,in_elem]=ContourToMesh(index,x,y,contourname,interptype,edgevalue)\n\n");
-	printf("\n");
-	printf("         index,x,y: mesh triangulation.\n");
-	printf("         contourname: name of .exp file containing the contours.\n");
-	printf("         interptype: string definining type of interpolation ('element', or 'node').\n");
-	printf("         edgevalue: integer (0, 1 or 2) defining the value associated to the nodes on the edges of the polygons.\n");
-	printf("         in_nod: vector of flags (0 or 1), of size nods if interptype is set to 'node' or 'element and node', \n");
-	printf("            or of size 0 otherwise.\n");
-	printf("         in_elem: vector of flags (0 or 1), of size nel if interptype is set to 'element' or 'element and node', \n");
-	printf("            or of size 0 otherwise.\n");
-	printf("\n");
-	printf("      Example: \n");
-	printf("         in_nod=ContourToMesh(md.elements,md.x,md.y,'Contour.exp','node',1)\n");
-	printf("         in_elements=ContourToMesh(md.elements,md.x,md.y,'Contour.exp','element',0)\n");
-	printf("         [in_nodes,in_elements]=ContourToMesh(md.elements,md.x,md.y,'Contour.exp','element and node',0)\n");
-	printf("\n");
+	_printLine_("CONTOURTOMESH - Flag the elements or nodes inside a contour");
+	_printLine_("");
+	_printLine_("      Usage: ");
+	_printLine_("         [in_nod,in_elem]=ContourToMesh(index,x,y,contourname,interptype,edgevalue)\n");
+	_printLine_("");
+	_printLine_("         index,x,y: mesh triangulation.");
+	_printLine_("         contourname: name of .exp file containing the contours.");
+	_printLine_("         interptype: string definining type of interpolation ('element', or 'node').");
+	_printLine_("         edgevalue: integer (0, 1 or 2) defining the value associated to the nodes on the edges of the polygons.");
+	_printLine_("         in_nod: vector of flags (0 or 1), of size nods if interptype is set to 'node' or 'element and node', ");
+	_printLine_("            or of size 0 otherwise.");
+	_printLine_("         in_elem: vector of flags (0 or 1), of size nel if interptype is set to 'element' or 'element and node', ");
+	_printLine_("            or of size 0 otherwise.");
+	_printLine_("");
+	_printLine_("      Example: ");
+	_printLine_("         in_nod=ContourToMesh(md.elements,md.x,md.y,'Contour.exp','node',1)");
+	_printLine_("         in_elements=ContourToMesh(md.elements,md.x,md.y,'Contour.exp','element',0)");
+	_printLine_("         [in_nodes,in_elements]=ContourToMesh(md.elements,md.x,md.y,'Contour.exp','element and node',0)");
+	_printLine_("");
 }
 //}}}
Index: /issm/trunk-jpl/src/modules/ContourToNodes/ContourToNodes.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/ContourToNodes/ContourToNodes.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/ContourToNodes/ContourToNodes.cpp	(revision 12517)
@@ -82,9 +82,9 @@
 	/* Debugging of contours :{{{1*/
 	/*for(i=0;i<numcontours;i++){
-		printf("\nContour echo: contour number  %i / %i\n",i+1,numcontours);
+		_printLine_("\nContour echo: contour number  " << i+1 << " / " << numcontours);
 		contouri=*(contours+i);
-		printf("   Number of nodes %i\n",contouri->nods);
+		_printLine_("   Number of nodes " << contouri->nods);
 		for (j=0;j<contouri->nods;j++){
-			printf("   %lf %lf\n",*(contouri->x+j),*(contouri->y+j));
+			_printLine_("   " << *(contouri->x+j) << "f " << *(contouri->y+j) << "f");
 		}
 	}*/
@@ -103,12 +103,12 @@
 
 void ContourToNodesUsage(void){
-	printf("   usage:\n");
-	printf("   [flags]=ContourToNodes(x,y,contourname,edgevalue);\n\n");
-	printf("   where:\n");
-	printf("      x,y: list of nodes.\n");
-	printf("      contourname: name of .exp file containing the contours, or resulting structure from call to expread.\n");
-	printf("      interptype: string definining type of interpolation ('element', or 'node').\n");
-	printf("      edgevalue: integer (0, 1 or 2) defining the value associated to the nodes on the edges of the polygons.\n");
-	printf("      flags: vector of flags (0 or 1), of size nods.\n");
-	printf("\n");
+	_printLine_("   usage:");
+	_printLine_("   [flags]=ContourToNodes(x,y,contourname,edgevalue);\n");
+	_printLine_("   where:");
+	_printLine_("      x,y: list of nodes.");
+	_printLine_("      contourname: name of .exp file containing the contours, or resulting structure from call to expread.");
+	_printLine_("      interptype: string definining type of interpolation ('element', or 'node').");
+	_printLine_("      edgevalue: integer (0, 1 or 2) defining the value associated to the nodes on the edges of the polygons.");
+	_printLine_("      flags: vector of flags (0 or 1), of size nods.");
+	_printLine_("");
 }
Index: /issm/trunk-jpl/src/modules/Exp2Kml/Exp2Kml.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/Exp2Kml/Exp2Kml.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/Exp2Kml/Exp2Kml.cpp	(revision 12517)
@@ -43,7 +43,7 @@
 	if (options->GetOption("central_meridian") || options->GetOption("standard_parallel")) {
 		options->Get(&cm,"central_meridian");
-		if (verbose) printf("  cm=%g\n",cm);
+		if (verbose) _printLine_("  cm=" << cm);
 		options->Get(&sp,"standard_parallel");
-		if (verbose) printf("  sp=%g\n",sp);
+		if (verbose) _printLine_("  sp=" << sp);
 	}
 
Index: /issm/trunk-jpl/src/modules/HoleFiller/HoleFiller.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/HoleFiller/HoleFiller.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/HoleFiller/HoleFiller.cpp	(revision 12517)
@@ -60,10 +60,10 @@
 void HoleFillerUsage(void)
 {
-	printf("   HoleFiller usage:\n");
-	printf("   [image_out]=HoleFiller(image_in,smooth);\n\n");
-	printf("   where:\n");
-	printf("      image_in in double format\n");
-	printf("      smooth: 1 to smooth with a box filer, 0 to leave data raw\n");
-	printf("      image_out in double format\n");
-	printf("\n");
+	_printLine_("   HoleFiller usage:");
+	_printLine_("   [image_out]=HoleFiller(image_in,smooth);\n");
+	_printLine_("   where:");
+	_printLine_("      image_in in double format");
+	_printLine_("      smooth: 1 to smooth with a box filer, 0 to leave data raw");
+	_printLine_("      image_out in double format");
+	_printLine_("");
 }
Index: /issm/trunk-jpl/src/modules/InterpFromMesh2d/InterpFromMesh2d.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/InterpFromMesh2d/InterpFromMesh2d.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/InterpFromMesh2d/InterpFromMesh2d.cpp	(revision 12517)
@@ -114,9 +114,9 @@
 		/* Debugging of contours :{{{1*/
 		/*for(i=0;i<numcontours;i++){
-		  printf("\nContour echo: contour number  %i / %i\n",i+1,numcontours);
+		  _printLine_("\nContour echo: contour number  " << i+1 << " / " << numcontours);
 		  contouri=*(contours+i);
-		  printf("   Number of vertices %i\n",contouri->nods);
+		  _printLine_("   Number of vertices " << contouri->nods);
 		  for (j=0;j<contouri->nods;j++){
-		  printf("   %lf %lf\n",*(contouri->x+j),*(contouri->y+j));
+		  _printLine_("   " << *(contouri->x+j) << "f " << *(contouri->y+j) << "f");
 		  }
 		  }*/
Index: /issm/trunk-jpl/src/modules/KMLFileRead/KMLFileRead.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/KMLFileRead/KMLFileRead.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/KMLFileRead/KMLFileRead.cpp	(revision 12517)
@@ -63,12 +63,12 @@
 	if (!strlen(filnam)) strcpy(filnam,"stdout");
 
-	if (verbose) printf("Opening file \"%s\".\n",filnam);
+	if (verbose) _printLine_("Opening file \"" << filnam << "\".");
 	fidi=fopen(filnam,"r");
 
 	/* Run core computations: */
-	if (verbose) printf("Calling core:\n");
+	if (verbose) _printLine_("Calling core:");
 	kobj=KMLFileReadx(fidi);
 
-	if (verbose) printf("Closing file \"%s\".\n",filnam);
+	if (verbose) _printLine_("Closing file \"" << filnam << "\".");
 	fclose(fidi);
 
@@ -83,8 +83,8 @@
 			}
 			else {
-				if (verbose) printf("Opening file \"%s\".\n",write);
+				if (verbose) _printLine_("Opening file \"" << write << "\".");
 				fido=fopen(write,"w");
 				kobj->Write(fido,"");
-				if (verbose) printf("Closing file \"%s\".\n",write);
+				if (verbose) _printLine_("Closing file \"" << write << "\".");
 				ierror=fclose(fido);
 			}
Index: /issm/trunk-jpl/src/modules/KMLOverlay/KMLOverlay.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/KMLOverlay/KMLOverlay.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/KMLOverlay/KMLOverlay.cpp	(revision 12517)
@@ -42,11 +42,11 @@
 
 	options->Get(&lataxis ,&nlat ,"lataxis" );
-	if (verbose && lataxis) for (i=0; i<nlat; i++) printf("  lataxis [%d]=%g\n",i,lataxis[i]);
+	if (verbose && lataxis) for (i=0; i<nlat; i++) _printLine_("  lataxis [" << i << "]=" << lataxis[i]);
 	options->Get(&longaxis,&nlong,"longaxis");
-	if (verbose && longaxis) for (i=0; i<nlong; i++) printf("  longaxis[%d]=%g\n",i,longaxis[i]);
+	if (verbose && longaxis) for (i=0; i<nlong; i++) _printLine_("  longaxis[" << i << "]=" << longaxis[i]);
 	options->Get(&pimages,&nimages,"images");
-	if (verbose && pimages) for (i=0; i<nimages; i++) printf("  pimages[%d]=\"%s\"\n",i,pimages[i]);
+	if (verbose && pimages) for (i=0; i<nimages; i++) _printLine_("  pimages[" << i << "]=\"" << pimages[i] << "\"");
 	options->Get(&dzip,"zip",0.);
-	if (verbose) printf("  dzip=%g\n",dzip);
+	if (verbose) _printLine_("  dzip=" << dzip);
 
 	/*some checks*/
@@ -63,12 +63,12 @@
 	if(!strlen(filkml)) strcpy(filkml,"stdout");
 
-	if(verbose) printf("Opening kml overlay file \"%s\".\n",filkml);
+	if(verbose) _printLine_("Opening kml overlay file \"" << filkml << "\".");
 	fid=fopen(filkml,"w");
 
 	/* Run core computations: */
-	if (verbose) printf("Calling core:\n");
+	if (verbose) _printLine_("Calling core:");
 	KMLOverlayx(&ierror,lataxis,longaxis,nimages,pimages,fid);
 
-	if (verbose) printf("Closing file \"%s\".\n",filkml);
+	if (verbose) _printLine_("Closing file \"" << filkml << "\".");
 	fclose(fid);
 
@@ -87,6 +87,6 @@
 				strcat(czip,pimages[i]);
 			}
-		if (verbose) printf("Zipping file \"%s\".\n",filkmz);
-		if (verbose) printf("%s\n",czip);
+		if (verbose) _printLine_("Zipping file \"" << filkmz << "\".");
+		if (verbose) _printLine_("" << czip);
 
 		if (mexEvalString(czip)) _error2_("Error zipping file \"" << filkmz << "\".");
Index: /issm/trunk-jpl/src/modules/Kml2Exp/Kml2Exp.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/Kml2Exp/Kml2Exp.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/Kml2Exp/Kml2Exp.cpp	(revision 12517)
@@ -37,7 +37,7 @@
 	if (options->GetOption("central_meridian") || options->GetOption("standard_parallel")) {
 		options->Get(&cm,"central_meridian");
-		if (verbose) printf("  cm=%g\n",cm);
+		if (verbose) _printLine_("  cm=" << cm);
 		options->Get(&sp,"standard_parallel");
-		if (verbose) printf("  sp=%g\n",sp);
+		if (verbose) _printLine_("  sp=" << sp);
 	}
 
Index: /issm/trunk-jpl/src/modules/Ll2xy/Ll2xy.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/Ll2xy/Ll2xy.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/Ll2xy/Ll2xy.cpp	(revision 12517)
@@ -40,11 +40,11 @@
 	if(options->GetOption("central_meridian") || options->GetOption("standard_parallel")){
 		options->Get(&cm,"central_meridian");
-		if (verbose) printf("  cm=%g\n",cm);
+		if (verbose) _printLine_("  cm=" << cm);
 		options->Get(&sp,"standard_parallel");
-		if (verbose) printf("  sp=%g\n",sp);
+		if (verbose) _printLine_("  sp=" << sp);
 	}
 
 	/*some checks*/
-	if (verbose) printf("Checking inputs:\n");
+	if (verbose) _printLine_("Checking inputs:");
 	if (nlat != nlon){_error2_("Must have same number of lat[" << nlat << "] and lon[" << nlon << "] coordinates.");}
 	else                ncoord=nlat;
Index: /issm/trunk-jpl/src/modules/MeshPartition/MeshPartition.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/MeshPartition/MeshPartition.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/MeshPartition/MeshPartition.cpp	(revision 12517)
@@ -96,9 +96,9 @@
 
 void MeshPartitionUsage(void){
-	printf("   usage:\n");
-	printf("   [element_partitioning,node_partitioning]=MeshPartition(md.mesh,numpartitions)");
-	printf("   where:\n");
-	printf("      element_partitioning is a vector of partitioning area numbers, for every element.\n");
-	printf("      node_partitioning is a vector of partitioning area numbers, for every node.\n");
-	printf("\n");
+	_printLine_("   usage:");
+	_printString_("   [element_partitioning,node_partitioning]=MeshPartition(md.mesh,numpartitions)");
+	_printLine_("   where:");
+	_printLine_("      element_partitioning is a vector of partitioning area numbers, for every element.");
+	_printLine_("      node_partitioning is a vector of partitioning area numbers, for every node.");
+	_printLine_("");
 }
Index: /issm/trunk-jpl/src/modules/MeshProfileIntersection/MeshProfileIntersection.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/MeshProfileIntersection/MeshProfileIntersection.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/MeshProfileIntersection/MeshProfileIntersection.cpp	(revision 12517)
@@ -81,9 +81,9 @@
 	/* Debugging of contours :{{{1*/
 	/*for(i=0;i<numcontours;i++){
-		printf("\nContour echo: contour number  %i / %i\n",i+1,numcontours);
+		_printLine_("\nContour echo: contour number  " << i+1 << " / " << numcontours);
 		contouri=*(contours+i);
-		printf("   Number of vertices %i\n",contouri->nods);
+		_printLine_("   Number of vertices " << contouri->nods);
 		for (j=0;j<contouri->nods;j++){
-			printf("   %lf %lf\n",*(contouri->x+j),*(contouri->y+j));
+			_printLine_("   " << *(contouri->x+j) << "f " << *(contouri->y+j) << "f");
 		}
 	}*/
@@ -102,13 +102,13 @@
 
 void MeshProfileIntersectionUsage(void){
-	printf("   usage:\n");
-	printf("   [segments]=MeshProfileIntersection(index,x,y,filename);\n");
-	printf("   where:\n");
-	printf("   input:\n");
-	printf("        index,x,y is a triangulation\n");
-	printf("        filename: name of Argus style .exp file containing the segments (can be groups of disconnected segments)\n");
-	printf("   output:\n");
-	printf("        segments: array made of x1,y1,x2,y2,element_id lines (x1,y1) and (x2,y2) are segment extremitis for a segment \n");
-	printf("        belonging to the elemnt_id element. there are as many lines in segments as there are segments intersecting the \n");
-	printf("        mesh.\n");
+	_printLine_("   usage:");
+	_printLine_("   [segments]=MeshProfileIntersection(index,x,y,filename);");
+	_printLine_("   where:");
+	_printLine_("   input:");
+	_printLine_("        index,x,y is a triangulation");
+	_printLine_("        filename: name of Argus style .exp file containing the segments (can be groups of disconnected segments)");
+	_printLine_("   output:");
+	_printLine_("        segments: array made of x1,y1,x2,y2,element_id lines (x1,y1) and (x2,y2) are segment extremitis for a segment ");
+	_printLine_("        belonging to the elemnt_id element. there are as many lines in segments as there are segments intersecting the ");
+	_printLine_("        mesh.");
 }
Index: /issm/trunk-jpl/src/modules/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp	(revision 12517)
@@ -42,11 +42,11 @@
 
 void PointCloudFindNeighborsUsage(void){
-	printf("   usage:\n");
-	printf("   [flags]=PointCloudFindNeighbors(x,y,mindistance,multithread);\n\n");
-	printf("   where:\n");
-	printf("      x,y: list of points.\n");
-	printf("      mindistance: minimum distance that should exist between points in the cloud.\n");
-	printf("      multithread: run multithreaded or not. with multithreads, flags can get 1 and 2 values in duplicates.\n");
-	printf("      flags: array of flags (flag==1 means point is within mindistance of another point)\n");
-	printf("\n");
+	_printLine_("   usage:");
+	_printLine_("   [flags]=PointCloudFindNeighbors(x,y,mindistance,multithread);\n");
+	_printLine_("   where:");
+	_printLine_("      x,y: list of points.");
+	_printLine_("      mindistance: minimum distance that should exist between points in the cloud.");
+	_printLine_("      multithread: run multithreaded or not. with multithreads, flags can get 1 and 2 values in duplicates.");
+	_printLine_("      flags: array of flags (flag==1 means point is within mindistance of another point)");
+	_printLine_("");
 }
Index: /issm/trunk-jpl/src/modules/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp	(revision 12517)
@@ -42,6 +42,6 @@
 
 void PropagateFlagsFromConnectivityUsage(void) {
-	printf("\n");
-	printf("   usage: [pool] = %s(connectivity,pool,index,flags);\n",__FUNCT__);
-	printf("\n");
+	_printLine_("");
+	_printLine_("   usage: [pool] = " << __FUNCT__ << "(connectivity,pool,index,flags);");;
+	_printLine_("");
 }
Index: /issm/trunk-jpl/src/modules/Shp2Kml/Shp2Kml.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/Shp2Kml/Shp2Kml.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/Shp2Kml/Shp2Kml.cpp	(revision 12517)
@@ -48,7 +48,7 @@
 	if (options->GetOption("central_meridian") || options->GetOption("standard_parallel")) {
 		options->Get(&cm,"central_meridian");
-		if (verbose) printf("  cm=%g\n",cm);
+		if (verbose) _printLine_("  cm=" << cm);
 		options->Get(&sp,"standard_parallel");
-		if (verbose) printf("  sp=%g\n",sp);
+		if (verbose) _printLine_("  sp=" << sp);
 	}
 
Index: /issm/trunk-jpl/src/modules/TriMesh/TriMesh.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/TriMesh/TriMesh.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/TriMesh/TriMesh.cpp	(revision 12517)
@@ -63,11 +63,11 @@
 void TriMeshUsage(void) //{{{1
 {
-	printf("\n");
-	printf("   usage: [index,x,y,segments,segmentmarkers]=TriMesh(domainoutlinefilename,rifts,area) \n");
-	printf("      where: index,x,y defines a triangulation, segments is an array made \n");
-	printf("      of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment, \n");
-	printf("      outlinefilename an Argus domain outline file, \n");
-	printf("      area is the maximum area desired for any element of the resulting mesh, \n");
-	printf("\n");
+	_printLine_("");
+	_printLine_("   usage: [index,x,y,segments,segmentmarkers]=TriMesh(domainoutlinefilename,rifts,area) ");
+	_printLine_("      where: index,x,y defines a triangulation, segments is an array made ");
+	_printLine_("      of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment, ");
+	_printLine_("      outlinefilename an Argus domain outline file, ");
+	_printLine_("      area is the maximum area desired for any element of the resulting mesh, ");
+	_printLine_("");
 }
 //}}}
Index: /issm/trunk-jpl/src/modules/TriMeshProcessRifts/TriMeshProcessRifts.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/TriMeshProcessRifts/TriMeshProcessRifts.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/TriMeshProcessRifts/TriMeshProcessRifts.cpp	(revision 12517)
@@ -297,7 +297,7 @@
 void TriMeshProcessRiftsUsage(void)
 {
-	printf("\n");
-	printf("   usage: [index2,x2,y2,segments2,segmentmarkers2,rifts2]=TriMeshProcessrifts(index1,x1,y1,segments1,segmentmarkers1) \n");
-	printf("      where: (index1,x1,y1,segments1,segmentmarkers1) is an initial triangulation.\n");
-	printf("      index2,x2,y2,segments2,segmentmarkers2,rifts2 is the resulting triangulation where rifts have been processed.\n");
+	_printLine_("");
+	_printLine_("   usage: [index2,x2,y2,segments2,segmentmarkers2,rifts2]=TriMeshProcessrifts(index1,x1,y1,segments1,segmentmarkers1) ");
+	_printLine_("      where: (index1,x1,y1,segments1,segmentmarkers1) is an initial triangulation.");
+	_printLine_("      index2,x2,y2,segments2,segmentmarkers2,rifts2 is the resulting triangulation where rifts have been processed.");
 }
Index: /issm/trunk-jpl/src/modules/TriaSearch/TriaSearch.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/TriaSearch/TriaSearch.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/TriaSearch/TriaSearch.cpp	(revision 12517)
@@ -38,5 +38,5 @@
 
 	/* Echo: {{{1*/
-	//printf("(x0,y0)=(%g,%g)\n",x0,y0);
+	//_printLine_("(x0,y0)=(" << x0 << "," << y0 << ")");
 	/*}}}*/
 
Index: /issm/trunk-jpl/src/modules/Xy2ll/Xy2ll.cpp
===================================================================
--- /issm/trunk-jpl/src/modules/Xy2ll/Xy2ll.cpp	(revision 12516)
+++ /issm/trunk-jpl/src/modules/Xy2ll/Xy2ll.cpp	(revision 12517)
@@ -39,7 +39,7 @@
 	if (options->GetOption("central_meridian") || options->GetOption("standard_parallel")) {
 		options->Get(&cm,"central_meridian");
-		if (verbose) printf("  cm=%g\n",cm);
+		if (verbose) _printLine_("  cm=" << cm);
 		options->Get(&sp,"standard_parallel");
-		if (verbose) printf("  sp=%g\n",sp);
+		if (verbose) _printLine_("  sp=" << sp);
 	}
 
@@ -55,5 +55,5 @@
 
 	/* Run core computations: */
-	if (verbose) printf("Calling core:\n");
+	if (verbose) _printLine_("Calling core:");
 	if (options->GetOption("central_meridian") && options->GetOption("standard_parallel"))
 		iret=Xy2llx(lat,lon,x,y,ncoord,sgn,cm,sp);
