Index: /issm/trunk-jpl/src/c/datastructures/DataSet.cpp
===================================================================
--- /issm/trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 27732)
+++ /issm/trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 27733)
@@ -256,4 +256,9 @@
 				this->AddObject(Cflevelset);
 			}
+			else if(obj_enum==CfsurfacesquaretransientEnum){
+				Cfsurfacesquaretransient* cfsurf=new Cfsurfacesquaretransient();
+				cfsurf->Marshall(marshallhandle);
+				this->AddObject(cfsurf);
+			}
 			else if(obj_enum==CfsurfacesquareEnum){
 				Cfsurfacesquare* cfsurf=new Cfsurfacesquare();
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 27732)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 27733)
@@ -253,5 +253,4 @@
 				char       **cfssqt_model_string_s        = NULL;
 				IssmDouble **cfssqt_observations_s        = NULL;
-				char       **cfssqt_observations_string_s = NULL;
 				int         *cfssqt_observations_M_s      = NULL;
 				int         *cfssqt_observations_N_s      = NULL;
@@ -259,5 +258,4 @@
 				int         *cfssqt_weights_M_s           = NULL;
 				int         *cfssqt_weights_N_s           = NULL;
-				char       **cfssqt_weights_string_s      = NULL;
 
 				/*Fetch name, model_string, observation, observation_string, etc ... (see src/m/classes/cfsurfacesquaretransient.m): */
@@ -266,7 +264,5 @@
 				iomodel->FetchMultipleData(&cfssqt_model_string_s,&test,"md.cfsurfacesquaretransient.model_string"); _assert_(test==num_cfsurfacesquaretransients);
 				iomodel->FetchMultipleData(&cfssqt_observations_s,&cfssqt_observations_M_s,&cfssqt_observations_N_s,&test, "md.cfsurfacesquaretransient.observations"); _assert_(test==num_cfsurfacesquaretransients);
-				iomodel->FetchMultipleData(&cfssqt_observations_string_s, &test,"md.cfsurfacesquaretransient.observations_string"); _assert_(test==num_cfsurfacesquaretransients);
 				iomodel->FetchMultipleData(&cfssqt_weights_s,&cfssqt_weights_M_s,&cfssqt_weights_N_s, &test,"md.cfsurfacesquaretransient.weights"); _assert_(test==num_cfsurfacesquaretransients);
-				iomodel->FetchMultipleData(&cfssqt_weights_string_s,&test,"md.cfsurfacesquaretransient.weights_string"); _assert_(test==num_cfsurfacesquaretransients);
 
 				for(j=0;j<num_cfsurfacesquaretransients;j++){
@@ -288,9 +284,8 @@
 					for(Object* & object : elements->objects){
 						Element* element=xDynamicCast<Element*>(object);
-						element->DatasetInputAdd(StringToEnumx(cfssqt_definitionstring_s[j]),cfssqt_observations_s[j],inputs,iomodel,cfssqt_observations_M_s[j],cfssqt_observations_N_s[j],1,StringToEnumx(cfssqt_observations_string_s[j]),SurfaceObservationEnum);
-						element->DatasetInputAdd(StringToEnumx(cfssqt_definitionstring_s[j]),cfssqt_weights_s[j],inputs,iomodel,cfssqt_weights_M_s[j],cfssqt_weights_N_s[j],1,StringToEnumx(cfssqt_weights_string_s[j]),WeightsSurfaceObservationEnum);
-
-					}
-
+						element->DatasetInputAdd(StringToEnumx(cfssqt_definitionstring_s[j]),cfssqt_observations_s[j],inputs,iomodel,cfssqt_observations_M_s[j],cfssqt_observations_N_s[j],1,SurfaceObservationEnum,SurfaceObservationEnum);
+						element->DatasetInputAdd(StringToEnumx(cfssqt_definitionstring_s[j]),cfssqt_weights_s[j],inputs,iomodel,cfssqt_weights_M_s[j],cfssqt_weights_N_s[j],1,WeightsSurfaceObservationEnum,WeightsSurfaceObservationEnum);
+
+					}
 				}
 
