Index: /issm/trunk-jpl/src/m/classes/misfit.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/misfit.m	(revision 19066)
+++ /issm/trunk-jpl/src/m/classes/misfit.m	(revision 19067)
@@ -8,4 +8,5 @@
 %                    'observation',md.geometry.surface,...
 %                    'timeinterpolation','nearestneighbor',...
+%                    'local',1,...
 %                    'weights',ones(md.mesh.numberofvertices,1),...
 %                    'weights_enum',WeightsSurfaceObservationsEnum);
@@ -22,4 +23,5 @@
 		observation_enum  = NaN; %enum for observed field.
 		timeinterpolation = '';
+		local             = 1;
 		weights           = NaN; %weight coefficients for every vertex
 		weights_enum      = NaN; %enum to identify this particular set of weights
@@ -41,4 +43,5 @@
 				self.observation=getfieldvalue(options,'observation',NaN);
 				self.observation_enum=getfieldvalue(options,'observation_enum');
+				self.local=getfieldvalue(options,'local',1);
 				self.timeinterpolation=getfieldvalue(options,'timeinterpolation','nearestneighbor');
 				self.weights=getfieldvalue(options,'weights',NaN);
@@ -48,4 +51,5 @@
 		end % }}}
 		function self = setdefaultparameters(self) % {{{
+			self.local=1;
 			self.timeinterpolation='nearestneighbor';
 		end % }}}
@@ -55,5 +59,5 @@
 				error('misfit error message: ''name'' field should be a string!');
 			end
-			md = checkfield(md,'fieldname','self.definitionenum','field',self.definitionenum,'values',[Outputdefinition1Enum,Outputdefinition2Enum,Outputdefinition3Enum,Outputdefinition4Enum,Outputdefinition5Enum,Outputdefinition6Enum,Outputdefinition7Enum,Outputdefinition8Enum,Outputdefinition9Enum,Outputdefinition10Enum]);
+			md = checkfield(md,'fieldname','self.definitionenum','field',self.definitionenum,'values',[Outputdefinition1Enum:Outputdefinition100Enum]);
 
 			if ~ischar(self.timeinterpolation),
@@ -74,4 +78,5 @@
 			fielddisplay(self,'observation','observed field that we compare the model against');
 			fielddisplay(self,'observation_enum','observation enum');
+			fielddisplay(self,'local','is the response local to the elements, or global? (default is 1)''');
 			fielddisplay(self,'timeinterpolation','interpolation routine used to interpolate misfit between two time steps (default is ''nearestneighbor''');
 			fielddisplay(self,'weights','weights (at vertices) to apply to the misfit');
@@ -86,4 +91,5 @@
 		WriteData(fid,'object',self,'fieldname','observation','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 		WriteData(fid,'object',self,'fieldname','observation_enum','format','Integer');
+		WriteData(fid,'object',self,'fieldname','local','format','Integer');
 		WriteData(fid,'object',self,'fieldname','timeinterpolation','format','String');
 		WriteData(fid,'object',self,'fieldname','weights','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
