Index: /issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp	(revision 25507)
@@ -72,8 +72,4 @@
 	return -1;
 }
-/*}}}*/
-void Cfdragcoeffabsgrad::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-	_error_("not implemented yet!"); 
-} 
 /*}}}*/
 void Cfdragcoeffabsgrad::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h	(revision 25507)
@@ -34,5 +34,4 @@
 		void Echo(void);
 		int Id(void);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int ObjectEnum(void);
Index: /issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp	(revision 25507)
@@ -74,8 +74,4 @@
 }
 /*}}}*/
-void Cfsurfacelogvel::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-	_error_("not implemented yet!"); 
-} 
-/*}}}*/
 void Cfsurfacelogvel::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 	_error_("not implemented yet!"); 
Index: /issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.h	(revision 25507)
@@ -34,5 +34,4 @@
 		void Echo(void);
 		int Id(void);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int ObjectEnum(void);
Index: /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp	(revision 25507)
@@ -81,8 +81,4 @@
 	return -1;
 }
-/*}}}*/
-void Cfsurfacesquare::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-	_error_("not implemented yet!"); 
-} 
 /*}}}*/
 void Cfsurfacesquare::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.h	(revision 25507)
@@ -39,5 +39,4 @@
 		void Echo(void);
 		int Id(void);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int ObjectEnum(void);
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp	(revision 25507)
@@ -71,18 +71,4 @@
 int     SpcDynamic::Id(void){ return id; }/*{{{*/
 /*}}}*/
-void    SpcDynamic::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(SpcDynamicEnum);
-
-	MARSHALLING(id);
-	MARSHALLING(nodeid);
-	MARSHALLING(dof);
-	MARSHALLING(value);
-	MARSHALLING(analysis_type);
-	MARSHALLING(isset);
-	MARSHALLING(penalty);
-
-}
-/*}}}*/
 void    SpcDynamic::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.h	(revision 25507)
@@ -34,5 +34,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp	(revision 25507)
@@ -72,17 +72,4 @@
 /*}}}*/
 int     SpcStatic::Id(void){ return id; }/*{{{*/
-/*}}}*/
-void    SpcStatic::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(SpcStaticEnum);
-
-	MARSHALLING(id);
-	MARSHALLING(nodeid);
-	MARSHALLING(dof);
-	MARSHALLING(value);
-	MARSHALLING(analysis_type);
-	MARSHALLING(penalty);
-
-}
 /*}}}*/
 void    SpcStatic::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.h	(revision 25507)
@@ -33,5 +33,4 @@
 		void  Echo();
 		int   Id(); 
-		void  Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void  Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp	(revision 25507)
@@ -79,25 +79,4 @@
 }
 /*}}}*/
-void    SpcTransient::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(SpcTransientEnum);
-
-	MARSHALLING(id);
-	MARSHALLING(nodeid);
-	MARSHALLING(dof);
-	MARSHALLING(analysis_type);
-	MARSHALLING(penalty);
-	MARSHALLING(nsteps);
-	if(nsteps){
-		MARSHALLING_DYNAMIC(values,IssmDouble,nsteps);
-		MARSHALLING_DYNAMIC(times,IssmDouble,nsteps);
-	}
-	else{
-		values=NULL;
-		times=NULL;
-	}
-
-}
-/*}}}*/
 void    SpcTransient::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.h	(revision 25507)
@@ -35,5 +35,4 @@
 		void    Echo();
 		int     Id(); 
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Contour.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Contour.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Contour.h	(revision 25507)
@@ -79,8 +79,4 @@
 		}
 		/*}}}*/
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-			_error_("not implemented yet!"); 
-		} 
-		/*}}}*/
 		void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 			_error_("not implemented yet!"); 
Index: /issm/trunk-jpl/src/c/classes/DependentObject.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/DependentObject.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/DependentObject.h	(revision 25507)
@@ -34,5 +34,4 @@
 		int   Id(); 
 		int   ObjectEnum();
-		void  Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){_error_("not implemented yet!"); };
 		void  Marshall2(MarshallHandle* marshallhandle){_error_("not implemented yet!"); };
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 25507)
@@ -2240,20 +2240,4 @@
 
 }/*}}}*/
-void       Element::MarshallElement(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction,int numanalyses){/*{{{*/
-
-	_assert_(this);
-	if(marshall_direction==MARSHALLING_LOAD){
-		nodes = NULL;
-	}
-
-	MARSHALLING_ENUM(ElementEnum);
-
-	MARSHALLING(id);
-	MARSHALLING(sid);
-	MARSHALLING(lid);
-	MARSHALLING(element_type);
-	MARSHALLING_DYNAMIC(element_type_list,int,numanalyses);
-}
-/*}}}*/
 void       Element::MarshallElement2(MarshallHandle* marshallhandle,int numanalyses){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 25507)
@@ -147,5 +147,4 @@
 		void               SpatialLinearFloatingiceMeltingRate();
 		void               MantlePlumeGeothermalFlux();
-		void               MarshallElement(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction,int numanalyses);
 		void               MarshallElement2(MarshallHandle* marshallhandle,int numanalyses);
 		void               MigrateGroundingLine(IssmDouble* sheet_ungrounding);
@@ -291,5 +290,4 @@
 		virtual void       JacobianDeterminantSurface(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss)=0;
 		virtual void       JacobianDeterminantTop(IssmDouble* Jdet,IssmDouble* xyz_list_base,Gauss* gauss)=0;
-		virtual void       Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction)=0;
 		virtual void       Marshall2(MarshallHandle* marshallhandle)=0;
 		virtual IssmDouble Masscon(IssmDouble* levelset)=0;
Index: /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 25507)
@@ -62,63 +62,4 @@
 	/*Clean up*/
 	xDelete<int>(vertex_ids);
-
-}
-/*}}}*/
-void ElementHook::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	int i;
-	bool* hnodesi_null=NULL; /*intermediary needed*/
-	bool  hnodes_null=true; /*this could be NULL on empty constructor*/
-	bool  hneighbors_null=true; /*don't deal with hneighbors, unless explicitely asked to*/
-
-	_assert_(this);
-
-	/*preliminary, before marshall starts: */
-	if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
-		if(this->hneighbors)hneighbors_null=false;
-		if(this->hnodes){
-			hnodes_null=false;
-			hnodesi_null=xNew<bool>(numanalyses);
-			for(i=0;i<numanalyses;i++){
-				if(this->hnodes[i])hnodesi_null[i]=false;
-				else hnodesi_null[i]=true;
-			}
-		}
-	}
-
-	/*ok, marshall operations: */
-	MARSHALLING_ENUM(ElementHookEnum);
-	MARSHALLING(numanalyses);
-	MARSHALLING(hneighbors_null);
-	MARSHALLING(hnodes_null);
-	MARSHALLING_DYNAMIC(hnodesi_null,bool,numanalyses);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-
-		if (!hnodes_null)this->hnodes = new Hook*[numanalyses];
-		else this->hnodes=NULL;
-		this->hvertices   = new Hook();
-		this->hmaterial   = new Hook();
-		if(!hneighbors_null)this->hneighbors  = new Hook();
-		else this->hneighbors=NULL;
-
-		/*Initialize hnodes: */
-		if (this->hnodes){
-			for(int i=0;i<this->numanalyses;i++){
-				if(!hnodesi_null[i])this->hnodes[i]=new Hook();
-				else this->hnodes[i]=NULL;
-			}
-		}
-	}
-
-	if (this->hnodes){ 
-		for (i=0;i<numanalyses;i++) if(this->hnodes[i])this->hnodes[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	}
-	this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->hmaterial->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	if(this->hneighbors)this->hneighbors->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	/*Free ressources: */
-	if(hnodesi_null) xDelete<bool>(hnodesi_null);
 
 }
Index: /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h	(revision 25507)
@@ -22,5 +22,4 @@
 		ElementHook(int in_numanalyses,int material_id,int numvertices,IoModel* iomodel);
 		~ElementHook();
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 25507)
@@ -138,21 +138,4 @@
 
 	return penta;
-
-}
-/*}}}*/
-void Penta::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(PentaEnum);
-	MARSHALLING(this->isonsurface);
-	MARSHALLING(this->isonbase);
-
-	/*Call parent classes: */
-	ElementHook::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	Element::MarshallElement(pmarshalled_data,pmarshalled_data_size,marshall_direction,this->numanalyses);
-	PentaRef::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	vertices = (Vertex**)this->hvertices->deliverp();
-	material = (Material*)this->hmaterial->delivers();
-	verticalneighbors = (Penta**)this->hneighbors->deliverp();
 
 }
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 25507)
@@ -40,5 +40,4 @@
 		/*Object virtual functions definitions: {{{*/
 		Object *copy();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Elements/PentaRef.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/PentaRef.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/PentaRef.h	(revision 25507)
@@ -29,5 +29,4 @@
 		void GetTriaJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss);
 		void VerticalSegmentIndicesBase(int** pindices,int* pnumseg,int finiteelement);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
 		void Marshall2(MarshallHandle* marshallhandle){ /*do nothing */};
 		int  NumberofNodes(int finiteelement);
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 25507)
@@ -120,23 +120,4 @@
 }
 /*}}}*/
-void Seg::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(SegEnum);
-	MARSHALLING(this->iscollapsed);
-	MARSHALLING(this->isonsurface);
-	MARSHALLING(this->isonbase);
-	MARSHALLING(this->collapsed_ids[0]);
-	MARSHALLING(this->collapsed_ids[1]);
-
-	/*Call parent classes: */
-	ElementHook::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	Element::MarshallElement(pmarshalled_data,pmarshalled_data_size,marshall_direction,this->numanalyses);
-	SegRef::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	vertices = (Vertex**)this->hvertices->deliverp();
-	material = (Material*)this->hmaterial->delivers();
-
-}
-/*}}}*/
 void Seg::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 25507)
@@ -38,5 +38,4 @@
 		/*Object virtual functions definitions:{{{ */
 		Object *copy();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Elements/SegRef.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/SegRef.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/SegRef.h	(revision 25507)
@@ -24,5 +24,4 @@
 		void GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussSeg* gauss,int finiteelement);
 		void GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussSeg* gauss,int finiteelement);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
 		void Marshall2(MarshallHandle* marshallhandle){ /*do nothing */};
 		int  NumberofNodes(int finiteelement);
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 25507)
@@ -116,20 +116,4 @@
 
 	return tetra;
