Index: ../trunk-jpl/src/c/classes/Inputs/TransientInput.h
===================================================================
--- ../trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 19026)
+++ ../trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 19027)
@@ -41,9 +41,9 @@
 		int    InstanceEnum();
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
-		Input* PointwiseDivide(Input* forcingB){_error_("not implemented yet");};
-		Input* PointwiseMin(Input* forcingB){_error_("not implemented yet");};
-		Input* PointwiseMax(Input* forcingB){_error_("not implemented yet");};
+		Input* PointwiseDivide(Input* input_in){_error_("not implemented yet");};
+		Input* PointwiseMin(Input* input_in){_error_("not implemented yet");};
+		Input* PointwiseMax(Input* input_in){_error_("not implemented yet");};
 		int  GetResultInterpolation(void);
 		int  GetResultNumberOfNodes(void);
 		void ResultToPatch(IssmDouble* values,int nodesperelement,int sid){_error_("not supported yet");};
Index: ../trunk-jpl/src/m/solve/WriteData.m
===================================================================
--- ../trunk-jpl/src/m/solve/WriteData.m	(revision 19026)
+++ ../trunk-jpl/src/m/solve/WriteData.m	(revision 19027)
@@ -26,7 +26,7 @@
 end
 format  = getfieldvalue(options,'format');
 mattype = getfieldvalue(options,'mattype',0);    %only required for matrices
-forcinglength = getfieldvalue(options,'forcinglength',-1);
+timeserieslength = getfieldvalue(options,'timeserieslength',-1);
 
 %Process sparse matrices
 if issparse(data),
@@ -36,13 +36,13 @@
 %Scale data if necesarry
 if exist(options,'scale'),
 	scale = getfieldvalue(options,'scale');
-	if size(data,1)==forcinglength,
+	if size(data,1)==timeserieslength,
 		data(1:end-1,:) = scale.*data(1:end-1,:);
 	else
 		data  = scale.*data;
 	end
 end
-if(size(data,1)==forcinglength),
+if(size(data,1)==timeserieslength),
 	yts=365.0*24.0*3600.0;
 	data(end,:) = data(end,:)*yts;
 end
Index: ../trunk-jpl/src/m/solve/WriteData.py
===================================================================
--- ../trunk-jpl/src/m/solve/WriteData.py	(revision 19026)
+++ ../trunk-jpl/src/m/solve/WriteData.py	(revision 19027)
@@ -34,7 +34,7 @@
 		enum = options.getfieldvalue('enum')
 	format  = options.getfieldvalue('format')
 	mattype = options.getfieldvalue('mattype',0)    #only required for matrices
-	forcinglength = options.getfieldvalue('forcinglength',-1)
+	timeserieslength = options.getfieldvalue('timeserieslength',-1)
 
 	#Process sparse matrices
 #	if issparse(data),
@@ -45,7 +45,7 @@
 	if options.exist('scale'):
 		scale = options.getfieldvalue('scale')
 		if numpy.size(data) > 1 :
-			if numpy.size(data,0)==forcinglength:
+			if numpy.size(data,0)==timeserieslength:
 				data=numpy.array(data)
 				data[0:-1,:] = scale*data[0:-1,:]
 			else:
@@ -53,7 +53,7 @@
 		else:
 			data  = scale*data
 	if numpy.size(data) > 1 :
-		if numpy.size(data,0)==forcinglength:
+		if numpy.size(data,0)==timeserieslength:
 			yts=365.0*24.0*3600.0
 			data[-1,:] = yts*data[-1,:]
 
Index: ../trunk-jpl/src/m/consistency/checkfield.py
===================================================================
--- ../trunk-jpl/src/m/consistency/checkfield.py	(revision 19026)
+++ ../trunk-jpl/src/m/consistency/checkfield.py	(revision 19027)
@@ -20,7 +20,7 @@
 	      - <:  smallerthan provided value
 	      - <=: smaller or equal to provided value
 	      - < vec:  smallerthan provided values on each vertex
-	      - forcing: 1 if check forcing consistency (size and time)
+	      - timeseries: 1 if check time series consistency (size and time)
 	      - values: cell of strings or vector of acceptable values
 	      - numel: list of acceptable number of elements
 	      - cell: 1 if check that is cell
@@ -150,7 +150,7 @@
 					"field '%s' should be a list" %fieldname))
 
 	#Check forcings (size and times)
