Index: /issm/trunk-jpl/src/c/shared/Elements/PrintArrays.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Elements/PrintArrays.cpp	(revision 27930)
+++ /issm/trunk-jpl/src/c/shared/Elements/PrintArrays.cpp	(revision 27931)
@@ -84,2 +84,19 @@
 	}
 }
+
+void InversionStatsHeader(int NJ){
+	_printf0_("\n");
+	_printf0_("┌────┬─────────────────┬────────────┬────────────────────────\n");
+	_printf0_("│Iter│  Cost function  │ Grad. norm │  List of contributions \n");
+	_printf0_("├────┼─────────────────┼────────────┼────────────────────────\n");
+}
+void InversionStatsIter(int iter,double J, double Gnorm, double* Jlist, int N){
+	_printf0_("│"<<setw(3)<<iter<<" │ ");
+	_printf0_("f(x) = "<<setw(8)<<setprecision(5)<<J<<" │ ");
+	_printf0_("  "<<setw(8)<<setprecision(3)<<Gnorm<<" │");
+	for(int i=0;i<N;i++) _printf0_(" "<<setw(10)<<setprecision(5)<<Jlist[i]);
+	_printf0_("\n");
+}
+void InversionStatsFooter(int NJ){
+	_printf0_("└────┴─────────────────┴────────────┴────────────────────────\n");
+}
Index: /issm/trunk-jpl/src/c/shared/Elements/elements.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Elements/elements.h	(revision 27930)
+++ /issm/trunk-jpl/src/c/shared/Elements/elements.h	(revision 27931)
@@ -59,3 +59,6 @@
 void printsparsity(IssmPDouble* array,int lines,int cols=1);
 void printbinary(int n);
+void InversionStatsHeader(int NJ);
+void InversionStatsIter(int iter,double J, double Gnorm, double* Jlist, int N);
+void InversionStatsFooter(int NJ);
 #endif //ifndef _SHARED_ELEMENTS_H_