-}
-/*}}}*/
-void Tetra::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(TetraEnum);
-	MARSHALLING(this->isonsurface);
-	MARSHALLING(this->isonbase);
-
-	/*Call parent classes: */
-	ElementHook::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	Element::MarshallElement(pmarshalled_data,pmarshalled_data_size,marshall_direction,this->numanalyses);
-	TetraRef::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	vertices = (Vertex**)this->hvertices->deliverp();
-	material = (Material*)this->hmaterial->delivers();
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 25507)
@@ -36,5 +36,4 @@
 		/*Object virtual functions definitions:{{{ */
 		Object *copy();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Elements/TetraRef.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/TetraRef.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/TetraRef.h	(revision 25507)
@@ -25,5 +25,4 @@
 		void GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussTetra* gauss,int finiteelement);
 		void GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussTetra* gauss,int finiteelement);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
 		void Marshall2(MarshallHandle* marshallhandle){ /*do nothing */};
 		int  NumberofNodes(int finiteelement);
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 25507)
@@ -142,21 +142,4 @@
 
 	return tria;
-}
-/*}}}*/
-void Tria::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(TriaEnum);
-	MARSHALLING(this->iscollapsed);
-	MARSHALLING(this->isonsurface);
-	MARSHALLING(this->isonbase);
-
-	/*Call parent classes: */
-	ElementHook::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	Element::MarshallElement(pmarshalled_data,pmarshalled_data_size,marshall_direction,this->numanalyses);
-	TriaRef::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	vertices = (Vertex**)this->hvertices->deliverp();
-	material = (Material*)this->hmaterial->delivers();
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 25507)
@@ -39,5 +39,4 @@
 		/*Object virtual functions definitions:{{{ */
 		Object *copy();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Elements/TriaRef.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/TriaRef.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Elements/TriaRef.h	(revision 25507)
@@ -28,5 +28,4 @@
 		void GetSegmentNodalFunctions(IssmDouble* basis,Gauss* gauss, int index1,int index2,int finiteelement);
 		void GetSegmentNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list_tria,Gauss* gauss, int index1,int index2,int finiteelement);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
 		void Marshall2(MarshallHandle* marshallhandle){ /*do nothing */};
 		void NodeOnEdgeIndices(int* pnumindices,int** pindices,int index,int finiteelement);
Index: /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h	(revision 25507)
@@ -53,25 +53,28 @@
 			fwrite(&step,sizeof(int),1,fid);
 		} /*}}}*/
-		void GenericMarshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-
-			MARSHALLING_ENUM(this->ObjectEnum());
-			MARSHALLING(id);
-			MARSHALLING(step);
-			MARSHALLING(time);
+		void GenericMarshall(MarshallHandle* marshallhandle){/*{{{*/
+
+			int object_enum = this->ObjectEnum();
+			marshallhandle->call(object_enum);
+			marshallhandle->call(this->id);
+			marshallhandle->call(this->step);
+			marshallhandle->call(this->time);
 
 			/*Marshal result name*/
 			int size = 0;
-			if(marshall_direction==MARSHALLING_WRITE || marshall_direction == MARSHALLING_SIZE) size=strlen(result_name)+1;
-			MARSHALLING(size);
-			MARSHALLING_DYNAMIC(result_name,char,size);
+			if(marshallhandle->OperationNumber()==MARSHALLING_WRITE || marshallhandle->OperationNumber() == MARSHALLING_SIZE) size=strlen(result_name)+1;
+			marshallhandle->call(size);
+			marshallhandle->call(this->result_name,size);
 
 			/*Marshall value*/
 			this->value=0;
 			bool isnull=true;
-			if(marshall_direction==MARSHALLING_WRITE || marshall_direction == MARSHALLING_SIZE){
+			if(marshallhandle->OperationNumber()==MARSHALLING_WRITE || marshallhandle->OperationNumber() == MARSHALLING_SIZE){
 				if(value) isnull=false;
 			}
-			MARSHALLING(isnull);
-			if(!isnull){MARSHALLING(value);}
+			marshallhandle->call(isnull);
+			if(!isnull){
+				marshallhandle->call(this->value);
+			}
 		}  /*}}}*/
 
@@ -167,8 +170,4 @@
 			_error_("template ObjectEnum not implemented for this ResultType\n");
 		} /*}}}*/
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-			_error_("not implemented yet!"); 
-		} 
-		/*}}}*/
 		void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 			_error_("not implemented yet!"); 
@@ -239,7 +238,7 @@
 	return BoolExternalResultEnum;
 } /*}}}*/
-template <> inline void GenericExternalResult<bool>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-
-	this->GenericMarshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
+template <> inline void GenericExternalResult<bool>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
+
+	this->GenericMarshall(marshallhandle);
 
 }  /*}}}*/
@@ -256,8 +255,6 @@
 	return IntExternalResultEnum;
 } /*}}}*/
-template <> inline void GenericExternalResult<int>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-
-	this->GenericMarshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
+template <> inline void GenericExternalResult<int>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
+	this->GenericMarshall(marshallhandle);
 }  /*}}}*/
 
@@ -276,8 +273,6 @@
 	return value;
 } /*}}}*/
-template <> inline void GenericExternalResult<double>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-
-	this->GenericMarshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
+template <> inline void GenericExternalResult<double>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
+	this->GenericMarshall(marshallhandle);
 }  /*}}}*/
 
@@ -347,16 +342,16 @@
 	return StringExternalResultEnum;
 } /*}}}*/
-template <> inline void GenericExternalResult<char*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
+template <> inline void GenericExternalResult<char*>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 
 	int size = 0;
 
-	if(marshall_direction==MARSHALLING_WRITE || marshall_direction == MARSHALLING_SIZE)size=strlen(value)+1;
-
-	MARSHALLING(id);
-	MARSHALLING(result_name);
-	MARSHALLING(size);
-	MARSHALLING_DYNAMIC(value,char,size);
-	MARSHALLING(step);
-	MARSHALLING(time);
+	if(marshallhandle->OperationNumber()==MARSHALLING_WRITE || marshallhandle->OperationNumber() == MARSHALLING_SIZE)size=strlen(value)+1;
+
+	marshallhandle->call(this->id);
+	marshallhandle->call(this->result_name);
+	marshallhandle->call(size);
+	marshallhandle->call(this->value,size);
+	marshallhandle->call(this->step);
+	marshallhandle->call(this->time);
 
 }  /*}}}*/
@@ -477,15 +472,16 @@
 	return IntMatExternalResultEnum;
 } /*}}}*/
-template <> inline void GenericExternalResult<int*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-
-	MARSHALLING_ENUM(this->ObjectEnum());
-
-	MARSHALLING(id);
-	MARSHALLING(result_name);
-	MARSHALLING(M);
-	MARSHALLING(N);
-	MARSHALLING_DYNAMIC(value,int,M*N);
-	MARSHALLING(step);
-	MARSHALLING(time);
+template <> inline void GenericExternalResult<int*>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
+
+	int object_enum = this->ObjectEnum();
+	marshallhandle->call(object_enum);
+
+	marshallhandle->call(this->id);
+	marshallhandle->call(this->result_name);
+	marshallhandle->call(this->M);
+	marshallhandle->call(this->N);
+	marshallhandle->call(this->value,M*N);
+	marshallhandle->call(this->step);
+	marshallhandle->call(this->time);
 
 }  /*}}}*/
@@ -609,15 +605,16 @@
 	return value;
 } /*}}}*/
-template <> inline void GenericExternalResult<IssmPDouble*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-
-	MARSHALLING_ENUM(this->ObjectEnum());
-
-	MARSHALLING(id);
-	MARSHALLING(result_name);
-	MARSHALLING(M);
-	MARSHALLING(N);
-	MARSHALLING_DYNAMIC(value,IssmPDouble,M*N);
-	MARSHALLING(step);
-	MARSHALLING(time);
+template <> inline void GenericExternalResult<IssmPDouble*>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
+
+	int object_enum = this->ObjectEnum();
+	marshallhandle->call(object_enum);
+
+	marshallhandle->call(this->id);
+	marshallhandle->call(this->result_name);
+	marshallhandle->call(this->M);
+	marshallhandle->call(this->N);
+	marshallhandle->call(this->value,M*N);
+	marshallhandle->call(this->step);
+	marshallhandle->call(this->time);
 
 }  /*}}}*/
@@ -831,5 +828,5 @@
 	}
 	/*}}}*/
-	template <> inline void GenericExternalResult<Vector<IssmDouble>*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
+	template <> inline void GenericExternalResult<Vector<IssmDouble>*>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 
 		_error_("GenericExternalResult instantiated for type Vector<IssmDouble>* called " << result_name << " not implemented yet");
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 25507)
@@ -260,5 +260,4 @@
 
 	/*Marshall:*/
-	//this->Marshall(&femmodel_buffer,NULL,MARSHALLING_WRITE);
    WriteCheckpointFunctor* marshallhandle = new WriteCheckpointFunctor(&femmodel_buffer);
    this->Marshall2(marshallhandle);
@@ -485,89 +484,4 @@
 	delete iomodel;
 }/*}}}*/
