Index: /issm/trunk-jpl/src/c/analyses/DakotaSpawnCore.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/DakotaSpawnCore.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/DakotaSpawnCore.cpp	(revision 15104)
@@ -71,5 +71,5 @@
 
 	/*Determine solution sequence: */
-	if(VerboseQmu()) _printf0_("Starting " << EnumToStringx(solution_type) << " core:" << "\n");
+	if(VerboseQmu()) _printf0_("Starting " << EnumToStringx(solution_type) << " core:\n");
 	WrapperCorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type,nodakotacore);
 
@@ -78,5 +78,5 @@
 
 	/*compute responses: */
-	if(VerboseQmu()) _printf0_("compute dakota responses:" << "\n");
+	if(VerboseQmu()) _printf0_("compute dakota responses:\n");
 	femmodel->DakotaResponsesx(d_responses,responses_descriptors,numresponsedescriptors,d_numresponses);
 
Index: /issm/trunk-jpl/src/c/analyses/ResetBoundaryConditions.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/ResetBoundaryConditions.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/ResetBoundaryConditions.cpp	(revision 15104)
@@ -13,5 +13,5 @@
 	Nodes *nodes = NULL;
 
-	if(VerboseSolution()) _printf0_("   updating boundary conditions..." << "\n");
+	if(VerboseSolution()) _printf0_("   updating boundary conditions...\n");
 
 	/*set current analysis: */
Index: /issm/trunk-jpl/src/c/analyses/ad_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/ad_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/ad_core.cpp	(revision 15104)
@@ -49,5 +49,5 @@
 			if(!(num_dependents*num_independents)) return;
 
-			if(VerboseAutodiff())_printf0_("   start ad core" << "\n");
+			if(VerboseAutodiff())_printf0_("   start ad core\n");
 
 			/*retrieve state variable: */
@@ -286,5 +286,5 @@
 			tapestats(1,tape_stats); //reading of tape statistics
 			if(VerboseAutodiff()){
-				_printf0_("   ADOLC statistics: " << "\n");
+				_printf0_("   ADOLC statistics: \n");
 				_printf0_("   "<<setw(45)<<left<<"Number of independents: " <<tape_stats[0] << "\n");
 				_printf0_("   "<<setw(45)<<left<<"Number of dependents: " <<tape_stats[1] << "\n");
@@ -294,5 +294,5 @@
 				_printf0_("   "<<setw(45)<<left<<"Total number of operations recorded: " <<tape_stats[5] << "\n");
 			}
-			if(VerboseAutodiff())_printf0_("   end AD core" << "\n");
+			if(VerboseAutodiff())_printf0_("   end AD core\n");
 
 			/*Free resources: */
Index: /issm/trunk-jpl/src/c/analyses/adjointbalancethickness_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/adjointbalancethickness_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/adjointbalancethickness_core.cpp	(revision 15104)
@@ -19,5 +19,5 @@
 
 	/*compute thickness */
-	if(VerboseSolution()) _printf0_("   computing thickness" << "\n");
+	if(VerboseSolution()) _printf0_("   computing thickness\n");
 	femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
 	solutionsequence_linear(femmodel);
@@ -27,5 +27,5 @@
 
 	/*compute adjoint*/
-	if(VerboseSolution()) _printf0_("   computing adjoint" << "\n");
+	if(VerboseSolution()) _printf0_("   computing adjoint\n");
 	femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum,AdjointBalancethicknessAnalysisEnum);
 	solutionsequence_adjoint_linear(femmodel);
@@ -33,5 +33,5 @@
 	/*Save results*/
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointEnum);
 	}
Index: /issm/trunk-jpl/src/c/analyses/adjointdiagnostic_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/adjointdiagnostic_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/adjointdiagnostic_core.cpp	(revision 15104)
@@ -22,5 +22,5 @@
 
 	/*Compute velocities*/
-	if(VerboseSolution()) _printf0_("   computing velocities" << "\n");
+	if(VerboseSolution()) _printf0_("   computing velocities\n");
 	femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
 	solutionsequence_nonlinear(femmodel,conserve_loads); 
@@ -30,5 +30,5 @@
 
 	/*Compute adjoint*/
-	if(VerboseSolution()) _printf0_("   computing adjoint" << "\n");
+	if(VerboseSolution()) _printf0_("   computing adjoint\n");
 	femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum,AdjointHorizAnalysisEnum);
 	solutionsequence_adjoint_linear(femmodel);
@@ -36,5 +36,5 @@
 	/*Save results*/
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointxEnum);
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointyEnum);
Index: /issm/trunk-jpl/src/c/analyses/balancethickness_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/balancethickness_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/balancethickness_core.cpp	(revision 15104)
@@ -21,9 +21,9 @@
 	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
 
-	if(VerboseSolution()) _printf0_("call computational core:" << "\n");
+	if(VerboseSolution()) _printf0_("call computational core:\n");
 	solutionsequence_linear(femmodel);
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
 	}
Index: /issm/trunk-jpl/src/c/analyses/bedslope_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/bedslope_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/bedslope_core.cpp	(revision 15104)
@@ -18,5 +18,5 @@
 	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
 
-	if(VerboseSolution()) _printf0_("   computing slope" << "\n");
+	if(VerboseSolution()) _printf0_("   computing slope\n");
 
 	/*Call on core computations: */
@@ -27,5 +27,5 @@
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeXEnum);
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeYEnum);
Index: /issm/trunk-jpl/src/c/analyses/control_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/control_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/control_core.cpp	(revision 15104)
@@ -66,5 +66,5 @@
 
 	/*Launch once a complete solution to set up all inputs*/
-	if(VerboseControl()) _printf0_("   preparing initial solution" << "\n");
+	if(VerboseControl()) _printf0_("   preparing initial solution\n");
 	if(isstokes) solutioncore(femmodel);
 
@@ -88,5 +88,5 @@
 		if(solution_type==SteadystateSolutionEnum) solutioncore(femmodel);
 
-		if(VerboseControl()) _printf0_("   compute adjoint state:" << "\n");
+		if(VerboseControl()) _printf0_("   compute adjoint state:\n");
 		adjointcore(femmodel);
 		gradient_core(femmodel,n,search_scalar==0);
@@ -98,9 +98,9 @@
 		}
 
-		if(VerboseControl()) _printf0_("   optimizing along gradient direction" << "\n");
+		if(VerboseControl()) _printf0_("   optimizing along gradient direction\n");
 		optpars.maxiter=reCast<int,IssmDouble>(maxiter[n]); optpars.cm_jump=cm_jump[n];
 		BrentSearch(&search_scalar,J+n,&optpars,&objectivefunction,&optargs);
 
-		if(VerboseControl()) _printf0_("   updating parameter using optimized search scalar" << "\n"); //true means update save controls
+		if(VerboseControl()) _printf0_("   updating parameter using optimized search scalar\n"); //true means update save controls
 		InputControlUpdatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,search_scalar,true);
 
@@ -108,5 +108,5 @@
 	}
 
-	if(VerboseControl()) _printf0_("   preparing final solution" << "\n");
+	if(VerboseControl()) _printf0_("   preparing final solution\n");
 	femmodel->parameters->SetParam(true,SaveResultsEnum);
 	solutioncore(femmodel);
Index: /issm/trunk-jpl/src/c/analyses/controltao_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/controltao_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/controltao_core.cpp	(revision 15104)
@@ -54,5 +54,5 @@
 	/*Initialize TAO*/
 	TaoCreate(IssmComm::GetComm(),&tao);
-	if(VerboseControl()) _printf0_("   Initializing the Toolkit for Advanced Optimization (TAO)" << "\n");
+	if(VerboseControl()) _printf0_("   Initializing the Toolkit for Advanced Optimization (TAO)\n");
 	TaoSetFromOptions(tao);
 	TaoSetType(tao,"tao_blmvm");
@@ -79,5 +79,5 @@
 
 	/*Solver optimization problem*/
-	if(VerboseControl()) _printf0_("   Starting optimization" << "\n");
+	if(VerboseControl()) _printf0_("   Starting optimization\n");
 	TaoSolve(tao);
 	TaoView(tao,PETSC_VIEWER_STDOUT_WORLD);
@@ -90,5 +90,5 @@
 
 	/*Finalize*/
-	if(VerboseControl()) _printf0_("   preparing final solution" << "\n");
+	if(VerboseControl()) _printf0_("   preparing final solution\n");
 	femmodel->parameters->SetParam(true,SaveResultsEnum);
 	void (*solutioncore)(FemModel*)=NULL;
@@ -166,6 +166,6 @@
 
 	TaoGetSolutionStatus(tao, &its, &f, &gnorm, &cnorm, &xdiff, NULL);
-	if(its==0) _printf0_("Iter       Function      Residual  |  List of contributions" << "\n");
-	if(its==0) _printf0_("-----------------------------------+-----------------------" << "\n");
+	if(its==0) _printf0_("Iter       Function      Residual  |  List of contributions\n");
+	if(its==0) _printf0_("-----------------------------------+-----------------------\n");
 	_printf0_(setw(4)<<its<<"   "<<setw(12)<<setprecision(7)<<f<<"  "<<setw(12)<<setprecision(7)<<gnorm<<"  | ");
 	user->J[its]=f;
@@ -176,5 +176,5 @@
 		_printf0_(" "<<setw(12)<<setprecision(7)<<f);
 	}
-	_printf0_("" << "\n");
+	_printf0_("\n");
 
 	/*Clean-up and return*/
Index: /issm/trunk-jpl/src/c/analyses/diagnostic_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/diagnostic_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/diagnostic_core.cpp	(revision 15104)
@@ -58,5 +58,5 @@
 	if(ishutter){
 
-		if(VerboseSolution()) _printf0_("   computing hutter velocities" << "\n");
+		if(VerboseSolution()) _printf0_("   computing hutter velocities\n");
 
 		//Take the last velocity into account so that the velocity on the MacAyeal domain is not zero
@@ -71,5 +71,5 @@
 	if ((ismacayealpattyn || isl1l2) ^ isstokes){ // ^ = xor
 
-		if(VerboseSolution()) _printf0_("   computing velocities" << "\n");
+		if(VerboseSolution()) _printf0_("   computing velocities\n");
 		femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
 		if(newton>0)
@@ -81,5 +81,5 @@
 	if (ismacayealpattyn && isstokes){
 
-		if(VerboseSolution()) _printf0_("   computing coupling macayealpattyn and stokes velocities and pressure " << "\n");
+		if(VerboseSolution()) _printf0_("   computing coupling macayealpattyn and stokes velocities and pressure \n");
 		solutionsequence_stokescoupling_nonlinear(femmodel,conserve_loads);
 	}
@@ -87,5 +87,5 @@
 	if (dim==3 & (ishutter || ismacayealpattyn)){
 
-		if(VerboseSolution()) _printf0_("   computing vertical velocities" << "\n");
+		if(VerboseSolution()) _printf0_("   computing vertical velocities\n");
 		femmodel->SetCurrentConfiguration(DiagnosticVertAnalysisEnum);
 		solutionsequence_linear(femmodel);
@@ -93,5 +93,5 @@
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);
Index: /issm/trunk-jpl/src/c/analyses/enthalpy_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/enthalpy_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/enthalpy_core.cpp	(revision 15104)
@@ -18,5 +18,5 @@
 	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
 
-	if(VerboseSolution()) _printf0_("   computing enthalpy" << "\n");
+	if(VerboseSolution()) _printf0_("   computing enthalpy\n");
 	femmodel->SetCurrentConfiguration(EnthalpyAnalysisEnum);
 	solutionsequence_nonlinear(femmodel,true);
@@ -26,5 +26,5 @@
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum);
Index: /issm/trunk-jpl/src/c/analyses/gia_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/gia_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/gia_core.cpp	(revision 15104)
@@ -26,5 +26,5 @@
 	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
 
-	if(VerboseSolution()) _printf0_("   computing GIA" << "\n");
+	if(VerboseSolution()) _printf0_("   computing GIA\n");
 
 	/*Call on core computations: */
@@ -50,5 +50,5 @@
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,GiaWEnum);
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,GiadWdtEnum);
Index: /issm/trunk-jpl/src/c/analyses/gradient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/gradient_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/gradient_core.cpp	(revision 15104)
@@ -20,9 +20,9 @@
 
 	/*Compute gradient*/
-	if(VerboseControl()) _printf0_("   compute cost function gradient" << "\n");
+	if(VerboseControl()) _printf0_("   compute cost function gradient\n");
 	Gradjx(&gradient,&norm_list,femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters);
 
 	if (orthogonalize){
-		if(VerboseControl()) _printf0_("   orthogonalization" << "\n");
+		if(VerboseControl()) _printf0_("   orthogonalization\n");
 		ControlInputGetGradientx(&old_gradient,femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters);
 		Orthx(&new_gradient,gradient,old_gradient); delete old_gradient; delete gradient;
Index: /issm/trunk-jpl/src/c/analyses/hydrology_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/hydrology_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/hydrology_core.cpp	(revision 15104)
@@ -58,5 +58,5 @@
 
 		if (hydrology_model==HydrologyshreveEnum){
-			if(VerboseSolution()) _printf0_("   computing water column" << "\n");
+			if(VerboseSolution()) _printf0_("   computing water column\n");
 			femmodel->SetCurrentConfiguration(HydrologyShreveAnalysisEnum);
 			solutionsequence_nonlinear(femmodel,modify_loads);
@@ -67,5 +67,5 @@
 
 			if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
-				if(VerboseSolution()) _printf0_("   saving results " << "\n");
+				if(VerboseSolution()) _printf0_("   saving results \n");
 				InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum);
 				InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum);
@@ -73,5 +73,5 @@
 
 				/*unload results*/
-				if(VerboseSolution()) _printf0_("   saving temporary results" << "\n");
+				if(VerboseSolution()) _printf0_("   saving temporary results\n");
 				OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 			}
@@ -82,10 +82,10 @@
 			femmodel->parameters->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum);
 
-			if(VerboseSolution()) _printf0_("   computing water transfer" << "\n");
+			if(VerboseSolution()) _printf0_("   computing water transfer\n");
 
-			if(VerboseSolution()) _printf0_("   computing water head" << "\n");
+			if(VerboseSolution()) _printf0_("   computing water head\n");
 			solutionsequence_hydro_nonlinear(femmodel);
 			if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
-				if(VerboseSolution()) _printf0_("   saving results " << "\n");
+				if(VerboseSolution()) _printf0_("   saving results \n");
 				InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SedimentHeadEnum);
 				InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SedimentHeadResidualEnum);
@@ -94,5 +94,5 @@
 				}
 				/*unload results*/
-				if(VerboseSolution()) _printf0_("   saving temporary results" << "\n");
+				if(VerboseSolution()) _printf0_("   saving temporary results\n");
 				OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 			}
Index: /issm/trunk-jpl/src/c/analyses/prognostic_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/prognostic_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/prognostic_core.cpp	(revision 15104)
@@ -32,20 +32,20 @@
 
 	if(issmbgradients){
-	  if(VerboseSolution)_printf_("	call smb gradients module\n" << "\n");
+	  if(VerboseSolution)_printf_("	call smb gradients module\n\n");
 	  SmbGradientsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
 	}
 	if(ispdd){
 		if(isdelta18o){
-			if(VerboseSolution()) _printf0_("   call Delta18oParametrization module" << "\n");
+			if(VerboseSolution()) _printf0_("   call Delta18oParametrization module\n");
 			Delta18oParameterizationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
 		} 
-		if(VerboseSolution()) _printf0_("   call positive degree day module" << "\n");
+		if(VerboseSolution()) _printf0_("   call positive degree day module\n");
 		PositiveDegreeDayx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
 	}
-	if(VerboseSolution()) _printf0_("   call computational core" << "\n");
+	if(VerboseSolution()) _printf0_("   call computational core\n");
 	solutionsequence_linear(femmodel);
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
 		femmodel->RequestedOutputsx(requested_outputs,numoutputs);
Index: /issm/trunk-jpl/src/c/analyses/steadystate_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/steadystate_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/steadystate_core.cpp	(revision 15104)
@@ -63,14 +63,14 @@
 		#endif
 
-		if(VerboseSolution()) _printf0_("   computing new velocity" << "\n");
+		if(VerboseSolution()) _printf0_("   computing new velocity\n");
 		diagnostic_core(femmodel);
 		GetSolutionFromInputsx(&ug,femmodel->elements, femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters);
 
 		if(step>1){
-			if(VerboseSolution()) _printf0_("   checking steadystate convergence" << "\n");
+			if(VerboseSolution()) _printf0_("   checking steadystate convergence\n");
 			if(steadystateconvergence(tg,tg_old,ug,ug_old,reltol)) break;
 		}
 		if(step>maxiter){
-			if(VerboseSolution()) _printf0_("   maximum number steadystate iterations " << maxiter << " reached" << "\n");
+			if(VerboseSolution()) _printf0_("   maximum number steadystate iterations " << maxiter << " reached\n");
 			break;
 		}
@@ -83,5 +83,5 @@
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);
@@ -117,8 +117,8 @@
 	if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error_("convergence criterion is NaN!");
 	if((ndu/nu)<reltol){
-		if(VerboseConvergence()) _printf0_("\n"<<setw(50)<<left<<"   Velocity convergence: norm(du)/norm(u)"<<ndu/nu*100<<" < "<<reltol*100<<" %" << "\n");
+		if(VerboseConvergence()) _printf0_("\n"<<setw(50)<<left<<"   Velocity convergence: norm(du)/norm(u)"<<ndu/nu*100<<" < "<<reltol*100<<" %\n");
 	}
 	else{ 
-		if(VerboseConvergence()) _printf0_("\n"<<setw(50)<<left<<"   Velocity convergence: norm(du)/norm(u)"<<ndu/nu*100<<" > "<<reltol*100<<" %" << "\n");
+		if(VerboseConvergence()) _printf0_("\n"<<setw(50)<<left<<"   Velocity convergence: norm(du)/norm(u)"<<ndu/nu*100<<" > "<<reltol*100<<" %\n");
 		converged=false;
 	}
@@ -129,8 +129,8 @@
 	if (xIsNan<IssmDouble>(ndt) || xIsNan<IssmDouble>(nt)) _error_("convergence criterion is NaN!");
 	if((ndt/nt)<reltol){
-		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   Temperature convergence: norm(dt)/norm(t)"<<ndt/nt*100<<" < "<<reltol*100<<" %" << "\n");
+		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   Temperature convergence: norm(dt)/norm(t)"<<ndt/nt*100<<" < "<<reltol*100<<" %\n");
 	}
 	else{ 
-		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   Temperature convergence: norm(dt)/norm(t)"<<ndt/nt*100<<" > "<<reltol*100<<" %" << "\n");
+		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   Temperature convergence: norm(dt)/norm(t)"<<ndt/nt*100<<" > "<<reltol*100<<" %\n");
 		converged=false;
 	}
Index: /issm/trunk-jpl/src/c/analyses/surfaceslope_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/surfaceslope_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/surfaceslope_core.cpp	(revision 15104)
@@ -18,5 +18,5 @@
 	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
 
-	if(VerboseSolution()) _printf0_("computing slope..." << "\n");
+	if(VerboseSolution()) _printf0_("computing slope...\n");
 
 	/*Call on core computations: */
@@ -27,5 +27,5 @@
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("saving results:" << "\n");
+		if(VerboseSolution()) _printf0_("saving results:\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeXEnum);
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeYEnum);
Index: /issm/trunk-jpl/src/c/analyses/thermal_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/thermal_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/thermal_core.cpp	(revision 15104)
@@ -25,14 +25,14 @@
 	}
 
-	if(VerboseSolution()) _printf0_("   computing temperatures" << "\n");
+	if(VerboseSolution()) _printf0_("   computing temperatures\n");
 	femmodel->SetCurrentConfiguration(ThermalAnalysisEnum);
 	solutionsequence_thermal_nonlinear(femmodel);
 
-	if(VerboseSolution()) _printf0_("   computing melting" << "\n");
+	if(VerboseSolution()) _printf0_("   computing melting\n");
 	femmodel->SetCurrentConfiguration(MeltingAnalysisEnum);
 	solutionsequence_linear(femmodel);
 
 	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results" << "\n");
+		if(VerboseSolution()) _printf0_("   saving results\n");
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
 		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum);
Index: /issm/trunk-jpl/src/c/analyses/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/transient_core.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/analyses/transient_core.cpp	(revision 15104)
@@ -85,5 +85,5 @@
 		femmodel->parameters->SetParam(step,StepEnum);
 
-		if(VerboseSolution()) _printf0_("iteration " << step << "/" << floor((finaltime-time)/dt)+step << "  time [yr]: " << time/yts << " (time step: " << dt/yts << ")" << "\n");
+		if(VerboseSolution()) _printf0_("iteration " << step << "/" << floor((finaltime-time)/dt)+step << "  time [yr]: " << time/yts << " (time step: " << dt/yts << ")\n");
 		if(step%output_frequency==0 || time==finaltime)
 		 save_results=true;