@@ -300,7 +295,5 @@
 					IssmDouble* matrix = NULL;
 					string = cfssqt_definitionstring_s[j];		xDelete<char>(string);
-					string = cfssqt_observations_string_s[j];	xDelete<char>(string);
 					string = cfssqt_model_string_s[j];			xDelete<char>(string);
-					string = cfssqt_weights_string_s[j];		xDelete<char>(string);
 					string = cfssqt_name_s[j];    xDelete<char>(string);
 					matrix = cfssqt_observations_s[j]; xDelete<IssmDouble>(matrix);
@@ -311,5 +304,4 @@
 				xDelete<char*>(cfssqt_definitionstring_s);
 				xDelete<IssmDouble*>(cfssqt_observations_s);
-				xDelete<char*>(cfssqt_observations_string_s);
 				xDelete<int>(cfssqt_observations_M_s);
 				xDelete<int>(cfssqt_observations_N_s);
@@ -317,5 +309,4 @@
 				xDelete<int>(cfssqt_weights_M_s);
 				xDelete<int>(cfssqt_weights_N_s);
-				xDelete<char*>(cfssqt_weights_string_s);
 				/*}}}*/
 			}
Index: /issm/trunk-jpl/src/m/classes/cfsurfacesquaretransient.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/cfsurfacesquaretransient.m	(revision 27732)
+++ /issm/trunk-jpl/src/m/classes/cfsurfacesquaretransient.m	(revision 27733)
@@ -6,8 +6,6 @@
 %                    'definitionstring','Outputdefinition1',... 
 %							'model_string','Surface',...
-%                    'observations_string','SurfaceObservations',...
 %                    'observations',[md.geometry.surface;0],...
-%                    'weights',ones(md.mesh.numberofvertices+1,1),...
-%                    'weights_string','WeightsSurfaceObservations');
+%                    'weights',ones(md.mesh.numberofvertices+1,1));
 %
 %
@@ -20,7 +18,5 @@
 		model_string        = ''; %string for field that is modeled
 		observations        = NaN;%observed field that we compare the model against
-		observations_string = ''; %string for observed field.
 		weights             = NaN;%weight coefficients for every vertex
-		weights_string      = ''; %string to identify this particular set of weights
 	end
 	
@@ -46,7 +42,5 @@
 				self.model_string        = getfieldvalue(options,'model_string');
 				self.observations        = getfieldvalue(options,'observations',NaN);
-				self.observations_string = getfieldvalue(options,'observations_string');
 				self.weights             = getfieldvalue(options,'weights',NaN);
-				self.weights_string      = getfieldvalue(options,'weights_string','');
 			end
 		end % }}}
@@ -75,7 +69,5 @@
 			fielddisplay(self,'model_string','string for field that is modeled');
 			fielddisplay(self,'observations','observed field that we compare the model against');
-			fielddisplay(self,'observations_string','observations string');
 			fielddisplay(self,'weights','weights (at vertices) to apply to the cfsurfacesquaretransient');
-			fielddisplay(self,'weights_string','string for weights for identification purposes');
 
 		end % }}}
@@ -86,7 +78,5 @@
 		WriteData(fid,prefix,'data',self.model_string,'name','md.cfsurfacesquaretransient.model_string','format','String');
 		WriteData(fid,prefix,'data',self.observations,'name','md.cfsurfacesquaretransient.observations','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
-		WriteData(fid,prefix,'data',self.observations_string,'name','md.cfsurfacesquaretransient.observations_string','format','String');
 		WriteData(fid,prefix,'data',self.weights,'name','md.cfsurfacesquaretransient.weights','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
-		WriteData(fid,prefix,'data',self.weights_string,'name','md.cfsurfacesquaretransient.weights_string','format','String');
 		end % }}}
 	end
