Index: /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 21507)
+++ /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 21508)
@@ -136,4 +136,68 @@
 /*}}}*/
 
+void ElementHook::DeepEcho(){/*{{{*/
+
+	_printf_(" ElementHook DeepEcho:\n");
+	_printf_("  numanalyses : "<< this->numanalyses <<"\n");
+	
+	_printf_("  hnodes:\n");
+	if(hnodes){
+		for(int i=0;i<this->numanalyses;i++) {
+			if(hnodes[i]) hnodes[i]->DeepEcho();
+		}
+	}
+	else _printf_("  hnodes = NULL\n");
+	
+	_printf_("  hvertices:\n");
+	if(hvertices) hvertices->DeepEcho();
+	else _printf_("  hvertices = NULL\n");
+	
+	_printf_("  hmaterial:\n");
+	if(hmaterial) hmaterial->DeepEcho();
+   else _printf_("  hmaterial = NULL\n");
+
+	_printf_("  hmatpar:\n");
+	if(hmatpar) hmatpar->DeepEcho();
+   else _printf_("  hmatpar = NULL\n");
+
+	_printf_("  hneighbors:\n");
+	if(hneighbors) hneighbors->DeepEcho();
+   else _printf_("  hneighbors = NULL\n");
+
+	return;
+}
+/*}}}*/
+void ElementHook::Echo(){/*{{{*/
+	
+	_printf_(" ElementHook Echo:\n");
+	_printf_("  numanalyses : "<< this->numanalyses <<"\n");
+	
+	_printf_("  hnodes:\n");
+	if(hnodes){
+		for(int i=0;i<this->numanalyses;i++) {
+			if(hnodes[i]) hnodes[i]->Echo();
+		}
+	}
+	else _printf_("  hnodes = NULL\n");
+	
+	_printf_("  hvertices:\n");
+	if(hvertices) hvertices->Echo();
+	else _printf_("  hvertices = NULL\n");
+	
+	_printf_("  hmaterial:\n");
+	if(hmaterial) hmaterial->Echo();
+   else _printf_("  hmaterial = NULL\n");
+
+	_printf_("  hmatpar:\n");
+	if(hmatpar) hmatpar->Echo();
+   else _printf_("  hmatpar = NULL\n");
+
+	_printf_("  hneighbors:\n");
+	if(hneighbors) hneighbors->Echo();
+   else _printf_("  hneighbors = NULL\n");
+
+	return;
+}
+/*}}}*/
 void ElementHook::InitHookNeighbors(int* element_ids){/*{{{*/
 	this->hneighbors=new Hook(element_ids,2);
Index: /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h	(revision 21507)
+++ /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h	(revision 21508)
@@ -24,5 +24,7 @@
 		~ElementHook();
 		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
-
+		
+		void DeepEcho();
+		void Echo();
 		void InitHookNeighbors(int* element_ids);               //3d only
 		void SetHookNodes(int* node_ids,int numnodes,int analysis_counter);
Index: /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21507)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21508)
@@ -126,14 +126,30 @@
 	_printf_("Matice:\n");
 	_printf_("   mid: " << mid << "\n");
+	_printf_("   isdamaged: " << isdamaged << "\n");
+	_printf_("   isenhanced: " << isenhanced << "\n");
+	
+	_printf_("   helement:\n");
+	if(helement) helement->DeepEcho();
+	else _printf_("   helement = NULL\n");
+	
 	_printf_("   element:\n");
-	helement->Echo();
+	if(element) element->DeepEcho();
+	else _printf_("   element = NULL\n");
 }		
 /*}}}*/
 void      Matice::Echo(void){/*{{{*/
-
+	
 	_printf_("Matice:\n");
 	_printf_("   mid: " << mid << "\n");
+	_printf_("   isdamaged: " << isdamaged << "\n");
+	_printf_("   isenhanced: " << isenhanced << "\n");
+	
+	_printf_("   helement:\n");
+	if(helement) helement->Echo();
+	else _printf_("   helement = NULL\n");
+	
 	_printf_("   element:\n");
-	helement->Echo();
+	if(element) element->Echo();
+	else _printf_("   element = NULL\n");
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21507)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21508)
@@ -256,8 +256,35 @@
 	_printf_("   thermal_exchange_velocity: " << thermal_exchange_velocity << "\n");
 	_printf_("   g: " << g << "\n");