@@ -93,5 +93,5 @@
 
 		if(isthermal && dim==3){
-			if(VerboseSolution()) _printf0_("   computing temperatures" << "\n");
+			if(VerboseSolution()) _printf0_("   computing temperatures\n");
 			#ifdef _HAVE_THERMAL_
 			if(isenthalpy==0){
@@ -107,5 +107,5 @@
 
 		if(isdiagnostic){
-			if(VerboseSolution()) _printf0_("   computing new velocity" << "\n");
+			if(VerboseSolution()) _printf0_("   computing new velocity\n");
 			#ifdef _HAVE_DIAGNOSTIC_
 			diagnostic_core(femmodel);
@@ -116,12 +116,12 @@
 
 		if(isprognostic){
-			if(VerboseSolution()) _printf0_("   computing new thickness" << "\n");
+			if(VerboseSolution()) _printf0_("   computing new thickness\n");
 			prognostic_core(femmodel);
-			if(VerboseSolution()) _printf0_("   updating vertices positions" << "\n");
+			if(VerboseSolution()) _printf0_("   updating vertices positions\n");
 			femmodel->UpdateVertexPositionsx();
 		}
 
 		if(isgroundingline){
-			if(VerboseSolution()) _printf0_("   computing new grounding line position" << "\n");
+			if(VerboseSolution()) _printf0_("   computing new grounding line position\n");
 			#ifdef _HAVE_GROUNDINGLINE_
 			GroundinglineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
@@ -131,5 +131,5 @@
 		}
 		if(isgia){
-			if(VerboseSolution()) _printf0_("   computing glacial isostatic adjustment" << "\n");
+			if(VerboseSolution()) _printf0_("   computing glacial isostatic adjustment\n");
 			#ifdef _HAVE_GIA_
 			gia_core(femmodel);
@@ -142,5 +142,5 @@
 		/*unload results*/
 		if(save_results){
-			if(VerboseSolution()) _printf0_("   saving transient results" << "\n");
+			if(VerboseSolution()) _printf0_("   saving transient results\n");
 			InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum);
 			InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum);
@@ -158,5 +158,5 @@
 			}
 
-			if(VerboseSolution()) _printf0_("   saving temporary results" << "\n");
+			if(VerboseSolution()) _printf0_("   saving temporary results\n");
 			OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 		}
Index: /issm/trunk-jpl/src/c/bamg/BamgVertex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/BamgVertex.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/bamg/BamgVertex.cpp	(revision 15104)
@@ -15,5 +15,5 @@
 	void BamgVertex::Echo(void){
 
-		_printf_("Vertex:" << "\n");
+		_printf_("Vertex:\n");
 		_printf_("  integer   coordinates i.x: " << i.x << ", i.y: " << i.y << "\n");
 		_printf_("  Euclidean coordinates r.x: " << r.x << ", r.y: " << r.y << "\n");
Index: /issm/trunk-jpl/src/c/bamg/Edge.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/Edge.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/bamg/Edge.cpp	(revision 15104)
@@ -27,5 +27,5 @@
 	/*FUNCTION Edge::Echo {{{*/
 	void Edge::Echo(void){ 
-		_printf_("Edge:" << "\n");
+		_printf_("Edge:\n");
 		_printf_("   pointers towards two vertices: " << v[0] << " " << v[1] << "\n");
 		_printf_("   ReferenceNumber = " << ReferenceNumber << "\n");
Index: /issm/trunk-jpl/src/c/bamg/EigenMetric.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/EigenMetric.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/bamg/EigenMetric.cpp	(revision 15104)
@@ -114,5 +114,5 @@
 	void EigenMetric::Echo(void){
 
-		_printf_("EigenMetric:" << "\n");
+		_printf_("EigenMetric:\n");
 		_printf_("   lambda1: " << lambda1 << "\n");
 		_printf_("   lambda2: " << lambda2 << "\n");
Index: /issm/trunk-jpl/src/c/bamg/Geometry.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/Geometry.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/bamg/Geometry.cpp	(revision 15104)
@@ -80,5 +80,5 @@
 		//Vertices
 		if (bamggeom->Vertices){
-			if(verbose>5) _printf_("      processing Vertices" << "\n");
+			if(verbose>5) _printf_("      processing Vertices\n");
 			if (bamggeom->VerticesSize[1]!=3) _error_("Vertices should have 3 columns");
 			vertices = new GeomVertex[nbv];
@@ -125,5 +125,5 @@
 			double* verticeslength=NULL;
 
-			if(verbose>5) _printf_("      processing Edges" << "\n");
+			if(verbose>5) _printf_("      processing Edges\n");
 			if (bamggeom->EdgesSize[1]!=3) _error_("Edges should have 3 columns");
 			edges = new GeomEdge[nbe];
@@ -180,5 +180,5 @@
 		//hVertices
 		if(bamgopts->hVertices && bamgopts->hVerticesSize[0]==nbv){
-			if(verbose>5) _printf_("      processing hVertices" << "\n");
+			if(verbose>5) _printf_("      processing hVertices\n");
 			for (i=0;i< nbv;i++){
 				if (!xIsNan<IssmPDouble>(bamgopts->hVertices[i])){
@@ -190,5 +190,5 @@
 		//MetricVertices
 		if(bamgopts->metric && bamgopts->metric[0]==nbv){
-			if(verbose>5) _printf_("      processing MetricVertices" << "\n");
+			if(verbose>5) _printf_("      processing MetricVertices\n");
 			for (i=0;i< nbv;i++) {
 				vertices[i].m = Metric((double)bamgopts->metric[i*3+0],(double)bamgopts->metric[i*3+1],(double)bamgopts->metric[i*3+2]);
@@ -198,5 +198,5 @@
 		//MaxCornerAngle
 		if (bamgopts->MaxCornerAngle){
-			if(verbose>5) _printf_("      processing MaxCornerAngle" << "\n");
+			if(verbose>5) _printf_("      processing MaxCornerAngle\n");
 			MaxCornerAngle=bamgopts->MaxCornerAngle*Pi/180;
 		}
@@ -237,5 +237,5 @@
 		//RequiredVertices
 		if(bamggeom->RequiredVertices){
-			if(verbose>5) _printf_("      processing RequiredVertices" << "\n");
+			if(verbose>5) _printf_("      processing RequiredVertices\n");
 			if (bamggeom->RequiredVerticesSize[1]!=1) _error_("RequiredVertices should have 1 column");
 			n=bamggeom->RequiredVerticesSize[0];
@@ -249,5 +249,5 @@
 		//RequiredEdges
 		if(bamggeom->RequiredEdges){
-			if(verbose>5) _printf_("      processing RequiredEdges" << "\n");
+			if(verbose>5) _printf_("      processing RequiredEdges\n");
 			if (bamggeom->RequiredEdgesSize[1]!=1) _error_("RequiredEdges should have 1 column");
 			n=bamggeom->RequiredEdgesSize[0];
@@ -261,5 +261,5 @@
 		//SubDomain
 		if(bamggeom->SubDomains){
-			if(verbose>5) _printf_("      processing SubDomains" << "\n");
+			if(verbose>5) _printf_("      processing SubDomains\n");
 			if (bamggeom->SubDomainsSize[1]!=4) _error_("SubDomains should have 4 columns");
 			nbsubdomains=bamggeom->SubDomainsSize[0];
@@ -293,5 +293,5 @@
 
 		/*Vertices*/
-		if(verbose>5) _printf_("      writing Vertices" << "\n");
+		if(verbose>5) _printf_("      writing Vertices\n");
 		bamggeom->VerticesSize[0]=nbv;
 		bamggeom->VerticesSize[1]=3;
@@ -309,5 +309,5 @@
 
 		/*Edges*/
-		if(verbose>5) _printf_("      writing Edges" << "\n");
+		if(verbose>5) _printf_("      writing Edges\n");
 		bamggeom->EdgesSize[0]=nbe;
 		bamggeom->EdgesSize[1]=3;
@@ -327,5 +327,5 @@
 
 		/*RequiredEdges*/
-		if(verbose>5) _printf_("      writing " << nbreq << " RequiredEdges" << "\n");
+		if(verbose>5) _printf_("      writing " << nbreq << " RequiredEdges\n");
 		bamggeom->RequiredEdgesSize[0]=nbreq;
 		bamggeom->RequiredEdgesSize[1]=1;
@@ -344,5 +344,5 @@
 
 		/*RequiredVertices*/
-		if(verbose>5) _printf_("      writing " << nbreqv << " RequiredVertices" << "\n");
+		if(verbose>5) _printf_("      writing " << nbreqv << " RequiredVertices\n");
 		bamggeom->RequiredVerticesSize[0]=nbreqv;
 		bamggeom->RequiredVerticesSize[1]=1;
@@ -359,5 +359,5 @@
 
 		/*SubDomains*/
-		if(verbose>5) _printf_("      writing SubDomains" << "\n");
+		if(verbose>5) _printf_("      writing SubDomains\n");
 		bamggeom->SubDomainsSize[0]=nbsubdomains;
 		bamggeom->SubDomainsSize[1]=4;
@@ -373,5 +373,5 @@
 
 		/*TangentAtEdges*/
-		if(verbose>5) _printf_("      writing TangentAtEdges" << "\n");
+		if(verbose>5) _printf_("      writing TangentAtEdges\n");
 		bamggeom->TangentAtEdgesSize[0]=nbtan;
 		bamggeom->TangentAtEdgesSize[1]=4;
@@ -402,5 +402,5 @@
 	void Geometry::Echo(void){
 
-		_printf_("Geometry:" << "\n");
+		_printf_("Geometry:\n");
 		_printf_("   nbv  (number of vertices) : " << nbv << "\n");
 		_printf_("   nbe  (number of edges)    : " << nbe << "\n");
@@ -412,6 +412,6 @@
 		_printf_("   subdomains: " << subdomains << "\n");
 		_printf_("   curves: " << curves << "\n");
-		_printf_("   pmin (x,y): (" << pmin.x << " " << pmin.y << ")" << "\n");
-		_printf_("   pmax (x,y): (" << pmax.x << " " << pmax.y << ")" << "\n");
+		_printf_("   pmin (x,y): (" << pmin.x << " " << pmin.y << ")\n");
+		_printf_("   pmax (x,y): (" << pmax.x << " " << pmax.y << ")\n");
 		_printf_("   coefIcoor: " << coefIcoor << "\n");
 		_printf_("   MaxCornerAngle: " << MaxCornerAngle << "\n");
@@ -526,5 +526,5 @@
 				_printf_("reference numbers: " << v->ReferenceNumber << " " << vertices[i].ReferenceNumber << "\n");
 				_printf_("Id: " << i+1 << "\n");
-				_printf_("Coords: ["<<v->r.x<<" "<<v->r.y<<"] ["<<vertices[i].r.x<<" "<<vertices[i].r.y<<"]" << "\n");
+				_printf_("Coords: ["<<v->r.x<<" "<<v->r.y<<"] ["<<vertices[i].r.x<<" "<<vertices[i].r.y<<"]\n");
 
 				delete [] next_p;
@@ -869,9 +869,9 @@
 			if (bge<=0) {
 				if(NbTry) {
-					_printf_("Fatal Error: on the class Mesh before call Geometry::ProjectOnCurve" << "\n");
-					_printf_("That bug might come from:" << "\n");
-					_printf_(" 1)  a mesh edge  containing more than " << mxe/2 << " geometrical edges" << "\n");
-					_printf_(" 2)  code bug : be sure that we call   Mesh::SetVertexFieldOn() before" << "\n");
-					_printf_("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)" << "\n");
+					_printf_("Fatal Error: on the class Mesh before call Geometry::ProjectOnCurve\n");
+					_printf_("That bug might come from:\n");
+					_printf_(" 1)  a mesh edge  containing more than " << mxe/2 << " geometrical edges\n");
+					_printf_(" 2)  code bug : be sure that we call   Mesh::SetVertexFieldOn() before\n");
+					_printf_("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)\n");
 					_error_("see above");
 				}
@@ -886,12 +886,12 @@
 		while (eg1 != (GeomEdge*) vg1  &&  (*eg1)(direction1) != (GeomVertex*) vg1) { 
 			if(tge>=mxe ) { 
-				_printf_("WARNING: on the class Mesh before call Geometry::ProjectOnCurve is having issues (isn't it Eric?)" << "\n");
+				_printf_("WARNING: on the class Mesh before call Geometry::ProjectOnCurve is having issues (isn't it Eric?)\n");
 				NbTry++;
 				if (NbTry<2) goto retry;
-				_printf_("Fatal Error: on the class Mesh before call Geometry::ProjectOnCurve" << "\n");
-				_printf_("That bug might come from:" << "\n");
-				_printf_(" 1)  a mesh edge  contening more than " << mxe/2 << " geometrical edges" << "\n");
-				_printf_(" 2)  code bug : be sure that we call   Mesh::SetVertexFieldOn() before" << "\n");
-				_printf_("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)" << "\n");
+				_printf_("Fatal Error: on the class Mesh before call Geometry::ProjectOnCurve\n");
+				_printf_("That bug might come from:\n");
+				_printf_(" 1)  a mesh edge  contening more than " << mxe/2 << " geometrical edges\n");
+				_printf_(" 2)  code bug : be sure that we call   Mesh::SetVertexFieldOn() before\n");
+				_printf_("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)\n");
 				_error_("see above");
 			}
Index: /issm/trunk-jpl/src/c/bamg/Mesh.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/Mesh.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/bamg/Mesh.cpp	(revision 15104)
@@ -31,5 +31,5 @@
 		if(bamggeom->Edges==NULL) {
 			/*Recreate geometry if needed*/
-			_printf_("WARNING: mesh present but no geometry found. Reconstructing..." << "\n");
+			_printf_("WARNING: mesh present but no geometry found. Reconstructing...\n");
 			BuildGeometryFromMesh(bamgopts);
 			Gh.PostRead();
@@ -281,5 +281,5 @@
 
 		//Vertices
-		if (verbose) _printf_("Reading vertices (" << nbv << ")" << "\n");
+		if (verbose) _printf_("Reading vertices (" << nbv << ")\n");
 		vertices=xNew<BamgVertex>(nbv);
 		orderedvertices=xNew<BamgVertex*>(nbv);
@@ -295,5 +295,5 @@
 
 		//Triangles
-		if (verbose) _printf_("Reading triangles (" << nbt << ")" << "\n");
+		if (verbose) _printf_("Reading triangles (" << nbt << ")\n");
 		triangles =new Triangle[maxnbt]; //we cannot allocate only nbt triangles since 
 		nodeflags=xNew<bool>(nbv);
@@ -311,7 +311,7 @@
 
 		/*Recreate geometry: */
-		if (verbose) _printf_("Building Geometry" << "\n");
+		if (verbose) _printf_("Building Geometry\n");
 		BuildGeometryFromMesh();
-		if (verbose) _printf_("Completing geometry" << "\n");
+		if (verbose) _printf_("Completing geometry\n");
 		Gh.PostRead();
 
@@ -320,5 +320,5 @@
 		for(i=0;i<nbv;i++){
 			if(!nodeflags[i]){
-				_printf_("Vertex " << i+1 << " does not belong to any element" << "\n");
+				_printf_("Vertex " << i+1 << " does not belong to any element\n");
 				isorphan=true;
 			}
@@ -347,5 +347,5 @@
 		//Vertices
 		if(bamgmesh->Vertices){
-			if(verbose>5) _printf_("      processing Vertices" << "\n");
+			if(verbose>5) _printf_("      processing Vertices\n");
 
 			vertices=xNew<BamgVertex>(nbv);
@@ -368,5 +368,5 @@
 		//Triangles
 		if(bamgmesh->Triangles){
-			if(verbose>5) _printf_("      processing Triangles" << "\n");
+			if(verbose>5) _printf_("      processing Triangles\n");
 			triangles =new Triangle[maxnbt]; //we cannot allocate only nbt triangles since 
 			//other triangles will be added for each edge
@@ -386,5 +386,5 @@
 		//Quadrilaterals
 		if(bamgmesh->Quadrilaterals){
-			if(verbose>5) _printf_("      processing Quadrilaterals" << "\n");
+			if(verbose>5) _printf_("      processing Quadrilaterals\n");
 			long i1,i2,i3,i4;
 			triangles =new Triangle[nbt];
@@ -408,5 +408,5 @@
 		//VerticesOnGeomEdge
 		if(bamgmesh->VerticesOnGeomEdge){
-			if(verbose>5) _printf_("      processing VerticesOnGeomEdge" << "\n");
+			if(verbose>5) _printf_("      processing VerticesOnGeomEdge\n");
 			NbVerticesOnGeomEdge=bamgmesh->VerticesOnGeomEdgeSize[0];
 			VerticesOnGeomEdge= new  VertexOnGeom[NbVerticesOnGeomEdge] ;
@@ -423,5 +423,5 @@
 		//VerticesOnGeomVertex
 		if(bamgmesh->VerticesOnGeomVertexSize[0]){
-			if(verbose>5) _printf_("      processing VerticesOnGeomVertex" << "\n");
+			if(verbose>5) _printf_("      processing VerticesOnGeomVertex\n");
 			NbVerticesOnGeomVertex=bamgmesh->VerticesOnGeomVertexSize[0];
 			VerticesOnGeomVertex  = new  VertexOnGeom[NbVerticesOnGeomVertex] ;
@@ -439,5 +439,5 @@
 			double* len=NULL;
 
-			if(verbose>5) _printf_("      processing Edges" << "\n");
+			if(verbose>5) _printf_("      processing Edges\n");
 			nbe=bamgmesh->EdgesSize[0];
 			edges= new Edge[nbe];
@@ -499,5 +499,5 @@
 		//EdgeOnGeomEdge
 		if(bamgmesh->EdgesOnGeomEdge){
-			if(verbose>5) _printf_("      processing EdgesOnGeomEdge" << "\n");
+			if(verbose>5) _printf_("      processing EdgesOnGeomEdge\n");
 			int i1,i2,i,j;
 			i2=bamgmesh->EdgesOnGeomEdgeSize[0];
@@ -516,5 +516,5 @@
 		if(bamgmesh->SubDomains){
 			long i3,head,direction;
-			if(verbose>5) _printf_("      processing SubDomains" << "\n");
+			if(verbose>5) _printf_("      processing SubDomains\n");
 			nbsubdomains=bamgmesh->SubDomainsSize[0];
 			subdomains = new SubDomain [ nbsubdomains ];
@@ -585,5 +585,5 @@
 
 		/*Vertices*/
-		if(verbose>5) _printf_("      writing Vertices" << "\n");
+		if(verbose>5) _printf_("      writing Vertices\n");
 		bamgmesh->VerticesSize[0]=nbv;
 		bamgmesh->VerticesSize[1]=3;
@@ -598,5 +598,5 @@
 
 		/*Edges*/
-		if(verbose>5) _printf_("      writing Edges" << "\n");
+		if(verbose>5) _printf_("      writing Edges\n");
 		bamgmesh->EdgesSize[0]=nbe;
 		bamgmesh->EdgesSize[1]=3;
@@ -615,5 +615,5 @@
 
 		/*Element edges*/
-		if(verbose>5) _printf_("      writing element edges" << "\n");
+		if(verbose>5) _printf_("      writing element edges\n");
 		SetOfEdges4* edge4=new SetOfEdges4(nbt*3,nbv);
 		double* elemedge=NULL;
@@ -671,5 +671,5 @@
 
 		/*IssmSegments*/
-		if(verbose>5) _printf_("      writing IssmSegments" << "\n");
+		if(verbose>5) _printf_("      writing IssmSegments\n");
 		bamgmesh->IssmSegmentsSize[0]=NumIssmSegments;
 		bamgmesh->IssmSegmentsSize[1]=4;
@@ -714,5 +714,5 @@
 
 		/*Triangles*/
-		if(verbose>5) _printf_("      writing Triangles" << "\n");
+		if(verbose>5) _printf_("      writing Triangles\n");
 		k=nbInT-nbq*2;
 		num=0;
@@ -735,5 +735,5 @@
 
 		/*Quadrilaterals*/
-		if(verbose>5) _printf_("      writing Quadrilaterals" << "\n");
+		if(verbose>5) _printf_("      writing Quadrilaterals\n");
 		bamgmesh->QuadrilateralsSize[0]=nbq;
 		bamgmesh->QuadrilateralsSize[1]=5;
@@ -756,5 +756,5 @@
 
 		/*SubDomains*/
-		if(verbose>5) _printf_("      writing SubDomains" << "\n");
+		if(verbose>5) _printf_("      writing SubDomains\n");
 		bamgmesh->SubDomainsSize[0]=nbsubdomains;
 		bamgmesh->SubDomainsSize[1]=4;
@@ -770,5 +770,5 @@
 
 		/*SubDomainsFromGeom*/
-		if(verbose>5) _printf_("      writing SubDomainsFromGeom" << "\n");
+		if(verbose>5) _printf_("      writing SubDomainsFromGeom\n");
 		bamgmesh->SubDomainsFromGeomSize[0]=Gh.nbsubdomains;
 		bamgmesh->SubDomainsFromGeomSize[1]=4;
@@ -784,5 +784,5 @@
 
 		/*VerticesOnGeomVertex*/
-		if(verbose>5) _printf_("      writing VerticesOnGeomVertex" << "\n");
+		if(verbose>5) _printf_("      writing VerticesOnGeomVertex\n");
 		bamgmesh->VerticesOnGeomVertexSize[0]=NbVerticesOnGeomVertex;
 		bamgmesh->VerticesOnGeomVertexSize[1]=2;
@@ -798,5 +798,5 @@
 
 		/*VertexOnGeomEdge*/
-		if(verbose>5) _printf_("      writing VerticesOnGeomEdge" << "\n");
+		if(verbose>5) _printf_("      writing VerticesOnGeomEdge\n");
 		bamgmesh->VerticesOnGeomEdgeSize[0]=NbVerticesOnGeomEdge;
 		bamgmesh->VerticesOnGeomEdgeSize[1]=3;
@@ -815,5 +815,5 @@
 
 		/*EdgesOnGeomEdge*/
-		if(verbose>5) _printf_("      writing EdgesOnGeomEdge" << "\n");
+		if(verbose>5) _printf_("      writing EdgesOnGeomEdge\n");
 		k=0;
 		for (i=0;i<nbe;i++){
@@ -835,5 +835,5 @@
 
 		/*Element Connectivity*/
-		if(verbose>5) _printf_("      writing Element connectivity" << "\n");
+		if(verbose>5) _printf_("      writing Element connectivity\n");
 		bamgmesh->ElementConnectivitySize[0]=nbt-nbtout;
 		bamgmesh->ElementConnectivitySize[1]=3;
@@ -855,5 +855,5 @@
 
 		/*ElementNodal Connectivity*/
-		if(verbose>5) _printf_("      writing Nodal element connectivity" << "\n");
+		if(verbose>5) _printf_("      writing Nodal element connectivity\n");
 		bamgmesh->NodalElementConnectivitySize[0]=nbv;
 		bamgmesh->NodalElementConnectivitySize[1]=connectivitymax_1;
@@ -870,5 +870,5 @@
 
 		/*Nodal Connectivity*/
-		if(verbose>5) _printf_("      writing Nodal connectivity" << "\n");
+		if(verbose>5) _printf_("      writing Nodal connectivity\n");
 		//chaining algorithm (again...)
 		int* head_2=NULL;
@@ -924,5 +924,5 @@
 
 		/*Cracked vertices*/
-		if(verbose>5) _printf_("      writing Cracked vertices" << "\n");
+		if(verbose>5) _printf_("      writing Cracked vertices\n");
 		bamgmesh->CrackedVerticesSize[0]=NbCrackedVertices;
 		bamgmesh->CrackedVerticesSize[1]=2;
@@ -936,5 +936,5 @@
 
 		/*Cracked vertices*/
-		if(verbose>5) _printf_("      writing Cracked vertices" << "\n");
+		if(verbose>5) _printf_("      writing Cracked vertices\n");
 		bamgmesh->CrackedEdgesSize[0]=NbCrackedEdges;
 		bamgmesh->CrackedEdgesSize[1]=4;
@@ -964,5 +964,5 @@
 		int  i,j;
 
-		if(bamgopts->verbose>3) _printf_("      processing metric" << "\n");
+		if(bamgopts->verbose>3) _printf_("      processing metric\n");
 		double hmin = Max(bamgopts->hmin,MinimalHmin());
 		double hmax = Min(bamgopts->hmax,MaximalHmax());
@@ -1315,5 +1315,5 @@
 
 		//display info
-		if (verbose>1) _printf_("   construction of the geometry from the 2d mesh" << "\n");
+		if (verbose>1) _printf_("   construction of the geometry from the 2d mesh\n");
 
 		//check that the mesh is not empty
@@ -1375,5 +1375,5 @@
 				//else (see 3 lines above), the edge has been called more than twice: return error
 				else {
-					_printf_("The edge (" << GetId(triangles[i][VerticesOfTriangularEdge[j][0]]) << "," << GetId(triangles[i][VerticesOfTriangularEdge[j][1]]) << ") belongs to more than 2 triangles (" << k << ")" << "\n");
+					_printf_("The edge (" << GetId(triangles[i][VerticesOfTriangularEdge[j][0]]) << "," << GetId(triangles[i][VerticesOfTriangularEdge[j][1]]) << ") belongs to more than 2 triangles (" << k << ")\n");
 					_printf_("Edge " << j << " of triangle " << i << "\n");
 					_printf_("Edge " << (-st[k]+2)%3 << " of triangle " << (-st[k]+2)/3 << "\n");
@@ -1390,5 +1390,5 @@
 		//display info
 		if(verbose>5) {
-			_printf_("         info on Mesh:" << "\n");
+			_printf_("         info on Mesh:\n");
 			_printf_("            - number of vertices    = " << nbv << "\n"); 
 			_printf_("            - number of triangles   = " << nbt << "\n"); 
@@ -1452,5 +1452,5 @@
 						edges[add].ReferenceNumber=edgessave[i].ReferenceNumber; 		      
 						edges[add].GeomEdgeHook=edgessave[i].GeomEdgeHook; //  HACK to get required edges
-						_printf_("oh no..." << "\n");
+						_printf_("oh no...\n");
 					}
 					else
@@ -1791,5 +1791,5 @@
 		//display infos
 		if(verbose>1) {
-			_printf_("   Construction of Metric: number of field: " << nbsol << " (nbt=" << nbt << ", nbv=" << nbv << ")" << "\n");
+			_printf_("   Construction of Metric: number of field: " << nbsol << " (nbt=" << nbt << ", nbv=" << nbv << ")\n");
 		}
 
@@ -1867,5 +1867,5 @@
 			//skip constant field
 			if (sdelta < 1.0e-10*Max(absmax,1e-20)){
-				_printf_("      Solution " << nusol << " is constant, skipping..." << "\n");
+				_printf_("      Solution " << nusol << " is constant, skipping...\n");
 				continue;
 			}
@@ -1993,5 +1993,5 @@
 		//display infos
 		if(verbose>1) {
-			_printf_("   Construction of Metric: number of field: " << nbsol << " (nbt=" << nbt << ", nbv=" << nbv << ")" << "\n");
+			_printf_("   Construction of Metric: number of field: " << nbsol << " (nbt=" << nbt << ", nbv=" << nbv << ")\n");
 		}
 
@@ -2080,5 +2080,5 @@
 			//skip constant field
 			if (sdelta < 1.0e-10*Max(absmax,1e-20) ){
-				if (verbose>2) _printf_("      Solution " << nusol << " is constant, skipping..." << "\n");
+				if (verbose>2) _printf_("      Solution " << nusol << " is constant, skipping...\n");
 				continue;
 			}
@@ -2375,5 +2375,5 @@
 					}
 				}
-				//_printf_(element_renu[GetId(ta.t)] << " -> " << GetId((*ta.t)[0])+1 << " " << GetId((*ta.t)[1])+1 << " " << GetId((*ta.t)[2])+1 << ", edge [" << i1 << "->" << j1 << " " << i2 << "->" << j2 << "]" << "\n");
+				//_printf_(element_renu[GetId(ta.t)] << " -> " << GetId((*ta.t)[0])+1 << " " << GetId((*ta.t)[1])+1 << " " << GetId((*ta.t)[2])+1 << ", edge [" << i1 << "->" << j1 << " " << i2 << "->" << j2 << "]\n");
 				ta = Next(ta).Adj(); 
 				if (count++>50) _error_("Maximum number of iteration exceeded");
@@ -2399,10 +2399,10 @@
 		int i;
 
-		_printf_("Mesh Echo:" << "\n");
+		_printf_("Mesh Echo:\n");
 		_printf_("   nbv = " << nbv << "\n");
 		_printf_("   nbt = " << nbt << "\n");
 		_printf_("   nbe = " << nbe << "\n");
 		_printf_("   nbq = " << nbq << "\n");
-		_printf_("   index:" << "\n");
+		_printf_("   index:\n");
 		for (i=0;i<nbt;i++){
 			_printf_("   " << setw(4) << i+1 << ": [" 
@@ -2411,7 +2411,7 @@
 						<< setw(4) << (((BamgVertex *)triangles[i](0))?GetId(triangles[i][2])+1:0) << "]");
 		}
-		_printf_("   coordinates:" << "\n");
+		_printf_("   coordinates:\n");
 		for (i=0;i<nbv;i++){
-			_printf_("   " << setw(4) << i+1 << ": [" << vertices[i].r.x << " " << vertices[i].r.y << "]" << "\n");
+			_printf_("   " << setw(4) << i+1 << ": [" << vertices[i].r.x << " " << vertices[i].r.y << "]\n");
 		}
 
@@ -2468,6 +2468,6 @@
 
 		if (verbose >2){
-			if (OutSide) _printf_("   Find all external sub-domain" << "\n"); 
-			else _printf_("   Find all internal sub-domain" << "\n");
+			if (OutSide) _printf_("   Find all external sub-domain\n"); 
+			else _printf_("   Find all internal sub-domain\n");
 		  }
 		short * HeapArete = new short[nbt];
@@ -2692,5 +2692,5 @@
 
 				if (inew < nbsubdomains) {
-					if (verbose>5) _printf_("WARNING: " << nbsubdomains-inew << " SubDomains are being removed" << "\n");
+					if (verbose>5) _printf_("WARNING: " << nbsubdomains-inew << " SubDomains are being removed\n");
 					nbsubdomains=inew;}
 
@@ -2799,5 +2799,5 @@
 
 		//Display info
-		if (verbose>2) _printf_("   Insert initial " << nbv << " vertices" << "\n");
+		if (verbose>2) _printf_("   Insert initial " << nbv << " vertices\n");
 
 		//Compute integer coordinates for the existing vertices
@@ -2890,5 +2890,5 @@
 		/*Now, add the vertices One by One*/
 		long NbSwap=0;
-		if (verbose>3) _printf_("   Begining of insertion process..." << "\n");
+		if (verbose>3) _printf_("   Begining of insertion process...\n");
 
 		for (int icount=2; icount<nbv; icount++) {
@@ -2952,5 +2952,5 @@
 
 		//display info if required
-		if (verbose>5) _printf_("      Try to Insert " << nbvnew << " new points" << "\n");
+		if (verbose>5) _printf_("      Try to Insert " << nbvnew << " new points\n");
 
 		//return if no new points
@@ -3055,5 +3055,5 @@
 			if (!e[i]){
 				kk++;
-				if(kk<10) _printf_("BUG: the geometrical edge " << i << " is on no edge curve" << "\n");
+				if(kk<10) _printf_("BUG: the geometrical edge " << i << " is on no edge curve\n");
 			}
 		}
@@ -3072,5 +3072,5 @@
 
 		if (costheta >1) {
-			if (verbose>5) _printf_("   do nothing: costheta > 1" << "\n");
+			if (verbose>5) _printf_("   do nothing: costheta > 1\n");
 		}
 
@@ -3223,5 +3223,5 @@
 		/*First, insert old points if requested*/
 		if (KeepVertices && (&Bh != this) && (nbv+Bh.nbv< maxnbv)){
-			if (verbose>5) _printf_("         Inserting initial mesh points" << "\n");
+			if (verbose>5) _printf_("         Inserting initial mesh points\n");
 			for (i=0;i<Bh.nbv;i++){ 
 				BamgVertex &bv=Bh[i];
@@ -3242,5 +3242,5 @@
 		// Big loop (most time consuming)
 		int iter=0;
-		if (verbose>5) _printf_("         Big loop" << "\n");
+		if (verbose>5) _printf_("         Big loop\n");
 		do {
 			/*Update variables*/
@@ -3473,5 +3473,5 @@
 	// find extrema coordinates of vertices pmin,pmax
 	long i;
-	if(verbose>2) _printf_("      Reconstruct mesh of " << nbv << " vertices" << "\n"); 
+	if(verbose>2) _printf_("      Reconstruct mesh of " << nbv << " vertices\n"); 
 
 	//initialize orderedvertices
@@ -3530,8 +3530,8 @@
 	//Display info if required
 	if(verbose>5) {
-		_printf_("         info of Mesh:" << "\n");
-		_printf_("            - number of vertices    = " << nbv << " " << "\n"); 
-		_printf_("            - number of triangles   = " << nbt << " " << "\n"); 
-		_printf_("            - number of given edges = " << nbe << " " << "\n"); 
+		_printf_("         info of Mesh:\n");
+		_printf_("            - number of vertices    = " << nbv << " \n"); 
+		_printf_("            - number of triangles   = " << nbt << " \n"); 
+		_printf_("            - number of given edges = " << nbe << " \n"); 
 		_printf_("            - number of all edges   = " << edge4->nb() << "\n"); 
 		_printf_("            - Euler number 1 - nb of holes = " << nbt-edge4->nb()+nbv << "\n"); 
@@ -3555,5 +3555,5 @@
 				}
 				else if (k==10){
-					_printf_("Other lost boundary edges not shown..." << "\n");
+					_printf_("Other lost boundary edges not shown...\n");
 				}
 			}
@@ -3743,5 +3743,5 @@
 					/*Check that the 2 vertices are on geometry AND required*/
 					if(!edges[i][j].GeomEdgeHook->IsRequiredVertex()){
-						_printf_("ReconstructExistingMesh error message: problem with the edge number " << i+1 << ": [" << GetId(edges[i][0])+1 << " " << GetId(edges[i][1])+1 << "]" << "\n");
+						_printf_("ReconstructExistingMesh error message: problem with the edge number " << i+1 << ": [" << GetId(edges[i][0])+1 << " " << GetId(edges[i][1])+1 << "]\n");
 						_printf_("This edge is on geometrical edge number " << Gh.GetId(edges[i].GeomEdgeHook)+1 << "\n");
 						if (edges[i][j].GeomEdgeHook->OnGeomVertex())
@@ -3752,5 +3752,5 @@
 						 _printf_("Its pointer is " << edges[i][j].GeomEdgeHook << "\n");
 
-						_printf_("This edge is on geometry and has no adjacent edge (open curve) and one of the tip is not required" << "\n");
+						_printf_("This edge is on geometry and has no adjacent edge (open curve) and one of the tip is not required\n");
 						_error_("See above (might be cryptic...)");
 					}
@@ -3840,13 +3840,13 @@
 		long it,ie,i;
 
-		_printf_("renumbering triangles" << "\n");
+		_printf_("renumbering triangles\n");
 		for ( it=0;it<nbt;it++) 
 		 triangles[it].Renumbering(vertices,ve,renu);
 
-		_printf_("renumbering edges" << "\n");
+		_printf_("renumbering edges\n");
 		for ( ie=0;ie<nbe;ie++) 
 		 edges[ie].Renumbering(vertices,ve,renu);
 
-		_printf_("renumbering vertices on geom" << "\n");
+		_printf_("renumbering vertices on geom\n");
 		for (i=0;i< NbVerticesOnGeomVertex;i++)
 		  {
@@ -3856,5 +3856,5 @@
 		  }
 
-		_printf_("renumbering vertices on edge" << "\n");
+		_printf_("renumbering vertices on edge\n");
 		for (i=0;i< NbVerticesOnGeomEdge;i++)
 		  {
@@ -3864,5 +3864,5 @@
 		  }
 
-		_printf_("renumbering vertices on Bth vertex" << "\n");
+		_printf_("renumbering vertices on Bth vertex\n");
 		for (i=0;i< NbVertexOnBThVertex;i++)
 		  {
@@ -3954,5 +3954,5 @@
 				number_of_errors++;
 				if (number_of_errors<20){
-					_printf_("Area of Triangle " << i+1 << " < 0 (det=" << triangles[i].det << ")" << "\n");
+					_printf_("Area of Triangle " << i+1 << " < 0 (det=" << triangles[i].det << ")\n");
 				}
 			}
@@ -4022,5 +4022,5 @@
 	gammamn=sqrt(gammamn);
 	gammamx=sqrt(gammamx);    
-	_printf_("   Adaptmesh info:" << "\n");
+	_printf_("   Adaptmesh info:\n");
 	_printf_("      number of triangles = " << nt << "\n");
 	_printf_("      hmin = " << hmin << ", hmax=" << hmax << "\n");
@@ -4062,6 +4062,6 @@
 		}  
 	_printf_(" --- Histogram of the unit mesh,  nb of edges = " << nbedges << "\n");
-	_printf_("      length of edge in   | %% of edge  | Nb of edges " << "\n"); 
-	_printf_("      --------------------+-------------+-------------" << "\n"); 
+	_printf_("      length of edge in   | %% of edge  | Nb of edges \n"); 
+	_printf_("      --------------------+-------------+-------------\n"); 
 	for   (i=0;i<=kmax;i++){ 
 		if (i==0) _printf_( "      " << setw(10) << 0.);
@@ -4069,8 +4069,8 @@
 		if (i==kmax) _printf_("          +inf   ");
 		else      _printf_( "      " << setw(10) << exp(lmin+(i+1)/delta));
-		_printf_("|  " << setw(10) << (long((10000. * histo[i])/ nbedges)/100.) << " |" << "\n");
+		_printf_("|  " << setw(10) << (long((10000. * histo[i])/ nbedges)/100.) << " |\n");
 		_printf_("  " << histo[i] << "\n");
 	}
-	_printf_("      --------------------+-------------+-------------" << "\n"); 
+	_printf_("      --------------------+-------------+-------------\n"); 
 }
 /*}}}*/
@@ -4748,5 +4748,5 @@
 			Triangle *tcvi = TriangleFindFromCoord(vi.i,det3);
 			if (tcvi && !tcvi->link) {
-				_printf_("problem inserting point in SplitInternalEdgeWithBorderVertices (tcvj && !tcvj->link)" << "\n");
+				_printf_("problem inserting point in SplitInternalEdgeWithBorderVertices (tcvj && !tcvj->link)\n");
 			}
 
@@ -4765,5 +4765,5 @@
 		}
 	}
-	if (NbSplitEdge>nbv-nbvold) _printf_("WARNING: not enough vertices  to split all internal edges, we lost " << NbSplitEdge - ( nbv-nbvold) << " edges..." << "\n");
+	if (NbSplitEdge>nbv-nbvold) _printf_("WARNING: not enough vertices  to split all internal edges, we lost " << NbSplitEdge - ( nbv-nbvold) << " edges...\n");
 	if (verbose>2) _printf_("SplitInternalEdgeWithBorderVertices: Number of splited edge " << NbSplitEdge << "\n");
 
@@ -4936,5 +4936,5 @@
 
 	//Vertices
-	if(verbose) _printf_("Reading vertices (" << nbv << ")" << "\n");
+	if(verbose) _printf_("Reading vertices (" << nbv << ")\n");
 	for (i=0;i<nbv;i++){
 		vertices[i].r.x=x[i];
@@ -5249,17 +5249,17 @@
 		//Insert points inside existing triangles
 		if (verbose>4) _printf_("      -- current number of vertices = " << nbv << "\n");
-		if (verbose>3) _printf_("      Creating initial Constrained Delaunay Triangulation..." << "\n");
-		if (verbose>3) _printf_("         Inserting boundary points" << "\n");
+		if (verbose>3) _printf_("      Creating initial Constrained Delaunay Triangulation...\n");
+		if (verbose>3) _printf_("         Inserting boundary points\n");
 		Insert();
 
 		//Force the boundary
-		if (verbose>3) _printf_("         Forcing boundaries" << "\n");
+		if (verbose>3) _printf_("         Forcing boundaries\n");
 		ForceBoundary();
 
 		//Extract SubDomains
-		if (verbose>3) _printf_("         Extracting subdomains" << "\n");
+		if (verbose>3) _printf_("         Extracting subdomains\n");
 		FindSubDomain();
 
-		if (verbose>3) _printf_("      Inserting internal points" << "\n");
+		if (verbose>3) _printf_("      Inserting internal points\n");
 		NewPoints(*this,bamgopts,0) ;
 		if (verbose>4) _printf_("      -- current number of vertices = " << nbv << "\n");
@@ -5367,8 +5367,8 @@
 
 					//_printf_("Dealing with curve number " << nc << "\n");
-					//_printf_("edge on geometry is same as GhCurve? " << (ei.GeomEdgeHook==Gh.curves[nc].FirstEdge || ei.GeomEdgeHook==Gh.curves[nc].LastEdge)?"yes":"no" << "\n");
+					//_printf_("edge on geometry is same as GhCurve? " << (ei.GeomEdgeHook==Gh.curves[nc].FirstEdge || ei.GeomEdgeHook==Gh.curves[nc].LastEdge)?"yes":"no\n");
 					//if(ei.GeomEdgeHook==Gh.curves[nc].FirstEdge || ei.GeomEdgeHook==Gh.curves[nc].LastEdge){
-					//	_printf_("Do we have the right extremity? curve first vertex -> " << ((GeomVertex *)*ei[je].GeomEdgeHook==&(*Gh.curves[nc].FirstEdge)[Gh.curves[nc].FirstVertexIndex])?"yes":"no" << "\n");
-					//	_printf_("Do we have the right extremity? curve last  vertex -> " << ((GeomVertex *)*ei[je].GeomEdgeHook==&(*Gh.curves[nc].LastEdge)[Gh.curves[nc].LastVertexIndex])?"yes":"no" << "\n");
+					//	_printf_("Do we have the right extremity? curve first vertex -> " << ((GeomVertex *)*ei[je].GeomEdgeHook==&(*Gh.curves[nc].FirstEdge)[Gh.curves[nc].FirstVertexIndex])?"yes":"no\n");
+					//	_printf_("Do we have the right extremity? curve last  vertex -> " << ((GeomVertex *)*ei[je].GeomEdgeHook==&(*Gh.curves[nc].LastEdge)[Gh.curves[nc].LastVertexIndex])?"yes":"no\n");
 					//}
 					//BUG FIX from original bamg
@@ -5578,17 +5578,17 @@
 		//Insert points inside existing triangles
 		if (verbose>4) _printf_("      -- current number of vertices = " << nbv << "\n");
-		if (verbose>3) _printf_("      Creating initial Constrained Delaunay Triangulation..." << "\n");
-		if (verbose>3) _printf_("         Inserting boundary points" << "\n");
+		if (verbose>3) _printf_("      Creating initial Constrained Delaunay Triangulation...\n");
+		if (verbose>3) _printf_("         Inserting boundary points\n");
 		Insert();
 
 		//Force the boundary
-		if (verbose>3) _printf_("         Forcing boundaries" << "\n");
+		if (verbose>3) _printf_("         Forcing boundaries\n");
 		ForceBoundary();
 
 		//Extract SubDomains
-		if (verbose>3) _printf_("         Extracting subdomains" << "\n");
+		if (verbose>3) _printf_("         Extracting subdomains\n");
 		FindSubDomain();
 
-		if (verbose>3) _printf_("      Inserting internal points" << "\n");
+		if (verbose>3) _printf_("      Inserting internal points\n");
 		NewPoints(BTh,bamgopts,KeepVertices) ;
 		if (verbose>4) _printf_("      -- current number of vertices = " << nbv << "\n");
Index: /issm/trunk-jpl/src/c/bamg/Metric.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/Metric.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/bamg/Metric.cpp	(revision 15104)
@@ -71,6 +71,6 @@
 	void Metric::Echo(void){
 
-		_printf_("Metric:" << "\n");
-		_printf_("   [a11 a21 a22]: [" << a11 << " " << a21 << " " << a22 << "]" << "\n");
+		_printf_("Metric:\n");
+		_printf_("   [a11 a21 a22]: [" << a11 << " " << a21 << " " << a22 << "]\n");
 
 		return;
Index: /issm/trunk-jpl/src/c/bamg/Triangle.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/Triangle.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/bamg/Triangle.cpp	(revision 15104)
@@ -109,8 +109,8 @@
 		int i;
 
-		_printf_("Triangle:" << "\n");
-		_printf_("   vertices pointer towards three vertices" << "\n");
+		_printf_("Triangle:\n");
+		_printf_("   vertices pointer towards three vertices\n");
 		_printf_("      vertices[0] vertices[1] vertices[2] = " << vertices[0] << " " << vertices[1] << " " << vertices[2] << "\n");
-		_printf_("   adj pointer towards three adjacent triangles" << "\n");
+		_printf_("   adj pointer towards three adjacent triangles\n");
 		_printf_("      adj[0] adj[1] adj[2] = " << adj[0] << " " << adj[1] << " " << adj[2] << "\n");
 		_printf_("   det (integer triangle determinant) = " << det << "\n");
@@ -122,5 +122,5 @@
 		}
 
-		_printf_("\nThree vertices:" << "\n");
+		_printf_("\nThree vertices:\n");
 		for(i=0;i<3;i++){
 			if (vertices[i]){
@@ -128,5 +128,5 @@
 			}
 			else{
-				_printf_("   vertex " << i+1 << " does not exist" << "\n");
+				_printf_("   vertex " << i+1 << " does not exist\n");
 			}
 		}
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp	(revision 15104)
@@ -42,5 +42,5 @@
 void SpcDynamic::Echo(void){
 
-	_printf_("SpcDynamic:" << "\n");
+	_printf_("SpcDynamic:\n");
 	_printf_("   sid: " << sid << "\n");
 	_printf_("   nodeid: " << nodeid << "\n");
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp	(revision 15104)
@@ -41,5 +41,5 @@
 void SpcStatic::Echo(void){
 
-	_printf_("SpcStatic:" << "\n");
+	_printf_("SpcStatic:\n");
 	_printf_("   sid: " << sid << "\n");
 	_printf_("   nodeid: " << nodeid << "\n");
@@ -53,5 +53,5 @@
 void SpcStatic::DeepEcho(void){
 
-	_printf_("SpcStatic:" << "\n");
+	_printf_("SpcStatic:\n");
 	_printf_("   sid: " << sid << "\n");
 	_printf_("   nodeid: " << nodeid << "\n");
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp	(revision 15104)
@@ -56,5 +56,5 @@
 
 	int i;
-	_printf_("SpcTransient:" << "\n");
+	_printf_("SpcTransient:\n");
 	_printf_("   sid: " << sid << "\n");
 	_printf_("   nodeid: " << nodeid << "\n");
@@ -62,5 +62,5 @@
 	_printf_("   nsteps: " << nsteps << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
-	_printf_("   steps|times|values" << "\n");
+	_printf_("   steps|times|values\n");
 	for(i=0;i<nsteps;i++){
 		_printf_(i << "-" << times[i] << ":" << values[i] << "\n");
Index: /issm/trunk-jpl/src/c/classes/Contour.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Contour.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Contour.h	(revision 15104)
@@ -61,5 +61,5 @@
 			_printf_("  closed: " << (closed?"true":"false") << "\n");
 			if(nods){
-				_printf_("   x , y:" << "\n");
+				_printf_("   x , y:\n");
 				for(int i=0;i<nods;i++){
 					_printf_(i << ": " << x[i] << " | " << y[i] << "\n");
Index: /issm/trunk-jpl/src/c/classes/DependentObject.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/DependentObject.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/DependentObject.cpp	(revision 15104)
@@ -40,10 +40,10 @@
 void DependentObject::Echo(void){
 
-	_printf_("DependentObject:" << "\n");
+	_printf_("DependentObject:\n");
 	_printf_("   name: " << EnumToStringx(this->name) << "\n");
 	if(this->type==0)
-		_printf_("   type: scalar" << "\n");
+		_printf_("   type: scalar\n");
 	else if(this->type==1)
-		_printf_("   type: vertex" << "\n");
+		_printf_("   type: vertex\n");
 	else
 		_error_(" unknown type: " << this->type);
Index: /issm/trunk-jpl/src/c/classes/DofIndexing.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/DofIndexing.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/DofIndexing.cpp	(revision 15104)
@@ -163,5 +163,5 @@
 void DofIndexing::Echo(void){
 
-	_printf_("DofIndexing:" << "\n");
+	_printf_("DofIndexing:\n");
 	_printf_("   gsize: " << gsize << "\n");
 	_printf_("   clone: " << clone << "\n");
@@ -173,5 +173,5 @@
 	int i;
 
-	_printf_("DofIndexing:" << "\n");
+	_printf_("DofIndexing:\n");
 	_printf_("   gsize: " << gsize << "\n");
 	_printf_("   fsize: " << fsize << "\n");
@@ -179,5 +179,5 @@
 	_printf_("   clone: " << clone << "\n");
 
-	_printf_("   set membership: f,s sets " << "\n");
+	_printf_("   set membership: f,s sets \n");
 	for(i=0;i<gsize;i++){
 		_printf_("      dof " << i << ": " <<(f_set[i]?"true":"false")<< " " <<(s_set[i]?"true":"false") << "\n");
@@ -188,5 +188,5 @@
 		if(this->s_set[i])_printf_(" " << svalues[i] << " |");
 	}
-	_printf_("" << "\n");
+	_printf_("\n");
 
 	if(doftype){
@@ -195,7 +195,7 @@
 			_printf_(" " << doftype[i] << " |");
 		}
-		_printf_("" << "\n");
-	}
-	else _printf_("   doftype: NULL" << "\n");
+		_printf_("\n");
+	}
+	else _printf_("   doftype: NULL\n");
 
 	_printf_("   g_doflist (" << this->gsize << "): |");
@@ -203,5 +203,5 @@
 		_printf_(" " << gdoflist[i] << " |");
 	}
-	_printf_("" << "\n");
+	_printf_("\n");
 
 	_printf_("   f_doflist (" << this->fsize << "): |");
@@ -209,5 +209,5 @@
 		_printf_(" " << fdoflist[i] << " |");
 	}
-	_printf_("" << "\n");
+	_printf_("\n");
 
 	_printf_("   s_doflist (" << this->ssize << "): |");
@@ -215,5 +215,5 @@
 		_printf_(" " << sdoflist[i] << " |");
 	}
-	_printf_("" << "\n");
+	_printf_("\n");
 }		
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/ElementResults/BoolElementResult.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/ElementResults/BoolElementResult.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/ElementResults/BoolElementResult.cpp	(revision 15104)
@@ -42,6 +42,6 @@
 void BoolElementResult::DeepEcho(void){
 
-	_printf_("BoolElementResult:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("BoolElementResult:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: "<<(this->value?"true":"false") << "\n");
 	_printf_("   step: " << this->step << "\n");
Index: /issm/trunk-jpl/src/c/classes/ElementResults/DoubleElementResult.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/ElementResults/DoubleElementResult.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/ElementResults/DoubleElementResult.cpp	(revision 15104)
@@ -42,6 +42,6 @@
 void DoubleElementResult::DeepEcho(void){
 
-	_printf_("DoubleElementResult:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleElementResult:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " << this->value << "\n");
 	_printf_("   step: " << this->step << "\n");
Index: /issm/trunk-jpl/src/c/classes/ElementResults/PentaP1ElementResult.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/ElementResults/PentaP1ElementResult.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/ElementResults/PentaP1ElementResult.cpp	(revision 15104)
@@ -44,7 +44,7 @@
 void PentaP1ElementResult::DeepEcho(void){
 
-	_printf_("PentaP1ElementResult:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
-	_printf_("   values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << " " << this->values[3] << " " << this->values[4] << " " << this->values[5] << "]" << "\n");
+	_printf_("PentaP1ElementResult:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
+	_printf_("   values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << " " << this->values[3] << " " << this->values[4] << " " << this->values[5] << "]\n");
 	_printf_("   step: " << this->step << "\n");
 	_printf_("   time: " << this->time << "\n");
Index: /issm/trunk-jpl/src/c/classes/ElementResults/TriaP1ElementResult.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/ElementResults/TriaP1ElementResult.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/ElementResults/TriaP1ElementResult.cpp	(revision 15104)
@@ -44,7 +44,7 @@
 void TriaP1ElementResult::DeepEcho(void){
 
-	_printf_("TriaP1ElementResult:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
-	_printf_("   values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << "]" << "\n");
+	_printf_("TriaP1ElementResult:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
+	_printf_("   values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << "]\n");
 	_printf_("   step: " << this->step << "\n");
 	_printf_("   time: " << this->time << "\n");
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15104)
@@ -668,5 +668,5 @@
 void Penta::DeepEcho(void){
 
-	_printf_("Penta:" << "\n");
+	_printf_("Penta:\n");
 	_printf_("   id: " << id << "\n");
 	nodes[0]->DeepEcho();
@@ -679,11 +679,11 @@
 	matpar->DeepEcho();
 	_printf_("   neighbor ids: " << verticalneighbors[0]->Id() << "-" << verticalneighbors[1]->Id() << "\n");
-	_printf_("   parameters" << "\n");
+	_printf_("   parameters\n");
 	parameters->DeepEcho();
-	_printf_("   inputs" << "\n");
+	_printf_("   inputs\n");
 	inputs->DeepEcho();
-	_printf_("   results" << "\n");
+	_printf_("   results\n");
 	results->DeepEcho();
-	_printf_("neighboor sids: " << "\n");
+	_printf_("neighboor sids: \n");
 	_printf_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n");
 }
@@ -1335,5 +1335,5 @@
 	}
 	else{
-		_printf_("Interpolation " << EnumToStringx(interp) << " not supported" << "\n");
+		_printf_("Interpolation " << EnumToStringx(interp) << " not supported\n");
 	}
 }
@@ -4560,6 +4560,6 @@
 		/*Check solution*/
 		if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector");
-		//if(values[i]<0)      _printf_("temperature < 0°K found in solution vector" << "\n");
-		//if(values[i]>275)    _printf_("temperature > 275°K found in solution vector (Paterson's rheology associated is negative)" << "\n");
+		//if(values[i]<0)      _printf_("temperature < 0°K found in solution vector\n");
+		//if(values[i]>275)    _printf_("temperature > 275°K found in solution vector (Paterson's rheology associated is negative)\n");
 	}
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15104)
@@ -935,5 +935,5 @@
 void Tria::DeepEcho(void){
 
-	_printf_("Tria:" << "\n");
+	_printf_("Tria:\n");
 	_printf_("   id: " << id << "\n");
 	if(nodes){
@@ -942,24 +942,24 @@
 		nodes[2]->DeepEcho();
 	}
-	else _printf_("nodes = NULL" << "\n");
+	else _printf_("nodes = NULL\n");
 
 	if (material) material->DeepEcho();
-	else _printf_("material = NULL" << "\n");
+	else _printf_("material = NULL\n");
 
 	if (matpar) matpar->DeepEcho();
-	else _printf_("matpar = NULL" << "\n");
-
-	_printf_("   parameters" << "\n");
+	else _printf_("matpar = NULL\n");
+
+	_printf_("   parameters\n");
 	if (parameters) parameters->DeepEcho();
-	else _printf_("parameters = NULL" << "\n");
-
-	_printf_("   inputs" << "\n");
+	else _printf_("parameters = NULL\n");
+
+	_printf_("   inputs\n");
 	if (inputs) inputs->DeepEcho();
-	else _printf_("inputs=NULL" << "\n");
+	else _printf_("inputs=NULL\n");
 
 	if (results) results->DeepEcho();
-	else _printf_("results=NULL" << "\n");
-
-	_printf_("neighboor sids: " << "\n");
+	else _printf_("results=NULL\n");
+
+	_printf_("neighboor sids: \n");
 	_printf_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n");
 
@@ -1047,5 +1047,5 @@
 /*FUNCTION Tria::Echo{{{*/
 void Tria::Echo(void){
-	_printf_("Tria:" << "\n");
+	_printf_("Tria:\n");
 	_printf_("   id: " << id << "\n");
 	if(nodes){
@@ -1054,24 +1054,24 @@
 		nodes[2]->Echo();
 	}
-	else _printf_("nodes = NULL" << "\n");
+	else _printf_("nodes = NULL\n");
 
 	if (material) material->Echo();
-	else _printf_("material = NULL" << "\n");
+	else _printf_("material = NULL\n");
 
 	if (matpar) matpar->Echo();
-	else _printf_("matpar = NULL" << "\n");
-
-	_printf_("   parameters" << "\n");
+	else _printf_("matpar = NULL\n");
+
+	_printf_("   parameters\n");
 	if (parameters) parameters->Echo();
-	else _printf_("parameters = NULL" << "\n");
-
-	_printf_("   inputs" << "\n");
+	else _printf_("parameters = NULL\n");
+
+	_printf_("   inputs\n");
 	if (inputs) inputs->Echo();
-	else _printf_("inputs=NULL" << "\n");
+	else _printf_("inputs=NULL\n");
 
 	if (results) results->Echo();
-	else _printf_("results=NULL" << "\n");
-
-	_printf_("neighboor sids: " << "\n");
+	else _printf_("results=NULL\n");
+
+	_printf_("neighboor sids: \n");
 	_printf_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n");
 }
@@ -1559,5 +1559,5 @@
 	}
 	else{
-		_printf_("Interpolation " << EnumToStringx(interp) << " not supported" << "\n");
+		_printf_("Interpolation " << EnumToStringx(interp) << " not supported\n");
 	}
 }
Index: /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h	(revision 15104)
@@ -34,5 +34,5 @@
 		void GenericEcho(void){/*{{{*/
 			_printf_("   id: " << this->id << "\n");
-			_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+			_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 			_printf_("   step: " << this->step << "\n");
 			_printf_("   time: " << this->time << "\n");
@@ -143,5 +143,5 @@
 template <> inline void GenericExternalResult<bool>::DeepEcho(void){ /*{{{*/
 
-	_printf_("GenericExternalResult<bool>:" << "\n");
+	_printf_("GenericExternalResult<bool>:\n");
 	this->GenericEcho();
 	_printf_("   value: " <<(this->value?"true":"false") << "\n");
@@ -155,5 +155,5 @@
 template <> inline void GenericExternalResult<int>::DeepEcho(void){ /*{{{*/
 
-	_printf_("GenericExternalResult<int>:" << "\n");
+	_printf_("GenericExternalResult<int>:\n");
 	this->GenericEcho();
 	_printf_("   value: " << this->value << "\n");
@@ -167,5 +167,5 @@
 template <> inline void GenericExternalResult<double>::DeepEcho(void){ /*{{{*/
 
-	_printf_("GenericExternalResult<double>:" << "\n");
+	_printf_("GenericExternalResult<double>:\n");
 	this->GenericEcho();
 	_printf_("   value: " << this->value << "\n");
@@ -192,5 +192,5 @@
 template <> inline void GenericExternalResult<char*>::DeepEcho(void){ /*{{{*/
 
-	_printf_("GenericExternalResult<char*>:" << "\n");
+	_printf_("GenericExternalResult<char*>:\n");
 	this->GenericEcho();
 	_printf_("   value: " << this->value << "\n");
@@ -252,5 +252,5 @@
 template <> inline void GenericExternalResult<IssmPDouble*>::Echo(void){ /*{{{*/
 
-	_printf_("GenericExternalResult<IssmPDouble*>:" << "\n");
+	_printf_("GenericExternalResult<IssmPDouble*>:\n");
 	this->GenericEcho();
 	_printf_("   matrix size: " << this->M << "-" << this->N << "\n");
@@ -261,5 +261,5 @@
 	int i,j;
 
-	_printf_("GenericExternalResult<IssmPDouble*>:" << "\n");
+	_printf_("GenericExternalResult<IssmPDouble*>:\n");
 	this->GenericEcho();
 
@@ -270,5 +270,5 @@
 			_printf_( " " << setw(11) << setprecision (5) << this->value[i*this->N+j]);
 		}  
-		_printf_(" ]" << "\n");
+		_printf_(" ]\n");
 	}  
 
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 15104)
@@ -118,5 +118,5 @@
 	this->parameters->FindParam(&lockfilename,LockFileNameEnum);
 	if (waitonlock>0){
-		_printf0_("write lock file:" << "\n");
+		_printf0_("write lock file:\n");
 		WriteLockFile(lockfilename);
 	}
@@ -137,8 +137,8 @@
 	/*Before we delete the profiler, report statistics for this run: */
 	profiler->Tag(Finish);  //final tagging
-	_printf0_("" << "\n");
+	_printf0_("\n");
 	_printf0_("   "<<setw(40)<<left<<"FemModel initialization elapsed time:"<<profiler->DeltaTime(StartInit,FinishInit) << "\n");
 	_printf0_("   "<<setw(40)<<left<<"Core solution elapsed time:"<<profiler->DeltaTime(StartCore,FinishCore) << "\n");
-	_printf0_("" << "\n");
+	_printf0_("\n");
 	_printf0_("   Total elapsed time:"
 			<<profiler->DeltaTimeModHour(Start,Finish)<<" hrs "
@@ -146,5 +146,5 @@
 			<<profiler->DeltaTimeModSec(Start,Finish)<<" sec"
 			);
-	_printf0_("" << "\n");
+	_printf0_("\n");
 
 	/*Now delete: */
@@ -153,5 +153,5 @@
 	/*Finalize PETSC for this model: */
 	#ifdef _HAVE_PETSC_
-	_printf0_("closing Petsc" << "\n");
+	_printf0_("closing Petsc\n");
 	PetscFinalize(); 
 	#endif
@@ -164,9 +164,9 @@
 void FemModel::Echo(void){
 
-	_printf_("FemModel echo: " << "\n");
+	_printf_("FemModel echo: \n");
 	_printf_("   number of fem models: " << nummodels << "\n");
-	_printf_("   analysis_type_list: " << "\n");
+	_printf_("   analysis_type_list: \n");
 	for(int i=0;i<nummodels;i++)_printf_("     " << i << ": " << EnumToStringx(analysis_type_list[i]) << "\n");
-	_printf_("   current analysis_type: " << "\n");
+	_printf_("   current analysis_type: \n");
 	_printf_("     " << analysis_counter << ": " << EnumToStringx(analysis_type_list[analysis_counter]) << "\n");
 
@@ -208,20 +208,20 @@
 	for(i=0;i<nummodels;i++){
 
-		if(VerboseMProcessor()) _printf0_("   Processing finite element model of analysis " << EnumToStringx(analysis_type_list[i]) << ":" << "\n");
+		if(VerboseMProcessor()) _printf0_("   Processing finite element model of analysis " << EnumToStringx(analysis_type_list[i]) << ":\n");
 		analysis_type=analysis_type_list[i];
 		this->SetCurrentConfiguration(analysis_type);
 
 		if(i==0){
-			if(VerboseMProcessor()) _printf0_("      creating vertex degrees of freedom" << "\n");
+			if(VerboseMProcessor()) _printf0_("      creating vertex degrees of freedom\n");
 			VerticesDofx(vertices,parameters); //only call once, we only have one set of vertices
 		}
 
-		if(VerboseMProcessor()) _printf0_("      resolving node constraints" << "\n");
+		if(VerboseMProcessor()) _printf0_("      resolving node constraints\n");
 		SpcNodesx(nodes,constraints,parameters,analysis_type); 
 
-		if(VerboseMProcessor()) _printf0_("      creating nodal degrees of freedom" << "\n");
+		if(VerboseMProcessor()) _printf0_("      creating nodal degrees of freedom\n");
 		NodesDofx(nodes,parameters,analysis_type);
 
-		if(VerboseMProcessor()) _printf0_("      configuring element and loads" << "\n");
+		if(VerboseMProcessor()) _printf0_("      configuring element and loads\n");
 		ConfigureObjectsx(elements, loads, nodes, vertices, materials,parameters);
 	}
@@ -247,5 +247,5 @@
 void FemModel::OutputResults(void){
 
-	_printf0_("write results to disk:" << "\n");
+	_printf0_("write results to disk:\n");
 
 	/*Just call the OutputResultsx module: */
@@ -317,5 +317,5 @@
 	void (*solutioncore)(FemModel*)=NULL; //core solution function pointer
 
-	_printf0_("call computational core:" << "\n");
+	_printf0_("call computational core:\n");
 
 	/*Retrieve solution_type from parameters: */
@@ -343,7 +343,7 @@
 		solution_memory=profiler->Memory(FinishCore);
 
-		_printf0_("Solution elapsed time  : " << solution_time << "  Seconds" << "\n");
-		_printf0_("Solution elapsed flops : " << solution_flops << "  Flops" << "\n");
-		_printf0_("Solution memory used   : " << solution_memory << "  Bytes" << "\n");
+		_printf0_("Solution elapsed time  : " << solution_time << "  Seconds\n");
+		_printf0_("Solution elapsed flops : " << solution_flops << "  Flops\n");
+		_printf0_("Solution memory used   : " << solution_memory << "  Bytes\n");
 
 		/*Add to results: */
@@ -829,5 +829,5 @@
 
 	/*Display message*/
-	if(VerboseModule()) _printf0_("   Generating matrices" << "\n");
+	if(VerboseModule()) _printf0_("   Generating matrices\n");
 
 	/*retrive parameters: */
@@ -1551,5 +1551,5 @@
 		for(i=0;i<d_numresponses-1;i++)_printf_(d_responses[i] << "|");
 		_printf_(d_responses[d_numresponses-1]);
-		_printf_("" << "\n");
+		_printf_("\n");
 	}
 	/*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Hook.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Hook.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Hook.cpp	(revision 15104)
@@ -66,15 +66,15 @@
 	int i;
 	if (num){
-		_printf_("   Hook: " << "\n");
+		_printf_("   Hook: \n");
 		_printf_("      num=" << this->num << "\n");
 		_printf_("      ids: ");
 		for (i=0;i<this->num;i++) _printf_(this->ids[i] << " ");
-		_printf_("" << "\n");
+		_printf_("\n");
 		_printf_("      offsets: ");
 		for (i=0;i<this->num;i++) _printf_(this->offsets[i] << " ");
-		_printf_("" << "\n");
+		_printf_("\n");
 	}
 	else{
-		_printf_("   Hook: num=0 " << "\n");
+		_printf_("   Hook: num=0 \n");
 	}
 }
@@ -85,13 +85,13 @@
 	int i;
 	if (num){
-		_printf_("   Hook: " << "\n");
+		_printf_("   Hook: \n");
 		_printf_("      num=" << this->num << "\n");
 		_printf_("      ids: ");
 		for (i=0;i<this->num;i++) _printf_(this->ids[i] << " ");
-		_printf_("" << "\n");
+		_printf_("\n");
 		_printf_("      offsets: ");
 		for (i=0;i<this->num;i++) _printf_(this->offsets[i] << " ");
-		_printf_("" << "\n");
-		if (!objects) _printf_("      warning: object not hooked yet" << "\n");
+		_printf_("\n");
+		if (!objects) _printf_("      warning: object not hooked yet\n");
 		else{
 			_printf_("      objects:\n   ");
@@ -99,10 +99,10 @@
 				_printf_("         object " << i << "\n");
 				if(objects[i]) objects[i]->DeepEcho();
-				else           _printf_("            no object hooked yet (not configured)" << "\n");
+				else           _printf_("            no object hooked yet (not configured)\n");
 			}
 		}
 	}
 	else{
-		_printf_("   Hook: num=0 " << "\n");
+		_printf_("   Hook: num=0 \n");
 	}
 }
Index: /issm/trunk-jpl/src/c/classes/IndependentObject.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/IndependentObject.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/IndependentObject.cpp	(revision 15104)
@@ -41,10 +41,10 @@
 void IndependentObject::Echo(void){
 
-	_printf_("IndependentObject:" << "\n");
+	_printf_("IndependentObject:\n");
 	_printf_("   name: " << EnumToStringx(this->name) << "\n");
 	if(this->type==0)
-		_printf_("   type: scalar" << "\n");
+		_printf_("   type: scalar\n");
 	else if(this->type==1)
-		_printf_("   type: vertex" << "\n");
+		_printf_("   type: vertex\n");
 	else
 		_error_(" unknown type: " << this->type);
Index: /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 15104)
@@ -40,6 +40,6 @@
 void BoolInput::DeepEcho(void){
 
-	_printf_("BoolInput:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("BoolInput:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " <<(value?"true":"false") << "\n");
 }
Index: /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp	(revision 15104)
@@ -67,11 +67,11 @@
 void ControlInput::DeepEcho(void){
 
-	_printf_("ControlInput:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
-	_printf_("---values: " << "\n");     if (values)      values->Echo();
-	_printf_("---savedvalues: " << "\n");if (savedvalues) savedvalues->Echo();
-	_printf_("---minvalues: " << "\n");  if (minvalues)   minvalues->Echo();
-	_printf_("---maxvalues: " << "\n");  if (maxvalues)   maxvalues->Echo();
-	_printf_("---gradient: " << "\n");   if (gradient)    gradient->Echo();
+	_printf_("ControlInput:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
+	_printf_("---values: \n");     if (values)      values->Echo();
+	_printf_("---savedvalues: \n");if (savedvalues) savedvalues->Echo();
+	_printf_("---minvalues: \n");  if (minvalues)   minvalues->Echo();
+	_printf_("---maxvalues: \n");  if (maxvalues)   maxvalues->Echo();
+	_printf_("---gradient: \n");   if (gradient)    gradient->Echo();
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp	(revision 15104)
@@ -42,7 +42,7 @@
 void DatasetInput::DeepEcho(void){
 
-	_printf_("DatasetInput:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
-	_printf_("---inputs: " << "\n"); inputs->Echo();
+	_printf_("DatasetInput:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
+	_printf_("---inputs: \n"); inputs->Echo();
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 15104)
@@ -40,6 +40,6 @@
 void DoubleInput::DeepEcho(void){
 
-	_printf_("DoubleInput:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleInput:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " << this->value << "\n");
 }
Index: /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 15104)
@@ -35,6 +35,6 @@
 void IntInput::DeepEcho(void){
 
-	_printf_("IntInput:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("IntInput:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " << (int)this->value << "\n");
 }
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp	(revision 15104)
@@ -51,7 +51,7 @@
 void PentaP1Input::DeepEcho(void){
 
-	_printf_("PentaP1Input:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
-	_printf_("   values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << " " << this->values[3] << " " << this->values[4] << " " << this->values[5] << "]" << "\n");
+	_printf_("PentaP1Input:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
+	_printf_("   values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << " " << this->values[3] << " " << this->values[4] << " " << this->values[5] << "]\n");
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 15104)
@@ -61,10 +61,10 @@
 	int i;
 
-	_printf_("TransientInput:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("TransientInput:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   numtimesteps: " << this->numtimesteps << "\n");
-	_printf_("---inputs: " << "\n"); 
+	_printf_("---inputs: \n"); 
 	for(i=0;i<this->numtimesteps;i++){
-		_printf_("   time: " << this->timesteps[i] << "  " << "\n");
+		_printf_("   time: " << this->timesteps[i] << "  \n");
 		((Input*)this->inputs->GetObjectByOffset(i))->Echo();
 	}
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp	(revision 15104)
@@ -51,7 +51,7 @@
 void TriaP1Input::DeepEcho(void){
 
-	_printf_("TriaP1Input:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
-	_printf_("   values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << "]" << "\n");
+	_printf_("TriaP1Input:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
+	_printf_("   values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << "]\n");
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/IoModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/IoModel.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/IoModel.cpp	(revision 15104)
@@ -84,5 +84,5 @@
 		for(int i=0;i<MaximumNumberOfEnums;i++){
 			if(this->data[i]){
-				_printf0_("Info: previous pointer of " << EnumToStringx(i) << " has not been freed (DeleteData has not been called)" << "\n");
+				_printf0_("Info: previous pointer of " << EnumToStringx(i) << " has not been freed (DeleteData has not been called)\n");
 			}
 		}
@@ -125,18 +125,18 @@
 		else{
 			if(record_enum!=MaximumNumberOfEnums){
-				_printf0_("" << "\n");
-				_printf0_("=========================================================================" << "\n");
-				_printf0_(" Enums in marshalled file are not compatible with compiled code          " << "\n");
-				_printf0_("                                                                         " << "\n");
-				_printf0_("   * If you are running ISSM on a remote cluster:                        " << "\n");
-				_printf0_("     make sure that you are using the same version of ISSM on your local " << "\n");
-				_printf0_("     machine and remote cluster (you might need to run svn update)       " << "\n");
-				_printf0_("   * If you are running ISSM on your local machine:                      " << "\n");
-				_printf0_("     make sure that all the code is compiled (modules and executables)   " << "\n");
-				_printf0_("   * If you are a developer and just added a new Enum:                   " << "\n");
-				_printf0_("     you might need to run ./Synchronize.sh in src/c/EnumDefinitions     " << "\n");
-				_printf0_("     and recompile                                                       " << "\n");
-				_printf0_("=========================================================================" << "\n");
-				_printf0_("" << "\n");
+				_printf0_("\n");
+				_printf0_("=========================================================================\n");
+				_printf0_(" Enums in marshalled file are not compatible with compiled code          \n");
+				_printf0_("                                                                         \n");
+				_printf0_("   * If you are running ISSM on a remote cluster:                        \n");
+				_printf0_("     make sure that you are using the same version of ISSM on your local \n");
+				_printf0_("     machine and remote cluster (you might need to run svn update)       \n");
+				_printf0_("   * If you are running ISSM on your local machine:                      \n");
+				_printf0_("     make sure that all the code is compiled (modules and executables)   \n");
+				_printf0_("   * If you are a developer and just added a new Enum:                   \n");
+				_printf0_("     you might need to run ./Synchronize.sh in src/c/EnumDefinitions     \n");
+				_printf0_("     and recompile                                                       \n");
+				_printf0_("=========================================================================\n");
+				_printf0_("\n");
 				_error_("Enums not consistent (See error message above)");
 			}
Index: /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 15104)
@@ -43,5 +43,5 @@
 /*FUNCTION Friction::Echo {{{*/
 void Friction::Echo(void){
-	_printf_("Friction:" << "\n");
+	_printf_("Friction:\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
 	_printf_("   element_type: " << this->element_type << "\n");
Index: /issm/trunk-jpl/src/c/classes/Loads/Icefront.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Icefront.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Loads/Icefront.cpp	(revision 15104)
@@ -134,5 +134,5 @@
 /*FUNCTION Icefront::Echo {{{*/
 void Icefront::Echo(void){
-	_printf_("Icefront:" << "\n");
+	_printf_("Icefront:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
@@ -150,5 +150,5 @@
 void Icefront::DeepEcho(void){
 
-	_printf_("Icefront:" << "\n");
+	_printf_("Icefront:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
Index: /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.cpp	(revision 15104)
@@ -155,5 +155,5 @@
 /*FUNCTION Numericalflux::Echo {{{*/
 void Numericalflux::Echo(void){
-	_printf_("Numericalflux:" << "\n");
+	_printf_("Numericalflux:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
@@ -168,5 +168,5 @@
 void Numericalflux::DeepEcho(void){
 
-	_printf_("Numericalflux:" << "\n");
+	_printf_("Numericalflux:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
@@ -174,10 +174,10 @@
 	hvertices->DeepEcho();
 	helement->DeepEcho();
-	_printf_("   parameters" << "\n");
+	_printf_("   parameters\n");
 	if(parameters)
 	 parameters->DeepEcho();
 	else
-	 _printf_("      NULL" << "\n");
-	_printf_("   inputs" << "\n");
+	 _printf_("      NULL\n");
+	_printf_("   inputs\n");
 	inputs->DeepEcho();
 
Index: /issm/trunk-jpl/src/c/classes/Loads/Pengrid.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Pengrid.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Loads/Pengrid.cpp	(revision 15104)
@@ -103,5 +103,5 @@
 void Pengrid::DeepEcho(void){
 
-	_printf_("Pengrid:" << "\n");
+	_printf_("Pengrid:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
@@ -111,7 +111,7 @@
 	_printf_("   active " << this->active << "\n");
 	_printf_("   zigzag_counter " << this->zigzag_counter << "\n");
-	_printf_("   parameters" << "\n");
+	_printf_("   parameters\n");
 	parameters->DeepEcho();
-	_printf_("   inputs" << "\n");
+	_printf_("   inputs\n");
 	inputs->DeepEcho();
 }
Index: /issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp	(revision 15104)
@@ -51,5 +51,5 @@
 void Penpair::Echo(void){
 
-	_printf_("Penpair:" << "\n");
+	_printf_("Penpair:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
@@ -62,5 +62,5 @@
 void Penpair::DeepEcho(void){
 
-	_printf_("Penpair:" << "\n");
+	_printf_("Penpair:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
Index: /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 15104)
@@ -138,5 +138,5 @@
 	input=(Input*)this->inputs->GetInput(FractionIncrementEnum); input->GetInputValue(&fractionincrement);
 
-	_printf_("Riftfront:" << "\n");
+	_printf_("Riftfront:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
@@ -146,5 +146,5 @@
 	_printf_("   parameters: " << parameters << "\n");
 	_printf_("   inputs: " << inputs << "\n");
-	_printf_("   internal parameters: " << "\n");
+	_printf_("   internal parameters: \n");
 	_printf_("   normal: " << normal[0] << "|" << normal[1] << "\n");
 	_printf_("   length: " << length << "\n");
@@ -166,5 +166,5 @@
 void Riftfront::DeepEcho(void){
 
-	_printf_("Riftfront:" << "\n");
+	_printf_("Riftfront:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
@@ -172,7 +172,7 @@
 	helements->DeepEcho();
 	hmatpar->DeepEcho();
-	_printf_("   parameters" << "\n");
+	_printf_("   parameters\n");
 	if(parameters)parameters->DeepEcho();
-	_printf_("   inputs" << "\n");
+	_printf_("   inputs\n");
 	if(inputs)inputs->DeepEcho();
 }
@@ -702,5 +702,5 @@
 	this->active=activate;
 
-	//if ((penetration>0) && (this->active==1))_printf_("Riftfront " << Id() << " wants to be released" << "\n");
+	//if ((penetration>0) && (this->active==1))_printf_("Riftfront " << Id() << " wants to be released\n");
 
 	/*assign output pointer: */
Index: /issm/trunk-jpl/src/c/classes/Materials/Matdamageice.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matdamageice.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matdamageice.cpp	(revision 15104)
@@ -55,9 +55,9 @@
 void Matdamageice::Echo(void){
 
-	_printf_("Matdamageice:" << "\n");
+	_printf_("Matdamageice:\n");
 	_printf_("   mid: " << mid << "\n");
-	_printf_("   inputs:" << "\n");
+	_printf_("   inputs:\n");
 	inputs->Echo();
-	_printf_("   element:" << "\n");
+	_printf_("   element:\n");
 	helement->Echo();
 }
@@ -66,9 +66,9 @@
 void Matdamageice::DeepEcho(void){
 
-	_printf_("Matdamageice:" << "\n");
+	_printf_("Matdamageice:\n");
 	_printf_("   mid: " << mid << "\n");
-	_printf_("   inputs:" << "\n");
+	_printf_("   inputs:\n");
 	inputs->DeepEcho();
-	_printf_("   element:" << "\n");
+	_printf_("   element:\n");
 	helement->Echo();
 }		
Index: /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 15104)
@@ -69,9 +69,9 @@
 void Matice::Echo(void){
 
-	_printf_("Matice:" << "\n");
+	_printf_("Matice:\n");
 	_printf_("   mid: " << mid << "\n");
-	_printf_("   inputs:" << "\n");
+	_printf_("   inputs:\n");
 	inputs->Echo();
-	_printf_("   element:" << "\n");
+	_printf_("   element:\n");
 	helement->Echo();
 }
@@ -80,9 +80,9 @@
 void Matice::DeepEcho(void){
 
-	_printf_("Matice:" << "\n");
+	_printf_("Matice:\n");
 	_printf_("   mid: " << mid << "\n");
-	_printf_("   inputs:" << "\n");
+	_printf_("   inputs:\n");
 	inputs->DeepEcho();
-	_printf_("   element:" << "\n");
+	_printf_("   element:\n");
 	helement->Echo();
 }		
Index: /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 15104)
@@ -95,5 +95,5 @@
 void Matpar::Echo(void){
 
-	_printf_("Matpar:" << "\n");
+	_printf_("Matpar:\n");
 	_printf_("   mid: " << mid << "\n");
 	_printf_("   rho_ice: " << rho_ice << "\n");
Index: /issm/trunk-jpl/src/c/classes/Node.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Node.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Node.cpp	(revision 15104)
@@ -155,10 +155,10 @@
 void Node::Echo(void){
 
-	_printf_("Node:" << "\n");
+	_printf_("Node:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   sid: " << sid << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
 	indexing.Echo();
-	_printf_("   hvertex:     not displayed" << "\n");
+	_printf_("   hvertex:     not displayed\n");
 	_printf_("   inputs:      " << inputs << "\n");
 
@@ -168,12 +168,12 @@
 void Node::DeepEcho(void){
 
-	_printf_("Node:" << "\n");
+	_printf_("Node:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   sid: " << sid << "\n");
 	_printf_("   analysis_type: " << EnumToStringx(analysis_type) << "\n");
 	indexing.DeepEcho();
-	_printf_("Vertex:" << "\n");
+	_printf_("Vertex:\n");
 	hvertex->DeepEcho();
-	_printf_("   inputs" << "\n");
+	_printf_("   inputs\n");
 
 }
Index: /issm/trunk-jpl/src/c/classes/Options/GenericOption.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Options/GenericOption.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Options/GenericOption.h	(revision 15104)
@@ -64,5 +64,5 @@
 			bool  flag=true;
 
-			if(flag) _printf0_(indent << "         name: \"" << name << "\"" << "\n");
+			if(flag) _printf0_(indent << "         name: \"" << name << "\"\n");
 			if(flag) _printf0_(indent << "         numel: " << numel << "\n");
 			if(flag) _printf0_(indent << "         ndims: " << ndims << "\n");
@@ -71,5 +71,5 @@
 				if(flag) _printf0_(indent << "          size: " << cstr << "\n");
 			}
-			else if(flag) _printf0_(indent << "          size: [empty]" << "\n");
+			else if(flag) _printf0_(indent << "          size: [empty]\n");
 			_printf_(indent << "         value: " << value << "\n");;
 		} /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Options/Options.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Options/Options.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Options/Options.h	(revision 15104)
@@ -64,5 +64,5 @@
 			}
 			else{
-				if(GetOption(name)) _printf_("WARNING: option "<<name<<" found but fetched format not consistent, defaulting..." << "\n");
+				if(GetOption(name)) _printf_("WARNING: option "<<name<<" found but fetched format not consistent, defaulting...\n");
 				*pvalue=default_value;
 			}
Index: /issm/trunk-jpl/src/c/classes/Params/BoolParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/BoolParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/BoolParam.cpp	(revision 15104)
@@ -43,6 +43,6 @@
 void BoolParam::DeepEcho(void){
 
-	_printf_("BoolParam:" << "\n");
-	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("BoolParam:\n");
+	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " <<(this->value?"true":"false") << "\n");
 }
Index: /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp	(revision 15104)
@@ -44,6 +44,6 @@
 void DataSetParam::DeepEcho(void){
 
-	_printf_("DataSetParam:" << "\n");
-	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DataSetParam:\n");
+	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	this->value->Echo();
 }
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp	(revision 15104)
@@ -82,6 +82,6 @@
 void DoubleMatArrayParam::Echo(void){
 
-	_printf_("DoubleMatArrayParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleMatArrayParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   array size: " << this->M << "\n");
 	_printf_("   array pointer: " << this->array << "\n");
@@ -96,9 +96,9 @@
 	IssmDouble* matrix=NULL;
 
-	_printf_("DoubleMatArrayParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleMatArrayParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   array size: " << this->M << "\n");
 	for(i=0;i<M;i++){
-		_printf_("   array " << i << " (" << mdim_array[i] << "x" << ndim_array[i] << "):" << "\n");
+		_printf_("   array " << i << " (" << mdim_array[i] << "x" << ndim_array[i] << "):\n");
 		matrix=array[i];
 		m=mdim_array[i];
@@ -108,5 +108,5 @@
 			_printf_("   ");
 			for(k=0;k<n;k++)_printf_(*(matrix+n*j+k) << " ");
-			_printf_("" << "\n");
+			_printf_("\n");
 		}
 	}
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp	(revision 15104)
@@ -43,6 +43,6 @@
 void DoubleMatParam::Echo(void){
 
-	_printf_("DoubleMatParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleMatParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   matrix size: " << this->M << "x" << this->N << "\n");
 
@@ -54,6 +54,6 @@
 	int i,j;
 
-	_printf_("DoubleMatParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleMatParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   matrix size: " << this->M << "x" << this->N << "\n");
 	for(i=0;i<this->M;i++){
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleParam.cpp	(revision 15104)
@@ -40,6 +40,6 @@
 void DoubleParam::DeepEcho(void){
 
-	_printf_("DoubleParam:" << "\n");
-	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleParam:\n");
+	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " << this->value << "\n");
 }
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp	(revision 15104)
@@ -42,6 +42,6 @@
 void DoubleVecParam::Echo(void){
 
-	_printf_("DoubleVecParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleVecParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   vector size: " << this->M << "\n");
 
@@ -53,6 +53,6 @@
 	int i;
 
-	_printf_("DoubleVecParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("DoubleVecParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   vector size: " << this->M << "\n");
 	for(i=0;i<this->M;i++){
Index: /issm/trunk-jpl/src/c/classes/Params/FileParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/FileParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/FileParam.cpp	(revision 15104)
@@ -43,6 +43,6 @@
 void FileParam::DeepEcho(void){
 
-	_printf_("FileParam:" << "\n");
-	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("FileParam:\n");
+	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " << this->value << "\n");
 }
Index: /issm/trunk-jpl/src/c/classes/Params/GenericParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/GenericParam.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/GenericParam.h	(revision 15104)
@@ -39,6 +39,6 @@
                 // that any structured P must provide the friend << operator
                 void  DeepEcho() {
-                  _printf_("GenericParam:" << "\n");
-                  _printf_("   enum:  " << myEnumVal << " (" << EnumToStringx(myEnumVal) << ")" << "\n");
+                  _printf_("GenericParam:\n");
+                  _printf_("   enum:  " << myEnumVal << " (" << EnumToStringx(myEnumVal) << ")\n");
                   _printf_("   value: " << myP << "\n");;
                 }
Index: /issm/trunk-jpl/src/c/classes/Params/IntMatParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntMatParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/IntMatParam.cpp	(revision 15104)
@@ -43,6 +43,6 @@
 void IntMatParam::Echo(void){
 
-	_printf_("IntMatParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("IntMatParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   matrix size: " << this->M << "x" << this->N << "\n");
 
@@ -54,6 +54,6 @@
 	int i,j;
 
-	_printf_("IntMatParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("IntMatParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   matrix size: " << this->M << "x" << this->N << "\n");
 	for(i=0;i<this->M;i++){
Index: /issm/trunk-jpl/src/c/classes/Params/IntParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/IntParam.cpp	(revision 15104)
@@ -43,6 +43,6 @@
 void IntParam::DeepEcho(void){
 
-	_printf_("IntParam:" << "\n");
-	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("IntParam:\n");
+	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " << this->value << "\n");
 }
Index: /issm/trunk-jpl/src/c/classes/Params/IntVecParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntVecParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/IntVecParam.cpp	(revision 15104)
@@ -58,6 +58,6 @@
 void IntVecParam::Echo(void){
 
-	_printf_("IntVecParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("IntVecParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   vector size: " << this->M << "\n");
 
@@ -69,6 +69,6 @@
 	int i;
 
-	_printf_("IntVecParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("IntVecParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   vector size: " << this->M << "\n");
 	for(i=0;i<this->M;i++){
Index: /issm/trunk-jpl/src/c/classes/Params/MatrixParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/MatrixParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/MatrixParam.cpp	(revision 15104)
@@ -42,6 +42,6 @@
 void MatrixParam::Echo(void){
 
-	_printf_("MatrixParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("MatrixParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 
 }
@@ -50,6 +50,6 @@
 void MatrixParam::DeepEcho(void){
 
-	_printf_("MatrixParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("MatrixParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	this->value->Echo();
 }
Index: /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.cpp	(revision 15104)
@@ -70,6 +70,6 @@
 	char* string=NULL;
 
-	_printf_("StringArrayParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("StringArrayParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	for(i=0;i<this->numstrings;i++){
 		string=this->value[i];
Index: /issm/trunk-jpl/src/c/classes/Params/StringParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/StringParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/StringParam.cpp	(revision 15104)
@@ -44,6 +44,6 @@
 /*FUNCTION StringParam::DeepEcho{{{*/
 void StringParam::DeepEcho(void){
-	_printf_("StringParam:" << "\n");
-	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("StringParam:\n");
+	_printf_("   enum:  " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   value: " << this->value << "\n");
 }
Index: /issm/trunk-jpl/src/c/classes/Params/TransientParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/TransientParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/TransientParam.cpp	(revision 15104)
@@ -47,6 +47,6 @@
 void TransientParam::Echo(void){
 
-	_printf_("TransientParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("TransientParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   size: " << this->N << "\n");
 
@@ -56,6 +56,6 @@
 void TransientParam::DeepEcho(void){
 
-	_printf_("TransientParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("TransientParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	_printf_("   size: " << this->N << "\n");
 	for(int i=0;i<this->N;i++){
Index: /issm/trunk-jpl/src/c/classes/Params/VectorParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/VectorParam.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Params/VectorParam.cpp	(revision 15104)
@@ -44,6 +44,6 @@
 void VectorParam::Echo(void){
 
-	_printf_("VectorParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("VectorParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 
 }
@@ -52,6 +52,6 @@
 void VectorParam::DeepEcho(void){
 
-	_printf_("VectorParam:" << "\n");
-	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n");
+	_printf_("VectorParam:\n");
+	_printf_("   enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
 	value->Echo();
 }
Index: /issm/trunk-jpl/src/c/classes/Profiler.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Profiler.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Profiler.cpp	(revision 15104)
@@ -36,6 +36,6 @@
 void Profiler::Echo(void){
 
-	_printf_("Profiler:" << "\n");
-	_printf_("   time tags: " << "\n");
+	_printf_("Profiler:\n");
+	_printf_("   time tags: \n");
 	this->time->Echo();
 
@@ -45,6 +45,6 @@
 void Profiler::DeepEcho(void){
 
-	_printf_("Profiler:" << "\n");
-	_printf_("   time tags: " << "\n");
+	_printf_("Profiler:\n");
+	_printf_("   time tags: \n");
 	this->time->DeepEcho();
 
Index: /issm/trunk-jpl/src/c/classes/Segment.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Segment.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Segment.h	(revision 15104)
@@ -52,5 +52,5 @@
 		void Echo(void){
 
-			_printf_("Segment:" << "\n");
+			_printf_("Segment:\n");
 			_printf_("   eid: " << eid << "\n");
 			_printf_("   node 1: " << this->x1 << "|" << this->y1 << "\n");
Index: /issm/trunk-jpl/src/c/classes/Vertex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Vertex.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/Vertex.cpp	(revision 15104)
@@ -62,5 +62,5 @@
 void Vertex::Echo(void){
 
-	_printf_("Vertex:" << "\n");
+	_printf_("Vertex:\n");
 	_printf_("   id: " << id << "\n");
 	_printf_("   sid: " << sid << "\n");
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.cpp	(revision 15104)
@@ -251,5 +251,5 @@
 void GaussPenta::Echo(void){
 
-	_printf_("GaussPenta:" << "\n");
+	_printf_("GaussPenta:\n");
 	_printf_("   numgauss: " << numgauss << "\n");
 
@@ -257,31 +257,31 @@
 	 _printf_("   weights = ["); 
 	 for(int i=0;i<numgauss;i++) _printf_(" " << weights[i] << "\n");
-	 _printf_("]" << "\n");
-	}
-	else _printf_("weights = NULL" << "\n");
+	 _printf_("]\n");
+	}
+	else _printf_("weights = NULL\n");
 	if (coords1){
 	 _printf_("   coords1 = ["); 
 	 for(int i=0;i<numgauss;i++) _printf_(" " << coords1[i] << "\n");
-	 _printf_("]" << "\n");
-	}
-	else _printf_("coords1 = NULL" << "\n");
+	 _printf_("]\n");
+	}
+	else _printf_("coords1 = NULL\n");
 	if (coords2){
 	 _printf_("   coords2 = ["); 
 	 for(int i=0;i<numgauss;i++) _printf_(" " << coords2[i] << "\n");
-	 _printf_("]" << "\n");
-	}
-	else _printf_("coords2 = NULL" << "\n");
+	 _printf_("]\n");
+	}
+	else _printf_("coords2 = NULL\n");
 	if (coords3){
 	 _printf_("   coords3 = ["); 
 	 for(int i=0;i<numgauss;i++) _printf_(" " << coords3[i] << "\n");
-	 _printf_("]" << "\n");
-	}
-	else _printf_("coords3 = NULL" << "\n");
+	 _printf_("]\n");
+	}
+	else _printf_("coords3 = NULL\n");
 	if (coords4){
 		_printf_("   coords4 = ["); 
 		for(int i=0;i<numgauss;i++) _printf_(" " << coords4[i] << "\n");
-		_printf_("]" << "\n");
-	}
-	else _printf_("coords4 = NULL" << "\n");
+		_printf_("]\n");
+	}
+	else _printf_("coords4 = NULL\n");
 
 	_printf_("   weight = " << weight << "\n");
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp	(revision 15104)
@@ -263,5 +263,5 @@
 void GaussTria::Echo(void){
 
-	_printf_("GaussTria:" << "\n");
+	_printf_("GaussTria:\n");
 	_printf_("   numgauss: " << numgauss << "\n");
 
@@ -269,25 +269,25 @@
 	 _printf_("   weights = ["); 
 	 for(int i=0;i<numgauss;i++) _printf_(" " << weights[i] << "\n");
-	 _printf_("]" << "\n");
-	}
-	else _printf_("weights = NULL" << "\n");
+	 _printf_("]\n");
+	}
+	else _printf_("weights = NULL\n");
 	if (coords1){
 	 _printf_("   coords1 = ["); 
 	 for(int i=0;i<numgauss;i++) _printf_(" " << coords1[i] << "\n");
-	 _printf_("]" << "\n");
-	}
-	else _printf_("coords1 = NULL" << "\n");
+	 _printf_("]\n");
+	}
+	else _printf_("coords1 = NULL\n");
 	if (coords2){
 	 _printf_("   coords2 = ["); 
 	 for(int i=0;i<numgauss;i++) _printf_(" " << coords2[i] << "\n");
-	 _printf_("]" << "\n");
-	}
-	else _printf_("coords2 = NULL" << "\n");
+	 _printf_("]\n");
+	}
+	else _printf_("coords2 = NULL\n");
 	if (coords3){
 	 _printf_("   coords3 = ["); 
 	 for(int i=0;i<numgauss;i++) _printf_(" " << coords3[i] << "\n");
-	 _printf_("]" << "\n");
-	}
-	else _printf_("coords3 = NULL" << "\n");
+	 _printf_("]\n");
+	}
+	else _printf_("coords3 = NULL\n");
 
 	_printf_("   weight = " << weight << "\n");
Index: /issm/trunk-jpl/src/c/classes/kriging/ExponentialVariogram.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/ExponentialVariogram.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/kriging/ExponentialVariogram.cpp	(revision 15104)
@@ -47,5 +47,5 @@
 /*FUNCTION ExponentialVariogram::Echo {{{*/
 void ExponentialVariogram::Echo(void){
-	_printf_("ExponentialVariogram" << "\n");
+	_printf_("ExponentialVariogram\n");
 	_printf_("   nugget: " << this->nugget << "\n");
 	_printf_("   sill  : " << this->sill << "\n");
Index: /issm/trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp	(revision 15104)
@@ -47,5 +47,5 @@
 /*FUNCTION GaussianVariogram::Echo {{{*/
 void GaussianVariogram::Echo(void){
-	_printf_("GaussianVariogram" << "\n");
+	_printf_("GaussianVariogram\n");
 	_printf_("   nugget: " << this->nugget << "\n");
 	_printf_("   sill  : " << this->sill << "\n");
Index: /issm/trunk-jpl/src/c/classes/kriging/Observation.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/Observation.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/kriging/Observation.cpp	(revision 15104)
@@ -35,10 +35,10 @@
 void Observation::Echo(void){
 
-	_printf_("Observation" << "\n");
+	_printf_("Observation\n");
 	_printf_("   index : " << this->index << "\n");
 	_printf_("   x     : " << this->x << "\n");
 	_printf_("   y     : " << this->y << "\n");
-	_printf_("   xi    : " << "\n"); printbinary(this->xi); _printf_("\n");
-	_printf_("   yi    : " << "\n"); printbinary(this->yi); _printf_("\n");
+	_printf_("   xi    : \n"); printbinary(this->xi); _printf_("\n");
+	_printf_("   yi    : \n"); printbinary(this->yi); _printf_("\n");
 	_printf_("   weight: " << this->weight << "\n");
 	_printf_("   value : " << this->value << "\n");
Index: /issm/trunk-jpl/src/c/classes/kriging/Observations.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/Observations.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/kriging/Observations.cpp	(revision 15104)
@@ -107,5 +107,5 @@
 		}
 	}
-	_printf0_("done" << "\n");
+	_printf0_("done\n");
 	_printf0_("Initial number of observations: " << n << "\n");
 	_printf0_("  Final number of observations: " << this->quadtree->NbObs << "\n");
Index: /issm/trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp	(revision 15104)
@@ -48,5 +48,5 @@
 /*FUNCTION PowerVariogram::Echo {{{*/
 void PowerVariogram::Echo(void){
-	_printf_("PowerVariogram" << "\n");
+	_printf_("PowerVariogram\n");
 	_printf_("   nugget: " << this->nugget << "\n");
 	_printf_("   slope : " << this->slope << "\n");
Index: /issm/trunk-jpl/src/c/classes/kriging/Quadtree.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/Quadtree.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/kriging/Quadtree.cpp	(revision 15104)
@@ -297,5 +297,5 @@
 void  Quadtree::Echo(void){
 
-	_printf_("Quadtree:" << "\n");
+	_printf_("Quadtree:\n");
 	_printf_("   MaxDepth      = " << this->MaxDepth << "\n");
 	_printf_("   NbQuadtreeBox = " << this->NbQuadtreeBox << "\n");
@@ -307,5 +307,5 @@
 void  Quadtree::DeepEcho(void){
 
-	_printf_("Quadtree:" << "\n");
+	_printf_("Quadtree:\n");
 	_printf_("   MaxDepth      = " << this->MaxDepth << "\n");
 	_printf_("   NbQuadtreeBox = " << this->NbQuadtreeBox << "\n");
@@ -512,5 +512,5 @@
 void  Quadtree::QuadtreeBox::Echo(void){
 
-	_printf_("QuadtreeBox:" << "\n");
+	_printf_("QuadtreeBox:\n");
 	_printf_("   nbitems = " << this->nbitems << "\n");
 	_printf_("   xcenter = " << this->xcenter << "\n");
Index: /issm/trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp	(revision 15104)
@@ -47,5 +47,5 @@
 /*FUNCTION SphericalVariogram::Echo {{{*/
 void SphericalVariogram::Echo(void){
-	_printf_("SphericalVariogram" << "\n");
+	_printf_("SphericalVariogram\n");
 	_printf_("   nugget: " << this->nugget << "\n");
 	_printf_("   sill  : " << this->sill << "\n");
Index: /issm/trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp	(revision 15104)
@@ -377,43 +377,43 @@
 
 	int i,j;
-	_printf_("Element Matrix echo:" << "\n");
+	_printf_("Element Matrix echo:\n");
 	_printf_("   nrows: " << this->nrows << "\n");
 	_printf_("   ncols: " << this->ncols << "\n");
 	_printf_("   dofsymmetrical: " << (dofsymmetrical?"true":"false") << "\n");
 
-	_printf_("   values:" << "\n");
+	_printf_("   values:\n");
 	for(i=0;i<nrows;i++){
 		_printf_(setw(4) << right << i << ": ");
 		for(j=0;j<ncols;j++) _printf_( " " << setw(11) << setprecision (5) << right << values[i*ncols+j]);
-		_printf_("" << "\n");
+		_printf_("\n");
 	}
 
 	_printf_("   gglobaldoflist (" << gglobaldoflist << "): ");
-	if(gglobaldoflist) for(i=0;i<nrows;i++) _printf_(" " << gglobaldoflist[i] << "\n"); _printf_("" << "\n");
+	if(gglobaldoflist) for(i=0;i<nrows;i++) _printf_(" " << gglobaldoflist[i] << "\n"); _printf_("\n");
 
 	_printf_("   row_fsize: " << row_fsize << "\n");
 	_printf_("   row_flocaldoflist  (" << row_flocaldoflist << "): ");
-	if(row_flocaldoflist) for(i=0;i<row_fsize;i++) _printf_(" " << row_flocaldoflist[i] << "\n"); _printf_(" " << "\n");
+	if(row_flocaldoflist) for(i=0;i<row_fsize;i++) _printf_(" " << row_flocaldoflist[i] << "\n"); _printf_(" \n");
 	_printf_("   row_fglobaldoflist  (" << row_fglobaldoflist << "): ");
-	if(row_fglobaldoflist) for(i=0;i<row_fsize;i++) _printf_(" " << row_fglobaldoflist[i] << "\n"); _printf_(" " << "\n");
+	if(row_fglobaldoflist) for(i=0;i<row_fsize;i++) _printf_(" " << row_fglobaldoflist[i] << "\n"); _printf_(" \n");
 
 	_printf_("   row_ssize: " << row_ssize << "\n");
 	_printf_("   row_slocaldoflist  (" << row_slocaldoflist << "): ");
-	if(row_slocaldoflist) for(i=0;i<row_ssize;i++) _printf_(" " << row_slocaldoflist[i] << "\n"); _printf_(" " << "\n");
+	if(row_slocaldoflist) for(i=0;i<row_ssize;i++) _printf_(" " << row_slocaldoflist[i] << "\n"); _printf_(" \n");
 	_printf_("   row_sglobaldoflist  (" << row_sglobaldoflist << "): ");
-	if(row_sglobaldoflist) for(i=0;i<row_ssize;i++) _printf_(" " << row_sglobaldoflist[i] << "\n"); _printf_(" " << "\n");
+	if(row_sglobaldoflist) for(i=0;i<row_ssize;i++) _printf_(" " << row_sglobaldoflist[i] << "\n"); _printf_(" \n");
 
 	if(!dofsymmetrical){
 		_printf_("   col_fsize: " << col_fsize << "\n");
 		_printf_("   col_flocaldoflist  (" << col_flocaldoflist << "): ");
-		if(col_flocaldoflist) for(i=0;i<col_fsize;i++) _printf_(" " << col_flocaldoflist[i] << "\n"); _printf_(" " << "\n");
+		if(col_flocaldoflist) for(i=0;i<col_fsize;i++) _printf_(" " << col_flocaldoflist[i] << "\n"); _printf_(" \n");
 		_printf_("   col_fglobaldoflist  (" << col_fglobaldoflist << "): ");
-		if(col_fglobaldoflist) for(i=0;i<col_fsize;i++) _printf_(" " << col_fglobaldoflist[i] << "\n"); _printf_(" " << "\n");
+		if(col_fglobaldoflist) for(i=0;i<col_fsize;i++) _printf_(" " << col_fglobaldoflist[i] << "\n"); _printf_(" \n");
 
 		_printf_("   col_ssize: " << col_ssize << "\n");
 		_printf_("   col_slocaldoflist  (" << col_slocaldoflist << "): ");
-		if(col_slocaldoflist) for(i=0;i<col_ssize;i++) _printf_(" " << col_slocaldoflist[i] << "\n"); _printf_(" " << "\n");
+		if(col_slocaldoflist) for(i=0;i<col_ssize;i++) _printf_(" " << col_slocaldoflist[i] << "\n"); _printf_(" \n");
 		_printf_("   col_sglobaldoflist  (" << col_sglobaldoflist << "): ");
-		if(col_sglobaldoflist) for(i=0;i<col_ssize;i++) _printf_(" " << col_sglobaldoflist[i] << "\n"); _printf_(" " << "\n");
+		if(col_sglobaldoflist) for(i=0;i<col_ssize;i++) _printf_(" " << col_sglobaldoflist[i] << "\n"); _printf_(" \n");
 	}
 }
Index: /issm/trunk-jpl/src/c/classes/matrix/ElementVector.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/matrix/ElementVector.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/classes/matrix/ElementVector.cpp	(revision 15104)
@@ -219,7 +219,7 @@
 	int i;
 
-	_printf_("Element Vector echo:" << "\n");
+	_printf_("Element Vector echo:\n");
 	_printf_("   nrows: " << nrows << "\n");
-	_printf_("   values:" << "\n");
+	_printf_("   values:\n");
 	for(i=0;i<nrows;i++){
 		_printf_(setw(4) << right << i << ": " << setw(10) << values[i] << "\n");
@@ -228,13 +228,13 @@
 	_printf_("   gglobaldoflist (" << gglobaldoflist << "): ");
 	if(gglobaldoflist) for(i=0;i<nrows;i++) _printf_(" " << gglobaldoflist[i] );
-	_printf_(" " << "\n");
+	_printf_(" \n");
 
 	_printf_("   fsize: " << fsize << "\n");
 	_printf_("   flocaldoflist  (" << flocaldoflist << "): ");
 	if(flocaldoflist) for(i=0;i<fsize;i++) _printf_(" " << flocaldoflist[i] );
-	_printf_(" " << "\n");
+	_printf_(" \n");
 	_printf_("   fglobaldoflist (" << fglobaldoflist << "): ");
 	if(fglobaldoflist) for(i=0;i<fsize;i++) _printf_(" " << fglobaldoflist[i] );
-	_printf_(" " << "\n");
+	_printf_(" \n");
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/datastructures/DataSet.cpp
===================================================================
--- /issm/trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 15104)
@@ -130,5 +130,5 @@
 	if(this==NULL)_error_("trying to echo a NULL dataset");
 
-	_printf0_("DataSet echo: " << objects.size() << " objects" << "\n");
+	_printf0_("DataSet echo: " << objects.size() << " objects\n");
 
 	for ( object=objects.begin() ; object < objects.end(); object++ ){
@@ -147,5 +147,5 @@
 	if(this==NULL)_error_("trying to echo a NULL dataset");
 
-	_printf0_("DataSet echo: " << objects.size() << " objects" << "\n");
+	_printf0_("DataSet echo: " << objects.size() << " objects\n");
 
 	for ( object=objects.begin() ; object < objects.end(); object++ ){
Index: /issm/trunk-jpl/src/c/kml/KMLFileReadUtils.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KMLFileReadUtils.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KMLFileReadUtils.cpp	(revision 15104)
@@ -133,7 +133,7 @@
 
 //	if      (itag)
-//		_printf0_("tag buffer (length=" << ibuf << "):" << "\n");
+//		_printf0_("tag buffer (length=" << ibuf << "):\n");
 //	else if (ifield)
-//		_printf0_("field buffer (length=" << ibuf << "):" << "\n");
+//		_printf0_("field buffer (length=" << ibuf << "):\n");
 //	_printf0_(buffer << "\n");
 
@@ -199,5 +199,5 @@
 		}
 
-//	_printf0_("comment buffer (length=" << ibuf << "):" << "\n");
+//	_printf0_("comment buffer (length=" << ibuf << "):\n");
 //	_printf0_(buffer << "\n");
 
@@ -265,5 +265,5 @@
 
 	ktokn=strtok(ktagi,"< >");
-//	_printf0_("KMLFileTagName -- initial token=\"" << ktokn << "\"." << "\n");
+//	_printf0_("KMLFileTagName -- initial token=\"" << ktokn << "\".\n");
 
 	if (!pname) {
@@ -275,6 +275,6 @@
 
 	if (maxlen && (maxlen < strlen(ktokn))) {
-		_printf0_("KMLFileTagName -- string field too short for " << ktag << "." << "\n");
-		_printf0_("KMLFileTagName -- \"" << ktokn << "\" truncated to " << maxlen << " characters." << "\n");
+		_printf0_("KMLFileTagName -- string field too short for " << ktag << ".\n");
+		_printf0_("KMLFileTagName -- \"" << ktokn << "\" truncated to " << maxlen << " characters.\n");
 		strncpy(pname,ktokn,maxlen);
 	}
@@ -311,5 +311,5 @@
 	/*  return first non blank and move past subsequent blank  */
 	ktokn=strtok(ktagi," ");
-//	_printf0_("KMLFileTagAttrib -- initial token=\"" << ktokn << "\"." << "\n");
+//	_printf0_("KMLFileTagAttrib -- initial token=\"" << ktokn << "\".\n");
 
 	/*  return next non " =?/>" and move past subsequent " =?/>"  */
@@ -318,5 +318,5 @@
 		/*  return next non quote and move past subsequent quote  */
 		ktokv=strtok(NULL,quote);
-//		_printf0_("KMLFileTagAttrib -- attribute " << ktokn << "=\"" << ktokv << "\"." << "\n");
+//		_printf0_("KMLFileTagAttrib -- attribute " << ktokn << "=\"" << ktokv << "\".\n");
 
 /*  add the attribute to the dataset  */
@@ -334,5 +334,5 @@
 		(!strncmp(&ktag[0],"<"        ,1) && !strncmp(&ktag[strlen(ktag)-2],"/>",2)))
 		isolo=1;
-//	_printf0_("KMLFileTagAttrib -- isolo=" << isolo << "." << "\n");
+//	_printf0_("KMLFileTagAttrib -- isolo=" << isolo << ".\n");
 
 	return(isolo);
@@ -368,5 +368,5 @@
 			xDelete<char>(kstr);
 
-//	_printf0_("KMLFileTokenParse -- " << ktag << "=" << *pival << "." << "\n");
+//	_printf0_("KMLFileTokenParse -- " << ktag << "=" << *pival << ".\n");
 
 	return(0);
@@ -402,5 +402,5 @@
 			xDelete<char>(kstr);
 
-//	_printf0_("KMLFileTokenParse -- " << ktag << "=" << (*pbval ? "true" : "false") << "." << "\n");
+//	_printf0_("KMLFileTokenParse -- " << ktag << "=" << (*pbval ? "true" : "false") << ".\n");
 
 	return(0);
@@ -439,6 +439,6 @@
 
 	if (maxlen && (maxlen < strlen(kstr))) {
-		_printf0_("KMLFileTokenParse -- string field too short for " << ktag << "." << "\n");
-		_printf0_("KMLFileTokenParse -- \"" << kstr << "\" truncated to " << maxlen << " characters." << "\n");
+		_printf0_("KMLFileTokenParse -- string field too short for " << ktag << ".\n");
+		_printf0_("KMLFileTokenParse -- \"" << kstr << "\" truncated to " << maxlen << " characters.\n");
 		strncpy(pstr,kstr,maxlen);
 	}
@@ -463,5 +463,5 @@
 			xDelete<char>(kstr);
 
-//	_printf0_("KMLFileTokenParse -- " << ktag << "=\"" << pstr << "\"." << "\n");
+//	_printf0_("KMLFileTokenParse -- " << ktag << "=\"" << pstr << "\".\n");
 
 	return(pstr);
@@ -497,5 +497,5 @@
 			xDelete<char>(kstr);
 
-//	_printf0_("KMLFileTokenParse -- " << ktag << "=" << *pfval << "." << "\n");
+//	_printf0_("KMLFileTokenParse -- " << ktag << "=" << *pfval << ".\n");
 
 	return(0);
@@ -531,5 +531,5 @@
 			xDelete<char>(kstr);
 
-//	_printf0_("KMLFileTokenParse -- " << ktag << "=" << *pdval << "." << "\n");
+//	_printf0_("KMLFileTokenParse -- " << ktag << "=" << *pdval << ".\n");
 
 	return(0);
@@ -595,7 +595,7 @@
 			xDelete<char>(kstr);
 
-//	_printf0_("KMLFileTokenParse -- " << ktag << "=..." << "\n");
+//	_printf0_("KMLFileTokenParse -- " << ktag << "=...\n");
 //	for (j=0; j<=i; j++)
-//		_printf0_("   [" << j << "]: " << (*pdval)[j] << "g" << "\n");
+//		_printf0_("   [" << j << "]: " << (*pdval)[j] << "g\n");
 
 	return(0);
@@ -651,5 +651,5 @@
 
 	if ((i+1) % n)
-		_printf0_("KMLFileTokenParse -- Double [m x n] field for " << ktag << " does not have multiple of n values." << "\n");
+		_printf0_("KMLFileTokenParse -- Double [m x n] field for " << ktag << " does not have multiple of n values.\n");
 
 /*  get additional token and compare to closing tag  */
@@ -665,7 +665,7 @@
 			xDelete<char>(kstr);
 
-//	_printf0_("KMLFileTokenParse -- " << ktag << "=..." << "\n");
+//	_printf0_("KMLFileTokenParse -- " << ktag << "=...\n");
 //	for (j=0; j<=i; j++)
-//		_printf0_("   [" << j << "]: " << (*pdval)[j] << "g" << "\n");
+//		_printf0_("   [" << j << "]: " << (*pdval)[j] << "g\n");
 
 	return(0);
@@ -681,5 +681,5 @@
 	opening tag, must find corresponding closing tag  */
 
-	_printf0_("KMLFileTagSkip -- input tag " << ktag << "." << "\n");
+	_printf0_("KMLFileTagSkip -- input tag " << ktag << ".\n");
 
 /*  if next token is a closing tag, compare to input  */
@@ -690,5 +690,5 @@
 				 (kstr[1] == '/') &&
 				 (!strncmp(&(kstr[2]),&(ktag[1]),(strcspn(ktag," >")-1)/sizeof(char)))) {
-			_printf0_("KMLFileTagSkip -- closing tag " << kstr << "." << "\n");
+			_printf0_("KMLFileTagSkip -- closing tag " << kstr << ".\n");
 			xDelete<char>(kstr);
 			return(0);
@@ -699,5 +699,5 @@
 		else if ((kstr[0] == '<') &&
 				 (kstr[1] != '/')) {
-			_printf0_("KMLFileTagSkip -- opening tag " << kstr << "." << "\n");
+			_printf0_("KMLFileTagSkip -- opening tag " << kstr << ".\n");
 			KMLFileTagSkip(kstr,
 						   fid);
Index: /issm/trunk-jpl/src/c/kml/KML_Attribute.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Attribute.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Attribute.cpp	(revision 15104)
@@ -43,5 +43,5 @@
 	for (i=0;i<10-strlen(name);i++)
 		if(flag) _printf0_(" ");
-	if(flag) _printf0_(name << ": \"" << value << "\"" << "\n");
+	if(flag) _printf0_(name << ": \"" << value << "\"\n");
 
 	return;
@@ -67,5 +67,5 @@
 	for (i=0;i<10-strlen(name);i++)
 		if(flag) _printf0_(" ");
-	if(flag) _printf0_(name << ": \"" << value << "\"" << "\n");
+	if(flag) _printf0_(name << ": \"" << value << "\"\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_Container.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Container.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Container.cpp	(revision 15104)
@@ -47,5 +47,5 @@
 	KML_Feature::Echo();
 
-	if(flag) _printf0_("       feature: (size=" << feature->Size() << ")" << "\n");
+	if(flag) _printf0_("       feature: (size=" << feature->Size() << ")\n");
 
 	return;
@@ -78,10 +78,10 @@
 	if (feature->Size())
 		for (i=0; i<feature->Size(); i++) {
-			if(flag) _printf0_(indent << "       feature: -------- begin [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "       feature: -------- begin [" << i << "] --------\n");
 			((KML_Feature *)feature->GetObjectByOffset(i))->DeepEcho(indent2);
-			if(flag) _printf0_(indent << "       feature: --------  end  [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "       feature: --------  end  [" << i << "] --------\n");
 		}
 	else
-		if(flag) _printf0_(indent << "       feature: [empty]" << "\n");
+		if(flag) _printf0_(indent << "       feature: [empty]\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_Document.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Document.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Document.cpp	(revision 15104)
@@ -38,5 +38,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Document:" << "\n");
+	if(flag) _printf0_("KML_Document:\n");
 	KML_Container::Echo();
 
@@ -59,5 +59,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_Document:" << "\n");
+	if(flag) _printf0_(indent << "KML_Document:\n");
 	KML_Container::DeepEcho(indent);
 
Index: /issm/trunk-jpl/src/c/kml/KML_Feature.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Feature.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Feature.cpp	(revision 15104)
@@ -60,11 +60,11 @@
 	KML_Object::Echo();
 
-	if(flag) _printf0_("          name: \"" << name << "\"" << "\n");
+	if(flag) _printf0_("          name: \"" << name << "\"\n");
 	if(flag) _printf0_("    visibility: " << (visibility ? "true" : "false") << "\n");
 	if(flag) _printf0_("          open: " << (open ? "true" : "false") << "\n");
-	if(flag) _printf0_("       snippet: \"" << snippet << "\"" << "\n");
-	if(flag) _printf0_("      descript: \"" << descript << "\"" << "\n");
-	if(flag) _printf0_("      styleurl: \"" << styleurl << "\"" << "\n");
-	if(flag) _printf0_("         style: (size=" << style->Size() << ")" << "\n");
+	if(flag) _printf0_("       snippet: \"" << snippet << "\"\n");
+	if(flag) _printf0_("      descript: \"" << descript << "\"\n");
+	if(flag) _printf0_("      styleurl: \"" << styleurl << "\"\n");
+	if(flag) _printf0_("         style: (size=" << style->Size() << ")\n");
 
 	return;
@@ -90,10 +90,10 @@
 	KML_Object::DeepEcho(indent);
 
-	if(flag) _printf0_(indent << "          name: \"" << name << "\"" << "\n");
+	if(flag) _printf0_(indent << "          name: \"" << name << "\"\n");
 	if(flag) _printf0_(indent << "    visibility: " << (visibility ? "true" : "false") << "\n");
 	if(flag) _printf0_(indent << "          open: " << (open ? "true" : "false") << "\n");
-	if(flag) _printf0_(indent << "       snippet: \"" << snippet << "\"" << "\n");
-	if(flag) _printf0_(indent << "      descript: \"" << descript << "\"" << "\n");
-	if(flag) _printf0_(indent << "      styleurl: \"" << styleurl << "\"" << "\n");
+	if(flag) _printf0_(indent << "       snippet: \"" << snippet << "\"\n");
+	if(flag) _printf0_(indent << "      descript: \"" << descript << "\"\n");
+	if(flag) _printf0_(indent << "      styleurl: \"" << styleurl << "\"\n");
 
 /*  loop over any styles for the feature  */
@@ -104,10 +104,10 @@
 	if (style->Size())
 		for (i=0; i<style->Size(); i++) {
-			if(flag) _printf0_(indent << "         style: -------- begin [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "         style: -------- begin [" << i << "] --------\n");
 			((KML_Style *)style->GetObjectByOffset(i))->DeepEcho(indent2);
-			if(flag) _printf0_(indent << "         style: --------  end  [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "         style: --------  end  [" << i << "] --------\n");
 		}
 	else
-		if(flag) _printf0_(indent << "         style: [empty]" << "\n");
+		if(flag) _printf0_(indent << "         style: [empty]\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_File.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_File.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_File.cpp	(revision 15104)
@@ -39,5 +39,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_File:" << "\n");
+	if(flag) _printf0_("KML_File:\n");
 	KML_Object::Echo();
 
@@ -60,5 +60,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_File:" << "\n");
+	if(flag) _printf0_(indent << "KML_File:\n");
 	KML_Object::DeepEcho(indent);
 
Index: /issm/trunk-jpl/src/c/kml/KML_Folder.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Folder.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Folder.cpp	(revision 15104)
@@ -38,5 +38,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Folder:" << "\n");
+	if(flag) _printf0_("KML_Folder:\n");
 	KML_Container::Echo();
 
@@ -59,5 +59,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_Folder:" << "\n");
+	if(flag) _printf0_(indent << "KML_Folder:\n");
 	KML_Container::DeepEcho(indent);
 
Index: /issm/trunk-jpl/src/c/kml/KML_GroundOverlay.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_GroundOverlay.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_GroundOverlay.cpp	(revision 15104)
@@ -44,5 +44,5 @@
 void  KML_GroundOverlay::Echo(){
 
-	_printf_("KML_GroundOverlay:" << "\n");
+	_printf_("KML_GroundOverlay:\n");
 	KML_Overlay::Echo();
 
@@ -67,5 +67,5 @@
 	char  indent2[81];
 
-	_printf_(indent << "KML_GroundOverlay:" << "\n");
+	_printf_(indent << "KML_GroundOverlay:\n");
 	KML_Overlay::DeepEcho(indent);
 
Index: /issm/trunk-jpl/src/c/kml/KML_Icon.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Icon.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Icon.cpp	(revision 15104)
@@ -45,15 +45,15 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Icon:" << "\n");
+	if(flag) _printf0_("KML_Icon:\n");
 	KML_Object::Echo();
 
-	if(flag) _printf0_("          href: \"" << href << "\"" << "\n");
-	if(flag) _printf0_("       refmode: \"" << refmode << "\"" << "\n");
+	if(flag) _printf0_("          href: \"" << href << "\"\n");
+	if(flag) _printf0_("       refmode: \"" << refmode << "\"\n");
 	if(flag) _printf0_("        refint: " << refint << "\n");
-	if(flag) _printf0_("      vrefmode: \"" << vrefmode << "\"" << "\n");
+	if(flag) _printf0_("      vrefmode: \"" << vrefmode << "\"\n");
 	if(flag) _printf0_("      vreftime: " << vreftime << "\n");
 	if(flag) _printf0_("      vboundsc: " << vboundsc << "\n");
-	if(flag) _printf0_("       vformat: \"" << vformat << "\"" << "\n");
-	if(flag) _printf0_("        hquery: \"" << hquery << "\"" << "\n");
+	if(flag) _printf0_("       vformat: \"" << vformat << "\"\n");
+	if(flag) _printf0_("        hquery: \"" << hquery << "\"\n");
 
 	return;
@@ -75,15 +75,15 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_Icon:" << "\n");
+	if(flag) _printf0_(indent << "KML_Icon:\n");
 	KML_Object::DeepEcho(indent);
 
-	if(flag) _printf0_(indent << "          href: \"" << href << "\"" << "\n");
-	if(flag) _printf0_(indent << "       refmode: \"" << refmode << "\"" << "\n");
+	if(flag) _printf0_(indent << "          href: \"" << href << "\"\n");
+	if(flag) _printf0_(indent << "       refmode: \"" << refmode << "\"\n");
 	if(flag) _printf0_(indent << "        refint: " << refint << "\n");
-	if(flag) _printf0_(indent << "      vrefmode: \"" << vrefmode << "\"" << "\n");
+	if(flag) _printf0_(indent << "      vrefmode: \"" << vrefmode << "\"\n");
 	if(flag) _printf0_(indent << "      vreftime: " << vreftime << "\n");
 	if(flag) _printf0_(indent << "      vboundsc: " << vboundsc << "\n");
-	if(flag) _printf0_(indent << "       vformat: \"" << vformat << "\"" << "\n");
-	if(flag) _printf0_(indent << "        hquery: \"" << hquery << "\"" << "\n");
+	if(flag) _printf0_(indent << "       vformat: \"" << vformat << "\"\n");
+	if(flag) _printf0_(indent << "        hquery: \"" << hquery << "\"\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_LatLonBox.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_LatLonBox.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_LatLonBox.cpp	(revision 15104)
@@ -40,5 +40,5 @@
 void  KML_LatLonBox::Echo(){
 
-	_printf_("KML_LatLonBox:" << "\n");
+	_printf_("KML_LatLonBox:\n");
 	KML_Object::Echo();
 
@@ -63,5 +63,5 @@
 void  KML_LatLonBox::DeepEcho(const char* indent){
 
-	_printf_(indent << "KML_LatLonBox:" << "\n");
+	_printf_(indent << "KML_LatLonBox:\n");
 	KML_Object::DeepEcho(indent);
 
Index: /issm/trunk-jpl/src/c/kml/KML_LineString.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_LineString.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_LineString.cpp	(revision 15104)
@@ -46,11 +46,11 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_LineString:" << "\n");
+	if(flag) _printf0_("KML_LineString:\n");
 	KML_Geometry::Echo();
 
 	if(flag) _printf0_("       extrude: " << (extrude ? "true" : "false") << "\n");
 	if(flag) _printf0_("    tessellate: " << (tessellate ? "true" : "false") << "\n");
-	if(flag) _printf0_("       altmode: \"" << altmode << "\"" << "\n");
-	if(flag) _printf0_("        coords: (ncoord=" << ncoord << ")" << "\n");
+	if(flag) _printf0_("       altmode: \"" << altmode << "\"\n");
+	if(flag) _printf0_("        coords: (ncoord=" << ncoord << ")\n");
 
 	return;
@@ -73,13 +73,13 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_LineString:" << "\n");
+	if(flag) _printf0_(indent << "KML_LineString:\n");
 	KML_Geometry::DeepEcho(indent);
 
 	if(flag) _printf0_(indent << "       extrude: " << (extrude ? "true" : "false") << "\n");
 	if(flag) _printf0_(indent << "    tessellate: " << (tessellate ? "true" : "false") << "\n");
-	if(flag) _printf0_(indent << "       altmode: \"" << altmode << "\"" << "\n");
-	if(flag) _printf0_(indent << "        coords: (ncoord=" << ncoord << ")" << "\n");
+	if(flag) _printf0_(indent << "       altmode: \"" << altmode << "\"\n");
+	if(flag) _printf0_(indent << "        coords: (ncoord=" << ncoord << ")\n");
 	for (i=0; i<ncoord; i++)
-		if(flag) _printf0_(indent << "                (" << coords[3*i+0] << "," << coords[3*i+1] << "," << coords[3*i+2] << ")" << "\n");
+		if(flag) _printf0_(indent << "                (" << coords[3*i+0] << "," << coords[3*i+1] << "," << coords[3*i+2] << ")\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_LineStyle.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_LineStyle.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_LineStyle.cpp	(revision 15104)
@@ -38,5 +38,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_LineStyle:" << "\n");
+	if(flag) _printf0_("KML_LineStyle:\n");
 	KML_ColorStyle::Echo();
 
@@ -61,5 +61,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_LineStyle:" << "\n");
+	if(flag) _printf0_(indent << "KML_LineStyle:\n");
 	KML_ColorStyle::DeepEcho(indent);
 
Index: /issm/trunk-jpl/src/c/kml/KML_LinearRing.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_LinearRing.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_LinearRing.cpp	(revision 15104)
@@ -46,11 +46,11 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_LinearRing:" << "\n");
+	if(flag) _printf0_("KML_LinearRing:\n");
 	KML_Geometry::Echo();
 
 	if(flag) _printf0_("       extrude: " << (extrude ? "true" : "false") << "\n");
 	if(flag) _printf0_("    tessellate: " << (tessellate ? "true" : "false") << "\n");
-	if(flag) _printf0_("       altmode: \"" << altmode << "\"" << "\n");
-	if(flag) _printf0_("        coords: (ncoord=" << ncoord << ")" << "\n");
+	if(flag) _printf0_("       altmode: \"" << altmode << "\"\n");
+	if(flag) _printf0_("        coords: (ncoord=" << ncoord << ")\n");
 
 	return;
@@ -73,13 +73,13 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_LinearRing:" << "\n");
+	if(flag) _printf0_(indent << "KML_LinearRing:\n");
 	KML_Geometry::DeepEcho(indent);
 
 	if(flag) _printf0_(indent << "       extrude: " << (extrude ? "true" : "false") << "\n");
 	if(flag) _printf0_(indent << "    tessellate: " << (tessellate ? "true" : "false") << "\n");
-	if(flag) _printf0_(indent << "       altmode: \"" << altmode << "\"" << "\n");
-	if(flag) _printf0_(indent << "        coords: (ncoord=" << ncoord << ")" << "\n");
+	if(flag) _printf0_(indent << "       altmode: \"" << altmode << "\"\n");
+	if(flag) _printf0_(indent << "        coords: (ncoord=" << ncoord << ")\n");
 	for (i=0; i<ncoord; i++)
-		if(flag)_printf_(indent << "                (" <<coords[3*i+0] << "," <<coords[3*i+1] << "," <<coords[3*i+2] << ")\n" << "\n");
+		if(flag)_printf_(indent << "                (" <<coords[3*i+0] << "," <<coords[3*i+1] << "," <<coords[3*i+2] << ")\n\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_MultiGeometry.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_MultiGeometry.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_MultiGeometry.cpp	(revision 15104)
@@ -46,8 +46,8 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Multigeometry:" << "\n");
+	if(flag) _printf0_("KML_Multigeometry:\n");
 	KML_Geometry::Echo();
 
-	if(flag) _printf0_("      geometry: (size=" << geometry->Size() << ")" << "\n");
+	if(flag) _printf0_("      geometry: (size=" << geometry->Size() << ")\n");
 
 	return;
@@ -71,5 +71,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_Multigeometry:" << "\n");
+	if(flag) _printf0_(indent << "KML_Multigeometry:\n");
 	KML_Geometry::DeepEcho(indent);
 
@@ -81,10 +81,10 @@
 	if (geometry->Size())
 		for (i=0; i<geometry->Size(); i++) {
-			if(flag) _printf0_(indent << "      geometry: -------- begin [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "      geometry: -------- begin [" << i << "] --------\n");
 			((KML_Geometry *)geometry->GetObjectByOffset(i))->DeepEcho(indent2);
-			if(flag) _printf0_(indent << "      geometry: --------  end  [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "      geometry: --------  end  [" << i << "] --------\n");
 		}
 	else
-		if(flag) _printf0_(indent << "      geometry: [empty]" << "\n");
+		if(flag) _printf0_(indent << "      geometry: [empty]\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_Object.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Object.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Object.cpp	(revision 15104)
@@ -66,7 +66,7 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("        attrib: (size=" << attrib->Size() << ")" << "\n");
-	if(flag) _printf0_("        commnt: (size=" << commnt->Size() << ")" << "\n");
-	if(flag) _printf0_("        kmlobj: (size=" << kmlobj->Size() << ")" << "\n");
+	if(flag) _printf0_("        attrib: (size=" << attrib->Size() << ")\n");
+	if(flag) _printf0_("        commnt: (size=" << commnt->Size() << ")\n");
+	if(flag) _printf0_("        kmlobj: (size=" << kmlobj->Size() << ")\n");
 
 	return;
@@ -97,5 +97,5 @@
 		}
 	else
-		if(flag) _printf0_(indent << "        attrib: [empty]" << "\n");
+		if(flag) _printf0_(indent << "        attrib: [empty]\n");
 
 /*  loop over the comments for the object  */
@@ -106,5 +106,5 @@
 		}
 	else
-		if(flag) _printf0_(indent << "        commnt: [empty]" << "\n");
+		if(flag) _printf0_(indent << "        commnt: [empty]\n");
 
 /*  loop over the unknown objects for the object  */
@@ -115,10 +115,10 @@
 	if (kmlobj->Size())
 		for (i=0; i<kmlobj->Size(); i++) {
-            if(flag) _printf0_(indent << "        kmlobj: -------- begin [" << i << "] --------" << "\n");
+            if(flag) _printf0_(indent << "        kmlobj: -------- begin [" << i << "] --------\n");
 			((KML_Unknown *)kmlobj->GetObjectByOffset(i))->DeepEcho(indent2);
-            if(flag) _printf0_(indent << "        kmlobj: --------  end  [" << i << "] --------" << "\n");
+            if(flag) _printf0_(indent << "        kmlobj: --------  end  [" << i << "] --------\n");
 		}
 	else
-		if(flag) _printf0_(indent << "        kmlobj: [empty]" << "\n");
+		if(flag) _printf0_(indent << "        kmlobj: [empty]\n");
 
 	return;
@@ -264,5 +264,5 @@
 
 	else if (!strncmp(kstr,"<",1)) {
-		_printf0_("KML_Object::Read -- Unrecognized opening tag " << kstr << "." << "\n");
+		_printf0_("KML_Object::Read -- Unrecognized opening tag " << kstr << ".\n");
 //		KMLFileTagSkip(kstr,
 //					   fid);
Index: /issm/trunk-jpl/src/c/kml/KML_Overlay.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Overlay.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Overlay.cpp	(revision 15104)
@@ -45,5 +45,5 @@
 
 	KML_Feature::Echo();
-	_printf0_("         color: \"" << color << "\"" << "\n");
+	_printf0_("         color: \"" << color << "\"\n");
 	_printf0_("       draword: " << draword << "\n");
 	_printf0_("          icon: " << icon << "\n");
Index: /issm/trunk-jpl/src/c/kml/KML_Placemark.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Placemark.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Placemark.cpp	(revision 15104)
@@ -47,8 +47,8 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Placemark:" << "\n");
+	if(flag) _printf0_("KML_Placemark:\n");
 	KML_Feature::Echo();
 
-	if(flag) _printf0_("      geometry: (size=" << geometry->Size() << ")" << "\n");
+	if(flag) _printf0_("      geometry: (size=" << geometry->Size() << ")\n");
 
 	return;
@@ -72,5 +72,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_Placemark:" << "\n");
+	if(flag) _printf0_(indent << "KML_Placemark:\n");
 	KML_Feature::DeepEcho(indent);
 
@@ -82,10 +82,10 @@
 	if (geometry->Size())
 		for (i=0; i<geometry->Size(); i++) {
-			if(flag) _printf0_(indent << "      geometry: -------- begin [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "      geometry: -------- begin [" << i << "] --------\n");
 			((KML_Geometry *)geometry->GetObjectByOffset(i))->DeepEcho(indent2);
-			if(flag) _printf0_(indent << "      geometry: --------  end  [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "      geometry: --------  end  [" << i << "] --------\n");
 		}
 	else
-		if(flag) _printf0_(indent << "      geometry: [empty]" << "\n");
+		if(flag) _printf0_(indent << "      geometry: [empty]\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_Point.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Point.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Point.cpp	(revision 15104)
@@ -43,10 +43,10 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Point:" << "\n");
+	if(flag) _printf0_("KML_Point:\n");
 	KML_Geometry::Echo();
 
 	if(flag) _printf0_("       extrude: " << (extrude ? "true" : "false") << "\n");
-	if(flag) _printf0_("       altmode: \"" << altmode << "\"" << "\n");
-	if(flag) _printf0_("        coords: (" << coords[0] << "," << coords[1] << "," << coords[2] << ")" << "\n");
+	if(flag) _printf0_("       altmode: \"" << altmode << "\"\n");
+	if(flag) _printf0_("        coords: (" << coords[0] << "," << coords[1] << "," << coords[2] << ")\n");
 
 	return;
@@ -68,10 +68,10 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_Point:" << "\n");
+	if(flag) _printf0_(indent << "KML_Point:\n");
 	KML_Geometry::DeepEcho(indent);
 
 	if(flag) _printf0_(indent << "       extrude: " << (extrude ? "true" : "false") << "\n");
-	if(flag) _printf0_(indent << "       altmode: \"" << altmode << "\"" << "\n");
-	if(flag) _printf0_(indent << "        coords: (" << coords[0] << "," << coords[1] << "," << coords[2] << ")" << "\n");
+	if(flag) _printf0_(indent << "       altmode: \"" << altmode << "\"\n");
+	if(flag) _printf0_(indent << "        coords: (" << coords[0] << "," << coords[1] << "," << coords[2] << ")\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_PolyStyle.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_PolyStyle.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_PolyStyle.cpp	(revision 15104)
@@ -41,5 +41,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_PolyStyle:" << "\n");
+	if(flag) _printf0_("KML_PolyStyle:\n");
 	KML_ColorStyle::Echo();
 
@@ -65,5 +65,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_PolyStyle:" << "\n");
+	if(flag) _printf0_(indent << "KML_PolyStyle:\n");
 	KML_ColorStyle::DeepEcho(indent);
 
Index: /issm/trunk-jpl/src/c/kml/KML_Polygon.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Polygon.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Polygon.cpp	(revision 15104)
@@ -52,12 +52,12 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Polygon:" << "\n");
+	if(flag) _printf0_("KML_Polygon:\n");
 	KML_Geometry::Echo();
 
 	if(flag) _printf0_("       extrude: " << (extrude ? "true" : "false") << "\n");
 	if(flag) _printf0_("    tessellate: " << (tessellate ? "true" : "false") << "\n");
-	if(flag) _printf0_("       altmode: \"" << altmode << "\"" << "\n");
-	if(flag) _printf0_("         outer: (size=" << outer->Size() << ")" << "\n");
-	if(flag) _printf0_("         inner: (size=" << inner->Size() << ")" << "\n");
+	if(flag) _printf0_("       altmode: \"" << altmode << "\"\n");
+	if(flag) _printf0_("         outer: (size=" << outer->Size() << ")\n");
+	if(flag) _printf0_("         inner: (size=" << inner->Size() << ")\n");
 
 	return;
@@ -81,10 +81,10 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_Polygon:" << "\n");
+	if(flag) _printf0_(indent << "KML_Polygon:\n");
 	KML_Geometry::DeepEcho(indent);
 
 	if(flag) _printf0_(indent << "       extrude: " << (extrude ? "true" : "false") << "\n");
 	if(flag) _printf0_(indent << "    tessellate: " << (tessellate ? "true" : "false") << "\n");
-	if(flag) _printf0_(indent << "       altmode: \"" << altmode << "\"" << "\n");
+	if(flag) _printf0_(indent << "       altmode: \"" << altmode << "\"\n");
 
 	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
@@ -93,19 +93,19 @@
 	if (outer->Size())
 		for (i=0; i<outer->Size(); i++) {
-			if(flag) _printf0_(indent << "         outer: -------- begin [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "         outer: -------- begin [" << i << "] --------\n");
 			((KML_LinearRing *)outer->GetObjectByOffset(i))->DeepEcho(indent2);
-			if(flag) _printf0_(indent << "         outer: --------  end  [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "         outer: --------  end  [" << i << "] --------\n");
 		}
 	else
-		if(flag) _printf0_(indent << "         outer: [empty]" << "\n");
+		if(flag) _printf0_(indent << "         outer: [empty]\n");
 
 	if (inner->Size())
 		for (i=0; i<inner->Size(); i++) {
-			if(flag) _printf0_(indent << "         inner: -------- begin [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "         inner: -------- begin [" << i << "] --------\n");
 			((KML_LinearRing *)inner->GetObjectByOffset(i))->DeepEcho(indent2);
-			if(flag) _printf0_(indent << "         inner: --------  end  [" << i << "] --------" << "\n");
+			if(flag) _printf0_(indent << "         inner: --------  end  [" << i << "] --------\n");
 		}
 	else
-		if(flag) _printf0_(indent << "         inner: [empty]" << "\n");
+		if(flag) _printf0_(indent << "         inner: [empty]\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/kml/KML_Style.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Style.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Style.cpp	(revision 15104)
@@ -68,5 +68,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Style:" << "\n");
+	if(flag) _printf0_("KML_Style:\n");
 	KML_StyleSelector::Echo();
 
@@ -97,5 +97,5 @@
 	bool  flag=true;
 
-	if(flag) _printf0_(indent << "KML_Style:" << "\n");
+	if(flag) _printf0_(indent << "KML_Style:\n");
 	KML_StyleSelector::DeepEcho(indent);
 
Index: /issm/trunk-jpl/src/c/kml/KML_Unknown.cpp
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Unknown.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/kml/KML_Unknown.cpp	(revision 15104)
@@ -40,11 +40,11 @@
 	bool  flag=true;
 
-	if(flag) _printf0_("KML_Unknown " << name << ":" << "\n");
+	if(flag) _printf0_("KML_Unknown " << name << ":\n");
 	KML_Object::Echo();
 
 	if (value     )
-		if(flag) _printf0_("         value: \"" << value << "\"" << "\n");
+		if(flag) _printf0_("         value: \"" << value << "\"\n");
     else
-        if(flag) _printf0_("         value: [none]" << "\n");
+        if(flag) _printf0_("         value: [none]\n");
 
 	return;
@@ -69,5 +69,5 @@
 	bool         flag=true;
 
-	if(flag) _printf0_(indent << "KML_Unknown " << name << ":" << "\n");
+	if(flag) _printf0_(indent << "KML_Unknown " << name << ":\n");
 	KML_Object::DeepEcho(indent);
 
@@ -81,10 +81,10 @@
 		while (vtoken=strtok(NULL,nl))
 			if(flag) _printf0_("\n" << indent << "                 " << vtoken);
-		if(flag) _printf0_("\"" << "\n");
+		if(flag) _printf0_("\"\n");
 
 		xDelete<char>(valuei);
 	}
     else
-        if(flag) _printf0_(indent << "         value: [none]" << "\n");
+        if(flag) _printf0_(indent << "         value: [none]\n");
 
 	return;
@@ -136,5 +136,5 @@
 	name=KMLFileTagName(NULL,
 						kstr);
-//	_printf0_("KML_Unknown::Read -- opening name=" << name << "." << "\n");
+//	_printf0_("KML_Unknown::Read -- opening name=" << name << ".\n");
 
 /*  get object attributes and check for solo tag  */
@@ -148,8 +148,8 @@
 	while (kstri=KMLFileToken(fid,
 							  &ncom,&pcom)) {
-//		_printf0_("KML_Unknown::Read -- kstri=" << kstri << "." << "\n");
+//		_printf0_("KML_Unknown::Read -- kstri=" << kstri << ".\n");
 		if      (!strncmp(&kstri[0],"</", 2) &&
 				 !strncmp(&kstri[2],name,strlen(name))) {
-//			_printf0_("KML_Unknown::Read -- closing name=" << name << "." << "\n");
+//			_printf0_("KML_Unknown::Read -- closing name=" << name << ".\n");
 			xDelete<char>(kstri);
 			break;
Index: /issm/trunk-jpl/src/c/main/kriging.cpp
===================================================================
--- /issm/trunk-jpl/src/c/main/kriging.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/main/kriging.cpp	(revision 15104)
@@ -51,8 +51,8 @@
 	pfclose(input_fid,binfilename);
 
-	_printf0_("call computational core:" << "\n");
+	_printf0_("call computational core:\n");
 	pKrigingx(&predictions,&error,x,y,data,nobs,x_interp,y_interp,ninterp,options);
 
-	_printf0_("write results to disk:" << "\n");
+	_printf0_("write results to disk:\n");
 	Results *results = new Results();
 	if(IssmComm::GetRank()==0){
@@ -68,5 +68,5 @@
 
 	/*Close output and toolkits options file and write lock file if requested*/
-	_printf0_("write lock file:" << "\n");
+	_printf0_("write lock file:\n");
 	WriteLockFile(lockfilename);
 
Index: /issm/trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp	(revision 15104)
@@ -40,6 +40,6 @@
 
 		//Step1: generate geometry Gh
-		if (verbosity>0) _printf_("Construction of a mesh from a given geometry" << "\n");
-		if (verbosity>1) _printf_("   Processing geometry..." << "\n");
+		if (verbosity>0) _printf_("Construction of a mesh from a given geometry\n");
+		if (verbosity>1) _printf_("   Processing geometry...\n");
 		Geometry Gh(bamggeom_in,bamgopts);
 
@@ -49,5 +49,5 @@
 
 		//build metric using geometry
-		if (verbosity>1) _printf_("   Generating Metric..." << "\n");
+		if (verbosity>1) _printf_("   Generating Metric...\n");
 		for(i=0;i<Gh.nbv;i++){
 			Metric M=Gh[i];
@@ -59,5 +59,5 @@
 
 		//generate mesh
-		if (verbosity>1) _printf_("   Generating Mesh..." << "\n");
+		if (verbosity>1) _printf_("   Generating Mesh...\n");
 		Mesh Th(maxnbv,Gh,bamgopts);
 
@@ -72,7 +72,7 @@
 
 		//Build output
-		if (verbosity>1) _printf_("   Write Mesh..." << "\n");
+		if (verbosity>1) _printf_("   Write Mesh...\n");
 		Th.WriteMesh(bamgmesh_out,bamgopts);
-		if (verbosity>1) _printf_("   Write Geometry..." << "\n");
+		if (verbosity>1) _printf_("   Write Geometry...\n");
 		Gh.WriteGeometry(bamggeom_out,bamgopts);
 
@@ -86,6 +86,6 @@
 
 		// read background mesh 
-		if (verbosity>0) _printf_("Anisotropic mesh adaptation" << "\n");
-		if (verbosity>1) _printf_("   Processing initial mesh and geometry..." << "\n");
+		if (verbosity>0) _printf_("Anisotropic mesh adaptation\n");
+		if (verbosity>1) _printf_("   Processing initial mesh and geometry...\n");
 		Mesh BTh(bamggeom_in,bamgmesh_in,bamgopts); 
 
@@ -99,9 +99,9 @@
 		//Generate initial metric
 		if (bamgopts->metric){
-			if (verbosity>1) _printf_("   Processing Metric..." << "\n");
+			if (verbosity>1) _printf_("   Processing Metric...\n");
 			BTh.ReadMetric(bamgopts);
 		}
 		else { 
-			if (verbosity>1) _printf_("   Generating initial Metric..." << "\n");
+			if (verbosity>1) _printf_("   Generating initial Metric...\n");
 			Metric Mhmax(bamgopts->hmax);
 			for (int iv=0;iv<BTh.nbv;iv++) BTh[iv].m = Mhmax;
@@ -110,5 +110,5 @@
 		//use present fields to generate metric if present
 		if (bamgopts->field){
-			if (verbosity>1) _printf_("   Merge metric with field provided..." << "\n");
+			if (verbosity>1) _printf_("   Merge metric with field provided...\n");
 			BTh.AddMetric(bamgopts);
 		}
@@ -116,5 +116,5 @@
 		// change using hVertices if provided
 		if(bamgopts->hVertices && bamgopts->hVerticesSize[0]==BTh.nbv){
-			if (verbosity>1) _printf_("   Merging Metric with hVertices..." << "\n");
+			if (verbosity>1) _printf_("   Merging Metric with hVertices...\n");
 			for (i=0;i<BTh.nbv;i++){
 				if (!xIsNan<IssmPDouble>(bamgopts->hVertices[i])){
@@ -126,5 +126,5 @@
 		// change using hminVertices if provided
 		if (bamgopts->hminVertices){
-			if (verbosity>1) _printf_("   Merging Metric with hminVertices..." << "\n");
+			if (verbosity>1) _printf_("   Merging Metric with hminVertices...\n");
 			for (i=0;i<BTh.nbv;i++){
 				if (!xIsNan<IssmPDouble>(bamgopts->hminVertices[i])){
@@ -139,5 +139,5 @@
 		// change using hmaxVertices if provided
 		if (bamgopts->hmaxVertices){
-			if (verbosity>1) _printf_("   Merging Metric with hmaxVertices..." << "\n");
+			if (verbosity>1) _printf_("   Merging Metric with hmaxVertices...\n");
 			for (i=0;i<BTh.nbv;i++){
 				if (!xIsNan<IssmPDouble>(bamgopts->hmaxVertices[i])){
@@ -163,5 +163,5 @@
 
 		//Build new mesh
-		if (verbosity>1) _printf_("   Generating Mesh..." << "\n");
+		if (verbosity>1) _printf_("   Generating Mesh...\n");
 		Thr=&BTh,Thb=0;
 		Mesh & Th( *(0 ?  new Mesh(*Thr,&Thr->Gh,Thb,maxnbv) :  new Mesh(maxnbv,BTh,bamgopts,bamgopts->KeepVertices)));
@@ -192,9 +192,9 @@
 
 		//Build output
-		if (verbosity>1) _printf_("   Write Mesh..." << "\n");
+		if (verbosity>1) _printf_("   Write Mesh...\n");
 		Th.WriteMesh(bamgmesh_out,bamgopts);
-		if (verbosity>1) _printf_("   Write Geometry..." << "\n");
+		if (verbosity>1) _printf_("   Write Geometry...\n");
 		Th.Gh.WriteGeometry(bamggeom_out,bamgopts);
-		if (verbosity>1) _printf_("   Write Metric..." << "\n");
+		if (verbosity>1) _printf_("   Write Metric...\n");
 		BTh.WriteMetric(bamgopts);
 
@@ -206,5 +206,5 @@
 
 	/*No error return*/
-	if (verbosity>1) _printf_("   Exiting Bamg." << "\n");
+	if (verbosity>1) _printf_("   Exiting Bamg.\n");
 	return noerr;
 
Index: /issm/trunk-jpl/src/c/modules/Chacox/Chacox.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Chacox/Chacox.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Chacox/Chacox.cpp	(revision 15104)
@@ -63,10 +63,10 @@
 
 	if (DEBUG_TRACE > 0) {
-		_printf_("<Entering main>" << "\n");
+		_printf_("<Entering main>\n");
 	}
 
 	if (PRINT_HEADERS) {
-		_printf_("\n                    Chaco 2.0" << "\n");
-		_printf_("          Sandia National Laboratories\n" << "\n");
+		_printf_("\n                    Chaco 2.0\n");
+		_printf_("          Sandia National Laboratories\n\n");
 	}
 
@@ -166,5 +166,5 @@
 
 	if (DEBUG_MEMORY > 0) {
-		_printf_("" << "\n");
+		_printf_("\n");
 		smalloc_stats();
 	}
@@ -174,5 +174,5 @@
 
 	if (DEBUG_TRACE > 1) {
-		_printf_("<Leaving main>" << "\n");
+		_printf_("<Leaving main>\n");
 	}
 
Index: /issm/trunk-jpl/src/c/modules/Chacox/input_parse.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Chacox/input_parse.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Chacox/input_parse.cpp	(revision 15104)
@@ -37,13 +37,13 @@
 
 	if (DEBUG_TRACE > 0) {
-		_printf_("<Entering input_parse>" << "\n");
+		_printf_("<Entering input_parse>\n");
 	}
 
 	if (PROMPT) {
-		_printf_("Parallel machine architecture:" << "\n");
-		_printf_("  (0) Hypercube" << "\n");
-		_printf_("  (1) One-dimensional mesh" << "\n");
-		_printf_("  (2) Two-dimensional mesh" << "\n");
-		_printf_("  (3) Three-dimensional mesh" << "\n");
+		_printf_("Parallel machine architecture:\n");
+		_printf_("  (0) Hypercube\n");
+		_printf_("  (1) One-dimensional mesh\n");
+		_printf_("  (2) Two-dimensional mesh\n");
+		_printf_("  (3) Three-dimensional mesh\n");
 	}
 	*architecture = (int)options[OPT_ARCH];
@@ -73,12 +73,12 @@
 	else {
 		if (PROMPT) {
-			_printf_("Global partitioning method:" << "\n");
-			_printf_("  (1) Multilevel-KL" << "\n");
-			_printf_("  (2) Spectral" << "\n");
-			_printf_("  (3) Inertial" << "\n");
-			_printf_("  (4) Linear" << "\n");
-			_printf_("  (5) Random" << "\n");
-			_printf_("  (6) Scattered" << "\n");
-			_printf_("  (7) Read-from-file" << "\n");
+			_printf_("Global partitioning method:\n");
+			_printf_("  (1) Multilevel-KL\n");
+			_printf_("  (2) Spectral\n");
+			_printf_("  (3) Inertial\n");
+			_printf_("  (4) Linear\n");
+			_printf_("  (5) Random\n");
+			_printf_("  (6) Scattered\n");
+			_printf_("  (7) Read-from-file\n");
 		}
 		*global_method = (int)options[OPT_GLOBAL];
@@ -101,7 +101,7 @@
 	else if (*global_method == 2) {
 		if (PROMPT) {
-			_printf_("Eigensolver:" << "\n");
-			_printf_("  (1) Multilevel RQI/Symmlq" << "\n");
-			_printf_("  (2) Lanczos" << "\n"); 
+			_printf_("Eigensolver:\n");
+			_printf_("  (1) Multilevel RQI/Symmlq\n");
+			_printf_("  (2) Lanczos\n"); 
 		}
 		eigensolver = (int)options[OPT_RQI];
@@ -162,7 +162,7 @@
 	else {
 		if (PROMPT) {
-			_printf_("Local refinement method:" << "\n");
-			_printf_("  (1) Kernighan-Lin" << "\n");
-			_printf_("  (2) None" << "\n");
+			_printf_("Local refinement method:\n");
+			_printf_("  (1) Kernighan-Lin\n");
+			_printf_("  (2) None\n");
 		}
 		*local_method = (int)options[OPT_LOCAL];
@@ -181,5 +181,5 @@
 		*ndims_tot = nparts[0];
 		if (*ndims_tot < 1) {
-			_printf_(" Number of divisions must be at least 1" << "\n");
+			_printf_(" Number of divisions must be at least 1\n");
 			printf("%s -- Number of divisions %d must be at least 1.\n",
 				   __FUNCT__,nparts[0]);
@@ -220,7 +220,7 @@
 	else if (*nprocs <= 7) {
 		if (PROMPT) {
-			_printf_("Partitioning dimension: " << "\n");
-			_printf_("  (1) Bisection" << "\n");
-			_printf_("  (2) Quadrisection" << "\n");
+			_printf_("Partitioning dimension: \n");
+			_printf_("  (1) Bisection\n");
+			_printf_("  (2) Quadrisection\n");
 		}
 		*ndims = (int)options[OPT_NDIMS];
@@ -232,8 +232,8 @@
 	else {
 		if (PROMPT) {
-			_printf_("Partitioning dimension: " << "\n");
-			_printf_("  (1) Bisection" << "\n");
-			_printf_("  (2) Quadrisection" << "\n");
-			_printf_("  (3) Octasection" << "\n");
+			_printf_("Partitioning dimension: \n");
+			_printf_("  (1) Bisection\n");
+			_printf_("  (2) Quadrisection\n");
+			_printf_("  (3) Octasection\n");
 		}
 		*ndims = (int)options[OPT_NDIMS];
Index: /issm/trunk-jpl/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp	(revision 15104)
@@ -23,10 +23,10 @@
 	parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
 
-	if(VerboseMProcessor()) _printf0_("      Configuring elements..." << "\n");
+	if(VerboseMProcessor()) _printf0_("      Configuring elements...\n");
 	for (i=0;i<elements->Size();i++){
 		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
 		element->Configure(elements,loads,nodes,vertices,materials,parameters);
 	}
-	if(VerboseMProcessor()) _printf0_("      Configuring loads..." << "\n");
+	if(VerboseMProcessor()) _printf0_("      Configuring loads...\n");
 	for (i=0;i<loads->Size();i++){
 		load=(Load*)loads->GetObjectByOffset(i);
@@ -35,5 +35,5 @@
 		}
 	}
-	if(VerboseMProcessor()) _printf0_("      Configuring nodes..." << "\n");
+	if(VerboseMProcessor()) _printf0_("      Configuring nodes...\n");
 	for (i=0;i<nodes->Size();i++){
 		node=(Node*)nodes->GetObjectByOffset(i);
@@ -43,5 +43,5 @@
 	}
 
-	if(VerboseMProcessor()) _printf0_("      Configuring materials..." << "\n");
+	if(VerboseMProcessor()) _printf0_("      Configuring materials...\n");
 	for (i=0;i<materials->Size();i++){
 		material=(Material*)materials->GetObjectByOffset(i);
Index: /issm/trunk-jpl/src/c/modules/ConstraintsStatex/ConstraintsStatex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ConstraintsStatex/ConstraintsStatex.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/ConstraintsStatex/ConstraintsStatex.cpp	(revision 15104)
@@ -17,5 +17,5 @@
 
 	/*Display message*/
-	if(VerboseModule()) _printf0_("   Constraining penalties" << "\n");
+	if(VerboseModule()) _printf0_("   Constraining penalties\n");
 
 	/*recover parameters: */
Index: /issm/trunk-jpl/src/c/modules/ConstraintsStatex/RiftConstraintsState.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ConstraintsStatex/RiftConstraintsState.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/ConstraintsStatex/RiftConstraintsState.cpp	(revision 15104)
@@ -51,5 +51,5 @@
 	}
 	else if(num_unstable_constraints<=min_mechanical_constraints){
-		if(VerboseModule()) _printf0_("   freezing constraints" << "\n");
+		if(VerboseModule()) _printf0_("   freezing constraints\n");
 		RiftFreezeConstraints(loads,configuration_type);
 	}
Index: /issm/trunk-jpl/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp	(revision 15104)
@@ -17,5 +17,5 @@
 	int slocalsize;
 
-	if(VerboseModule()) _printf0_("   Create nodal constraints" << "\n");
+	if(VerboseModule()) _printf0_("   Create nodal constraints\n");
 
 	/*figure out how many dofs we have: */
Index: /issm/trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp	(revision 15104)
@@ -53,5 +53,5 @@
 	if (!ExpRead(&nprof,&pnvert,&pprofx,&pprofy,&closed,filexp))
 		_error_("Error reading exp file.");
-	_printf0_("Exp2Kmlx -- Reading " << nprof << " exp profiles from file \"" << filexp << "\"." << "\n");
+	_printf0_("Exp2Kmlx -- Reading " << nprof << " exp profiles from file \"" << filexp << "\".\n");
 //	for (i=0; i<nprof; i++)
 //		_printf_("i=" << i << "; nvert=" << pnvert[i] << ", closed=" << closed[i] << "\n");
@@ -118,5 +118,5 @@
 
 	if (holes && nprof && (pnvert[0] <= 1 || pprofx[0][pnvert[0]-1] != pprofx[0][0] || pprofy[0][pnvert[0]-1] != pprofy[0][0])) {
-		_printf0_("Warning -- Outer profile is not closed, so \"holes\" option will be ignored." << "\n");
+		_printf0_("Warning -- Outer profile is not closed, so \"holes\" option will be ignored.\n");
 		holes=false;
 	}
@@ -150,5 +150,5 @@
 		for (i=1; i<nprof; i++) {
 			if (pnvert[i] <= 1 || pprofx[i][pnvert[i]-1] != pprofx[i][0] || pprofy[i][pnvert[i]-1] != pprofy[i][0]) {
-				_printf0_("Warning -- Inner profile " << i+1 << " is not closed with \"holes\" specified, so it will be ignored." << "\n");
+				_printf0_("Warning -- Inner profile " << i+1 << " is not closed with \"holes\" specified, so it will be ignored.\n");
 				continue;
 			}
@@ -272,5 +272,5 @@
 /*  write kml file  */
 
-	_printf0_("Exp2Kmlx -- Writing kml document to file \"" << filkml << "\"." << "\n");
+	_printf0_("Exp2Kmlx -- Writing kml document to file \"" << filkml << "\".\n");
 	fid=fopen(filkml,"w");
 	fprintf(fid,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
@@ -287,5 +287,5 @@
 	clock1=clock();
 	time1 =time(NULL);
-	_printf_("Exp2Kmlx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <<difftime(time1,time0) << " elapsed seconds.\n\n" << "\n");
+	_printf_("Exp2Kmlx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <<difftime(time1,time0) << " elapsed seconds.\n\n\n");
 
 	return(iret);
Index: /issm/trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp	(revision 15104)
@@ -19,5 +19,5 @@
 	Vector<IssmDouble>* solution=NULL;
 
-	if(VerboseModule()) _printf0_("   Get solution from inputs" << "\n");
+	if(VerboseModule()) _printf0_("   Get solution from inputs\n");
 
 	/*retrive parameters: */
Index: /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 15104)
@@ -17,5 +17,5 @@
 	Element            *element                          = NULL;
 
-	if(VerboseModule()) _printf0_("   Migrating grounding line" << "\n");
+	if(VerboseModule()) _printf0_("   Migrating grounding line\n");
 
 	/*retrieve parameters: */
Index: /issm/trunk-jpl/src/c/modules/HoleFillerx/HoleFillerx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/HoleFillerx/HoleFillerx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/HoleFillerx/HoleFillerx.cpp	(revision 15104)
@@ -268,5 +268,5 @@
 
 			#ifdef _DEBUG2_
-				//_printf_(temp << " " << elev << " " << range << " " << "\n");
+				//_printf_(temp << " " << elev << " " << range << " \n");
 			#endif
 
@@ -338,5 +338,5 @@
 	#ifdef _DEBUG2_
 		_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:          0\n" << "\n");
+		_printf_("Number of zeroes remaining:          0\n\n");
 		printf ( "\n");
 	#endif
Index: /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp	(revision 15104)
@@ -10,5 +10,5 @@
 
 	int i;
-	if(VerboseModule()) _printf0_("   Input updates from constant" << "\n");
+	if(VerboseModule()) _printf0_("   Input updates from constant\n");
 
 	/*Elements and loads drive the update: */
@@ -31,5 +31,5 @@
 
 	int i;
-	if(VerboseModule()) _printf0_("   Input updates from constant" << "\n");
+	if(VerboseModule()) _printf0_("   Input updates from constant\n");
 
 	/*Elements and loads drive the update: */
@@ -52,5 +52,5 @@
 
 	int i;
-	if(VerboseModule()) _printf0_("   Input updates from constant" << "\n");
+	if(VerboseModule()) _printf0_("   Input updates from constant\n");
 
 	/*Elements and loads drive the update: */
Index: /issm/trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp	(revision 15104)
@@ -87,5 +87,5 @@
 	/*launch the thread manager with InterpFromGridToMeshxt as a core: */
 	LaunchThread(InterpFromGridToMeshxt,(void*)&gate,num);
-	_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+	_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 
 	/*Assign output pointers:*/
@@ -176,5 +176,5 @@
 					break;
 				default:
-					_printf_("Interpolation " << EnumToStringx(interpenum) << " not supported yet" << "\n");
+					_printf_("Interpolation " << EnumToStringx(interpenum) << " not supported yet\n");
 					return NULL; /*WARNING: no error because it would blow up the multithreading!*/
 			}
Index: /issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp	(revision 15104)
@@ -99,5 +99,5 @@
 	}
 	if(debug && my_thread==0)
-	 _printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+	 _printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 	return NULL;
 }
Index: /issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp	(revision 15104)
@@ -168,5 +168,5 @@
 	}
 	if (debug)
-	 _printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+	 _printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 
 	/*Assign output pointers:*/
Index: /issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp	(revision 15104)
@@ -142,5 +142,5 @@
 		}
 	}
-	//if(N_interp>=100) _printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+	//if(N_interp>=100) _printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 
 	/*clean-up and return*/
Index: /issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp	(revision 15104)
@@ -132,5 +132,5 @@
 	}
 	if (debug)
-	 _printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+	 _printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 
 	/*Assign output pointers:*/
Index: /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp	(revision 15104)
@@ -45,10 +45,10 @@
 
 	if (kxml) {
-		_printf0_("XML declaration:" << "\n");
+		_printf0_("XML declaration:\n");
 		kxml->DeepEcho("  ");
 		delete kxml;
 	}
 	if (kdtd) {
-		_printf0_("DTD declaration (not yet implemented):" << "\n");
+		_printf0_("DTD declaration (not yet implemented):\n");
 		kdtd->DeepEcho("  ");
 		delete kdtd;
@@ -57,5 +57,5 @@
 	clock1=clock();
 	time1 =time(NULL);
-	_printf_("KMLFileReadx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <<difftime(time1,time0) << " elapsed seconds.\n\n" << "\n");
+	_printf_("KMLFileReadx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <<difftime(time1,time0) << " elapsed seconds.\n\n\n");
 
 	return(kfil);
Index: /issm/trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp	(revision 15104)
@@ -80,5 +80,5 @@
 
 	if (cmap) {
-		_printf0_("Writing " << mcmap << " Matlab colors as KML style templates." << "\n");
+		_printf0_("Writing " << mcmap << " Matlab colors as KML style templates.\n");
 		ipt=0;
 		for (i=0; i<mcmap; i++) {
@@ -115,5 +115,5 @@
 
 	if (!nodecon) {
-		_printf0_("Creating the node connectivity table." << "\n");
+		_printf0_("Creating the node connectivity table.\n");
 		nncon=mxepg+1;
 		nodecon=xNewZeroInit<int>(mncon*nncon);
@@ -146,5 +146,5 @@
 
 		else if (mdata == mncon) {
-			_printf0_("Averaging nodal data to element data." << "\n");
+			_printf0_("Averaging nodal data to element data.\n");
 			edata=xNewZeroInit<double>(melem*ndata);
 			edfree=true;
@@ -185,9 +185,9 @@
 	clock0a=clock();
 	time0a =time(NULL);
-	_printf_("  Constructed kml document -- " << ((double)(clock0a-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0a,time0) << " elapsed seconds.\n\n" << "\n");
+	_printf_("  Constructed kml document -- " << ((double)(clock0a-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0a,time0) << " elapsed seconds.\n\n\n");
 
 /*  write kml file  */
 
-	_printf0_("Writing kml document to file." << "\n");
+	_printf0_("Writing kml document to file.\n");
 	fprintf(fid,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
 	fprintf(fid,"<kml xmlns=\"http://www.opengis.net/kml/2.2\">\n");
@@ -196,15 +196,15 @@
 	clock0b=clock();
 	time0b =time(NULL);
-	_printf_("  Wrote kml file -- " << ((double)(clock0b-clock0a))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0b,time0a) << " elapsed seconds.\n\n" << "\n");
-
-	_printf0_("Deleting kml document." << "\n");
+	_printf_("  Wrote kml file -- " << ((double)(clock0b-clock0a))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0b,time0a) << " elapsed seconds.\n\n\n");
+
+	_printf0_("Deleting kml document.\n");
 	delete kdoc;
 	clock0c=clock();
 	time0c =time(NULL);
-	_printf_("  Deleted kml document -- " << ((double)(clock0c-clock0b))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0c,time0b) << " elapsed seconds.\n\n" << "\n");
+	_printf_("  Deleted kml document -- " << ((double)(clock0c-clock0b))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0c,time0b) << " elapsed seconds.\n\n\n");
 
 	clock1=clock();
 	time1 =time(NULL);
-	_printf_("KMLMeshWritex Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n" << "\n");
+	_printf_("KMLMeshWritex Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n\n");
 
 	return;
@@ -297,5 +297,5 @@
 /*  write each element as a polygon placemark  */
 
-	_printf0_("Writing " << melem << " tria elements as KML polygons." << "\n");
+	_printf0_("Writing " << melem << " tria elements as KML polygons.\n");
 
 	for (i=0; i<melem; i++) {
@@ -349,7 +349,7 @@
 
 //		if (!(int)fmod((double)(i+1),1000))
-//			_printf0_("  " << (i+1) << " tria elements written." << "\n");
+//			_printf0_("  " << (i+1) << " tria elements written.\n");
 	}
-	_printf0_("  " << melem << " tria elements written." << "\n");
+	_printf0_("  " << melem << " tria elements written.\n");
 
 	return(kfold);
Index: /issm/trunk-jpl/src/c/modules/KMLOverlayx/KMLOverlayx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/KMLOverlayx/KMLOverlayx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/KMLOverlayx/KMLOverlayx.cpp	(revision 15104)
@@ -79,5 +79,5 @@
 /*  write kml file  */
 
-	_printf0_("Writing kml document to file." << "\n");
+	_printf0_("Writing kml document to file.\n");
 	fprintf(fid,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
 	kfile->Write(fid,indent);
@@ -87,5 +87,5 @@
 	clock1=clock();
 	time1 =time(NULL);
-	_printf_("KMLOverlayx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n" << "\n");
+	_printf_("KMLOverlayx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/modules/Kml2Expx/Kml2Expx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Kml2Expx/Kml2Expx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Kml2Expx/Kml2Expx.cpp	(revision 15104)
@@ -46,5 +46,5 @@
 /*  open exp file  */
 
-	_printf0_("Writing exp profiles to file." << "\n");
+	_printf0_("Writing exp profiles to file.\n");
 	fido=fopen(filexp,"w");
 
@@ -61,5 +61,5 @@
 	clock1=clock();
 	time1 =time(NULL);
-	_printf_("Kml2Expx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n" << "\n");
+	_printf_("Kml2Expx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n\n");
 
 	return(iret);
Index: /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp	(revision 15104)
@@ -83,8 +83,8 @@
 		observations->ObservationList(&x,&y,&data,&nobs);
 
-		_printf_("Generation Delaunay Triangulation" << "\n");
+		_printf_("Generation Delaunay Triangulation\n");
 		BamgTriangulatex(&index,&nel,x,y,nobs);
 
-		_printf_("Interpolating" << "\n");
+		_printf_("Interpolating\n");
 		xDelete<double>(predictions);
 		InterpFromMeshToMesh2dx(&predictions,index,x,y,nobs,nel,data,nobs,1,x_interp,y_interp,n_interp,options);
@@ -110,5 +110,5 @@
 		/*launch the thread manager with Krigingxt as a core: */
 		LaunchThread(NearestNeighbort,(void*)&gate,num);
-		_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+		_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 		xDelete<int>(gate.numdone);
 	}
@@ -132,5 +132,5 @@
 		/*launch the thread manager with Krigingxt as a core: */
 		LaunchThread(idwt,(void*)&gate,num);
-		_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+		_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 		xDelete<int>(gate.numdone);
 	}
@@ -154,5 +154,5 @@
 		/*launch the thread manager with Krigingxt as a core: */
 		LaunchThread(v4t,(void*)&gate,num);
-		_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+		_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 		xDelete<int>(gate.numdone);
 	}
@@ -177,5 +177,5 @@
 		/*launch the thread manager with Krigingxt as a core: */
 		LaunchThread(Krigingxt,(void*)&gate,num);
-		_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+		_printf_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 		xDelete<int>(gate.numdone);
 	}
Index: /issm/trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp	(revision 15104)
@@ -68,8 +68,8 @@
 		/*partition loop across threads: */
 		for(int idx=my_rank;idx<n_interp;idx+=num_procs){
-			_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<double(idx)/double(n_interp)*100.<<"%" << "\n");
+			_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<double(idx)/double(n_interp)*100.<<"%\n");
 			observations->InterpolationKriging(&predictions[idx],&error[idx],x_interp[idx],y_interp[idx],radius,mindata,maxdata,variogram);
 		}
-		_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<100.<<"%" << "\n");
+		_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<100.<<"%\n");
 
 #ifdef _HAVE_MPI_
@@ -86,8 +86,8 @@
 		/*partition loop across threads: */
 		for(int idx=my_rank;idx<n_interp;idx+=num_procs){
-			_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<double(idx)/double(n_interp)*100.<<"%" << "\n");
+			_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<double(idx)/double(n_interp)*100.<<"%\n");
 			observations->InterpolationV4(&predictions[idx],x_interp[idx],y_interp[idx],radius,mindata,maxdata);
 		}
-		_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<100.<<"%" << "\n");
+		_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<100.<<"%\n");
 
 #ifdef _HAVE_MPI_
@@ -101,8 +101,8 @@
 		/*partition loop across threads: */
 		for(int idx=my_rank;idx<n_interp;idx+=num_procs){
-			_printf0_("      interpolation progress: "<<setw(6)<<setprecision(4)<<double(idx)/double(n_interp)*100.<<"%" << "\n");
+			_printf0_("      interpolation progress: "<<setw(6)<<setprecision(4)<<double(idx)/double(n_interp)*100.<<"%\n");
 			observations->InterpolationNearestNeighbor(&predictions[idx],x_interp[idx],y_interp[idx],radius);
 		}
-		_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<100.<<"%" << "\n");
+		_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<100.<<"%\n");
 
 #ifdef _HAVE_MPI_
@@ -118,8 +118,8 @@
 		/*partition loop across threads: */
 		for(int idx=my_rank;idx<n_interp;idx+=num_procs){
-			_printf0_("      interpolation progress: "<<setw(6)<<setprecision(4)<<double(idx)/double(n_interp)*100.<<"%" << "\n");
+			_printf0_("      interpolation progress: "<<setw(6)<<setprecision(4)<<double(idx)/double(n_interp)*100.<<"%\n");
 			observations->InterpolationIDW(&predictions[idx],x_interp[idx],y_interp[idx],radius,mindata,maxdata,power);
 		}
-		_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<100.<<"%" << "\n");
+		_printf0_("      interpolation progress: "<<fixed<<setw(6)<<setprecision(4)<<100.<<"%\n");
 
 #ifdef _HAVE_MPI_
@@ -142,7 +142,7 @@
 
 	MPI_Barrier(MPI_COMM_WORLD); finish=MPI_Wtime( );
-	_printf_("\n   " << setw(34) << left << "Observation fitering elapsed time: " << finish_init-start_init << " seconds  \n" << "\n");
-	_printf_("   " << setw(34) << left << "Kriging prediction elapsed time: " << finish_core-start_core << " seconds  \n" << "\n");
-	_printf_("\n   " << "Total elapsed time " << int((finish-start)/3600) << " hrs " << int(int(finish-start)%3600/60) << " min " << int(finish-start)%60 << " sec\n\n" << "\n");
+	_printf_("\n   " << setw(34) << left << "Observation fitering elapsed time: " << finish_init-start_init << " seconds  \n\n");
+	_printf_("   " << setw(34) << left << "Kriging prediction elapsed time: " << finish_core-start_core << " seconds  \n\n");
+	_printf_("\n   " << "Total elapsed time " << int((finish-start)/3600) << " hrs " << int(int(finish-start)%3600/60) << " min " << int(finish-start)%60 << " sec\n\n\n");
 	return 1;
 #else
Index: /issm/trunk-jpl/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp	(revision 15104)
@@ -17,5 +17,5 @@
 
 	/*Display message*/
-	if(VerboseModule()) _printf0_("   Merging solution vector from fset to gset" << "\n");
+	if(VerboseModule()) _printf0_("   Merging solution vector from fset to gset\n");
 
 	/*first, get gsize, fsize and ssize: */
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 15104)
@@ -41,5 +41,5 @@
 	SetVerbosityLevel(verbose);
 
-	if(VerboseMProcessor()) _printf0_("   starting model processor " << "\n");
+	if(VerboseMProcessor()) _printf0_("   starting model processor \n");
 
 	for(i=0;i<nummodels;i++){
@@ -68,5 +68,5 @@
 		CreateDataSets(&elements,&nodes,&vertices,&materials,&constraints,&loads,&parameters,iomodel,rootpath,solution_type,analysis_type,nummodels,i);
 	}
-	if(VerboseMProcessor()) _printf0_("   done with model processor " << "\n");
+	if(VerboseMProcessor()) _printf0_("   done with model processor \n");
 
 	/*Free resources:*/
Index: /issm/trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp	(revision 15104)
@@ -70,5 +70,5 @@
 	}
 	if (my_thread==0)
-	 _printf_("\r      loop progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%" << "\n");
+	 _printf_("\r      loop progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%\n");
 
 	/*Free ressources:*/
Index: /issm/trunk-jpl/src/c/modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp	(revision 15104)
@@ -54,5 +54,5 @@
 
   if (itm >= NPDMAX){
-    _printf_("increase NPDMAX in massBalance.cpp" << "\n");
+    _printf_("increase NPDMAX in massBalance.cpp\n");
     exit (1);
       }
@@ -80,5 +80,5 @@
   itm = reCast<int,IssmDouble>((PDCUT+2.*siglimc)/DT + 1.5);
   if (itm >= NPDCMAX){
-    _printf_("'increase NPDCMAX in p35com'" << "\n");
+    _printf_("'increase NPDCMAX in p35com'\n");
     exit (1);
       }
Index: /issm/trunk-jpl/src/c/modules/Reduceloadx/Reduceloadx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Reduceloadx/Reduceloadx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Reduceloadx/Reduceloadx.cpp	(revision 15104)
@@ -22,5 +22,5 @@
 	bool        oldalloc  = false;
 
-	if(VerboseModule()) _printf0_("   Dirichlet lifting applied to load vector" << "\n");
+	if(VerboseModule()) _printf0_("   Dirichlet lifting applied to load vector\n");
 
 	Kfs->GetSize(&global_m,&global_n);
Index: /issm/trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp	(revision 15104)
@@ -17,5 +17,5 @@
 	bool        oldalloc  = false;
 
-	if(VerboseModule()) _printf0_("   Reduce vector from g to f set" << "\n");
+	if(VerboseModule()) _printf0_("   Reduce vector from g to f set\n");
 
 	/*first figure out fsize: */
Index: /issm/trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp	(revision 15104)
@@ -14,5 +14,5 @@
 
 	/*Display message*/
-	if(VerboseModule()) _printf0_("   Resetting penalties" << "\n");
+	if(VerboseModule()) _printf0_("   Resetting penalties\n");
 
 	/*recover parameters: */
Index: /issm/trunk-jpl/src/c/modules/Shp2Expx/Shp2Expx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Shp2Expx/Shp2Expx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Shp2Expx/Shp2Expx.cpp	(revision 15104)
@@ -295,7 +295,7 @@
 
 			if (pnpart[i] > 0)
-				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n" << "\n");
+				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n\n");
 			if (pnvert[i] > 1)
-				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnvert[i] << " > 1 vertices.\n" << "\n");
+				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnvert[i] << " > 1 vertices.\n\n");
 
 			kpoint=new KML_Point();
@@ -464,5 +464,5 @@
 				else {
 					if (!kpoly) {
-						_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\", part " << j << ", expected to be outer loop (cw).\n" << "\n");
+						_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\", part " << j << ", expected to be outer loop (cw).\n\n");
 						continue;
 					}
@@ -512,5 +512,5 @@
 
 			if (pnpart[i] > 0)
-				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n" << "\n");
+				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n\n");
 
 /*  create a multigeometry to hold all the points  */
@@ -555,5 +555,5 @@
 
 		else if (pstype[i] == SHPT_MULTIPATCH) {
-			_printf_("Warning -- Shape " << i << " of type \"" <<SHPTypeName( pstype[i] ) << "\" will be ignored.\n" << "\n");
+			_printf_("Warning -- Shape " << i << " of type \"" <<SHPTypeName( pstype[i] ) << "\" will be ignored.\n\n");
 			continue;
 		}
@@ -562,5 +562,5 @@
 
 		else {
-			_printf_(,"Warning -- Shape " << i << " of type \"" <<SHPTypeName( pstype[i] ) << "\" will be ignored.\n" << "\n");
+			_printf_(,"Warning -- Shape " << i << " of type \"" <<SHPTypeName( pstype[i] ) << "\" will be ignored.\n\n");
 		}
 	}
@@ -575,5 +575,5 @@
 /*  open exp file  */
 
-	_printf0_("Writing exp profiles to file." << "\n");
+	_printf0_("Writing exp profiles to file.\n");
 	fid=fopen(filexp,"w");
 
@@ -609,5 +609,5 @@
 	clock1=clock();
 	time1 =time(NULL);
-	_printf_("Shp2Expx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <<difftime(time1,time0)  << " elapsed seconds.\n\n" << "\n");
+	_printf_("Shp2Expx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <<difftime(time1,time0)  << " elapsed seconds.\n\n\n");
 
 	return(iret);
Index: /issm/trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp	(revision 15104)
@@ -283,7 +283,7 @@
 
 			if (pnpart[i] > 0)
-				_printf_("Warning -- Shape "<< i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n" << "\n");
+				_printf_("Warning -- Shape "<< i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n\n");
 			if (pnvert[i] > 1)
-				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 1 vertices.\n" << "\n");
+				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 1 vertices.\n\n");
 
 			kpoint=new KML_Point();
@@ -452,5 +452,5 @@
 				else {
 					if (!kpoly) {
-						_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\", part " << j << ", expected to be outer loop (cw).\n" << "\n");
+						_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\", part " << j << ", expected to be outer loop (cw).\n\n");
 						continue;
 					}
@@ -500,5 +500,5 @@
 
 			if (pnpart[i] > 0)
-				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n" << "\n");
+				_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n\n");
 
 /*  create a multigeometry to hold all the points  */
@@ -543,5 +543,5 @@
 
 		else if (pstype[i] == SHPT_MULTIPATCH) {
-			_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" will be ignored.\n" << "\n");
+			_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" will be ignored.\n\n");
 			continue;
 		}
@@ -550,5 +550,5 @@
 
 		else {
-			_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" will be ignored.\n" << "\n");
+			_printf_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" will be ignored.\n\n");
 		}
 	}
@@ -563,5 +563,5 @@
 /*  write kml file  */
 
-	_printf0_("Writing kml document to file." << "\n");
+	_printf0_("Writing kml document to file.\n");
 	fid=fopen(filkml,"w");
 	fprintf(fid,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
@@ -592,5 +592,5 @@
 	clock1=clock();
 	time1 =time(NULL);
-	_printf_("Shp2Kmlx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n" << "\n");
+	_printf_("Shp2Kmlx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n\n");
 
 	return(iret);
Index: /issm/trunk-jpl/src/c/modules/Solverx/Solverx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Solverx/Solverx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/modules/Solverx/Solverx.cpp	(revision 15104)
@@ -20,5 +20,5 @@
 	Vector<IssmDouble> *uf=NULL;
 
-	if(VerboseModule()) _printf0_("   Solving matrix system" << "\n");
+	if(VerboseModule()) _printf0_("   Solving matrix system\n");
 
 	/*Initialize solver: */
Index: /issm/trunk-jpl/src/c/shared/Elements/PrintArrays.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Elements/PrintArrays.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/Elements/PrintArrays.cpp	(revision 15104)
@@ -5,15 +5,15 @@
 
 void printarray(IssmPDouble* array,int lines,int cols){
-	_printf_("" << "\n");
+	_printf_("\n");
 	for(int i=0;i<lines;i++){  
 		_printf_("   [ ");
 		for(int j=0;j<cols;j++) _printf_( " " << setw(11) << setprecision (5) << array[i*cols+j]);
-		_printf_(" ]" << "\n");
+		_printf_(" ]\n");
 	}  
-	_printf_("" << "\n");
+	_printf_("\n");
 }
 void printsparsity(IssmPDouble* array,int lines,int cols){
 	int count;
-	_printf_("" << "\n");
+	_printf_("\n");
 	for(int i=0;i<lines;i++){  
 		_printf_("   [ ");
@@ -28,17 +28,17 @@
 		_printf_(" ] "<<i<<" => "<<count << "\n");
 	}  
-	_printf_("" << "\n");
+	_printf_("\n");
 }
 void printarray(int* array,int lines,int cols){
-	_printf_("" << "\n");
+	_printf_("\n");
 	for(int i=0;i<lines;i++){  
 		_printf_("   [ ");
 		for(int j=0;j<cols;j++) _printf_( " " << setw(11) << setprecision (5) << array[i*cols+j]);
-		_printf_(" ]" << "\n");
+		_printf_(" ]\n");
 	}  
-	_printf_("" << "\n");
+	_printf_("\n");
 }
 void printarray(bool* array,int lines,int cols){
-	_printf_("" << "\n");
+	_printf_("\n");
 	for(int i=0;i<lines;i++){  
 		_printf_("   [ ");
@@ -47,7 +47,7 @@
 			else _printf_( " 0");
 		}
-		_printf_(" ]" << "\n");
+		_printf_(" ]\n");
 	}  
-	_printf_("" << "\n");
+	_printf_("\n");
 }
 void printbinary(int n){
Index: /issm/trunk-jpl/src/c/shared/Exceptions/Exceptions.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Exceptions/Exceptions.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/Exceptions/Exceptions.cpp	(revision 15104)
@@ -47,9 +47,9 @@
 		if(num_procs==1){
 			_printf_("\n??? Error in ==> " << file_name.c_str() << ":" << file_line << "\n");
-			_printf_(function_name.c_str() << " error message: " << what() << "\n" << "\n");
+			_printf_(function_name.c_str() << " error message: " << what() << "\n\n");
 		}
 		else{
 			_printf_("\n[" << my_rank<< "] ??? Error using ==> " << file_name.c_str() << ":" << file_line << "\n");
-			_printf_(  "[" << my_rank << "] " << function_name.c_str() << " error message: " << what() << "\n" << "\n");
+			_printf_(  "[" << my_rank << "] " << function_name.c_str() << " error message: " << what() << "\n\n");
 		}
 	}
Index: /issm/trunk-jpl/src/c/shared/Exceptions/exceptions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Exceptions/exceptions.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/Exceptions/exceptions.h	(revision 15104)
@@ -64,9 +64,9 @@
 	}\
 	catch (exception& e) {\
-		_printf_("Standard exception: " << e.what() << "\n" << "\n");\
+		_printf_("Standard exception: " << e.what() << "\n\n");\
 		return 0;\
 	}\
 	catch(...){\
-		_printf_("An unexpected error occurred \n" << "\n");\
+		_printf_("An unexpected error occurred \n\n");\
 		return 0;\
 	}
Index: /issm/trunk-jpl/src/c/shared/LatLong/Ll2xyx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/LatLong/Ll2xyx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/LatLong/Ll2xyx.cpp	(revision 15104)
@@ -114,10 +114,10 @@
 		*pdelta= 45;
 		*pslat = 70;
-		if(flag) _printf0_("Info: creating coordinates in polar stereographic (Std Latitude: 70N Meridian: 45)." << "\n");
+		if(flag) _printf0_("Info: creating coordinates in polar stereographic (Std Latitude: 70N Meridian: 45).\n");
 	}
 	else if (sgn == -1) {
 		*pdelta= 0;
 		*pslat = 71;
-		if(flag) _printf0_("Info: creating coordinates in polar stereographic (Std Latitude: 71S Meridian: 0)." << "\n");
+		if(flag) _printf0_("Info: creating coordinates in polar stereographic (Std Latitude: 71S Meridian: 0).\n");
 	}
 	else _error_("Sign should be either +1 or -1.\n");
Index: /issm/trunk-jpl/src/c/shared/LatLong/Xy2llx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/LatLong/Xy2llx.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/LatLong/Xy2llx.cpp	(revision 15104)
@@ -122,10 +122,10 @@
 		*pdelta= 45;
 		*pslat = 70;
-		if(flag) _printf0_("Warning: expecting coordinates in polar stereographic (Std Latitude: 70N Meridian: 45)." << "\n");
+		if(flag) _printf0_("Warning: expecting coordinates in polar stereographic (Std Latitude: 70N Meridian: 45).\n");
 	}
 	else if (sgn == -1) {
 		*pdelta= 0;
 		*pslat = 71;
-		if(flag) _printf0_("Warning: expecting coordinates in polar stereographic (Std Latitude: 71S Meridian: 0)." << "\n");
+		if(flag) _printf0_("Warning: expecting coordinates in polar stereographic (Std Latitude: 71S Meridian: 0).\n");
 	}
 	else _error_("Sign should be either +1 or -1.\n");
Index: /issm/trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp	(revision 15104)
@@ -205,5 +205,5 @@
 		pindx[ipiv]++;
 
-		//		_printf_("pivot for i=" << i << ": irow=" << irow << ", icol=" << icol  << ", pindx[" << ipiv << "]=" << pindx[ipiv] << "\n" << "\n");
+		//		_printf_("pivot for i=" << i << ": irow=" << irow << ", icol=" << icol  << ", pindx[" << ipiv << "]=" << pindx[ipiv] << "\n\n");
 
 		/*  switch rows to put pivot element on diagonal, noting that the
@@ -211,5 +211,5 @@
 
 		if (irow != icol) {
-			//			_printf_("row switch for i=" << i << ": irow=" << irow << ", icol=" << icol << "\n" << "\n");
+			//			_printf_("row switch for i=" << i << ": irow=" << irow << ", icol=" << icol << "\n\n");
 
 			ipt=irow*ndim;
@@ -292,5 +292,5 @@
 			icol=pivrc2[j];
 
-			//			_printf_("column switch back for j=" << j << ": irow=" << irow << ", icol=" << icol << "\n" << "\n");
+			//			_printf_("column switch back for j=" << j << ": irow=" << irow << ", icol=" << icol << "\n\n");
 
 			ipt=0;
Index: /issm/trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp	(revision 15104)
@@ -50,11 +50,11 @@
 	if (xIsNan<IssmDouble>(fxmin)) _error_("Function evaluation returned NaN");
 	cout<<setprecision(5);
-	if(VerboseControl()) _printf0_("" << "\n");
-	if(VerboseControl()) _printf0_("       Iteration         x           f(x)       Tolerance         Procedure" << "\n");
-	if(VerboseControl()) _printf0_("" << "\n");
-	if(VerboseControl()) _printf0_("           N/A    "<<setw(12)<<xmin<<"  "<<setw(12)<<fxmin<<"           N/A         boundary" << "\n");
+	if(VerboseControl()) _printf0_("\n");
+	if(VerboseControl()) _printf0_("       Iteration         x           f(x)       Tolerance         Procedure\n");
+	if(VerboseControl()) _printf0_("\n");
+	if(VerboseControl()) _printf0_("           N/A    "<<setw(12)<<xmin<<"  "<<setw(12)<<fxmin<<"           N/A         boundary\n");
 	fxmax = (*f)(xmax,optargs);
 	if (xIsNan<IssmDouble>(fxmax)) _error_("Function evaluation returned NaN");
-	if(VerboseControl()) _printf0_("           N/A    "<<setw(12)<<xmax<<"  "<<setw(12)<<fxmax<<"           N/A         boundary" << "\n");
+	if(VerboseControl()) _printf0_("           N/A    "<<setw(12)<<xmax<<"  "<<setw(12)<<fxmax<<"           N/A         boundary\n");
 
 	/*test if jump option activated and xmin==0*/
@@ -93,5 +93,5 @@
 	/*4: print result*/
 	if(VerboseControl())
-	 _printf0_("         "<<setw(5)<<iter<<"    "<<setw(12)<<xbest<<"  "<<setw(12)<<fxbest<<"  "<<setw(12)<<pow(pow(xbest-xm,2),0.5)<<"         initial" << "\n");
+	 _printf0_("         "<<setw(5)<<iter<<"    "<<setw(12)<<xbest<<"  "<<setw(12)<<fxbest<<"  "<<setw(12)<<pow(pow(xbest-xm,2),0.5)<<"         initial\n");
 	if (!xIsNan<IssmDouble>(cm_jump) && (xmin==0) && ((fxbest/fxmin)<cm_jump)){
 		if(VerboseControl()) _printf0_("      optimization terminated: current x satisfies criteria 'cm_jump'=" << cm_jump << "\n");
@@ -198,5 +198,5 @@
 		}
 		else if (iter>=maxiter){
-			if(VerboseControl()) _printf0_("      exiting: Maximum number of iterations has been exceeded  ('maxiter'=" << maxiter << ")" << "\n");
+			if(VerboseControl()) _printf0_("      exiting: Maximum number of iterations has been exceeded  ('maxiter'=" << maxiter << ")\n");
 			loop=false;
 		}
Index: /issm/trunk-jpl/src/c/shared/Numerics/GaussPoints.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/GaussPoints.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/Numerics/GaussPoints.cpp	(revision 15104)
@@ -1200,5 +1200,5 @@
 	//	_printf0_("GaussLegendreTria - ngaus=" << *pngaus << "\n");
 	//	for (i=0; i<*pngaus; i++)
-	//		_printf0_("i=" << i << ": l1gaus=" << (*pl1 )[i] << ",l2gaus=" << (*pl2 )[i] << ",l3gaus=" << (*pl3 )[i]<< ",wgt=" << (*pwgt)[i]<< "\n" << "\n");
+	//		_printf0_("i=" << i << ": l1gaus=" << (*pl1 )[i] << ",l2gaus=" << (*pl2 )[i] << ",l3gaus=" << (*pl3 )[i]<< ",wgt=" << (*pwgt)[i]<< "\n\n");
 
 	return;
Index: /issm/trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp	(revision 15104)
@@ -47,8 +47,8 @@
 	if (xIsNan<IssmDouble>(fx1)) _error_("Function evaluation returned NaN");
 	cout<<setprecision(5);
-	if(VerboseControl()) _printf0_("" << "\n");
-	if(VerboseControl()) _printf0_("       Iteration         x           f(x)       Tolerance" << "\n");
-	if(VerboseControl()) _printf0_("" << "\n");
-	if(VerboseControl()) _printf0_("           N/A    "<<setw(12)<<x1<<"  "<<setw(12)<<fx1<<"           N/A" << "\n");
+	if(VerboseControl()) _printf0_("\n");
+	if(VerboseControl()) _printf0_("       Iteration         x           f(x)       Tolerance\n");
+	if(VerboseControl()) _printf0_("\n");
+	if(VerboseControl()) _printf0_("           N/A    "<<setw(12)<<x1<<"  "<<setw(12)<<fx1<<"           N/A\n");
 
 	//update tolerances
@@ -71,5 +71,5 @@
 		}
 		else if (iter>=maxiter){
-			if(VerboseControl()) _printf0_("      " << "exiting: Maximum number of iterations has been exceeded  - increase 'maxiter'" << "\n");
+			if(VerboseControl()) _printf0_("      " << "exiting: Maximum number of iterations has been exceeded  - increase 'maxiter'\n");
 			loop=false;
 		}
Index: /issm/trunk-jpl/src/c/solutionsequences/convergence.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/convergence.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/solutionsequences/convergence.cpp	(revision 15104)
@@ -30,5 +30,5 @@
 	IssmDouble yts;
 
-	if(VerboseModule()) _printf0_("   checking convergence" << "\n");
+	if(VerboseModule()) _printf0_("   checking convergence\n");
 
 	/*If uf is NULL in input, f-set is nil, model is fully constrained, therefore converged from 
@@ -73,5 +73,5 @@
 	res=nKUoldF/nF;
 	if (xIsNan<IssmDouble>(res)){
-		_printf0_("norm nf = " << nF << "f and norm kuold = " << nKUoldF << "f" << "\n");
+		_printf0_("norm nf = " << nF << "f and norm kuold = " << nKUoldF << "f\n");
 		_error_("mechanical equilibrium convergence criterion is NaN!");
 	}
@@ -83,9 +83,9 @@
 	//print
 	if(res<eps_res){
-		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   mechanical equilibrium convergence criterion"<<res*100<< " < "<<eps_res*100<<" %" << "\n");
+		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   mechanical equilibrium convergence criterion"<<res*100<< " < "<<eps_res*100<<" %\n");
 		converged=true;
 	}
 	else{ 
-		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   mechanical equilibrium convergence criterion"<<res*100<<" > "<<eps_res*100<<" %" << "\n");
+		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   mechanical equilibrium convergence criterion"<<res*100<<" > "<<eps_res*100<<" %\n");
 		converged=false;
 	}
@@ -106,12 +106,12 @@
 		if (!xIsNan<IssmDouble>(eps_rel)){
 			if((ndu/nu)<eps_rel){
-				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " < " << eps_rel*100 << " %" << "\n");
+				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " < " << eps_rel*100 << " %\n");
 			}
 			else{ 
-				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " > " << eps_rel*100 << " %" << "\n");
+				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " > " << eps_rel*100 << " %\n");
 				converged=false;
 			}
 		}
-		else _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " %" << "\n");
+		else _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " %\n");
 
 	}
@@ -131,12 +131,12 @@
 		if (!xIsNan<IssmDouble>(eps_abs)){
 			if ((nduinf*yts)<eps_abs){
-				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: max(du)" << nduinf*yts << " < " << eps_abs << " m/yr" << "\n");
+				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: max(du)" << nduinf*yts << " < " << eps_abs << " m/yr\n");
 			}
 			else{
-				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: max(du)" << nduinf*yts << " > " << eps_abs << " m/yr" << "\n");
+				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: max(du)" << nduinf*yts << " > " << eps_abs << " m/yr\n");
 				converged=false;
 			}
 		}
-		else  _printf0_(setw(50) << left << "   Convergence criterion: max(du)" << nduinf*yts << " m/yr" << "\n");
+		else  _printf0_(setw(50) << left << "   Convergence criterion: max(du)" << nduinf*yts << " m/yr\n");
 
 	}
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 15104)
@@ -164,22 +164,22 @@
 			if (!xIsNan<IssmDouble>(eps_hyd)){
 				if((ndu_sed/nu_sed)<eps_hyd){
-					if(VerboseConvergence()) _printf0_(setw(50) << left << "   Sediment Convergence criterion:" << ndu_sed/nu_sed*100 << " < " << eps_hyd*100 << " %" << "\n");
+					if(VerboseConvergence()) _printf0_(setw(50) << left << "   Sediment Convergence criterion:" << ndu_sed/nu_sed*100 << " < " << eps_hyd*100 << " %\n");
 					hydroconverged=true;
 				}
 				else{ 
-					if(VerboseConvergence()) _printf0_(setw(50) << left << "   Sediment Convergence criterion:" << ndu_sed/nu_sed*100 << " > " << eps_hyd*100 << " %" << "\n");
+					if(VerboseConvergence()) _printf0_(setw(50) << left << "   Sediment Convergence criterion:" << ndu_sed/nu_sed*100 << " > " << eps_hyd*100 << " %\n");
 					hydroconverged=false;
 				}
 				if(isefficientlayer){
 					if((ndu_epl/nu_epl)<eps_hyd){
-						if(VerboseConvergence()) _printf0_(setw(50) << left << "   EPL Convergence criterion:" << ndu_epl/nu_epl*100 << " < " << eps_hyd*100 << " %" << "\n");
+						if(VerboseConvergence()) _printf0_(setw(50) << left << "   EPL Convergence criterion:" << ndu_epl/nu_epl*100 << " < " << eps_hyd*100 << " %\n");
 					}
 					else{ 
-						if(VerboseConvergence()) _printf0_(setw(50) << left << "   EPL Convergence criterion:" << ndu_epl/nu_epl*100 << " > " << eps_hyd*100 << " %" << "\n");
+						if(VerboseConvergence()) _printf0_(setw(50) << left << "   EPL Convergence criterion:" << ndu_epl/nu_epl*100 << " > " << eps_hyd*100 << " %\n");
 						hydroconverged=false;
 					}
 				}
 			}
-			else _printf0_(setw(50) << left << "   Convergence criterion:" << ndu_sed/nu_sed*100 << " %" << "\n");
+			else _printf0_(setw(50) << left << "   Convergence criterion:" << ndu_sed/nu_sed*100 << " %\n");
 			if (hydrocount>=hydro_maxiter){
 				_error_("   maximum number for hydrological global iterations (" << hydro_maxiter << ") exceeded");
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp	(revision 15104)
@@ -93,5 +93,5 @@
 		}
 		if(count>=max_nonlinear_iterations){
-			_printf0_("   maximum number of Newton iterations (" << max_nonlinear_iterations << ") exceeded" << "\n"); 
+			_printf0_("   maximum number of Newton iterations (" << max_nonlinear_iterations << ") exceeded\n"); 
 			bool max_iteration_state=true;
 			int tempStep=1;
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp	(revision 15104)
@@ -90,5 +90,5 @@
 		}
 		if(count>=max_nonlinear_iterations){
-			_printf0_("   maximum number of nonlinear iterations (" << max_nonlinear_iterations << ") exceeded" << "\n"); 
+			_printf0_("   maximum number of nonlinear iterations (" << max_nonlinear_iterations << ") exceeded\n"); 
 			converged=true;
 			InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,converged,ConvergedEnum);
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_stokescoupling_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_stokescoupling_nonlinear.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_stokescoupling_nonlinear.cpp	(revision 15104)
@@ -89,5 +89,5 @@
 		if(converged==true)break;
 		if(count>=max_nonlinear_iterations){
-			_printf0_("   maximum number of iterations (" << max_nonlinear_iterations << ") exceeded" << "\n"); 
+			_printf0_("   maximum number of iterations (" << max_nonlinear_iterations << ") exceeded\n"); 
 			break;
 		}
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_thermal_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_thermal_nonlinear.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_thermal_nonlinear.cpp	(revision 15104)
@@ -63,5 +63,5 @@
 			if (count>=thermal_maxiter){
 				converged=true;
-				_printf0_("   maximum number of iterations (" << thermal_maxiter << ") exceeded" << "\n"); 
+				_printf0_("   maximum number of iterations (" << thermal_maxiter << ") exceeded\n"); 
 			}
 		}
Index: /issm/trunk-jpl/src/c/toolkits/issm/Bucket.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/Bucket.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/toolkits/issm/Bucket.h	(revision 15104)
@@ -88,5 +88,5 @@
 		/*object virtual functions definitions:*/
 		void    Echo(){ /*{{{*/
-			_printf_("Bucket echo (cpu #: "<<IssmComm::GetRank()<<")" << "\n");
+			_printf_("Bucket echo (cpu #: "<<IssmComm::GetRank()<<")\n");
 			_printf_("bucket type: " << type << "\n");
 			_printf_("num rows: "<<this->m<<" num cols: "<<this->n << "\n");
@@ -95,14 +95,14 @@
 			int i,j;
 
-			_printf_("Bucket echo (cpu #: "<<IssmComm::GetRank()<<")" << "\n");
+			_printf_("Bucket echo (cpu #: "<<IssmComm::GetRank()<<")\n");
 			_printf_("bucket type: " << type << "\n");
 			_printf_("num rows: "<<this->m<<" num cols: "<<this->n << "\n");
 			if(type==MATRIX_BUCKET){
 				for (i=0;i<this->m;i++){
-					_printf_("row "<<this->idxm[i]<<", column indices: " << "\n");
+					_printf_("row "<<this->idxm[i]<<", column indices: \n");
 					for (j=0;j<this->n;j++){
 						_printf_(" "<<this->idxn[j] << "\n");
 					}
-					_printf_("values: " << "\n");
+					_printf_("values: \n");
 					for (j=0;j<this->n;j++){
 						_printf_(" "<<this->values[m*i+j] << "\n");
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h	(revision 15104)
@@ -120,5 +120,5 @@
 					_printf_(this->matrix[N*i+j] << " ");
 				}
-				_printf_("" << "\n");
+				_printf_("\n");
 			}
 		}
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h	(revision 15104)
@@ -148,7 +148,7 @@
 						_printf_("row " << j << "\n");
 						for (k=0;k<this->N;k++){
-							_printf_(this->matrix[j*this->N+k] << " " << "\n");
+							_printf_(this->matrix[j*this->N+k] << " \n");
 						}
-						_printf_("" << "\n");
+						_printf_("\n");
 					}
 				}
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h	(revision 15103)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h	(revision 15104)
@@ -136,5 +136,5 @@
 						_printf_("row " << j << " " << this->vector[j] << "\n");
 					}
-					_printf_("" << "\n");
+					_printf_("\n");
 				}
 				MPI_Barrier(IssmComm::GetComm());
Index: /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.cpp	(revision 15103)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.cpp	(revision 15104)
@@ -93,12 +93,12 @@
 	MatInfo info;
 	MatGetInfo(this->matrix,MAT_GLOBAL_SUM,&info);
-	_printf0_("=========================== Stiffness matrix allocation info ===========================" << "\n");
-	_printf0_("" << "\n");
+	_printf0_("=========================== Stiffness matrix allocation info ===========================\n");
+	_printf0_("\n");
    _printf0_(" Block size  : "<<info.block_size << "\n");
 	_printf0_(" nz_allocated: "<<info.nz_allocated << "\n");
 	_printf0_(" nz_used     : "<<info.nz_used << "\n");
-	_printf0_(" nz_unneeded : "<<info.nz_unneeded<<" ("<<double(info.nz_unneeded)/double(info.nz_allocated)*100.<<"%)" << "\n");
-	_printf0_("" << "\n");
-	_printf0_("========================================================================================" << "\n");
+	_printf0_(" nz_unneeded : "<<info.nz_unneeded<<" ("<<double(info.nz_unneeded)/double(info.nz_allocated)*100.<<"%)\n");
+	_printf0_("\n");
+	_printf0_("========================================================================================\n");
 }
 /*}}}*/