-	if options.getfieldvalue('forcing',0):
+	if options.getfieldvalue('timeseries',0):
 		if   numpy.size(field,0)==md.mesh.numberofvertices:
 			if numpy.ndim(field)>1 and not numpy.size(field,1)==1:
 				md = md.checkmessage(options.getfieldvalue('message',\
Index: ../trunk-jpl/src/m/consistency/checkfield.m
===================================================================
--- ../trunk-jpl/src/m/consistency/checkfield.m	(revision 19026)
+++ ../trunk-jpl/src/m/consistency/checkfield.m	(revision 19027)
@@ -13,7 +13,7 @@
 %      - <:  smallerthan provided value
 %      - <=: smaller or equal to provided value
 %      - < vec:  smallerthan provided values on each vertex
-%      - forcing: 1 if check forcing consistency (size and time)
+%      - timeseries: 1 if check time series consistency (size and time)
 %      - values: cell of strings or vector of acceptable values
 %      - numel: list of acceptable number of elements
 %      - cell: 1 if check that is cell
@@ -197,7 +197,7 @@
 end
 
 %Check forcings (size and times)
-if getfieldvalue(options,'forcing',0),
+if getfieldvalue(options,'timeseries',0),
 	if size(field,1)==md.mesh.numberofvertices,
 		if ~size(field,2)==1,
 			md = checkmessage(md,getfieldvalue(options,'message',...
Index: ../trunk-jpl/src/m/classes/thermal.py
===================================================================
--- ../trunk-jpl/src/m/classes/thermal.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/thermal.py	(revision 19027)
@@ -85,7 +85,7 @@
 			return md
 
 		md = checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0,1,2])
-		md = checkfield(md,'fieldname','thermal.spctemperature','forcing',1)
+		md = checkfield(md,'fieldname','thermal.spctemperature','timeseries',1)
 		if EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy and md.mesh.dimension()==3:
 			pos=numpy.nonzero(numpy.logical_not(numpy.isnan(md.thermal.spctemperature[0:md.mesh.numberofvertices])))
 			replicate=numpy.tile(md.geometry.surface-md.mesh.z,(1,numpy.size(md.thermal.spctemperature,axis=1)))
@@ -101,7 +101,7 @@
 		return md
 	# }}}
 	def marshall(self,md,fid):    # {{{
-		WriteData(fid,'object',self,'fieldname','spctemperature','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','spctemperature','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 		WriteData(fid,'object',self,'fieldname','penalty_threshold','format','Integer')
 		WriteData(fid,'object',self,'fieldname','stabilization','format','Integer')
 		WriteData(fid,'object',self,'fieldname','reltol','format','Double');
Index: ../trunk-jpl/src/m/classes/SMBpdd.py
===================================================================
--- ../trunk-jpl/src/m/classes/SMBpdd.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBpdd.py	(revision 19027)
@@ -152,7 +152,7 @@
 
 		if (self.isdelta18o==0 and self.ismungsm==0):
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','monthlytemperatures','format','DoubleMat','mattype',1)
-			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
 		elif self.isdelta18o:
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1)
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','temperatures_lgm','format','DoubleMat','mattype',1)
Index: ../trunk-jpl/src/m/classes/frictionweertman.py
===================================================================
--- ../trunk-jpl/src/m/classes/frictionweertman.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/frictionweertman.py	(revision 19027)
@@ -35,7 +35,7 @@
 		if StressbalanceAnalysisEnum() not in analyses and ThermalAnalysisEnum() not in analyses:
 			return md
 
-		md = checkfield(md,'fieldname','friction.C','forcing',1,'NaN',1)
+		md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1)
 		md = checkfield(md,'fieldname','friction.m','NaN',1,'size',[md.mesh.numberofelements])
 
 		return md
Index: ../trunk-jpl/src/m/classes/frictionwaterlayer.m
===================================================================
--- ../trunk-jpl/src/m/classes/frictionwaterlayer.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/frictionwaterlayer.m	(revision 19027)
@@ -29,10 +29,10 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
 
-			md = checkfield(md,'fieldname','friction.coefficient','forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1);
 			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
-			md = checkfield(md,'fieldname','thermal.spctemperature','forcing',1,'>=',0.);
+			md = checkfield(md,'fieldname','thermal.spctemperature','timeseries',1,'>=',0.);
 
 		end % }}}
 		function disp(obj) % {{{
@@ -45,10 +45,10 @@
 		function marshall(obj,md,fid) % {{{
 
 			WriteData(fid,'enum',FrictionLawEnum,'data',5,'format','Integer');
-			WriteData(fid,'class','friction','object',obj,'fieldname','coefficient','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'class','friction','object',obj,'fieldname','coefficient','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'class','friction','object',obj,'fieldname','p','format','DoubleMat','mattype',2);
 			WriteData(fid,'class','friction','object',obj,'fieldname','q','format','DoubleMat','mattype',2);
-			WriteData(fid,'class','friction','object',obj,'fieldname','water_layer','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'class','friction','object',obj,'fieldname','water_layer','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/calving.py
===================================================================
--- ../trunk-jpl/src/m/classes/calving.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/calving.py	(revision 19027)
@@ -44,8 +44,8 @@
 			return md
 
 		md = checkfield(md,'fieldname','calving.stabilization','values',[0,1,2]);
-		md = checkfield(md,'fieldname','calving.calvingrate','>=',0,'forcing',1,'NaN',1);
-		md = checkfield(md,'fieldname','calving.meltingrate','>=',0,'forcing',1,'NaN',1);
+		md = checkfield(md,'fieldname','calving.calvingrate','>=',0,'timeseries',1,'NaN',1);
+		md = checkfield(md,'fieldname','calving.meltingrate','>=',0,'timeseries',1,'NaN',1);
 
 		return md
 	# }}}
@@ -55,6 +55,6 @@
 
 		WriteData(fid,'enum',CalvingLawEnum(),'data',DefaultCalvingEnum(),'format','Integer');
 		WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',self.stabilization,'format','Integer');
-		WriteData(fid,'object',self,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts)
-		WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts)
+		WriteData(fid,'object',self,'fieldname','calvingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts)
+		WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts)
 	# }}}
Index: ../trunk-jpl/src/m/classes/SMB.m
===================================================================
--- ../trunk-jpl/src/m/classes/SMB.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMB.m	(revision 19027)
@@ -37,7 +37,7 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.mass_balance','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.mass_balance','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.mass_balance','size',[md.mesh.numberofvertices 1],'NaN',1);
@@ -52,7 +52,7 @@
 			yts=365.0*24.0*3600.0;
 
 			WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBEnum(),'format','Integer');
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/thermal.m
===================================================================
--- ../trunk-jpl/src/m/classes/thermal.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/thermal.m	(revision 19027)
@@ -90,7 +90,7 @@
 			if (~ismember(ThermalAnalysisEnum(),analyses) & ~ismember(EnthalpyAnalysisEnum(),analyses)) | (solution==TransientSolutionEnum() & md.transient.isthermal==0), return; end
 
 			md = checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0 1 2]);
-			md = checkfield(md,'fieldname','thermal.spctemperature','forcing',1);
+			md = checkfield(md,'fieldname','thermal.spctemperature','timeseries',1);
 			if (ismember(EnthalpyAnalysisEnum(),analyses) & md.thermal.isenthalpy & dimension(md.mesh)==3),
 				pos=find(md.thermal.spctemperature(1:md.mesh.numberofvertices,:)~=NaN);
 				replicate=repmat(md.geometry.surface-md.mesh.z,1,size(md.thermal.spctemperature,2));
@@ -123,7 +123,7 @@
 
 		end % }}}
 		function marshall(obj,md,fid) % {{{
-			WriteData(fid,'object',obj,'fieldname','spctemperature','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'fieldname','spctemperature','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'object',obj,'fieldname','penalty_threshold','format','Integer');
 			WriteData(fid,'object',obj,'fieldname','stabilization','format','Integer');
 			WriteData(fid,'object',obj,'fieldname','reltol','format','Double');
Index: ../trunk-jpl/src/m/classes/SMBmeltcomponents.py
===================================================================
--- ../trunk-jpl/src/m/classes/SMBmeltcomponents.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBmeltcomponents.py	(revision 19027)
@@ -56,25 +56,25 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.accumulation','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.accumulation','timeseries',1,'NaN',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.accumulation','size',[md.mesh.numberofvertices],'NaN',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.melt','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.melt','timeseries',1,'NaN',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.melt','size',[md.mesh.numberofvertices],'NaN',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.refreeze','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.refreeze','timeseries',1,'NaN',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.refreeze','size',[md.mesh.numberofvertices],'NaN',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.evaporation','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.evaporation','timeseries',1,'NaN',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.evaporation','size',[md.mesh.numberofvertices],'NaN',1)
@@ -86,8 +86,8 @@
 		yts=365.0*24.0*3600.0
 
 		WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBmeltcomponentsEnum(),'format','Integer');
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','melt','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','refreeze','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','melt','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','refreeze','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
 	# }}}
Index: ../trunk-jpl/src/m/classes/linearbasalforcings.m
===================================================================
--- ../trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 19027)
@@ -48,7 +48,7 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
 			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','numel',1);
 				md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
@@ -60,11 +60,11 @@
 				md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
 			end
 			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','numel',1);
 				md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