-void FemModel::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	int       i;
-	int       analysis_type;
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		delete this->materials;
-		delete this->parameters;
-		delete this->inputs;
-		if(this->constraints_list && this->nummodels){
-			for(i=0;i<this->nummodels;i++) delete this->constraints_list[i];
-			xDelete<Constraints*>(constraints_list);
-		}
-		if(this->loads_list && this->nummodels){
-			for(i=0;i<this->nummodels;i++) delete this->loads_list[i];
-			xDelete<Loads*>(loads_list);
-		}
-		if(this->nodes_list && this->nummodels){
-			for(i=0;i<this->nummodels;i++) delete this->nodes_list[i];
-			xDelete<Nodes*>(nodes_list);
-		}
-		delete this->results;
-		delete this->vertices;
-		delete this->elements;
-		xDelete<int>(this->analysis_type_list);
-
-		this->materials   = new Materials();
-		this->parameters  = new Parameters();
-		this->inputs     = new Inputs();
-		this->results     = new Results();
-		this->nodes       = new Nodes();
-		this->vertices    = new Vertices();
-		this->elements    = new Elements();
-	}
-
-	MARSHALLING_ENUM(FemModelEnum);
-
-	MARSHALLING(solution_type);
-	MARSHALLING(analysis_counter);
-	MARSHALLING(nummodels);
-	MARSHALLING_DYNAMIC(analysis_type_list,int,nummodels);
-
-	this->materials->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->parameters->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->inputs->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->results->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->vertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->elements->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		this->constraints_list = xNew<Constraints*>(this->nummodels);
-		for(i=0;i<nummodels;i++) this->constraints_list[i] = new Constraints();
-		this->loads_list = xNew<Loads*>(this->nummodels);
-		for(i=0;i<nummodels;i++) this->loads_list[i] = new Loads();
-		this->nodes_list = xNew<Nodes*>(this->nummodels);
-		for(i=0;i<nummodels;i++) this->nodes_list[i] = new Nodes();
-	}
-
-	for(i=0;i<nummodels;i++){
-		this->constraints_list[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-		this->loads_list[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-		this->nodes_list[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	}
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		/*reset hooks for elements, loads and nodes:*/
-		this->elements->ResetHooks();
-		this->materials->ResetHooks();
-
-		/*do the post-processing of the datasets to get an FemModel that can actually run analyses:*/
-		for(i=0;i<nummodels;i++){
-			this->loads_list[i]->ResetHooks();
-			analysis_type=this->analysis_type_list[i];
-			SetCurrentConfiguration(analysis_type);
-			SpcNodesx(this->nodes_list[i],this->constraints_list[i],this->parameters);
-			NodesDofx(this->nodes_list[i],this->parameters);
-			ConfigureObjectsx(this->elements,this->loads_list[i],this->nodes_list[i],this->vertices,this->materials,this->parameters,this->inputs);
-		}
-
-		//Reset current configuration:
-		analysis_type=this->analysis_type_list[analysis_counter];
-		SetCurrentConfiguration(analysis_type);
-	}
-}
-/*}}}*/
 void FemModel::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
@@ -693,5 +607,4 @@
 
 	/*Create new FemModel by demarshalling the buffer: */
-	//this->Marshall(&femmodel_buffer,NULL,MARSHALLING_LOAD);
    LoadCheckpointFunctor* marshallhandle = new LoadCheckpointFunctor(&femmodel_buffer);
    this->Marshall2(marshallhandle);
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 25507)
@@ -81,5 +81,4 @@
 		void InitFromFiles(char* rootpath, char* inputfilename, char* outputfilename, char* petscfilename, char* lockfilename, char* restartfilename, const int solution_type,bool trace,IssmPDouble* X=NULL);
 		void InitFromFids(char* rootpath, FILE* IOMODEL, FILE* toolkitsoptionsfid, int in_solution_type, bool trace, IssmPDouble* X=NULL);
-		void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		void Restart(void);
Index: /issm/trunk-jpl/src/c/classes/Hook.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Hook.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Hook.cpp	(revision 25507)
@@ -118,25 +118,4 @@
 		_printf_("   Hook: num=0 \n");
 	}
-}
-/*}}}*/
-void Hook::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	if(marshall_direction==MARSHALLING_LOAD) reset();
-
-	MARSHALLING_ENUM(HookEnum);
-	MARSHALLING(num);
-	if (num<=0){
-		/*Empty hook*/
-		this->ids     = NULL;
-		this->objects = NULL;
-		this->offsets = NULL;
-		this->num = 0;
-	}
-	else{
-		MARSHALLING_DYNAMIC(ids,int,num);
-		MARSHALLING_DYNAMIC(offsets,int,num);
-		MARSHALLING_DYNAMIC(objects,Object*,num);
-	}
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Hook.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Hook.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Hook.h	(revision 25507)
@@ -34,5 +34,4 @@
 		void       DeepEcho(void);
 		void       Echo(void);
-		void       Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void       Marshall2(MarshallHandle* marshallhandle);
 		/*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/ArrayInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ArrayInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ArrayInput.cpp	(revision 25507)
@@ -76,23 +76,4 @@
 	return -1;
 }/*}}}*/
-void ArrayInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(ArrayInputEnum);
-	MARSHALLING(this->numberofelements_local);
-	if(this->numberofelements_local){
-		MARSHALLING_DYNAMIC(this->N,int,this->numberofelements_local);
-		for(int i=0;i<this->numberofelements_local;i++){
-			if(this->values[i]){
-				MARSHALLING_DYNAMIC(this->values[i],IssmDouble,this->N[i]);
-			}
-		}
-	}
-	else{
-		this->N      = NULL;
-		this->values = NULL;
-	}
-
-}
-/*}}}*/
 void ArrayInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/ArrayInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ArrayInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ArrayInput.h	(revision 25507)
@@ -23,5 +23,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 25507)
@@ -55,15 +55,4 @@
 int  BoolInput::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void BoolInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(BoolInputEnum);
-	MARSHALLING(this->size);
-	if(this->size > 0){
-		MARSHALLING_DYNAMIC(this->values,bool,this->size)
-	}
-	else this->values = NULL;
-
-}
-/*}}}*/
 void BoolInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 25507)
@@ -22,5 +22,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp	(revision 25507)
@@ -117,10 +117,4 @@
 /*}}}*/
 int  ControlInput::Id(void){ return -1; }/*{{{*/
-/*}}}*/
-void ControlInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(ControlInputEnum);
-	_error_("Not implemented");
-}
 /*}}}*/
 void ControlInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void   Echo();
 		int    Id(); 
-		void   Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void   Marshall2(MarshallHandle* marshallhandle);
 		int    ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp	(revision 25507)
@@ -81,18 +81,4 @@
 int  DatasetInput::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void DatasetInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(DatasetInputEnum);
-
-	MARSHALLING(numids);
-	MARSHALLING(this->numberofelements_local);
-	MARSHALLING(this->numberofvertices_local);
-	MARSHALLING_DYNAMIC(ids,int,numids);
-	//if (marshall_direction == MARSHALLING_LOAD) inputs = new Inputs();
-	//inputs->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	_error_("not implemented");
-
-}
-/*}}}*/
 void DatasetInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h	(revision 25507)
@@ -34,5 +34,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 25507)
@@ -54,16 +54,4 @@
 int  DoubleInput::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void DoubleInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(DoubleInputEnum);
-
-	MARSHALLING(this->size);
-	if(this->size > 0){
-		MARSHALLING_DYNAMIC(this->values,IssmDouble,this->size)
-	}
-	else this->values = NULL;
-
-}
-/*}}}*/
 void DoubleInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h	(revision 25507)
@@ -22,5 +22,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/ElementInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ElementInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ElementInput.h	(revision 25507)
@@ -29,5 +29,4 @@
 		virtual void    Echo()=0;
 		virtual int     Id()=0;
-		virtual void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction)=0;
 		virtual void    Marshall2(MarshallHandle* marshallhandle)=0;
 		virtual int     ObjectEnum()=0;
Index: /issm/trunk-jpl/src/c/classes/Inputs/Input.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/Input.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/Input.h	(revision 25507)
@@ -3,6 +3,6 @@
  */
 
-#ifndef _INPUT2_H_
-#define _INPUT2_H_
+#ifndef _INPUT_H_
+#define _INPUT_H_
 
 /*Headers:*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/Inputs.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/Inputs.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/Inputs.cpp	(revision 25507)
@@ -77,69 +77,4 @@
 	}
 	return;
-}
-/*}}}*/
-void Inputs::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-
-	int obj_enum=-1;
-	int num_inputs=0;
-	int index;
-
-	MARSHALLING_ENUM(InputsEnum);
-
-	if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
-
-		/*Marshall num_inputs first*/
-		for(int i=0;i<NUMINPUTS;i++){
-			if(this->inputs[i]) num_inputs++;
-		}
-		MARSHALLING(num_inputs);
-
-		/*Marshall Parameters one by one now*/
-		for(int i=0;i<NUMINPUTS;i++){
-			if(this->inputs[i]){
-				obj_enum = this->inputs[i]->ObjectEnum();
-				MARSHALLING(i);
-				MARSHALLING(obj_enum);
-				this->inputs[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-			}
-		}
-	}
-	else{
-
-		/*Get number of inputs marshalled*/
-		MARSHALLING(num_inputs);
-
-		/*Recover input2eters one by one*/
-		for(int i=0;i<num_inputs;i++){
-
-			/*Recover enum of object first: */
-			MARSHALLING(index);
-			MARSHALLING(obj_enum);
-
-			if(obj_enum==BoolInputEnum){
-				BoolInput* boolinput2=new BoolInput();
-				boolinput2->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->inputs[index]=boolinput2;
-			}
-			else if(obj_enum==IntInputEnum){
-				IntInput* intinput2=new IntInput();
-				intinput2->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->inputs[index]=intinput2;
-			}
-			else if(obj_enum==TriaInputEnum){
-				TriaInput* triainput2=new TriaInput();
-				triainput2->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->inputs[index]=triainput2;
-			}
-			else if(obj_enum==PentaInputEnum){
-				PentaInput* pentainput2=new PentaInput();
-				pentainput2->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->inputs[index]=pentainput2;
-			}
-			else{
-				_error_("input "<<EnumToStringx(obj_enum)<<" not supported");
-			}
-		}
-	}
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/Inputs.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/Inputs.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/Inputs.h	(revision 25507)
@@ -63,5 +63,4 @@
 		DatasetInput*   GetDatasetInput(int enum_type);
 		ControlInput*   GetControlInput(int enum_type);
-		void  Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
 		void  Marshall2(MarshallHandle* marshallhandle);
 		int   GetInputObjectEnum(int enum_type);
Index: /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 25507)
@@ -54,16 +54,4 @@
 int  IntInput::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void IntInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(IntInputEnum);
-
-	MARSHALLING(this->size);
-	if(this->size > 0){
-		MARSHALLING_DYNAMIC(this->values,int,this->size)
-	}
-	else this->values = NULL;
-
-}
-/*}}}*/
 void IntInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 25507)
@@ -22,5 +22,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 25507)
@@ -126,24 +126,4 @@
 	return -1;
 }/*}}}*/
-void PentaInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(PentaInputEnum);
-	MARSHALLING(this->numberofelements_local);
-	MARSHALLING(this->numberofvertices_local);
-	MARSHALLING(this->interpolation);
-	MARSHALLING(this->M);
-	MARSHALLING(this->N);
-	this->isserved = false;
-	this->isserved_collapsed = 0;
-	if(this->M*this->N){
-		MARSHALLING_DYNAMIC(this->values,IssmDouble,this->M*this->N);
-	}
-	else this->values = NULL;
-
-	if(marshall_direction == MARSHALLING_LOAD){
-		this->element_values = xNewZeroInit<IssmDouble>(PentaRef::NumberofNodes(this->interpolation));
-	}
-}
-/*}}}*/
 void PentaInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h	(revision 25507)
