Index: /issm/trunk-jpl/src/m/classes/autodiff.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/autodiff.m	(revision 22743)
+++ /issm/trunk-jpl/src/m/classes/autodiff.m	(revision 22744)
@@ -130,7 +130,9 @@
 					names{i}=indep.name;
 					types(i)=indep.typetoscalar();
-					min_parameters(:,i)=indep.min_parameters;
-					max_parameters(:,i)=indep.max_parameters;
+					min_parameters(:,:,i)=indep.min_parameters;
+					max_parameters(:,:,i)=indep.max_parameters;
 					scaling_factors(i)=indep.control_scaling_factor;
+					control_sizes(i) = indep.control_size;
+
 				end
 				WriteData(fid,prefix,'data',names,'name','md.autodiff.independent_object_names','format','StringArray');
@@ -138,6 +140,6 @@
 				WriteData(fid,prefix,'data',min_parameters,'name','md.autodiff.independent_min_parameters','format','DoubleMat','mattype',3);
 	         WriteData(fid,prefix,'data',max_parameters,'name','md.autodiff.independent_max_parameters','format','DoubleMat','mattype',3);
-	         WriteData(fid,prefix,'data',scaling_factors,'name','md.autodiff.independent_scaling_factors','format','DoubleMat','mattype',3);
-
+	         WriteData(fid,prefix,'data',scaling_factors,'name','md.autodiff.independent_scaling_factors','format','IntMat','mattype',3);
+				WriteData(fid,prefix,'data',control_sizes,'name','md.autodiff.independent_control_sizes','format','IntMat','mattype',3);
 
 			end
Index: /issm/trunk-jpl/src/m/classes/independent.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/independent.m	(revision 22743)
+++ /issm/trunk-jpl/src/m/classes/independent.m	(revision 22744)
@@ -6,12 +6,15 @@
 classdef independent
 	properties (SetAccess=public) 
-		name                 = '';
-		type                 = '';
-		fos_forward_index    = NaN;
-		fov_forward_indices  = [];
-		nods                 = 0;
-		min_parameters			= NaN;
-		max_parameters			= NaN;
-		control_scaling_factor     = NaN
+		name			               = '';
+		md_name							= '';
+		type					         = '';
+		fos_forward_index			   = NaN;
+		fov_forward_indices			= [];
+		nods								= 0;
+		min_parameters					= NaN;
+		max_parameters					= NaN;
+		control_scaling_factor     = NaN;
+		control_size					= 0;
+
 	end
 	methods
@@ -23,4 +26,5 @@
 			%OK get other fields
 			self=AssignObjectFields(pairoptions(varargin{:}),self);
+
 
 		end
@@ -53,6 +57,6 @@
 
 			end
+		end % }}}
 
-		end % }}}
 		function disp(self) % {{{
 			disp(sprintf('   independent variable:'));
@@ -61,4 +65,5 @@
 			fielddisplay(self,'type','type of variable (''vertex'' or ''scalar'')');
 			fielddisplay(self,'nods','size of dependent variables');
+			fielddisplay(self,'control_size','number of timesteps');
 			fielddisplay(self,'min_parameters','absolute minimum acceptable value of the inversed parameter on each vertex');
 			fielddisplay(self,'max_parameters','absolute maximum acceptable value of the inversed parameter on each vertex');