-				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0);
+				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0);
 			end
 		end % }}}
 		function disp(obj) % {{{
@@ -86,9 +86,9 @@
 			pos=find(md.geometry.base>md.basalforcings.deepwater_elevation & md.geometry.base<md.basalforcings.upperwater_elevation);
 			floatingice_melting_rate(pos)=md.basalforcings.deepwater_melting_rate*(md.geometry.base(pos)-md.basalforcings.upperwater_elevation)/(md.basalforcings.deepwater_elevation-md.basalforcings.upperwater_elevation);
 			WriteData(fid,'enum',BasalforcingsEnum(),'data',LinearFloatingMeltRateEnum(),'format','Integer');
-			WriteData(fid,'data',floatingice_melting_rate,'format','DoubleMat','enum',BasalforcingsFloatingiceMeltingRateEnum(),'mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-			WriteData(fid,'object',obj,'fieldname','groundedice_melting_rate','format','DoubleMat','enum',BasalforcingsGroundediceMeltingRateEnum(),'mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-			WriteData(fid,'object',obj,'fieldname','geothermalflux','enum',BasalforcingsGeothermalfluxEnum(),'format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'data',floatingice_melting_rate,'format','DoubleMat','enum',BasalforcingsFloatingiceMeltingRateEnum(),'mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+			WriteData(fid,'object',obj,'fieldname','groundedice_melting_rate','format','DoubleMat','enum',BasalforcingsGroundediceMeltingRateEnum(),'mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+			WriteData(fid,'object',obj,'fieldname','geothermalflux','enum',BasalforcingsGeothermalfluxEnum(),'format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'object',obj,'fieldname','deepwater_melting_rate','format','Double','enum',BasalforcingsDeepwaterMeltingRateEnum(),'scale',1./yts)
 			WriteData(fid,'object',obj,'fieldname','deepwater_elevation','format','Double','enum',BasalforcingsDeepwaterElevationEnum())
 			WriteData(fid,'object',obj,'fieldname','upperwater_elevation','format','Double','enum',BasalforcingsUpperwaterElevationEnum())
Index: ../trunk-jpl/src/m/classes/calvinglevermann.py
===================================================================
--- ../trunk-jpl/src/m/classes/calvinglevermann.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/calvinglevermann.py	(revision 19027)
@@ -53,5 +53,5 @@
 		WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingLevermannEnum(),'format','Integer');
 		WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',self.stabilization,'format','Integer');
 		WriteData(fid,'enum',CalvinglevermannCoeffEnum(),'data',self.coeff,'format','DoubleMat','mattype',1)
-		WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts)
+		WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts)
 	# }}}
Index: ../trunk-jpl/src/m/classes/misfit.m
===================================================================
--- ../trunk-jpl/src/m/classes/misfit.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/misfit.m	(revision 19027)
@@ -59,9 +59,9 @@
 			if ~ischar(obj.timeinterpolation),
 				error('misfit error message: ''timeinterpolation'' field should be a string!');
 			end
-			md = checkfield(md,'fieldname','obj.observation','field',obj.observation,'forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','obj.observation','field',obj.observation,'timeseries',1,'NaN',1);
 			md = checkfield(md,'fieldname','obj.timeinterpolation','field',obj.timeinterpolation,'values',{'nearestneighbor'});
-			md = checkfield(md,'fieldname','obj.weights','field',obj.weights,'forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','obj.weights','field',obj.weights,'timeseries',1,'NaN',1);
 
 		end % }}}
 		function md = disp(obj) % {{{
@@ -83,10 +83,10 @@
 		WriteData(fid,'object',obj,'fieldname','name','format','String');
 		WriteData(fid,'object',obj,'fieldname','definitionenum','format','Integer');
 		WriteData(fid,'object',obj,'fieldname','model_enum','format','Integer');
-		WriteData(fid,'object',obj,'fieldname','observation','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+		WriteData(fid,'object',obj,'fieldname','observation','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 		WriteData(fid,'object',obj,'fieldname','observation_enum','format','Integer');
 		WriteData(fid,'object',obj,'fieldname','timeinterpolation','format','String');
-		WriteData(fid,'object',obj,'fieldname','weights','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+		WriteData(fid,'object',obj,'fieldname','weights','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 		WriteData(fid,'object',obj,'fieldname','weights_enum','format','Integer');
 
 		end % }}}
Index: ../trunk-jpl/src/m/classes/matice.m
===================================================================
--- ../trunk-jpl/src/m/classes/matice.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/matice.m	(revision 19027)
@@ -142,7 +142,7 @@
 			md = checkfield(md,'fieldname','materials.rho_water','>',0);
 			md = checkfield(md,'fieldname','materials.rho_freshwater','>',0);
 			md = checkfield(md,'fieldname','materials.mu_water','>',0);
-			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1);
 			md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
 
@@ -191,7 +191,7 @@
 			WriteData(fid,'object',obj,'class','materials','fieldname','beta','format','Double');
 			WriteData(fid,'object',obj,'class','materials','fieldname','mixed_layer_capacity','format','Double');
 			WriteData(fid,'object',obj,'class','materials','fieldname','thermal_exchange_velocity','format','Double');
-			WriteData(fid,'object',obj,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'object',obj,'class','materials','fieldname','rheology_n','format','DoubleMat','mattype',2);
 			WriteData(fid,'data',StringToEnum(obj.rheology_law),'enum',MaterialsRheologyLawEnum(),'format','Integer');
 
Index: ../trunk-jpl/src/m/classes/frictiontemp.m
===================================================================
--- ../trunk-jpl/src/m/classes/frictiontemp.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/frictiontemp.m	(revision 19027)
@@ -33,7 +33,7 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
 
-			md = checkfield(md,'fieldname','friction.coefficient','forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1);
 			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','friction.gamma','NaN',1,'numel',1,'>',0.);
@@ -52,7 +52,7 @@
 
 			WriteData(fid,'enum',FrictionLawEnum,'data',4,'format','Integer');
 			WriteData(fid,'class','friction','object',obj,'fieldname','gamma','format','Double');
-			WriteData(fid,'class','friction','object',obj,'fieldname','coefficient','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'class','friction','object',obj,'fieldname','coefficient','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'class','friction','object',obj,'fieldname','p','format','DoubleMat','mattype',2);
 			WriteData(fid,'class','friction','object',obj,'fieldname','q','format','DoubleMat','mattype',2);
 		end % }}}