@@ -21,5 +21,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/SegInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/SegInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/SegInput.cpp	(revision 25507)
@@ -108,24 +108,4 @@
 	return -1;
 }/*}}}*/
-void SegInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(SegInputEnum);
-	MARSHALLING(this->numberofelements_local);
-	MARSHALLING(this->numberofvertices_local);
-	MARSHALLING(this->interpolation);
-	MARSHALLING(this->M);
-	MARSHALLING(this->N);
-	this->isserved = false;
-	if(this->M*this->N){
-		MARSHALLING_DYNAMIC(this->values,IssmDouble,this->M*this->N);
-	}
-	else this->values = NULL;
-
-	if(marshall_direction == MARSHALLING_LOAD){
-		this->element_values = xNewZeroInit<IssmDouble>(SegRef::NumberofNodes(this->interpolation));
-	}
-
-}
-/*}}}*/
 void SegInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h	(revision 25507)
@@ -19,5 +19,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 25507)
@@ -116,20 +116,4 @@
 /*}}}*/
 int  TransientInput::Id(void){ return -1; }/*{{{*/
-/*}}}*/
-void TransientInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	if (marshall_direction == MARSHALLING_LOAD){
-		_error_("not implmented");
-		//inputs = new Inputs();
-	}
-
-	MARSHALLING_ENUM(TransientInputEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(numtimesteps);
-	MARSHALLING_DYNAMIC(this->timesteps,IssmDouble,numtimesteps);
-	//inputs->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	_error_("not implemented");
-}
 /*}}}*/
 void TransientInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 25507)
@@ -43,5 +43,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp	(revision 25507)
@@ -112,25 +112,4 @@
 	return -1;
 }/*}}}*/
-void TriaInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(TriaInputEnum);
-	MARSHALLING(this->numberofelements_local);
-	MARSHALLING(this->numberofvertices_local);
-	MARSHALLING(this->interpolation);
-	MARSHALLING(this->M);
-	MARSHALLING(this->N);
-	this->isserved = false;
-	this->isserved_collapsed = 0;
-	if(this->M*this->N){
-		MARSHALLING_DYNAMIC(this->values,IssmDouble,this->M*this->N);
-	}
-	else this->values = NULL;
-
-	if(marshall_direction == MARSHALLING_LOAD){
-		this->element_values = xNewZeroInit<IssmDouble>(TriaRef::NumberofNodes(this->interpolation));
-	}
-
-}
-/*}}}*/
 void TriaInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h	(revision 25507)
@@ -22,5 +22,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Loads/Channel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Channel.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Channel.cpp	(revision 25507)
@@ -144,30 +144,4 @@
 int     Channel::Id(void){/*{{{*/
 	return id;
-}
-/*}}}*/
-void    Channel::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	_assert_(this);
-
-	/*ok, marshall operations: */
-	MARSHALLING_ENUM(ChannelEnum);
-	MARSHALLING(id);
-	MARSHALLING(S);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		this->hnodes      = new Hook();
-		this->hvertices   = new Hook();
-		this->helement    = new Hook();
-	}
-
-	this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	/*corresponding fields*/
-	nodes    =(Node**)this->hnodes->deliverp();
-	vertices =(Vertex**)this->hvertices->deliverp();
-	element  =(Element*)this->helement->delivers();
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Loads/Channel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Channel.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Channel.h	(revision 25507)
@@ -49,5 +49,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Loads/Loads.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Loads.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Loads.cpp	(revision 25507)
@@ -71,15 +71,4 @@
 
 	return output;
-}
-/*}}}*/
-void  Loads::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	int num_procs=IssmComm::GetSize();
-	int test = num_procs;
-	MARSHALLING_ENUM(LoadsEnum);
-	MARSHALLING(numrifts);
-	MARSHALLING(numpenalties);
-
-	DataSet::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Loads/Loads.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Loads.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Loads.h	(revision 25507)
@@ -27,5 +27,4 @@
 		/*Objects virtual functions*/
 		Loads* Copy();
-		void   Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void   Marshall2(MarshallHandle* marshallhandle);
 
Index: /issm/trunk-jpl/src/c/classes/Loads/Moulin.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Moulin.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Moulin.cpp	(revision 25507)
@@ -108,28 +108,4 @@
 /*}}}*/
 int     Moulin::Id(void){ return id; }/*{{{*/
-/*}}}*/
-void    Moulin::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	_assert_(this);
-
-	/*ok, marshall operations: */
-	MARSHALLING_ENUM(MoulinEnum);
-	MARSHALLING(id);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		this->hnode      = new Hook();
-		this->hvertex      = new Hook();
-		this->helement   = new Hook();
-	}
-
-	this->hnode->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->hvertex->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	/*corresponding fields*/
-	node   =(Node*)this->hnode->delivers();
-	vertex =(Vertex*)this->hvertex->delivers();
-	element=(Element*)this->helement->delivers();
-}
 /*}}}*/
 void    Moulin::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Loads/Moulin.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Moulin.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Moulin.h	(revision 25507)
@@ -49,5 +49,4 @@
 		void  Echo();
 		int   Id(); 
-		void  Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void  Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.cpp	(revision 25507)
@@ -123,29 +123,4 @@
 int     Neumannflux::Id(void){/*{{{*/
 	return id;
-}
-/*}}}*/
-void    Neumannflux::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	_assert_(this);
-
-	/*ok, marshall operations: */
-	MARSHALLING_ENUM(NeumannfluxEnum);
-	MARSHALLING(id);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		this->hnodes      = new Hook();
-		this->hvertices   = new Hook();
-		this->helement    = new Hook();
-	}
-
-	this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	/*corresponding fields*/
-	nodes    =(Node**)this->hnodes->deliverp();
-	vertices =(Vertex**)this->hvertices->deliverp();
-	element  =(Element*)this->helement->delivers();
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.h	(revision 25507)
@@ -42,5 +42,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.cpp	(revision 25507)
@@ -199,31 +199,4 @@
 int     Numericalflux::Id(void){/*{{{*/
 	return id;
-}
-/*}}}*/
-void    Numericalflux::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	_assert_(this);
-
-	/*ok, marshall operations: */
-	MARSHALLING_ENUM(NumericalfluxEnum);
-	MARSHALLING(id);
-	MARSHALLING(flux_type);
-	MARSHALLING(flux_degree);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		this->hnodes      = new Hook();
-		this->hvertices   = new Hook();
-		this->helement    = new Hook();
-	}
-
-	this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	/*corresponding fields*/
-	nodes    =(Node**)this->hnodes->deliverp();
-	vertices =(Vertex**)this->hvertices->deliverp();
-	element  =(Element*)this->helement->delivers();
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Numericalflux.h	(revision 25507)
@@ -44,5 +44,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Loads/Pengrid.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Pengrid.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Pengrid.cpp	(revision 25507)
@@ -118,29 +118,4 @@
 /*}}}*/
 int     Pengrid::Id(void){ return id; }/*{{{*/
-/*}}}*/
-void    Pengrid::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	_assert_(this);
-
-	/*ok, marshall operations: */
-	MARSHALLING_ENUM(PengridEnum);
-	MARSHALLING(id);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		this->hnode      = new Hook();
-		this->helement   = new Hook();
-	}
-
-	this->hnode->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	/*corresponding fields*/
-	node   =(Node*)this->hnode->delivers();
-	element=(Element*)this->helement->delivers();
-
-	MARSHALLING(active);
-	MARSHALLING(zigzag_counter);
-
-}
 /*}}}*/
 void    Pengrid::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Loads/Pengrid.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Pengrid.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Pengrid.h	(revision 25507)
@@ -51,5 +51,4 @@
 		void  Echo();
 		int   Id(); 
-		void  Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void  Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp	(revision 25507)
@@ -83,22 +83,4 @@
 /*}}}*/
 int     Penpair::Id(void){ return id; }/*{{{*/
-/*}}}*/
-void    Penpair::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	_assert_(this);
-
-	/*ok, marshall operations: */
-	MARSHALLING_ENUM(PenpairEnum);
-	MARSHALLING(id);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		this->hnodes = new Hook();
-	}
-	this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	/*corresponding fields*/
-	nodes = (Node**)this->hnodes->deliverp();
-
-}
 /*}}}*/
 void    Penpair::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Loads/Penpair.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Penpair.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Penpair.h	(revision 25507)
@@ -34,5 +34,4 @@
 		void     Echo();
 		int      Id(); 
-		void     Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void     Marshall2(MarshallHandle* marshallhandle);
 		int      ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 25507)
@@ -186,46 +186,4 @@
 /*}}}*/
 int     Riftfront::Id(void){ return id; }/*{{{*/
-/*}}}*/
-void    Riftfront::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	_assert_(this);
-
-	/*ok, marshall operations: */
-	MARSHALLING_ENUM(RiftfrontEnum);
-	MARSHALLING(id);
-	MARSHALLING(type);
-	MARSHALLING(fill);
-	MARSHALLING(friction);
-	MARSHALLING(fractionincrement);
-	MARSHALLING(shelf);
-
-	if(marshall_direction==MARSHALLING_LOAD){
-		this->hnodes      = new Hook();
-		this->hvertices      = new Hook();
-		this->helements   = new Hook();
-	}
-
-	this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->helements->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	/*corresponding fields*/
-	nodes     =(Node**)this->hnodes->deliverp();
-	vertices  =(Vertex**)this->hvertices->deliverp();
-	elements  =(Element**)this->helements->deliverp();
-
-	MARSHALLING(penalty_lock);
-	MARSHALLING(active);
-	MARSHALLING(frozen);
-	MARSHALLING(state);
-	MARSHALLING(counter);
-	MARSHALLING(prestable);
-	MARSHALLING(material_converged);
-	MARSHALLING(normal[0]);
-	MARSHALLING(normal[1]);
-	MARSHALLING(length);
-	MARSHALLING(fraction);
-
-}
 /*}}}*/
 void    Riftfront::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Loads/Riftfront.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Riftfront.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Loads/Riftfront.h	(revision 25507)
@@ -60,5 +60,4 @@
 		void     Echo();
 		int      Id(); 
-		void		Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void		Marshall2(MarshallHandle* marshallhandle);
 		int      ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Masscon.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Masscon.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Masscon.h	(revision 25507)
@@ -73,8 +73,4 @@
 		}
 		/*}}}*/
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-			_error_("not implemented yet!"); 
-		} 
-		/*}}}*/
 		void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 			_error_("not implemented yet!"); 
