Index: /issm/trunk-jpl/src/m/classes/autodiff.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/autodiff.js	(revision 23244)
+++ /issm/trunk-jpl/src/m/classes/autodiff.js	(revision 23245)
@@ -14,4 +14,5 @@
 		this.gcTriggerRatio=2.0;
 		this.gcTriggerMaxSize=65536;
+		this.tapeAlloc    = 15000000;
 
 	}// }}}
@@ -29,4 +30,5 @@
 		fielddisplay(this,'gcTriggerRatio','free location block sorting/consolidation triggered if the ratio between allocated and used locations exceeds gcTriggerRatio');
 		fielddisplay(this,'gcTriggerMaxSize','free location block sorting/consolidation triggered if the allocated locations exceed gcTriggerMaxSize');
+		fielddisplay(this,'tapeAlloc','Iteration count of a priori memory allocation of the AD tape');
 
 	}// }}}
@@ -49,4 +51,5 @@
 			checkfield(md,'fieldname','autodiff.gcTriggerRatio','>=',0);
 			checkfield(md,'fieldname','autodiff.gcTriggerMaxSize','>=',65536);
+			checkfield(md,'fieldname','autodiff.tapeAlloc','>=',0);
 
 			//go through our dependents and independents and check consistency: 
@@ -79,4 +82,5 @@
 			WriteData(fid,prefix,'object',this,'fieldname','gcTriggerRatio','format','Double');
 			WriteData(fid,prefix,'object',this,'fieldname','gcTriggerMaxSize','format','Double');
+			WriteData(fid,prefix,'object',this,'fieldname','tapeAlloc','format','Integer');
 			//}}}
 			//process dependent variables {{{
@@ -216,4 +220,5 @@
 			this.gcTriggerRatio=NullFix(this.gcTriggerRatio,NaN);
 			this.gcTriggerMaxSize=NullFix(this.gcTriggerMaxSize,NaN);
+			this.tapeAlloc=NullFix(this.tapeAlloc,NaN);
 		}//}}}
 	//properties 
@@ -229,4 +234,5 @@
 	this.gcTriggerRatio = NaN;
 	this.gcTriggerMaxSize = NaN;
+	this.tapeAlloc = NaN;
 
 	this.setdefaultparameters();
Index: /issm/trunk-jpl/src/m/classes/autodiff.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/autodiff.m	(revision 23244)
+++ /issm/trunk-jpl/src/m/classes/autodiff.m	(revision 23245)
@@ -17,4 +17,5 @@
 		gcTriggerRatio = NaN;
 		gcTriggerMaxSize = NaN;
+		tapeAlloc = NaN;
 		end
 		%}}}
@@ -35,4 +36,5 @@
 		self.gcTriggerRatio=2.0;
 		self.gcTriggerMaxSize=65536;
+		self.tapeAlloc    = 15000000;
 		end % }}}
 		function md = checkconsistency(self,md,solution,analyses) % {{{
@@ -51,4 +53,5 @@
 			md = checkfield(md,'fieldname','autodiff.gcTriggerRatio','>=',0);
 			md = checkfield(md,'fieldname','autodiff.gcTriggerMaxSize','>=',65536);
+			md = checkfield(md,'fieldname','autodiff.tapeAlloc','>=',0);
 
 			%go through our dependents and independents and check consistency: 
@@ -75,4 +78,5 @@
 			fielddisplay(self,'gcTriggerRatio','free location block sorting/consolidation triggered if the ratio between allocated and used locations exceeds gcTriggerRatio');
 			fielddisplay(self,'gcTriggerMaxSize','free location block sorting/consolidation triggered if the allocated locations exceed gcTriggerMaxSize');
+			fielddisplay(self,'tapeAlloc','Iteration count of a priori memory allocation of the AD tape');
 		end % }}}
 		function marshall(self,prefix,md,fid) % {{{
@@ -95,4 +99,5 @@
 			WriteData(fid,prefix,'object',self,'fieldname','gcTriggerRatio','format','Double');
 			WriteData(fid,prefix,'object',self,'fieldname','gcTriggerMaxSize','format','Double');
+			WriteData(fid,prefix,'object',self,'fieldname','tapeAlloc','format','Integer');
 			%}}}
 			%process dependent variables {{{
Index: /issm/trunk-jpl/src/m/classes/autodiff.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/autodiff.py	(revision 23244)
+++ /issm/trunk-jpl/src/m/classes/autodiff.py	(revision 23245)
@@ -25,4 +25,5 @@
 		self.gcTriggerMaxSize     = float('NaN')
 		self.gcTriggerRatio     = float('NaN')
+                self.tapeAlloc = float('NaN')
 		if not len(args):
 			self.setdefaultparameters()
@@ -43,4 +44,5 @@
 		s+="%s\n" % fielddisplay(self,'gcTriggerRatio',"free location block sorting/consolidation triggered if the ratio between allocated and used locations exceeds gcTriggerRatio")
 		s+="%s\n" % fielddisplay(self,'gcTriggerMaxSize',"free location block sorting/consolidation triggered if the allocated locations exceed gcTriggerMaxSize)")
+                s+="%s\n" % fielddisplay(self,'tapeAlloc','Iteration count of a priori memory allocation of the AD tape');
 
 		return s
@@ -54,4 +56,5 @@
 		self.gcTriggerRatio=2.0
 		self.gcTriggerMaxSize=65536
+                self.tapeAlloc    = 15000000;
 		return self
 	# }}}
@@ -68,4 +71,5 @@
 		md = checkfield(md,'fieldname','autodiff.gcTriggerRatio','>=',2.0)
 		md = checkfield(md,'fieldname','autodiff.gcTriggerMaxSize','>=',65536)
+                md = checkfield(md,'fieldname','autodiff.tapeAlloc','>=',0);
 
 		#Driver value:
@@ -97,5 +101,6 @@
 		WriteData(fid,prefix,'object',self,'fieldname','gcTriggerRatio','format','Double');
 		WriteData(fid,prefix,'object',self,'fieldname','gcTriggerMaxSize','format','Double');
-		#}}}
+                WriteData(fid,prefix,'object',self,'fieldname','tapeAlloc','format','Integer');
+                #}}}
 		#process dependent variables {{{
 		num_dependent_objects=len(self.dependents)