Index: ../trunk-jpl/src/m/classes/masstransport.py
===================================================================
--- ../trunk-jpl/src/m/classes/masstransport.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/masstransport.py	(revision 19027)
@@ -66,7 +66,7 @@
 		if (MasstransportAnalysisEnum() not in analyses) or (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
 			return md
 
-		md = checkfield(md,'fieldname','masstransport.spcthickness','forcing',1)
+		md = checkfield(md,'fieldname','masstransport.spcthickness','timeseries',1)
 		md = checkfield(md,'fieldname','masstransport.isfreesurface','values',[0,1])
 		md = checkfield(md,'fieldname','masstransport.hydrostatic_adjustment','values',['Absolute','Incremental'])
 		md = checkfield(md,'fieldname','masstransport.stabilization','values',[0,1,2,3,4])
@@ -79,7 +79,7 @@
 
 		yts=365.*24.*3600.
 
-		WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 		WriteData(fid,'object',self,'fieldname','isfreesurface','format','Boolean')
 		WriteData(fid,'object',self,'fieldname','min_thickness','format','Double')
 		WriteData(fid,'data',StringToEnum(self.hydrostatic_adjustment)[0],'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum())
Index: ../trunk-jpl/src/m/classes/SMBgradients.py
===================================================================
--- ../trunk-jpl/src/m/classes/SMBgradients.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBgradients.py	(revision 19027)
@@ -43,10 +43,10 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.href','forcing',1,'NaN',1)
-			md = checkfield(md,'fieldname','surfaceforcings.smbref','forcing',1,'NaN',1)
-			md = checkfield(md,'fieldname','surfaceforcings.b_pos','forcing',1,'NaN',1)
-			md = checkfield(md,'fieldname','surfaceforcings.b_neg','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.href','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.smbref','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.b_pos','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.b_neg','timeseries',1,'NaN',1)
 
 		return md
 	# }}}
@@ -55,8 +55,8 @@
 		yts=365.0*24.0*3600.0
 
 		WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBgradientsEnum(),'format','Integer');
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','href','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','href','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
 	# }}}
Index: ../trunk-jpl/src/m/classes/calving.m
===================================================================
--- ../trunk-jpl/src/m/classes/calving.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/calving.m	(revision 19027)
@@ -39,8 +39,8 @@
 			if (solution~=TransientSolutionEnum() | md.transient.iscalving==0), return; end
 
 			md = checkfield(md,'fieldname','calving.stabilization','values',[0 1 2]);
-			md = checkfield(md,'fieldname','calving.calvingrate(1:md.mesh.numberofvertices,:)','>=',0,'forcing',1,'NaN',1);
-			md = checkfield(md,'fieldname','calving.meltingrate(1:md.mesh.numberofvertices,:)','>=',0,'forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','calving.calvingrate(1:md.mesh.numberofvertices,:)','>=',0,'timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','calving.meltingrate(1:md.mesh.numberofvertices,:)','>=',0,'timeseries',1,'NaN',1);
 		end % }}}
 		function disp(obj) % {{{
 			disp(sprintf('   Calving parameters:'));
@@ -52,8 +52,8 @@
 			yts=365.0*24.0*3600.0;
 			WriteData(fid,'enum',CalvingLawEnum(),'data',DefaultCalvingEnum(),'format','Integer');
 			WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',obj.stabilization,'format','Integer');
-			WriteData(fid,'object',obj,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
-			WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
+			WriteData(fid,'object',obj,'fieldname','calvingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
+			WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/SMBcomponents.m
===================================================================
--- ../trunk-jpl/src/m/classes/SMBcomponents.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBcomponents.m	(revision 19027)
@@ -43,19 +43,19 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.accumulation','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.accumulation','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.runoff','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.runoff','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.runoff','size',[md.mesh.numberofvertices 1],'NaN',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.evaporation','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.evaporation','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1);
@@ -72,9 +72,9 @@
 			yts=365.0*24.0*3600.0;
 
 			WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBcomponentsEnum(),'format','Integer');
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/geometry.py
===================================================================
--- ../trunk-jpl/src/m/classes/geometry.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/geometry.py	(revision 19027)
@@ -38,7 +38,7 @@
 
 		md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices])
 		md = checkfield(md,'fieldname','geometry.base'      ,'NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0,'forcing',1)
+		md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0,'timeseries',1)
 		if any((self.thickness-self.surface+self.base)>10**-9):
 			md.checkmessage("equality thickness=surface-base violated")
 		if solution==TransientSolutionEnum() and md.transient.isgroundingline:
@@ -48,7 +48,7 @@
 	# }}}
 	def marshall(self,md,fid):    # {{{
 		WriteData(fid,'data',self.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum())
-		WriteData(fid,'data',self.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'data',self.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'timeserieslength',md.mesh.numberofvertices+1)
 		WriteData(fid,'data',self.base,'format','DoubleMat','mattype',1,'enum',BaseEnum())
 		WriteData(fid,'data',self.bed,'format','DoubleMat','mattype',1,'enum',BedEnum())
 		WriteData(fid,'object',self,'fieldname','hydrostatic_ratio','format','DoubleMat','mattype',1)
Index: ../trunk-jpl/src/m/classes/stressbalance.m
===================================================================
--- ../trunk-jpl/src/m/classes/stressbalance.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/stressbalance.m	(revision 19027)
@@ -125,9 +125,9 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses), return; end
 
-			md = checkfield(md,'fieldname','stressbalance.spcvx','forcing',1);
-			md = checkfield(md,'fieldname','stressbalance.spcvy','forcing',1);
-			md = checkfield(md,'fieldname','stressbalance.spcvz','forcing',1);
+			md = checkfield(md,'fieldname','stressbalance.spcvx','timeseries',1);
+			md = checkfield(md,'fieldname','stressbalance.spcvy','timeseries',1);
+			md = checkfield(md,'fieldname','stressbalance.spcvz','timeseries',1);
 			md = checkfield(md,'fieldname','stressbalance.restol','size',[1 1],'>',0,'NaN',1);
 			md = checkfield(md,'fieldname','stressbalance.reltol','size',[1 1]);
 			md = checkfield(md,'fieldname','stressbalance.abstol','size',[1 1]);
@@ -217,9 +217,9 @@
 
 			yts=365.0*24.0*3600.0;
 
-			WriteData(fid,'object',obj,'class','stressbalance','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','stressbalance','fieldname','spcvy','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','stressbalance','fieldname','spcvz','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','stressbalance','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','stressbalance','fieldname','spcvy','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','stressbalance','fieldname','spcvz','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'object',obj,'class','stressbalance','fieldname','restol','format','Double');
 			WriteData(fid,'object',obj,'class','stressbalance','fieldname','reltol','format','Double');
 			WriteData(fid,'object',obj,'class','stressbalance','fieldname','abstol','format','Double','scale',1./yts);
Index: ../trunk-jpl/src/m/classes/hydrologyshreve.py
===================================================================
--- ../trunk-jpl/src/m/classes/hydrologyshreve.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/hydrologyshreve.py	(revision 19027)
@@ -39,13 +39,13 @@
 		if HydrologyShreveAnalysisEnum() not in analyses:
 			return md
 
-		md = checkfield(md,'fieldname','hydrology.spcwatercolumn','forcing',1)
+		md = checkfield(md,'fieldname','hydrology.spcwatercolumn','timeseries',1)
 		md = checkfield(md,'fieldname','hydrology.stabilization','>=',0)
 
 		return md
 	# }}}
 	def marshall(self,md,fid):    # {{{
 		WriteData(fid,'enum',HydrologyModelEnum(),'data',HydrologyshreveEnum(),'format','Integer');
-		WriteData(fid,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 		WriteData(fid,'object',self,'fieldname','stabilization','format','Double')
 	# }}}
Index: ../trunk-jpl/src/m/classes/hydrologyshreve.m
===================================================================
--- ../trunk-jpl/src/m/classes/hydrologyshreve.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/hydrologyshreve.m	(revision 19027)
@@ -42,7 +42,7 @@
 				return;
 			end
 
-			md = checkfield(md,'fieldname','hydrology.spcwatercolumn','forcing',1);
+			md = checkfield(md,'fieldname','hydrology.spcwatercolumn','timeseries',1);
 			md = checkfield(md,'fieldname','hydrology.stabilization','>=',0);
 		end % }}}
 		function disp(obj) % {{{
@@ -53,7 +53,7 @@
 		end % }}}
 		function marshall(obj,md,fid) % {{{
 			WriteData(fid,'enum',HydrologyModelEnum(),'data',HydrologyshreveEnum(),'format','Integer');
-			WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'object',obj,'fieldname','stabilization','format','Double');
 		end % }}}
 	end
Index: ../trunk-jpl/src/m/classes/basalforcings.py
===================================================================
--- ../trunk-jpl/src/m/classes/basalforcings.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/basalforcings.py	(revision 19027)
@@ -47,17 +47,17 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
 		if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1)
-			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
 
 		if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isthermal):
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1)
-			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1)
-			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0)
 
 		return md
 	# }}}