Index: /issm/trunk-jpl/src/c/classes/Massconaxpby.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Massconaxpby.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Massconaxpby.h	(revision 25507)
@@ -84,8 +84,4 @@
 		}
 		/*}}}*/
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-			_error_("not implemented yet!"); 
-		} 
-		/*}}}*/
 		void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 			_error_("not implemented yet!"); 
Index: /issm/trunk-jpl/src/c/classes/Massfluxatgate.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Massfluxatgate.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Massfluxatgate.h	(revision 25507)
@@ -123,8 +123,4 @@
 		}
 		/*}}}*/
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-			_error_("not implemented yet!"); 
-		} 
-		/*}}}*/
 		void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 25507)
@@ -100,15 +100,4 @@
 /*}}}*/
 int       Matestar::Id(void){ return mid; }/*{{{*/
-/*}}}*/
-void      Matestar::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	if(marshall_direction==MARSHALLING_LOAD)helement=new Hook(); 
-
-	MARSHALLING_ENUM(MatestarEnum);
-	MARSHALLING(mid);
-	this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->element=(Element*)this->helement->delivers();
-
-}
 /*}}}*/
 void      Matestar::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Materials/Matestar.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matestar.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matestar.h	(revision 25507)
@@ -41,5 +41,4 @@
 		void  Echo();
 		int   Id(); 
-		void  Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void  Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 25507)
@@ -159,17 +159,4 @@
 int       Matice::Id(void){ return mid; }/*{{{*/
 /*}}}*/
-void      Matice::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	if(marshall_direction==MARSHALLING_LOAD)helement=new Hook(); 
-
-	MARSHALLING_ENUM(MaticeEnum);
-	MARSHALLING(mid);
-	MARSHALLING(isdamaged);
-	MARSHALLING(isenhanced);
-	this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-	this->element=(Element*)this->helement->delivers();
-
-}
-/*}}}*/
 void      Matice::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Materials/Matice.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matice.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matice.h	(revision 25507)
@@ -45,5 +45,4 @@
 		void  Echo();
 		int   Id(); 
-		void  Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void  Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Materials/Matlitho.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matlitho.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matlitho.cpp	(revision 25507)
@@ -145,34 +145,4 @@
 int  Matlitho::Id(void){ return mid; }/*{{{*/
 /*}}}*/
-void Matlitho::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(MatlithoEnum);
-
-	MARSHALLING(numlayers);
-	if(numlayers) { 
-		MARSHALLING_DYNAMIC(radius,IssmDouble,numlayers+1);
-		MARSHALLING_DYNAMIC(viscosity,IssmDouble,numlayers);
-		MARSHALLING_DYNAMIC(lame_lambda,IssmDouble,numlayers);
-		MARSHALLING_DYNAMIC(lame_mu,IssmDouble,numlayers);
-		MARSHALLING_DYNAMIC(burgers_viscosity,IssmDouble,numlayers);
-		MARSHALLING_DYNAMIC(burgers_mu,IssmDouble,numlayers);
-		MARSHALLING_DYNAMIC(density,IssmDouble,numlayers);
-		MARSHALLING_DYNAMIC(isburgers,IssmDouble,numlayers);
-		MARSHALLING_DYNAMIC(issolid,IssmDouble,numlayers);
-	}
-	else{
-		radius=NULL;
-		viscosity=NULL;
-		lame_lambda=NULL;
-		lame_mu=NULL;
-		burgers_viscosity=NULL;
-		burgers_mu=NULL;
-		density=NULL;
-		isburgers=NULL;
-		issolid=NULL;
-	}
-
-}
-/*}}}*/
 void Matlitho::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Materials/Matlitho.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matlitho.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matlitho.h	(revision 25507)
@@ -37,5 +37,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Misfit.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Misfit.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Misfit.cpp	(revision 25507)
@@ -89,8 +89,4 @@
 }
 /*}}}*/
-void Misfit::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-	_error_("not implemented yet!"); 
-} 
-/*}}}*/
 void Misfit::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 	_error_("not implemented yet!"); 
Index: /issm/trunk-jpl/src/c/classes/Misfit.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Misfit.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Misfit.h	(revision 25507)
@@ -38,5 +38,4 @@
 		void Echo(void);
 		int Id(void);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int ObjectEnum(void);
Index: /issm/trunk-jpl/src/c/classes/Nodalvalue.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Nodalvalue.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Nodalvalue.cpp	(revision 25507)
@@ -63,8 +63,4 @@
 }
 /*}}}*/
-void Nodalvalue::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-	_error_("not implemented yet!"); 
-} 
-/*}}}*/
 void Nodalvalue::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 	_error_("not implemented yet!"); 
Index: /issm/trunk-jpl/src/c/classes/Nodalvalue.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Nodalvalue.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Nodalvalue.h	(revision 25507)
@@ -34,5 +34,4 @@
 		void Echo(void);
 		int Id(void);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int ObjectEnum(void);
Index: /issm/trunk-jpl/src/c/classes/Node.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Node.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Node.cpp	(revision 25507)
@@ -249,33 +249,4 @@
 }
 /*}}}*/
-void Node::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(NodeEnum);
-	MARSHALLING(id);
-	MARSHALLING(sid);
-	MARSHALLING(lid);
-	MARSHALLING(pid);
-	MARSHALLING(indexingupdate);
-	MARSHALLING(analysis_enum);
-	
-	for(int k=0;k<3;k++) for(int l=0;l<3;l++) MARSHALLING(coord_system[k][l]);
-
-	MARSHALLING(gsize);
-	MARSHALLING(fsize);
-	MARSHALLING(ssize);
-	MARSHALLING(clone);
-	MARSHALLING(active);
-	MARSHALLING(freeze);
-	MARSHALLING_DYNAMIC(f_set,bool,gsize);
-	MARSHALLING_DYNAMIC(s_set,bool,gsize);
-	MARSHALLING_DYNAMIC(svalues,IssmDouble,gsize);
-	MARSHALLING_DYNAMIC(doftype,int,gsize);
-	MARSHALLING_DYNAMIC(gdoflist,int,gsize);
-	MARSHALLING_DYNAMIC(fdoflist,int,fsize);
-	MARSHALLING_DYNAMIC(sdoflist,int,ssize);
-	MARSHALLING_DYNAMIC(gdoflist_local,int,gsize);
-	MARSHALLING_DYNAMIC(fdoflist_local,int,fsize);
-	MARSHALLING_DYNAMIC(sdoflist_local,int,ssize);
-} /*}}}*/
 void Node::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Node.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Node.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Node.h	(revision 25507)
@@ -76,5 +76,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Nodes.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Nodes.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Nodes.cpp	(revision 25507)
@@ -101,38 +101,4 @@
 
 	return output;
-}
-/*}}}*/
-void  Nodes::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	int num_procs=IssmComm::GetSize();
-	int test = num_procs;
-	MARSHALLING_ENUM(NodesEnum);
-	MARSHALLING(numberofnodes);
-	MARSHALLING(numberofnodes_local);
-	MARSHALLING(numberofmasters_local);
-
-	MARSHALLING(test);
-	if(test!=num_procs) _error_("number of cores is not the same as before");
-
-	DataSet::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-	if(marshall_direction == MARSHALLING_LOAD){
-		this->common_recv_ids = xNew<int*>(num_procs);
-		this->common_send_ids = xNew<int*>(num_procs);
-		for(int i=0;i<num_procs;i++){
-			this->common_recv_ids[i] = NULL;
-			this->common_send_ids[i] = NULL;
-		}
-	}
-
-	/*Stop here if no nodes*/
-	if(this->Size()==0) return;
-
-	MARSHALLING_DYNAMIC(this->common_recv,int,num_procs);
-	MARSHALLING_DYNAMIC(this->common_send,int,num_procs);
-	for(int i=0;i<num_procs;i++){
-		if(this->common_recv[i]) MARSHALLING_DYNAMIC(this->common_recv_ids[i],int,this->common_recv[i]);
-		if(this->common_send[i]) MARSHALLING_DYNAMIC(this->common_send_ids[i],int,this->common_send[i]);
-	}
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Nodes.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Nodes.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Nodes.h	(revision 25507)
@@ -36,5 +36,4 @@
 		/*Objects virtual functions*/
 		Nodes* Copy();
-		void   Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void   Marshall2(MarshallHandle* marshallhandle);
 
Index: /issm/trunk-jpl/src/c/classes/Numberedcostfunction.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Numberedcostfunction.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Numberedcostfunction.cpp	(revision 25507)
@@ -86,8 +86,4 @@
 }
 /*}}}*/
-void Numberedcostfunction::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-	_error_("not implemented yet!"); 
-} 
-/*}}}*/
 void Numberedcostfunction::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 	_error_("not implemented yet!"); 
Index: /issm/trunk-jpl/src/c/classes/Numberedcostfunction.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Numberedcostfunction.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Numberedcostfunction.h	(revision 25507)
@@ -32,5 +32,4 @@
 		void		Echo(void);
 		int		Id(void);
-		void		Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void		Marshall2(MarshallHandle* marshallhandle);
 		int		ObjectEnum(void);
Index: /issm/trunk-jpl/src/c/classes/Options/Option.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Options/Option.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Options/Option.h	(revision 25507)
@@ -25,5 +25,4 @@
 		virtual void  Echo()= 0;
 		int           Id(){_error_("Not implemented yet"); };
-		void          Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
 		void          Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
 		int           ObjectEnum(){return OptionEnum;};
Index: /issm/trunk-jpl/src/c/classes/Params/BoolParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/BoolParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/BoolParam.cpp	(revision 25507)
@@ -48,13 +48,4 @@
 int    BoolParam::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void BoolParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(BoolParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(value);
-
-}
-/*}}}*/
 void BoolParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/BoolParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/BoolParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/BoolParam.h	(revision 25507)
@@ -35,5 +35,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp	(revision 25507)
@@ -52,14 +52,4 @@
 int    DataSetParam::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void DataSetParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	if(marshall_direction==MARSHALLING_LOAD)value=new DataSet();
-
-	MARSHALLING_ENUM(DataSetParamEnum);
-	MARSHALLING(enum_type);
-	value->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-
-}
-/*}}}*/
 void DataSetParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/DataSetParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DataSetParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DataSetParam.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp	(revision 25507)
@@ -115,26 +115,4 @@
 /*}}}*/
 int    DoubleMatArrayParam::Id(void){ return -1; }/*{{{*/
