Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 23221)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 23222)
@@ -259,7 +259,5 @@
 	/*Total times*/
 	_printf0_("   "<<setw(40)<<left<<"Total Core solution elapsed time:"<<setw(7)<<profiler->TotalTime(CORE) << "\n");
-	/*Individual cores*/
-	if(profiler->Used(STRESSBALANCECORE)) _printf0_("   "<<setw(40)<<left<<"Stress balance core elapsed time:"<<setw(7)<<profiler->TotalTime(STRESSBALANCECORE) << "\n");
-	if(profiler->Used(MASSTRANSPORTCORE)) _printf0_("   "<<setw(40)<<left<<"Mass transport core elapsed time:"<<setw(7)<<profiler->TotalTime(MASSTRANSPORTCORE) << "\n");
+
 	/*Linear solver only*/
 	_printf0_("   "<<setw(40)<<left<<"Linear solver elapsed time:"<<setw(7)<<profiler->TotalTime(SOLVER) << " ("<<setprecision(2)<<profiler->TotalTime(SOLVER)/profiler->TotalTime(CORE)*100.<<"%)\n");
@@ -859,7 +857,13 @@
 		solution_memory=profiler->Memory(CORE);
 
-		_printf0_("Core solution elapsed time    : " << solution_time   << " Seconds\n");
-		_printf0_("Core solution number of flops : " << solution_flops  << " Flops\n");
-		_printf0_("Core solution memory used     : " << solution_memory << " Bytes\n");
+		_printf0_("\nCore solution profiling\n");
+		_printf0_("   elapsed time    : " << solution_time   << " Seconds\n");
+		_printf0_("   number of flops : " << solution_flops  << " Flops\n");
+		_printf0_("   memory used     : " << solution_memory << " Bytes\n");
+
+		/*Individual cores*/
+		_printf0_("Individual core profiling\n");
+		if(profiler->Used(STRESSBALANCECORE)) _printf0_("   "<<setw(40)<<left<<"Stress balance core elapsed time:"<<setw(7)<<setprecision(6)<<profiler->TotalTime(STRESSBALANCECORE) << " sec\n");
+		if(profiler->Used(MASSTRANSPORTCORE)) _printf0_("   "<<setw(40)<<left<<"Mass transport core elapsed time:"<<setw(7)<<setprecision(6)<<profiler->TotalTime(MASSTRANSPORTCORE) << " sec\n");
 
 		/*Add to results: */
@@ -869,12 +873,14 @@
 
 		#ifdef _HAVE_ADOLC_
-		solution_time=profiler->TotalTime(ADCORE);
-		solution_flops=profiler->TotalFlops(ADCORE);
-		solution_memory=profiler->Memory(ADCORE);
-
-		_printf0_("AD Solution elapsed time    : " << solution_time   << " Seconds\n");
-		_printf0_("AD Solution number of flops : " << solution_flops  << " Flops\n");
-		_printf0_("AD Solution memory used     : " << solution_memory << " Bytes\n");
+		solution_time   = profiler->TotalTime(ADCORE);
+		solution_flops  = profiler->TotalFlops(ADCORE);
+		solution_memory = profiler->Memory(ADCORE);
+
+		_printf0_("AD profiling\n");
+		_printf0_("   elapsed time    : " << solution_time   << " Seconds\n");
+		_printf0_("   number of flops : " << solution_flops  << " Flops\n");
+		_printf0_("   memory used     : " << solution_memory << " Bytes\n");
 		#endif
+		_printf0_("\n");
 
 	}
Index: /issm/trunk-jpl/src/c/classes/Profiler.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Profiler.h	(revision 23221)
+++ /issm/trunk-jpl/src/c/classes/Profiler.h	(revision 23222)
@@ -51,6 +51,6 @@
 		int          TotalTimeModSec(int tag);
 		IssmPDouble  Memory(int tag);
-		void         Start(int tagenum,bool dontmpisync=false);
-		void         Stop(int tagenum,bool dontmpisync=false);
+		void         Start(int tagenum,bool dontmpisync=true); /*Do not call MPI barrier by default to save some ms*/
+		void         Stop(int tagenum, bool dontmpisync=true); /*Do not call MPI barrier by default to save some ms*/
 		bool         Used(int tagenum);
 };