@@ -66,7 +66,7 @@
 		yts=365.0*24.0*3600.0
 
 		WriteData(fid,'enum',BasalforcingsEnum(),'data',FloatingMeltRateEnum(),'format','Integer');
-		WriteData(fid,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 	# }}}
Index: ../trunk-jpl/src/m/classes/calvingpi.m
===================================================================
--- ../trunk-jpl/src/m/classes/calvingpi.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/calvingpi.m	(revision 19027)
@@ -56,7 +56,7 @@
 			WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingPiEnum(),'format','Integer');
 			WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',obj.stabilization,'format','Integer');
 			WriteData(fid,'enum',CalvingpiCoeffEnum(),'data',obj.coeff,'format','DoubleMat','mattype',1);
-			WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
+			WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/basalforcings.m
===================================================================
--- ../trunk-jpl/src/m/classes/basalforcings.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/basalforcings.m	(revision 19027)
@@ -44,17 +44,17 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
 			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1);
-				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			end
 			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1);
-				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1);
-				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0);
 			end
 		end % }}}
 		function disp(obj) % {{{
@@ -70,9 +70,9 @@
 			yts=365.0*24.0*3600.0;
 
 			WriteData(fid,'enum',BasalforcingsEnum(),'data',FloatingMeltRateEnum(),'format','Integer');
-			WriteData(fid,'object',obj,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-			WriteData(fid,'object',obj,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-			WriteData(fid,'object',obj,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+			WriteData(fid,'object',obj,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+			WriteData(fid,'object',obj,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/damage.m
===================================================================
--- ../trunk-jpl/src/m/classes/damage.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/damage.m	(revision 19027)
@@ -149,7 +149,7 @@
 			if obj.isdamage,
 				md = checkfield(md,'fieldname','damage.law','numel',[1],'values',[0,1,2]);
 				md = checkfield(md,'fieldname','damage.D','>=',0,'<=',obj.max_damage,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','damage.spcdamage','forcing',1);
+				md = checkfield(md,'fieldname','damage.spcdamage','timeseries',1);
 				md = checkfield(md,'fieldname','damage.max_damage','<',1,'>=',0);
 				md = checkfield(md,'fieldname','damage.stabilization','numel',[1],'values',[0 1 2]);
 				md = checkfield(md,'fieldname','damage.maxiter','>=0',0);
@@ -212,7 +212,7 @@
 			if obj.isdamage,
 				WriteData(fid,'object',obj,'fieldname','law','format','Integer');
 				WriteData(fid,'object',obj,'fieldname','D','format','DoubleMat','mattype',1);
-				WriteData(fid,'object',obj,'fieldname','spcdamage','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+				WriteData(fid,'object',obj,'fieldname','spcdamage','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 				WriteData(fid,'object',obj,'fieldname','max_damage','format','Double');
 
 				WriteData(fid,'object',obj,'fieldname','stabilization','format','Integer');
Index: ../trunk-jpl/src/m/classes/hydrologydc.m
===================================================================
--- ../trunk-jpl/src/m/classes/hydrologydc.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/hydrologydc.m	(revision 19027)
@@ -104,16 +104,16 @@
 			if obj.transfer_flag==1,
 				md = checkfield(md,'fieldname','hydrology.leakage_factor','>',0,'numel',1);
 	    end
-			md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'forcing',1);
+			md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'timeseries',1);
 
-			md = checkfield(md,'fieldname','hydrology.spcsediment_head','forcing',1);
+			md = checkfield(md,'fieldname','hydrology.spcsediment_head','timeseries',1);
 			md = checkfield(md,'fieldname','hydrology.sediment_compressibility','>',0,'numel',1);
 			md = checkfield(md,'fieldname','hydrology.sediment_porosity','>',0,'numel',1);
 			md = checkfield(md,'fieldname','hydrology.sediment_thickness','>',0,'numel',1);
 			md = checkfield(md,'fieldname','hydrology.sediment_transmitivity','>=',0,'size',[md.mesh.numberofvertices 1]);
 
 			if obj.isefficientlayer==1,
-				md = checkfield(md,'fieldname','hydrology.spcepl_head','forcing',1);
+				md = checkfield(md,'fieldname','hydrology.spcepl_head','timeseries',1);
 				md = checkfield(md,'fieldname','hydrology.mask_eplactive_node','size',[md.mesh.numberofvertices 1],'values',[0 1]);
 				md = checkfield(md,'fieldname','hydrology.epl_compressibility','>',0,'numel',1);
 				md = checkfield(md,'fieldname','hydrology.epl_porosity','>',0,'numel',1);
@@ -194,16 +194,16 @@
 			if obj.transfer_flag==1,
 				WriteData(fid,'object',obj,'fieldname','leakage_factor','format','Double');
 	    end
-			WriteData(fid,'object',obj,'fieldname','basal_moulin_input','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+			WriteData(fid,'object',obj,'fieldname','basal_moulin_input','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 
-			WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'object',obj,'fieldname','sediment_compressibility','format','Double');			
 			WriteData(fid,'object',obj,'fieldname','sediment_porosity','format','Double');			
 			WriteData(fid,'object',obj,'fieldname','sediment_thickness','format','Double');
 			WriteData(fid,'object',obj,'fieldname','sediment_transmitivity','format','DoubleMat','mattype',1');		
 
 			if obj.isefficientlayer==1,	
-				WriteData(fid,'object',obj,'fieldname','spcepl_head','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);	
+				WriteData(fid,'object',obj,'fieldname','spcepl_head','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);	
 				WriteData(fid,'object',obj,'fieldname','mask_eplactive_node','format','DoubleMat','mattype',1);
 				WriteData(fid,'object',obj,'fieldname','epl_compressibility','format','Double');			
 				WriteData(fid,'object',obj,'fieldname','epl_porosity','format','Double');			
Index: ../trunk-jpl/src/m/classes/calvinglevermann.m
===================================================================
--- ../trunk-jpl/src/m/classes/calvinglevermann.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/calvinglevermann.m	(revision 19027)
@@ -56,7 +56,7 @@
 			WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingLevermannEnum(),'format','Integer');
 			WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',obj.stabilization,'format','Integer');
 			WriteData(fid,'enum',CalvinglevermannCoeffEnum(),'data',obj.coeff,'format','DoubleMat','mattype',1);
-			WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
+			WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/linearbasalforcings.py
===================================================================
--- ../trunk-jpl/src/m/classes/linearbasalforcings.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/linearbasalforcings.py	(revision 19027)
@@ -68,7 +68,7 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
 		if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
 			md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<',md.basalforcings.upperwater_elevation);
 			md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0);
@@ -80,11 +80,11 @@
 			md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0);
 
 		if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isthermal):
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
 			md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<',md.basalforcings.upperwater_elevation);
 			md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0);
-			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0)
+			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0)
 
 		return md
 	# }}}
@@ -99,9 +99,9 @@
 		floatingice_melting_rate[pos]=md.basalforcings.deepwater_melting_rate*(md.geometry.base[pos]-md.basalforcings.upperwater_elevation)/(md.basalforcings.deepwater_elevation-md.basalforcings.upperwater_elevation)
 
 		WriteData(fid,'enum',BasalforcingsEnum(),'data',LinearFloatingMeltRateEnum(),'format','Integer');
-		WriteData(fid,'object',self,'fieldname','groundedice_melting_rate','enum',BasalforcingsGroundediceMeltingRateEnum(),'format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'data',floatingice_melting_rate,'enum',BasalforcingsFloatingiceMeltingRateEnum(),'format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'fieldname','geothermalflux','enum',BasalforcingsGeothermalfluxEnum(),'format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','groundedice_melting_rate','enum',BasalforcingsGroundediceMeltingRateEnum(),'format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'data',floatingice_melting_rate,'enum',BasalforcingsFloatingiceMeltingRateEnum(),'format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','geothermalflux','enum',BasalforcingsGeothermalfluxEnum(),'format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 		WriteData(fid,'object',self,'fieldname','deepwater_melting_rate','enum',BasalforcingsDeepwaterMeltingRateEnum(),'format','Double','scale',1./yts)
 		WriteData(fid,'object',self,'fieldname','deepwater_elevation','enum',BasalforcingsDeepwaterElevationEnum(),'format','Double')
 		WriteData(fid,'object',self,'fieldname','upperwater_elevation','enum',BasalforcingsUpperwaterElevationEnum(),'format','Double')
Index: ../trunk-jpl/src/m/classes/SMBpdd.m
===================================================================
--- ../trunk-jpl/src/m/classes/SMBpdd.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBpdd.m	(revision 19027)
@@ -74,8 +74,8 @@
 				md = checkfield(md,'fieldname','surfaceforcings.rlaps','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','surfaceforcings.rlapslgm','>=',0,'numel',1);
 				if(obj.isdelta18o==0 & obj.ismungsm==0)
-					md = checkfield(md,'fieldname','surfaceforcings.monthlytemperatures','forcing',1,'NaN',1);
-					md = checkfield(md,'fieldname','surfaceforcings.precipitation','forcing',1,'NaN',1);
+					md = checkfield(md,'fieldname','surfaceforcings.monthlytemperatures','timeseries',1,'NaN',1);
+					md = checkfield(md,'fieldname','surfaceforcings.precipitation','timeseries',1,'NaN',1);
 				elseif(obj.isdelta18o==1) 
 					md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1);
 					md = checkfield(md,'fieldname','surfaceforcings.delta18o_surface','NaN',1);
@@ -145,8 +145,8 @@
 
 			if(obj.isdelta18o==0 & obj.ismungsm==0)
 				%WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','monthlytemperatures','format','DoubleMat','mattype',1);
-				WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
-				WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
+				WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
+				WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
 			elseif obj.isdelta18o
 				WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1);
 				WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','temperatures_lgm','format','DoubleMat','mattype',1);
Index: ../trunk-jpl/src/m/classes/damage.py
===================================================================
--- ../trunk-jpl/src/m/classes/damage.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/damage.py	(revision 19027)
@@ -130,7 +130,7 @@
 			md = checkfield(md,'fieldname','damage.D','>=',0,'<=',self.max_damage,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','damage.max_damage','<',1,'>=',0)
 			md = checkfield(md,'fieldname','damage.law','numel',[1],'values',[0,1,2,3])
-			md = checkfield(md,'fieldname','damage.spcdamage','forcing',1)
+			md = checkfield(md,'fieldname','damage.spcdamage','timeseries',1)
 			md = checkfield(md,'fieldname','damage.stabilization','numel',[1],'values',[0,1,2])
 			md = checkfield(md,'fieldname','damage.maxiter','>=0',0)
 			md = checkfield(md,'fieldname','damage.elementinterp','values',['P1','P2'])
@@ -158,7 +158,7 @@
 		if self.isdamage:
 			WriteData(fid,'object',self,'fieldname','D','format','DoubleMat','mattype',1)
 			WriteData(fid,'object',self,'fieldname','law','format','Integer')
-			WriteData(fid,'object',self,'fieldname','spcdamage','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+			WriteData(fid,'object',self,'fieldname','spcdamage','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 			WriteData(fid,'object',self,'fieldname','max_damage','format','Double')
 			WriteData(fid,'object',self,'fieldname','stabilization','format','Integer')
 			WriteData(fid,'object',self,'fieldname','maxiter','format','Integer')
Index: ../trunk-jpl/src/m/classes/SMB.py
===================================================================
--- ../trunk-jpl/src/m/classes/SMB.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMB.py	(revision 19027)
@@ -37,7 +37,7 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.mass_balance','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.mass_balance','timeseries',1,'NaN',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.mass_balance','size',[md.mesh.numberofvertices],'NaN',1)
@@ -49,5 +49,5 @@
 		yts=365.0*24.0*3600.0
 
 		WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBEnum(),'format','Integer');
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
 	# }}}
Index: ../trunk-jpl/src/m/classes/SMBcomponents.py
===================================================================
--- ../trunk-jpl/src/m/classes/SMBcomponents.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBcomponents.py	(revision 19027)
@@ -50,19 +50,19 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.accumulation','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.accumulation','timeseries',1,'NaN',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.accumulation','size',[md.mesh.numberofvertices],'NaN',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.runoff','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.runoff','timeseries',1,'NaN',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.runoff','size',[md.mesh.numberofvertices],'NaN',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','surfaceforcings.evaporation','forcing',1,'NaN',1)
+			md = checkfield(md,'fieldname','surfaceforcings.evaporation','timeseries',1,'NaN',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.evaporation','size',[md.mesh.numberofvertices],'NaN',1)
@@ -74,7 +74,7 @@
 		yts=365.0*24.0*3600.0
 
 		WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBcomponentsEnum(),'format','Integer');
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
 	# }}}
Index: ../trunk-jpl/src/m/classes/geometry.m
===================================================================
--- ../trunk-jpl/src/m/classes/geometry.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/geometry.m	(revision 19027)
@@ -62,7 +62,7 @@
 			end
 
 			if (solution==TransientSolutionEnum() & md.transient.isgia) | (solution==GiaSolutionEnum()),
-				md = checkfield(md,'fieldname','geometry.thickness','forcing',1,'NaN',1,'>=',0);
+				md = checkfield(md,'fieldname','geometry.thickness','timeseries',1,'NaN',1,'>=',0);
 			else
 				md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','geometry.base'      ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
@@ -86,7 +86,7 @@
 		end % }}}
 		function marshall(obj,md,fid) % {{{
 			WriteData(fid,'data',obj.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum());
-			WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'data',obj.base,'format','DoubleMat','mattype',1,'enum',BaseEnum());
 			WriteData(fid,'data',obj.bed,'format','DoubleMat','mattype',1,'enum',BedEnum());
 			WriteData(fid,'object',obj,'fieldname','hydrostatic_ratio','format','DoubleMat','mattype',1);
Index: ../trunk-jpl/src/m/classes/friction.py
===================================================================
--- ../trunk-jpl/src/m/classes/friction.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/friction.py	(revision 19027)
@@ -37,7 +37,7 @@
 		if StressbalanceAnalysisEnum() not in analyses and ThermalAnalysisEnum() not in analyses:
 			return md
 
-		md = checkfield(md,'fieldname','friction.coefficient','forcing',1,'NaN',1)
+		md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1)
 		md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements])
 		md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements])
 