-/*}}}*/
-void DoubleMatArrayParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(DoubleMatArrayParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(M);
-	if(M){
-		MARSHALLING_DYNAMIC(mdim_array,int,M);
-		MARSHALLING_DYNAMIC(ndim_array,int,M);
-		if(marshall_direction==MARSHALLING_LOAD && M) array=xNew<IssmDouble*>(M);
-		for(int i=0;i<M;i++){
-			MARSHALLING_DYNAMIC(array[i],IssmDouble,mdim_array[i]*ndim_array[i]);
-		}
-	}
-	else{
-		array=NULL;
-		mdim_array=NULL;
-		ndim_array=NULL;
-	}
-
-}
 /*}}}*/
 void DoubleMatArrayParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.h	(revision 25507)
@@ -38,5 +38,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp	(revision 25507)
@@ -73,14 +73,4 @@
 }
 /*}}}*/
-void DoubleMatParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(DoubleMatParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(M);
-	MARSHALLING(N);
-	MARSHALLING_DYNAMIC(value,IssmDouble,M*N);
-}
-/*}}}*/
 void DoubleMatParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.h	(revision 25507)
@@ -38,5 +38,4 @@
 		int   ObjectEnum();
 		Param* copy();
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		/*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleParam.cpp	(revision 25507)
@@ -46,13 +46,4 @@
 int  DoubleParam::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void DoubleParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(DoubleParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(value);
-
-}
-/*}}}*/
 void DoubleParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleParam.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp	(revision 25507)
@@ -58,14 +58,4 @@
 /*}}}*/
 int    DoubleVecParam::Id(void){ return -1; }/*{{{*/
-/*}}}*/
-void DoubleVecParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(DoubleVecParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(M);
-	MARSHALLING_DYNAMIC(values,IssmDouble,M);
-
-}
 /*}}}*/
 void DoubleVecParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/FileParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/FileParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/FileParam.cpp	(revision 25507)
@@ -49,14 +49,4 @@
 int  FileParam::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void FileParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(FileParamEnum);
-	MARSHALLING(enum_type);
-	MARSHALLING(value);
-
-	if(marshall_direction==MARSHALLING_LOAD) value=NULL; //meaningless file pointer!
-
-}
-/*}}}*/
 void FileParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/FileParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/FileParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/FileParam.h	(revision 25507)
@@ -35,5 +35,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/GenericParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/GenericParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/GenericParam.h	(revision 25507)
@@ -52,8 +52,4 @@
                 // it does not clarify  ownership of the newed up instance...
                 // use the default copy constructor instead
-					 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){
-						 _printf_("   WARNING: parameter "<<EnumToStringx(this->myEnumVal)<<" is a GenericParam and cannot be marshalled\n");
-						 /*Nothing for now*/
-					 }
 					 void Marshall2(MarshallHandle* marshallhandle){
 						 _printf_("   WARNING: parameter "<<EnumToStringx(this->myEnumVal)<<" is a GenericParam and cannot be marshalled\n");
Index: /issm/trunk-jpl/src/c/classes/Params/IntMatParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntMatParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/IntMatParam.cpp	(revision 25507)
@@ -67,14 +67,4 @@
 int  IntMatParam::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void IntMatParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(IntMatParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(M);
-	MARSHALLING(N);
-	MARSHALLING_DYNAMIC(value,int,M*N);
-}
-/*}}}*/
 void IntMatParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/IntMatParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntMatParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/IntMatParam.h	(revision 25507)
@@ -37,5 +37,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/IntParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/IntParam.cpp	(revision 25507)
@@ -49,13 +49,4 @@
 int  IntParam::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void IntParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(IntParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(value);
-
-}
-/*}}}*/
 void IntParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/IntParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/IntParam.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/IntVecParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntVecParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/IntVecParam.cpp	(revision 25507)
@@ -70,17 +70,4 @@
 int  IntVecParam::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void IntVecParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(IntVecParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(M);
-	if(M) { 
-		MARSHALLING_DYNAMIC(values,int,M);
-	}
-	else values=NULL;
-
-}
-/*}}}*/
 void IntVecParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/IntVecParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/IntVecParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/IntVecParam.h	(revision 25507)
@@ -37,5 +37,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/MatrixParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/MatrixParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/MatrixParam.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
 		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/Param.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Param.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/Param.h	(revision 25507)
@@ -45,5 +45,4 @@
 		virtual void  GetParameterValue(DataSet** pdataset)=0;
 		virtual int   InstanceEnum()=0;
-		virtual void  Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction)=0;
 		virtual void  Marshall2(MarshallHandle* marshallhandle)=0;
 		virtual int   ObjectEnum()=0;
Index: /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 25507)
@@ -111,132 +111,4 @@
 }
 /*}}}*/
-void Parameters::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-
-	int obj_enum=-1;
-	int num_params=0;
-
-	MARSHALLING_ENUM(ParametersEnum);
-
-	if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
-
-		/*Marshall num_params first*/
-		for(int i=0;i<NUMPARAMS;i++){
-			if(this->params[i]) num_params++;
-		}
-		MARSHALLING(num_params);
-
-		/*Marshall Parameters one by one now*/
-		for(int i=0;i<NUMPARAMS;i++){
-			if(this->params[i]){
-				obj_enum = this->params[i]->ObjectEnum();
-				MARSHALLING(obj_enum);
-				this->params[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-			}
-		}
-	}
-	else{
-
-		/*Get number of params marshalled*/
-		MARSHALLING(num_params);
-
-		/*Recover parameters one by one*/
-		for(int i=0;i<num_params;i++){
-
-			/*Recover enum of object first: */
-			MARSHALLING(obj_enum);
-
-			if(obj_enum==DoubleParamEnum){
-				DoubleParam* doubleparam=NULL;
-				doubleparam=new DoubleParam();
-				doubleparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(doubleparam);
-			}
-			else if(obj_enum==IntParamEnum){
-				IntParam* intparam=NULL;
-				intparam=new IntParam();
-				intparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(intparam);
-			}
-			else if(obj_enum==IntMatParamEnum){
-				IntMatParam* intmparam=NULL;
-				intmparam=new IntMatParam();
-				intmparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(intmparam);
-			}
-			else if(obj_enum==IntVecParamEnum){
-				IntVecParam* intvparam=NULL;
-				intvparam=new IntVecParam();
-				intvparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(intvparam);
-			}
-			else if(obj_enum==BoolParamEnum){
-				BoolParam* boolparam=NULL;
-				boolparam=new BoolParam();
-				boolparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(boolparam);
-			}
-			else if(obj_enum==DataSetParamEnum){
-				DataSetParam* dsparam=NULL;
-				dsparam=new DataSetParam();
-				dsparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(dsparam);
-			}
-			else if(obj_enum==DoubleMatArrayParamEnum){
-				DoubleMatArrayParam* dmaparam=NULL;
-				dmaparam=new DoubleMatArrayParam();
-				dmaparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(dmaparam);
-			}
-			else if(obj_enum==DoubleMatParamEnum){
-				DoubleMatParam* dmparam=NULL;
-				dmparam=new DoubleMatParam();
-				dmparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(dmparam);
-			}
-			else if(obj_enum==DoubleVecParamEnum){
-				DoubleVecParam* dvparam=NULL;
-				dvparam=new DoubleVecParam();
-				dvparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(dvparam);
-			}
-			else if(obj_enum==FileParamEnum){
-				FileParam* fileparam=NULL;
-				fileparam=new FileParam();
-				fileparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				delete fileparam;
-				/* No need to add this object, the pointer is not valid
-					The FemModel should reset all FileParams in the restart function */
-			}
-			else if(obj_enum==StringParamEnum){
-				StringParam* sparam=NULL;
-				sparam=new StringParam();
-				sparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(sparam);
-			}
-			else if(obj_enum==StringArrayParamEnum){
-				StringArrayParam* saparam=NULL;
-				saparam=new StringArrayParam();
-				saparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(saparam);
-			}
-			else if(obj_enum==TransientParamEnum){
-				TransientParam* transparam=NULL;
-				transparam=new TransientParam();
-				transparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(transparam);
-			}
-			else if(obj_enum==TransientArrayParamEnum){
-				TransientArrayParam* transarrayparam=NULL;
-				transarrayparam=new TransientArrayParam();
-				transarrayparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(transarrayparam);
-			}
-			else if(obj_enum==GenericParamEnum){
-				/*Skip for now (we don't want to Marhsall Comms)*/
-			}
-		}
-	}
-}
-/*}}}*/
 void Parameters::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/Parameters.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Parameters.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/Parameters.h	(revision 25507)
@@ -35,5 +35,4 @@
 		void  Delete(int enum_type);
 		bool  Exist(int enum_type);
-		void  Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
 		void  Marshall2(MarshallHandle* marshallhandle);
 
Index: /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.cpp	(revision 25507)
@@ -72,30 +72,4 @@
 /*}}}*/
 int    StringArrayParam::Id(void){ return -1; }/*{{{*/
-/*}}}*/
-void StringArrayParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	int* sizes=NULL;
-
-	if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
-		if(numstrings)sizes=xNew<int>(numstrings);
-		for(int i=0;i<numstrings;i++)sizes[i]=strlen(value[i])+1;
-	}	
-
-	MARSHALLING_ENUM(StringArrayParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(numstrings);
-
-	if(numstrings){
-		MARSHALLING_DYNAMIC(sizes,int,numstrings);
-		if(marshall_direction==MARSHALLING_LOAD) value=xNew<char*>(numstrings);
-		for(int i=0;i<numstrings;i++)MARSHALLING_DYNAMIC(value[i],char,sizes[i]);
-	}
-	else value=NULL;
-
-	//cleanup sizes array
-	if(sizes) xDelete<int>(sizes);
-
-}
 /*}}}*/
 void StringArrayParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/StringArrayParam.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/StringParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/StringParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/StringParam.cpp	(revision 25507)
@@ -49,17 +49,4 @@
 /*}}}*/
 int    StringParam::Id(void){ return -1; }/*{{{*/
-/*}}}*/
-void StringParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	int size = 0;
-
-	if(marshall_direction==MARSHALLING_WRITE || marshall_direction == MARSHALLING_SIZE)size=strlen(value)+1;
-
-	MARSHALLING_ENUM(StringParamEnum);
-	MARSHALLING(enum_type);
-	MARSHALLING(size);
-	MARSHALLING_DYNAMIC(value,char,size);
-
-}
 /*}}}*/
 void StringParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Params/StringParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/StringParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/StringParam.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/TransientArrayParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/TransientArrayParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/TransientArrayParam.cpp	(revision 25507)
