Index: /issm/trunk-jpl/src/m/classes/timestepping.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/timestepping.js	(revision 22458)
+++ /issm/trunk-jpl/src/m/classes/timestepping.js	(revision 22459)
@@ -25,4 +25,5 @@
 		fielddisplay(this,'time_step','length of time steps [' +unit+ ']');
 		fielddisplay(this,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)');
+		fielddisplay(this,'coupling_time','length of coupling time steps with ocean model [' +unit+ ']');
 
 	}// }}}
@@ -37,4 +38,5 @@
 		checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1,'Inf',1);
 		checkfield(md,'fieldname','timestepping.interp_forcings','numel',[1],'values',[0,1]);
+		checkfield(md,'fieldname','timestepping.coupling_time','numel',[1],'>=',0,'NaN',1,'Inf',1);
 		if (this.final_time-this.start_time<0){
 			md.checkmessage('timestepping.final_time should be larger than timestepping.start_time');
@@ -51,4 +53,5 @@
 		WriteData(fid,prefix,'object',this,'fieldname','time_step','format','Double','scale',scale);
 		WriteData(fid,prefix,'object',this,'fieldname','interp_forcings','format','Boolean');
+		WriteData(fid,prefix,'object',this,'fieldname','coupling_time','format','Double','scale',scale);
 
 	}//}}}
@@ -61,4 +64,5 @@
 	this.time_step       = 0.;
 	this.interp_forcings = 1;
+	this.coupling_time   = 0.;
 
 	this.setdefaultparameters();
Index: /issm/trunk-jpl/src/m/classes/timestepping.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/timestepping.m	(revision 22458)
+++ /issm/trunk-jpl/src/m/classes/timestepping.m	(revision 22459)
@@ -10,4 +10,5 @@
 		time_step       = 0.;
 		interp_forcings = 1;
+		coupling_time   = 0.;
 	end
 	methods
@@ -44,4 +45,5 @@
 			if strcmp(solution,'TransientSolution'),
 				md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>',0,'NaN',1,'Inf',1);
+				md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1,'Inf',1);
 			end
 		end % }}}
@@ -54,4 +56,5 @@
 			fielddisplay(self,'time_step',['length of time steps [' unit ']']);
 			fielddisplay(self,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)');
+			fielddisplay(self,'coupling_time',['length of coupling time step with ocean model  [' unit ']']);
 
 		end % }}}
@@ -64,4 +67,5 @@
 			WriteData(fid,prefix,'object',self,'fieldname','time_step','format','Double','scale',scale);
 			WriteData(fid,prefix,'object',self,'fieldname','interp_forcings','format','Boolean');
+			WriteData(fid,prefix,'object',self,'fieldname','coupling_time','format','Double','scale',scale);
 		end % }}}
 		function savemodeljs(self,fid,modelname) % {{{
Index: /issm/trunk-jpl/src/m/classes/timestepping.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/timestepping.py	(revision 22458)
+++ /issm/trunk-jpl/src/m/classes/timestepping.py	(revision 22459)
@@ -16,4 +16,5 @@
 		self.time_step       = 0.
 		self.interp_forcings = 1
+		self.coupling_time   = 0.
 		
 		#set defaults
@@ -27,4 +28,5 @@
 		string="%s\n%s"%(string,fielddisplay(self,"time_step","length of time steps [yr]"))
 		string="%s\n%s"%(string,fielddisplay(self,"interp_forcings","interpolate in time between requested forcing values ? (0 or 1)"))
+		string="%s\n%s"%(string,fielddisplay(self,"coupling_time","length of coupling time steps with ocean model [yr]"))
 		return string
 		#}}}
@@ -49,4 +51,5 @@
 		if self.final_time-self.start_time<0:
 			md.checkmessage("timestepping.final_time should be larger than timestepping.start_time")
+			md = checkfield(md,'fieldname','timestepping.coupling_time','numel',[1],'>=',0,'NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','timestepping.interp_forcings','numel',[1],'values',[0,1])
 
@@ -61,3 +64,4 @@
 		WriteData(fid,prefix,'object',self,'fieldname','time_step','format','Double','scale',yts)
 		WriteData(fid,prefix,'object',self,'fieldname','interp_forcings','format','Boolean')
+		WriteData(fid,prefix,'object',self,'fieldname','coupling_time','format','Double','scale',yts)
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/timesteppingadaptive.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/timesteppingadaptive.js	(revision 22458)
+++ /issm/trunk-jpl/src/m/classes/timesteppingadaptive.js	(revision 22459)
@@ -31,4 +31,5 @@
 		fielddisplay(this,'cfl_coefficient','coefficient applied to cfl condition');
 		fielddisplay(this,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)');
+		fielddisplay(this,'coupling_time','coupling time steps with ocean model [' +unit+ ']');
 
 	}// }}}
@@ -48,4 +49,5 @@
 			md.checkmessage('timestepping.final_time should be larger than timestepping.start_time');
 		}
+		checkfield(md,'fieldname','timestepping.coupling_time','numel',[1],'>=',0,'NaN',1,'Inf',1);
 	} // }}}
 	this.marshall=function(md,prefix,fid) { //{{{
@@ -61,4 +63,5 @@
 		WriteData(fid,prefix,'object',this,'class','timestepping','fieldname','cfl_coefficient','format','Double');
 		WriteData(fid,prefix,'object',this,'class','timestepping','fieldname','interp_forcings','format','Boolean');
+		WriteData(fid,prefix,'object',this,'class','timestepping','fieldname','coupling_time','format','Double','scale',scale);
 
 	}//}}}