Index: ../trunk-jpl/src/m/classes/SMBmeltcomponents.m
===================================================================
--- ../trunk-jpl/src/m/classes/SMBmeltcomponents.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBmeltcomponents.m	(revision 19027)
@@ -49,25 +49,25 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.accumulation','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.accumulation','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.evaporation','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.evaporation','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.refreeze','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.refreeze','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.refreeze','size',[md.mesh.numberofvertices 1],'NaN',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.melt','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.melt','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.melt','size',[md.mesh.numberofvertices 1],'NaN',1);
@@ -85,10 +85,10 @@
 			yts=365.0*24.0*3600.0;
 
 			WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBmeltcomponentsEnum(),'format','Integer');
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','melt','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','refreeze','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','melt','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','refreeze','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/friction.m
===================================================================
--- ../trunk-jpl/src/m/classes/friction.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/friction.m	(revision 19027)
@@ -34,7 +34,7 @@
 
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','friction.coefficient','forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1);
 			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
 		end % }}}
@@ -48,7 +48,7 @@
 			yts=365.0*24.0*3600.0;
 
 			WriteData(fid,'enum',FrictionLawEnum,'data',1,'format','Integer');
-			WriteData(fid,'object',obj,'fieldname','coefficient','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'fieldname','coefficient','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			%WriteData(fid,'object',obj,'fieldname','coefficient','format','DoubleMat','mattype',1);
 			WriteData(fid,'object',obj,'fieldname','p','format','DoubleMat','mattype',2);
 			WriteData(fid,'object',obj,'fieldname','q','format','DoubleMat','mattype',2);
Index: ../trunk-jpl/src/m/classes/frictionweertman.m
===================================================================
--- ../trunk-jpl/src/m/classes/frictionweertman.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/frictionweertman.m	(revision 19027)
@@ -33,7 +33,7 @@
 
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','friction.C','forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1);
 			md = checkfield(md,'fieldname','friction.m','NaN',1,'size',[md.mesh.numberofelements 1]);
 		end % }}}
 		function disp(obj) % {{{
@@ -50,7 +50,7 @@
 			yts=365.0*24.0*3600.0;
 
 			WriteData(fid,'enum',FrictionLawEnum,'data',2,'format','Integer');
-			WriteData(fid,'class','friction','object',obj,'fieldname','C','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'class','friction','object',obj,'fieldname','C','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'class','friction','object',obj,'fieldname','m','format','DoubleMat','mattype',2);
 			
 
Index: ../trunk-jpl/src/m/classes/SMBgradients.m
===================================================================
--- ../trunk-jpl/src/m/classes/SMBgradients.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBgradients.m	(revision 19027)
@@ -37,10 +37,10 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.href','forcing',1,'NaN',1);
-				md = checkfield(md,'fieldname','surfaceforcings.smbref','forcing',1,'NaN',1);
-				md = checkfield(md,'fieldname','surfaceforcings.b_pos','forcing',1,'NaN',1);
-				md = checkfield(md,'fieldname','surfaceforcings.b_neg','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.href','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.smbref','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.b_pos','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.b_neg','timeseries',1,'NaN',1);
 			end
 		end % }}}
 		function disp(obj) % {{{
@@ -58,10 +58,10 @@
 			yts=365.0*24.0*3600.0;
 
 			WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBgradientsEnum(),'format','Integer');
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','href','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','href','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
 
 		end % }}}
 	end