@@ -73,20 +73,4 @@
 int  TransientArrayParam::Id(void){ return -1; }/*{{{*/
 /*}}}*/
-void TransientArrayParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(TransientArrayParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(interpolation);
-	MARSHALLING(M);
-	MARSHALLING(N);
-	if(marshall_direction==MARSHALLING_LOAD){
-		values    = xNew<IssmDouble>(M*N);
-		timesteps = xNew<IssmDouble>(N);
-	}
-	MARSHALLING_DYNAMIC(values,IssmDouble,M*N);
-	MARSHALLING_DYNAMIC(timesteps,IssmDouble,N);
-
-}/*}}}*/
 void TransientArrayParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Params/TransientArrayParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/TransientArrayParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/TransientArrayParam.h	(revision 25507)
@@ -39,5 +39,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/TransientParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/TransientParam.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/TransientParam.cpp	(revision 25507)
@@ -67,20 +67,4 @@
 /*}}}*/
 int  TransientParam::Id(void){ return -1; }/*{{{*/
-/*}}}*/
-void TransientParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(TransientParamEnum);
-
-	MARSHALLING(enum_type);
-	MARSHALLING(interpolation);
-	MARSHALLING(N);
-	if(marshall_direction==MARSHALLING_LOAD){
-		values=xNew<IssmDouble>(N);
-		timesteps=xNew<IssmDouble>(N);
-	}
-	MARSHALLING_DYNAMIC(values,IssmDouble,N);
-	MARSHALLING_DYNAMIC(timesteps,IssmDouble,N);
-
-}
 /*}}}*/
 void TransientParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Params/TransientParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/TransientParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/TransientParam.h	(revision 25507)
@@ -38,5 +38,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Params/VectorParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/VectorParam.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Params/VectorParam.h	(revision 25507)
@@ -36,5 +36,4 @@
 		void  Echo();
 		int   Id(); 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
 		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
 		int   ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Profiler.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Profiler.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Profiler.cpp	(revision 25507)
@@ -64,20 +64,4 @@
 }
 /*}}}*/
-void Profiler::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	IssmPDouble* pointer = NULL;
-	bool*       bpointer = NULL;
-
-	MARSHALLING_ENUM(ProfilerEnum);
-	pointer = &this->time[0];
-	MARSHALLING_DYNAMIC(pointer,IssmPDouble,MAXPROFSIZE);
-	pointer = &this->flops[0];
-	MARSHALLING_DYNAMIC(pointer,IssmPDouble,MAXPROFSIZE);
-	pointer = &this->memory[0];
-	MARSHALLING_DYNAMIC(pointer,IssmPDouble,MAXPROFSIZE);
-	bpointer = &this->running[0];
-	MARSHALLING_DYNAMIC(bpointer,bool,MAXPROFSIZE);
-
-} /*}}}*/
 void Profiler::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Profiler.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Profiler.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Profiler.h	(revision 25507)
@@ -52,5 +52,4 @@
 		void    Echo();
 		int     Id();
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void    Marshall2(MarshallHandle* marshallhandle);
 		int     ObjectEnum();
Index: /issm/trunk-jpl/src/c/classes/Radar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Radar.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Radar.cpp	(revision 25507)
@@ -57,8 +57,4 @@
 	return -1;
 }
-/*}}}*/
-void Radar::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-	_error_("not implemented yet!"); 
-} 
 /*}}}*/
 void Radar::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Radar.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Radar.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Radar.h	(revision 25507)
@@ -29,5 +29,4 @@
 		void Echo(void);
 		int  Id(void);
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 		int ObjectEnum(void);
Index: /issm/trunk-jpl/src/c/classes/Regionaloutput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Regionaloutput.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Regionaloutput.cpp	(revision 25507)
@@ -62,8 +62,4 @@
 	return -1;
 }
-/*}}}*/
-void Regionaloutput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-	_error_("not implemented yet!"); 
-} 
 /*}}}*/
 void Regionaloutput::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Regionaloutput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Regionaloutput.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Regionaloutput.h	(revision 25507)
@@ -33,5 +33,4 @@
 	void Echo(void);
 	int Id(void);
-	void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 	void Marshall2(MarshallHandle* marshallhandle);
 	int ObjectEnum(void);
Index: /issm/trunk-jpl/src/c/classes/Segment.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Segment.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Segment.h	(revision 25507)
@@ -65,8 +65,4 @@
 		int    Id(void){ return eid; }/*{{{*/
 		/*}}}*/
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-			_error_("not implemented yet!"); 
-		} 
-		/*}}}*/
 		void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 			_error_("not implemented yet!"); 
Index: /issm/trunk-jpl/src/c/classes/Vertex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Vertex.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Vertex.cpp	(revision 25507)
@@ -113,21 +113,4 @@
 /*}}}*/
 int Vertex::Id(void){ return id; }/*{{{*/
-/*}}}*/
-void Vertex::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	MARSHALLING_ENUM(VertexEnum);
-	MARSHALLING(clone);
-	MARSHALLING(domaintype);
-	MARSHALLING(id);
-	MARSHALLING(sid);
-	MARSHALLING(pid);
-	MARSHALLING(lid);
-	MARSHALLING(x);
-	MARSHALLING(y);
-	MARSHALLING(z);
-	MARSHALLING(sigma);
-	MARSHALLING(connectivity);
-
-}
 /*}}}*/
 void Vertex::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Vertex.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Vertex.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Vertex.h	(revision 25507)
@@ -46,5 +46,4 @@
 		int   ObjectEnum();
 		Object* copy();
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void Marshall2(MarshallHandle* marshallhandle);
 
Index: /issm/trunk-jpl/src/c/classes/Vertices.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Vertices.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Vertices.cpp	(revision 25507)
@@ -110,27 +110,4 @@
 }
 /*}}}*/
-void Vertices::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	int num_procs=IssmComm::GetSize();
-	int test = num_procs;
-	MARSHALLING_ENUM(VerticesEnum);
-	MARSHALLING(numberofvertices);
-	MARSHALLING(numberofvertices_local);
-	MARSHALLING(numberofmasters_local);
-	MARSHALLING(test);
-	if(test!=num_procs) _error_("number of cores is not the same as before");
-	MARSHALLING_DYNAMIC(this->common_recv,int,num_procs);
-	MARSHALLING_DYNAMIC(this->common_send,int,num_procs);
-	if(marshall_direction == MARSHALLING_LOAD){
-		this->common_recv_ids = xNew<int*>(num_procs);
-		this->common_send_ids = xNew<int*>(num_procs);
-	}
-	for(int i=0;i<num_procs;i++){
-		MARSHALLING_DYNAMIC(this->common_recv_ids[i],int,this->common_recv[i]);
-		MARSHALLING_DYNAMIC(this->common_send_ids[i],int,this->common_send[i]);
-	}
-	DataSet::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-}
-/*}}}*/
 void Vertices::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/Vertices.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Vertices.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/Vertices.h	(revision 25507)
@@ -31,5 +31,4 @@
 		/*Objects virtual functions*/
 		Vertices* Copy();
-		void      Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
 		void      Marshall2(MarshallHandle* marshallhandle);
 