@@ -73,4 +76,5 @@
 	this.cfl_coefficient = 0.;
 	this.interp_forcings = 1;
+	this.coupling_time   = 0.;
 
 	this.setdefaultparameters();
Index: /issm/trunk-jpl/src/m/classes/timesteppingadaptive.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/timesteppingadaptive.m	(revision 22458)
+++ /issm/trunk-jpl/src/m/classes/timesteppingadaptive.m	(revision 22459)
@@ -12,4 +12,5 @@
 		cfl_coefficient = 0.;
 		interp_forcings = 1;
+		coupling_time   = 0.;
 	end
 	methods
@@ -47,4 +48,5 @@
 			md = checkfield(md,'fieldname','timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1);
 			md = checkfield(md,'fieldname','timestepping.interp_forcings','numel',[1],'values',[0 1]);
+			md = checkfield(md,'fieldname','timestepping.coupling_time','numel',[1],'>=',md.timestepping.coupling_time,'NaN',1,'Inf',1);
 			if self.final_time-self.start_time<0,
 				md = checkmessage(md,'timestepping.final_time should be larger than timestepping.start_time');
@@ -61,4 +63,5 @@
 			fielddisplay(self,'cfl_coefficient','coefficient applied to cfl condition');
 			fielddisplay(self,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)');
+			fielddisplay(self,'coupling_time',['coupling time step with ocean model [' unit ']']);
 
 		end % }}}
@@ -73,4 +76,5 @@
 			WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','cfl_coefficient','format','Double');
 			WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','interp_forcings','format','Boolean');
+			WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','coupling_time','format','Double','scale',scale);
 		end % }}}
 		function savemodeljs(self,fid,modelname) % {{{
@@ -82,4 +86,5 @@
 			writejsdouble(fid,[modelname '.timesteppingadaptive.cfl_coefficient'],self.cfl_coefficient);
 			writejsdouble(fid,[modelname '.timesteppingadaptive.interp_forcings'],self.interp_forcings);
+			writejsdouble(fid,[modelname '.timesteppingadaptive.coupling_time'],self.time_step_max);
 
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/timesteppingadaptive.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/timesteppingadaptive.py	(revision 22458)
+++ /issm/trunk-jpl/src/m/classes/timesteppingadaptive.py	(revision 22459)
@@ -19,4 +19,5 @@
 			self.cfl_coefficient = 0.
 			self.interp_forcings = 1
+			self.coupling_time   = 0.
 			
 			#set defaults
@@ -42,4 +43,5 @@
 		string="%s\n%s"%(string,fielddisplay(self,"cfl_coefficient","coefficient applied to cfl condition"))
 		string="%s\n%s"%(string,fielddisplay(self,"interp_forcings","interpolate in time between requested forcing values ? (0 or 1)"))
+		string="%s\n%s"%(string,fielddisplay(self,"coupling_time","coupling time steps with ocean model [yr]"))
 		return string
 		#}}}
@@ -71,4 +73,5 @@
 			md.checkmessage("timestepping.final_time should be larger than timestepping.start_time")
 		md = checkfield(md,'fieldname','timestepping.interp_forcings','numel',[1],'values',[0,1])
+		md = checkfield(md,'fieldname','timestepping.coupling_time','numel',[1],'>=',0,'NaN',1,'Inf',1)
 
 		return md
@@ -84,3 +87,4 @@
 		WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','cfl_coefficient','format','Double')
 		WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','interp_forcings','format','Boolean')
+		WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','coupling_time','format','Double','scale',yts)
 	# }}}