Index: ../trunk-jpl/src/m/classes/hydrologydc.py
===================================================================
--- ../trunk-jpl/src/m/classes/hydrologydc.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/hydrologydc.py	(revision 19027)
@@ -153,14 +153,14 @@
 		if self.transfer_flag==1:
 			md = checkfield(md,'fieldname','hydrology.leakage_factor','>',0.,'numel',[1])
 
-		md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'forcing',1)
-		md = checkfield(md,'fieldname','hydrology.spcsediment_head','forcing',1)
+		md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'timeseries',1)
+		md = checkfield(md,'fieldname','hydrology.spcsediment_head','timeseries',1)
 		md = checkfield(md,'fieldname','hydrology.sediment_compressibility','>',0.,'numel',[1])
 		md = checkfield(md,'fieldname','hydrology.sediment_porosity','>',0.,'numel',[1])
 		md = checkfield(md,'fieldname','hydrology.sediment_thickness','>',0.,'numel',[1])
 		md = checkfield(md,'fieldname','hydrology.sediment_transmitivity','>=',0,'size',[md.mesh.numberofvertices,1])
 		if self.isefficientlayer==1:
-			md = checkfield(md,'fieldname','hydrology.spcepl_head','forcing',1)
+			md = checkfield(md,'fieldname','hydrology.spcepl_head','timeseries',1)
 			md = checkfield(md,'fieldname','hydrology.mask_eplactive_node','size',[md.mesh.numberofvertices,1],'values',[0,1])
 			md = checkfield(md,'fieldname','hydrology.epl_compressibility','>',0.,'numel',[1])
 			md = checkfield(md,'fieldname','hydrology.epl_porosity','>',0.,'numel',[1])
@@ -189,15 +189,15 @@
 		if self.transfer_flag==1:
 			WriteData(fid,'object',self,'fieldname','leakage_factor','format','Double')
 