+	_printf_("   omega: " << omega << "\n");
 	_printf_("   desfac: " << desfac << "\n");
 	_printf_("   rlaps: " << rlaps << "\n");
 	_printf_("   rlapslgm: " << rlapslgm << "\n");
 	_printf_("   dpermil: " << dpermil << "\n");
+	_printf_("   albedo_ice: " << albedo_ice << "\n");
+	_printf_("   albedo_snow: " << albedo_snow << "\n");
+	_printf_("   sediment_compressibility: " << sediment_compressibility << "\n");
+	_printf_("   sediment_porosity: " << sediment_porosity << "\n");
+	_printf_("   sediment_thickness: " << sediment_thickness << "\n");
+	_printf_("   water_compressibility: " << water_compressibility << "\n");	
+	_printf_("   epl_compressibility: " << epl_compressibility << "\n");	
+	_printf_("   epl_porosity: " << epl_porosity << "\n");	
+	_printf_("   epl_init_thickness: " << epl_init_thickness << "\n");	
+	_printf_("   epl_colapse_thickness: " << epl_colapse_thickness << "\n");	
+	_printf_("   epl_max_thickness: " << epl_max_thickness << "\n");	
+	_printf_("   epl_conductivity: " << epl_conductivity << "\n");	
+	_printf_("   lithosphere_shear_modulus: " << lithosphere_shear_modulus << "\n");	
+	_printf_("   lithosphere_density: " << lithosphere_density << "\n");	
+	_printf_("   mantle_shear_modulus: " << mantle_shear_modulus << "\n");	
+	_printf_("   mantle_density: " << mantle_density << "\n");	
+	_printf_("   earth_density: " << earth_density << "\n");	
+	_printf_("   poisson: " << poisson << "\n");	
+	_printf_("   young_modulus: " << young_modulus << "\n");	
+	_printf_("   ridging_exponent: " << ridging_exponent << "\n");	
+	_printf_("   cohesion: " << cohesion << "\n");	
+	_printf_("   internal_friction_coef: " << internal_friction_coef << "\n");	
+	_printf_("   compression_coef: " << compression_coef << "\n");	
+	_printf_("   traction_coef: " << traction_coef << "\n");	
+	_printf_("   time_relaxation_stress: " << time_relaxation_stress << "\n");	
+	_printf_("   time_relaxation_damage: " << time_relaxation_damage << "\n");	
 	return;
 }
Index: /issm/trunk-jpl/src/c/classes/Params/Param.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Param.h	(revision 21507)
+++ /issm/trunk-jpl/src/c/classes/Params/Param.h	(revision 21508)
@@ -25,4 +25,5 @@
 
 		/*Virtual functions:*/
+		virtual void  DeepEcho()=0;
 		virtual Param* copy()=0;
 		virtual void  Echo()=0;
Index: /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 21507)
+++ /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 21508)
@@ -91,10 +91,16 @@
 }
 /*}}}*/
-void Parameters::DeepEcho(void){/*{{{*/
-	_error_("not implemented yet");
-}
-/*}}}*/
-void Parameters::Echo(void){/*{{{*/
-	_error_("not implemented yet");
+void Parameters::DeepEcho(void){/*{{{*/	
+	for(int i=0;i<NUMPARAMS;i++) {
+		if(this->params[i]) this->params[i]->DeepEcho();
+	}
+	return;
+}
+/*}}}*/
+void Parameters::Echo(void){/*{{{*/	
+	for(int i=0;i<NUMPARAMS;i++) {
+		if(this->params[i]) this->params[i]->Echo();
+	}
+	return;
 }
 /*}}}*/
