Index: /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp	(revision 26524)
+++ /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp	(revision 26525)
@@ -83,5 +83,17 @@
 /*}}}*/
 void Cfsurfacesquare::Marshall(MarshallHandle* marshallhandle){/*{{{*/
-	_error_("not implemented yet!"); 
+
+	int object_enum=CfsurfacesquareEnum;
+	marshallhandle->call(object_enum);
+
+	marshallhandle->call(this->definitionenum);
+	marshallhandle->call(this->local);
+	marshallhandle->call(this->model_enum);
+	marshallhandle->call(this->name);
+	marshallhandle->call(this->observation_enum);
+	marshallhandle->call(this->weights_enum);
+	marshallhandle->call(this->datatime);
+	marshallhandle->call(this->timepassedflag);
+	marshallhandle->call(this->misfit);
 } 
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.h	(revision 26524)
+++ /issm/trunk-jpl/src/c/classes/Cfsurfacesquare.h	(revision 26525)
@@ -22,5 +22,4 @@
 		char*       name;
 		int         observation_enum;
-		char*       timeinterpolation;
 		int         weights_enum;
 		IssmDouble	datatime;
Index: /issm/trunk-jpl/src/c/datastructures/DataSet.cpp
===================================================================
--- /issm/trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 26524)
+++ /issm/trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 26525)
@@ -256,4 +256,9 @@
 				this->AddObject(Cflevelset);
 			}
+			else if(obj_enum==CfsurfacesquareEnum){
+				Cfsurfacesquare* cfsurf=new Cfsurfacesquare();
+				cfsurf->Marshall(marshallhandle);
+				this->AddObject(cfsurf);
+			}
 			else if(obj_enum==MassfluxatgateEnum){
 				Massfluxatgate<IssmDouble>* massfluxgate=new Massfluxatgate<IssmDouble>();