-		WriteData(fid,'object',self,'fieldname','basal_moulin_input','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'fieldname','spcsediment_head','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','basal_moulin_input','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','spcsediment_head','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 		WriteData(fid,'object',self,'fieldname','sediment_compressibility','format','Double')
 		WriteData(fid,'object',self,'fieldname','sediment_porosity','format','Double')			
 		WriteData(fid,'object',self,'fieldname','sediment_thickness','format','Double')
 		WriteData(fid,'object',self,'fieldname','sediment_transmitivity','format','DoubleMat','mattype',1)		
 
 		if self.isefficientlayer==1:	
-			WriteData(fid,'object',self,'fieldname','spcepl_head','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)	
+			WriteData(fid,'object',self,'fieldname','spcepl_head','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)	
 			WriteData(fid,'object',self,'fieldname','mask_eplactive_node','format','DoubleMat','mattype',1)
 			WriteData(fid,'object',self,'fieldname','epl_compressibility','format','Double')			
 			WriteData(fid,'object',self,'fieldname','epl_porosity','format','Double')			
Index: ../trunk-jpl/src/m/classes/frictionhydro.m
===================================================================
--- ../trunk-jpl/src/m/classes/frictionhydro.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/frictionhydro.m	(revision 19027)
@@ -42,7 +42,7 @@
 			WriteData(fid,'class','friction','object',obj,'fieldname','q','format','DoubleMat','mattype',2);
 			WriteData(fid,'class','friction','object',obj,'fieldname','C','format','DoubleMat','mattype',2);
 			WriteData(fid,'class','friction','object',obj,'fieldname','As','format','DoubleMat','mattype',2);
-			WriteData(fid,'class','friction','object',obj,'fieldname','effective_pressure','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'class','friction','object',obj,'fieldname','effective_pressure','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/frictionweertmantemp.m
===================================================================
--- ../trunk-jpl/src/m/classes/frictionweertmantemp.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/frictionweertmantemp.m	(revision 19027)
@@ -25,7 +25,7 @@
 
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','friction.C','forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1);
 			md = checkfield(md,'fieldname','friction.m','NaN',1,'size',[md.mesh.numberofelements 1]);
 		end % }}}
 		function disp(obj) % {{{
@@ -41,7 +41,7 @@
 
 			WriteData(fid,'enum',FrictionLawEnum,'data',6,'format','Integer');
 			WriteData(fid,'class','friction','object',obj,'fieldname','gamma','format','Double');
-			WriteData(fid,'class','friction','object',obj,'fieldname','C','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'class','friction','object',obj,'fieldname','C','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'class','friction','object',obj,'fieldname','m','format','DoubleMat','mattype',2);
 			
 
Index: ../trunk-jpl/src/m/classes/snowpack.m
===================================================================
--- ../trunk-jpl/src/m/classes/snowpack.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/snowpack.m	(revision 19027)
@@ -454,9 +454,9 @@
 
 			yts=365.0*24.0*3600.0;
 
-			WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvy','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvz','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvy','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvz','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'object',obj,'class','snowpack','fieldname','restol','format','Double');
 			WriteData(fid,'object',obj,'class','snowpack','fieldname','reltol','format','Double');
 			WriteData(fid,'object',obj,'class','snowpack','fieldname','abstol','format','Double');
Index: ../trunk-jpl/src/m/classes/stressbalance.py
===================================================================
--- ../trunk-jpl/src/m/classes/stressbalance.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/stressbalance.py	(revision 19027)
@@ -122,10 +122,10 @@
 		if StressbalanceAnalysisEnum() not in analyses:
 			return md
 
-		md = checkfield(md,'fieldname','stressbalance.spcvx','forcing',1)
-		md = checkfield(md,'fieldname','stressbalance.spcvy','forcing',1)
+		md = checkfield(md,'fieldname','stressbalance.spcvx','timeseries',1)
+		md = checkfield(md,'fieldname','stressbalance.spcvy','timeseries',1)
 		if m.strcmp(md.mesh.domaintype(),'3D'):
-			md = checkfield(md,'fieldname','stressbalance.spcvz','forcing',1)
+			md = checkfield(md,'fieldname','stressbalance.spcvz','timeseries',1)
 		md = checkfield(md,'fieldname','stressbalance.restol','size',[1],'>',0)
 		md = checkfield(md,'fieldname','stressbalance.reltol','size',[1])
 		md = checkfield(md,'fieldname','stressbalance.abstol','size',[1])
@@ -167,9 +167,9 @@
 
 		yts=365.0*24.0*3600.0
 
-		WriteData(fid,'object',self,'class','stressbalance','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','stressbalance','fieldname','spcvy','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'class','stressbalance','fieldname','spcvz','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','stressbalance','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','stressbalance','fieldname','spcvy','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','stressbalance','fieldname','spcvz','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)
 		WriteData(fid,'object',self,'class','stressbalance','fieldname','restol','format','Double')
 		WriteData(fid,'object',self,'class','stressbalance','fieldname','reltol','format','Double')
 		WriteData(fid,'object',self,'class','stressbalance','fieldname','abstol','format','Double','scale',1./yts)
Index: ../trunk-jpl/src/m/classes/SMBhenning.m
===================================================================
--- ../trunk-jpl/src/m/classes/SMBhenning.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/SMBhenning.m	(revision 19027)
@@ -31,7 +31,7 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','surfaceforcings.smbref','forcing',1,'NaN',1);
+				md = checkfield(md,'fieldname','surfaceforcings.smbref','timeseries',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.smbref','size',[md.mesh.numberofvertices 1],'NaN',1);
@@ -46,7 +46,7 @@
 			yts=365.0*24.0*3600.0;
 
 			WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBhenningEnum(),'format','Integer');
-			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
 		end % }}}
 	end
 end
Index: ../trunk-jpl/src/m/classes/matice.py
===================================================================
--- ../trunk-jpl/src/m/classes/matice.py	(revision 19026)
+++ ../trunk-jpl/src/m/classes/matice.py	(revision 19027)
@@ -116,7 +116,7 @@
 		md = checkfield(md,'fieldname','materials.rho_water','>',0)
 		md = checkfield(md,'fieldname','materials.rho_freshwater','>',0)
 		md = checkfield(md,'fieldname','materials.mu_water','>',0)
-		md = checkfield(md,'fieldname','materials.rheology_B','>',0,'forcing',1,'NaN',1)
+		md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1)
 		md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements])
 		md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','Paterson','Arrhenius','LliboutryDuval'])
 		md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',[1]);
@@ -139,7 +139,7 @@
 		WriteData(fid,'object',self,'class','materials','fieldname','beta','format','Double')
 		WriteData(fid,'object',self,'class','materials','fieldname','mixed_layer_capacity','format','Double')
 		WriteData(fid,'object',self,'class','materials','fieldname','thermal_exchange_velocity','format','Double')
-		WriteData(fid,'object',self,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)
 		WriteData(fid,'object',self,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1)
 		WriteData(fid,'object',self,'class','materials','fieldname','rheology_n','format','DoubleMat','mattype',2)
 		WriteData(fid,'data',StringToEnum(self.rheology_law)[0],'enum',MaterialsRheologyLawEnum(),'format','Integer')
Index: ../trunk-jpl/src/m/classes/masscon.m
===================================================================
--- ../trunk-jpl/src/m/classes/masscon.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/masscon.m	(revision 19027)
@@ -42,7 +42,7 @@
 			
 			md = checkfield(md,'fieldname','obj.definitionenum','field',obj.definitionenum,'values',[Outputdefinition1Enum,Outputdefinition2Enum,Outputdefinition3Enum,Outputdefinition4Enum,Outputdefinition5Enum,Outputdefinition6Enum,Outputdefinition7Enum,Outputdefinition8Enum,Outputdefinition9Enum,Outputdefinition10Enum]);
 
-			md = checkfield(md,'fieldname','obj.levelset','field',obj.levelset,'forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','obj.levelset','field',obj.levelset,'timeseries',1,'NaN',1);
 
 		end % }}}
 		function md = disp(obj) % {{{
Index: ../trunk-jpl/src/m/classes/masstransport.m
===================================================================
--- ../trunk-jpl/src/m/classes/masstransport.m	(revision 19026)
+++ ../trunk-jpl/src/m/classes/masstransport.m	(revision 19027)
@@ -86,7 +86,7 @@
 			%Early return
 			if ~ismember(MasstransportAnalysisEnum(),analyses) |  (solution==TransientSolutionEnum() & md.transient.ismasstransport==0), return; end
 
-			md = checkfield(md,'fieldname','masstransport.spcthickness','forcing',1);
+			md = checkfield(md,'fieldname','masstransport.spcthickness','timeseries',1);
 			md = checkfield(md,'fieldname','masstransport.isfreesurface','values',[0 1]);
 			md = checkfield(md,'fieldname','masstransport.hydrostatic_adjustment','values',{'Absolute' 'Incremental'});
 			md = checkfield(md,'fieldname','masstransport.stabilization','values',[0 1 2 3 4]);
@@ -112,7 +112,7 @@
 
 			yts=365.*24.*3600.;
 
-			WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
+			WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
 			WriteData(fid,'object',obj,'fieldname','isfreesurface','format','Boolean');
 			WriteData(fid,'object',obj,'fieldname','min_thickness','format','Double');
 			WriteData(fid,'data',StringToEnum(obj.hydrostatic_adjustment),'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum());