Index: /issm/trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h	(revision 25507)
@@ -26,5 +26,4 @@
 		void  Echo();
 		int   Id(){_error_("Not implemented yet");}; 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
 		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
 		int   ObjectEnum(){_error_("Not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/kriging/GaussianVariogram.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/GaussianVariogram.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/kriging/GaussianVariogram.h	(revision 25507)
@@ -27,5 +27,4 @@
 		void  Echo();
 		int   Id(){_error_("Not implemented yet");}; 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
 		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
 		int   ObjectEnum(){_error_("Not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/kriging/Observation.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/Observation.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/kriging/Observation.h	(revision 25507)
@@ -31,5 +31,4 @@
 		int     Id()        {_error_("Not implemented yet"); };
 		void    print() const;
-		void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
 		void    Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		int     ObjectEnum(){_error_("Not implemented yet"); };
Index: /issm/trunk-jpl/src/c/classes/kriging/PowerVariogram.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/PowerVariogram.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/kriging/PowerVariogram.h	(revision 25507)
@@ -26,5 +26,4 @@
 		void  Echo();
 		int   Id(){_error_("Not implemented yet");}; 
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
 		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
 		int   ObjectEnum(){_error_("Not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/kriging/Quadtree.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/Quadtree.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/kriging/Quadtree.h	(revision 25507)
@@ -30,5 +30,4 @@
 				void    Echo();
 				int     Id()        {_error_("not implemented yet"); };
-				void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
 				void    Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 				int     ObjectEnum(){_error_("not implemented yet"); };
Index: /issm/trunk-jpl/src/c/classes/kriging/SphericalVariogram.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/kriging/SphericalVariogram.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/classes/kriging/SphericalVariogram.h	(revision 25507)
@@ -26,5 +26,4 @@
 		void  Echo();
 		int   Id(){_error_("Not implemented yet");}; 
-		void  Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
 		void  Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
 		int   ObjectEnum(){_error_("Not implemented yet");};
Index: /issm/trunk-jpl/src/c/datastructures/DataSet.cpp
===================================================================
--- /issm/trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 25506)
+++ /issm/trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 25507)
@@ -91,162 +91,4 @@
 
 /*Specific methods*/
-void  DataSet::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
-
-	vector<Object*>::iterator obj;
-	int obj_size=0;
-	int obj_enum=0;
-	int i;
-
-	if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
-		obj_size=objects.size();
-	}
-	else{
-		clear();
-	}
-
-	MARSHALLING_ENUM(DataSetEnum);
-	MARSHALLING(enum_type);
-	MARSHALLING(sorted);
-	MARSHALLING(presorted);
-	MARSHALLING(numsorted);
-
-	/*Now branch according to direction of marshalling: */
-	if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
-		if(!(this->sorted && numsorted>0 && this->id_offsets)){
-			sorted_ids=NULL;
-			id_offsets=NULL;
-		  }
-		MARSHALLING_DYNAMIC(sorted_ids,int,numsorted);
-		MARSHALLING_DYNAMIC(id_offsets,int,numsorted);
-		MARSHALLING(obj_size);
-
-		/*Go through our objects, and marshall them into the buffer: */
-		for( obj=this->objects.begin() ; obj < this->objects.end(); obj++ ){
-			obj_enum=(*obj)->ObjectEnum();
-			MARSHALLING(obj_enum);
-			(*obj)->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-		}
-	}
-	else{
-
-		MARSHALLING_DYNAMIC(sorted_ids,int,numsorted);
-		MARSHALLING_DYNAMIC(id_offsets,int,numsorted);
-		if (!(this->sorted && numsorted>0)){
-		 sorted_ids=NULL;
-		 id_offsets=NULL;
-		}
-		MARSHALLING(obj_size);
-
-		/*This is the heart of the demashalling method. We have a buffer coming
-		 in, and we are supposed to create a dataset out of it. No such thing
-		 as class orientation for buffers, we need to key off the enum of each
-		 object stored in the buffer. */
-		for(i=0;i<obj_size;i++){
-
-			/*Recover enum of object first: */
-			MARSHALLING(obj_enum); 
-
-			/*Giant case statement to spin-up the right object, and demarshall into it the information 
-			 *stored in the buffer: */
-			if(obj_enum==NodeEnum){
-				Node* node=NULL;
-				node=new Node();
-				node->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(node);
-			}
-			else if(obj_enum==VertexEnum){
-				Vertex* vertex=NULL;
-				vertex=new Vertex();
-				vertex->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(vertex);
-			}
-			else if(obj_enum==MaticeEnum){
-				Matice* matice=NULL;
-				matice=new Matice();
-				matice->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(matice);
-			}
-			else if(obj_enum==MatestarEnum){
-				Matestar* matestar=NULL;
-				matestar=new Matestar();
-				matestar->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(matestar);
-			}
-			else if(obj_enum==SpcStaticEnum){
-				SpcStatic* spcstatic=NULL;
-				spcstatic=new SpcStatic();
-				spcstatic->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(spcstatic);
-			}
-			else if(obj_enum==SpcDynamicEnum){
-				SpcDynamic* spcdynamic=NULL;
-				spcdynamic=new SpcDynamic();
-				spcdynamic->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(spcdynamic);
-			}
-			else if(obj_enum==SpcTransientEnum){
-				SpcTransient* spctransient=NULL;
-				spctransient=new SpcTransient();
-				spctransient->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(spctransient);
-			}
-			else if(obj_enum==TriaEnum){
-				Tria* tria=NULL;
-				tria=new Tria();
-				tria->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(tria);
-			}
-			else if(obj_enum==PentaEnum){
-				Penta* penta=NULL;
-				penta=new Penta();
-				penta->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(penta);
-			}
-			else if(obj_enum==TetraEnum){
-				Tetra* tetra=NULL;
-				tetra=new Tetra();
-				tetra->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(tetra);
-			}
-			else if(obj_enum==SegEnum){
-				Seg* seg=NULL;
-				seg=new Seg();
-				seg->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(seg);
-			}
-			else if(obj_enum==RiftfrontEnum){
-				Riftfront* rift=NULL;
-				rift=new Riftfront();
-				rift->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(rift);
-			}
-			else if(obj_enum==NumericalfluxEnum){
-				Numericalflux* numflux=NULL;
-				numflux=new Numericalflux();
-				numflux->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(numflux);
-			}
-			else if(obj_enum==PengridEnum){
-				Pengrid* pengrid=NULL;
-				pengrid=new Pengrid();
-				pengrid->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(pengrid);
-			}
-			else if(obj_enum==PenpairEnum){
-				Penpair* penpair=NULL;
-				penpair=new Penpair();
-				penpair->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(penpair);
-			}
-			else if(obj_enum==DoubleExternalResultEnum){
-				GenericExternalResult<double>* result=new GenericExternalResult<double>();
-				result->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
-				this->AddObject(result);
-			}
-			else _error_("could not recognize enum type: " << obj_enum << ": " << EnumToStringx(obj_enum) ); 
-		}
-	}
-}
-/*}}}*/
 void  DataSet::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/datastructures/DataSet.h
===================================================================
--- /issm/trunk-jpl/src/c/datastructures/DataSet.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/datastructures/DataSet.h	(revision 25507)
@@ -34,5 +34,4 @@
 		DataSet(int enum_type);
 		~DataSet();
-		void  Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
 		void  Marshall2(MarshallHandle* marshallhandle);
 
Index: /issm/trunk-jpl/src/c/datastructures/Object.h
===================================================================
--- /issm/trunk-jpl/src/c/datastructures/Object.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/datastructures/Object.h	(revision 25507)
@@ -21,5 +21,4 @@
 		virtual int   ObjectEnum()=0;
 		virtual Object* copy()=0;
-		virtual void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction)=0;
 		virtual void Marshall2(MarshallHandle* marshallhandle)=0;
 
Index: /issm/trunk-jpl/src/c/kml/KML_Attribute.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Attribute.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Attribute.h	(revision 25507)
@@ -29,5 +29,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle);
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_ColorStyle.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_ColorStyle.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_ColorStyle.h	(revision 25507)
@@ -36,5 +36,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Comment.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Comment.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Comment.h	(revision 25507)
@@ -30,5 +30,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Container.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Container.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Container.h	(revision 25507)
@@ -33,5 +33,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Document.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Document.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Document.h	(revision 25507)
@@ -30,5 +30,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Feature.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Feature.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Feature.h	(revision 25507)
@@ -44,5 +44,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_File.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_File.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_File.h	(revision 25507)
@@ -32,5 +32,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle);
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Folder.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Folder.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Folder.h	(revision 25507)
@@ -30,5 +30,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Geometry.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Geometry.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Geometry.h	(revision 25507)
@@ -29,5 +29,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_GroundOverlay.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_GroundOverlay.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_GroundOverlay.h	(revision 25507)
@@ -36,5 +36,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Icon.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Icon.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Icon.h	(revision 25507)
@@ -44,5 +44,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_LatLonBox.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_LatLonBox.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_LatLonBox.h	(revision 25507)
@@ -35,5 +35,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_LineString.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_LineString.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_LineString.h	(revision 25507)
@@ -38,5 +38,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_LineStyle.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_LineStyle.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_LineStyle.h	(revision 25507)
@@ -31,5 +31,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_LinearRing.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_LinearRing.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_LinearRing.h	(revision 25507)
@@ -38,5 +38,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_MultiGeometry.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_MultiGeometry.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_MultiGeometry.h	(revision 25507)
@@ -34,5 +34,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Object.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Object.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Object.h	(revision 25507)
@@ -30,5 +30,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Overlay.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Overlay.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Overlay.h	(revision 25507)
@@ -36,5 +36,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Placemark.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Placemark.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Placemark.h	(revision 25507)
@@ -34,5 +34,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Point.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Point.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Point.h	(revision 25507)
@@ -36,5 +36,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_PolyStyle.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_PolyStyle.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_PolyStyle.h	(revision 25507)
@@ -32,5 +32,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Polygon.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Polygon.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Polygon.h	(revision 25507)
@@ -40,5 +40,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Style.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Style.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Style.h	(revision 25507)
@@ -38,5 +38,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_StyleSelector.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_StyleSelector.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_StyleSelector.h	(revision 25507)
@@ -29,5 +29,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_SubStyle.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_SubStyle.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_SubStyle.h	(revision 25507)
@@ -29,5 +29,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/kml/KML_Unknown.h
===================================================================
--- /issm/trunk-jpl/src/c/kml/KML_Unknown.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/kml/KML_Unknown.h	(revision 25507)
@@ -32,5 +32,5 @@
 		int   ObjectEnum(){_error_("Not implemented yet.");};
 		Object* copy(){_error_("Not implemented yet.");};
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
+		void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/shared/io/Marshalling/Marshalling.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/io/Marshalling/Marshalling.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/shared/io/Marshalling/Marshalling.h	(revision 25507)
@@ -119,58 +119,3 @@
 }
 
-#define MARSHALLING_ENUM(EN)\
-	int type_enum=EN;\
-	if(marshall_direction==MARSHALLING_WRITE){\
-		memcpy(*pmarshalled_data,&type_enum,sizeof(int));\
-		*pmarshalled_data+=sizeof(int);\
-	}\
-	else if(marshall_direction==MARSHALLING_SIZE){\
-		*pmarshalled_data_size+=sizeof(int);\
-	}\
-	else if(marshall_direction==MARSHALLING_LOAD){\
-		*pmarshalled_data+=sizeof(int);\
-	}\
-	else _error_("Wrong direction during the Marshall process");\
-
-
-#define MARSHALLING(FIELD)\
-	\
-	if(marshall_direction==MARSHALLING_WRITE){\
-		memcpy(*pmarshalled_data,&FIELD,sizeof(FIELD));\
-		*pmarshalled_data+=sizeof(FIELD);\
-	}\
-	else if(marshall_direction==MARSHALLING_SIZE){\
-		*pmarshalled_data_size+=sizeof(FIELD);\
-	}\
-	else if(marshall_direction==MARSHALLING_LOAD){\
-		memcpy(&FIELD,*pmarshalled_data,sizeof(FIELD));\
-		*pmarshalled_data+=sizeof(FIELD);\
-	}\
-	else _error_("Wrong direction during the Marshall process");
-
-
-#define MARSHALLING_DYNAMIC(FIELD,TYPE,SIZE) \
-	\
-	{\
-		bool field_null=true;\
-		if (FIELD)field_null=false;\
-		MARSHALLING(field_null);\
-		\
-		if(!field_null){\
-			if(marshall_direction==MARSHALLING_WRITE){\
-					memcpy(*pmarshalled_data,FIELD,SIZE*sizeof(TYPE));\
-					*pmarshalled_data+=SIZE*sizeof(TYPE);\
-			}\
-			else if(marshall_direction==MARSHALLING_SIZE){\
-				*pmarshalled_data_size+=SIZE*sizeof(TYPE);\
-			}\
-			else if(marshall_direction==MARSHALLING_LOAD){\
-				FIELD=xNew<TYPE>(SIZE);\
-				memcpy(FIELD,*pmarshalled_data,SIZE*sizeof(TYPE));\
-				*pmarshalled_data+=SIZE*sizeof(TYPE);\
-			}\
-			else _error_("Wrong direction during the Marshall process");\
-		}\
-	}
-
 #endif	
Index: /issm/trunk-jpl/src/c/toolkits/issm/Bucket.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/Bucket.h	(revision 25506)
+++ /issm/trunk-jpl/src/c/toolkits/issm/Bucket.h	(revision 25507)
@@ -129,8 +129,4 @@
 			else _error_("No Copy of Bucket because its type is invalid."); };
 		/*}}}*/
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-			_error_("not implemented yet!"); 
-		} 
-		/*}}}*/
 		void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
 			_error_("not implemented yet!"); 
