Index: /issm/trunk-jpl/src/m/classes/autodiff.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/autodiff.m	(revision 27728)
+++ /issm/trunk-jpl/src/m/classes/autodiff.m	(revision 27729)
@@ -115,14 +115,9 @@
 			if(num_dependent_objects),
 				names={};
-				indices=zeros(num_dependent_objects,1);
-
 				for i=1:num_dependent_objects,
 					dep=self.dependents{i};
-
 					names{i}=dep.name;
-					indices(i)=dep.index;
 				end
 				WriteData(fid,prefix,'data',names,'name','md.autodiff.dependent_object_names','format','StringArray');
-				WriteData(fid,prefix,'data',indices,'name','md.autodiff.dependent_object_indices','format','IntMat','mattype',3);
 			end
 			%}}}
Index: /issm/trunk-jpl/src/m/classes/cfsurfacesquaretransient.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/cfsurfacesquaretransient.m	(revision 27729)
+++ /issm/trunk-jpl/src/m/classes/cfsurfacesquaretransient.m	(revision 27729)
@@ -0,0 +1,93 @@
+%MISFIT class definition
+%
+%   Usage:
+%      cfsurfacesquaretransient=cfsurfacesquaretransient();
+%      cfsurfacesquaretransient=cfsurfacesquaretransient('name','SurfaceAltimetry',...
+%                    'definitionstring','Outputdefinition1',... 
+%							'model_string','Surface',...
+%                    'observations_string','SurfaceObservations',...
+%                    'observations',[md.geometry.surface;0],...
+%                    'weights',ones(md.mesh.numberofvertices+1,1),...
+%                    'weights_string','WeightsSurfaceObservations');
+%
+%
+
+classdef cfsurfacesquaretransient
+	properties (SetAccess=public)
+		%cfsurfacesquaretransient
+		name                = '';
+		definitionstring    = ''; %string that identifies this output definition uniquely, from 'Outputdefinition[1-100]'
+		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
+	
+	methods
+		function self = extrude(self,md) % {{{
+			if ~isnan(self.weights)
+				self.weights=project3d(md,'vector',self.weights,'type','node');
+			end
+			if ~isnan(self.observations)
+				self.observations=project3d(md,'vector',self.observations,'type','node');
+			end
+		end % }}}
+		function self = cfsurfacesquaretransient(varargin) % {{{
+			if nargin==0,
+				self=setdefaultparameters(self);
+			else
+				%use provided options to change fields
+				options=pairoptions(varargin{:});
+
+				%get name
+				self.name                = getfieldvalue(options,'name','');
+				self.definitionstring    = getfieldvalue(options,'definitionstring');
+				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 % }}}
+		function self = setdefaultparameters(self) % {{{
+		end % }}}
+		function md = checkconsistency(self,md,solution,analyses) % {{{
+
+			if ~ischar(self.name),
+				error('cfsurfacesquaretransient error message: ''name'' field should be a string!');
+			end
+			OutputdefinitionStringArray={};
+			for i=1:100
+				OutputdefinitionStringArray{i}=strcat('Outputdefinition',num2str(i));
+			end
+			md = checkfield(md,'fieldname','self.definitionstring','field',self.definitionstring,'values',OutputdefinitionStringArray);
+			md = checkfield(md,'fieldname','self.observations','field',self.observations,'size',[md.mesh.numberofvertices+1 NaN],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','self.weights','field',self.weights,'size',[md.mesh.numberofvertices+1 NaN],'NaN',1,'Inf',1);
+
+		end % }}}
+		function md = disp(self) % {{{
+		
+			disp(sprintf('   cfsurfacesquaretransient:\n'));
+
+			fielddisplay(self,'name','identifier for this cfsurfacesquaretransient response');
+			fielddisplay(self,'definitionstring','string that identifies this output definition uniquely, from ''Outputdefinition[1-10]''');
+			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 % }}}
+		function md = marshall(self,prefix,md,fid) % {{{
+
+		WriteData(fid,prefix,'data',self.name,'name','md.cfsurfacesquaretransient.name','format','String');
+		WriteData(fid,prefix,'data',self.definitionstring,'name','md.cfsurfacesquaretransient.definitionstring','format','String');
+		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
+end
Index: /issm/trunk-jpl/src/m/classes/dependent.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/dependent.m	(revision 27728)
+++ /issm/trunk-jpl/src/m/classes/dependent.m	(revision 27729)
@@ -10,5 +10,4 @@
 		exp                  = '';
 		segments             = [];
-		index                = -1;
 		nods                 = 0;
 	end
@@ -22,5 +21,4 @@
 			self.exp=getfieldvalue(options,'exp','');
 			self.segments=getfieldvalue(options,'segments',[]);
-			self.index=getfieldvalue(options,'index',-1);
 			self.nods=getfieldvalue(options,'nods',0);
 
