Index: /issm/trunk/src/m/classes/clusters/astrid.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/astrid.m	(revision 7983)
+++ /issm/trunk/src/m/classes/clusters/astrid.m	(revision 7984)
@@ -13,4 +13,5 @@
 		 np=15;
 		 port=0;
+		 interactive=1;
 		 codepath=[issmtier() '/bin'];
 		 executionpath=[issmdir() '/execution'];
@@ -76,8 +77,15 @@
 			 fprintf(fid,'#!/bin/sh\n');
 			 if mem_debug==0,
-				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 if cluster.interactive
+					 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock ',...
+						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+				 else
+					 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',...
+						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 end
 			 else
 				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',...
+					 cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 end
 
@@ -91,6 +99,9 @@
 			 end
 
-			 %close file
-			 fclose(fid);
+			 %in interactive mode, create a run file, and errlog and outlog file
+			 if cluster.interactive,
+				 fid=fopen([modelname '.errlog'],'w'); fclose(fid);
+				 fid=fopen([modelname '.outlog'],'w'); fclose(fid);
+			 end
 
 		 end
@@ -108,4 +119,7 @@
 				if md.qmu_analysis,
 					compressstring=[compressstring md.name '.qmu.in'];
+				end
+				if cluster.interactive,
+					compressstring=[compressstring ' ' md.name '.errlog ' md.name '.outlog '];
 				end
 				system(compressstring);
Index: /issm/trunk/src/m/classes/clusters/larsen.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/larsen.m	(revision 7983)
+++ /issm/trunk/src/m/classes/clusters/larsen.m	(revision 7984)
@@ -13,4 +13,5 @@
 		 np=7;
 		 port=0;
+		 interactive=1;
 		 codepath=[issmtier() '/bin'];
 		 executionpath=[issmdir() '/execution'];
@@ -70,8 +71,15 @@
 			 fprintf(fid,'#!/bin/sh\n');
 			 if mem_debug==0,
-				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 if cluster.interactive
+					 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',...
+						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,);
+				 else
+					 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',...
+						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 end
 			 else
 				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',...
+					 cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 end
 
@@ -79,8 +87,11 @@
 				 fprintf(fid,'\n gprof %s/issm.exe gmon.out > %s.performance',cluster.codepath,modelname);
 			 end 
-
-			 %close file
 			 fclose(fid);
 
+			 %in interactive mode, create a run file, and errlog and outlog file
+			 if cluster.interactive,
+				 fid=fopen([modelname '.errlog'],'w'); fclose(fid);
+				 fid=fopen([modelname '.outlog'],'w'); fclose(fid);
+			 end
 		 end
 		 %}}}
@@ -97,4 +108,7 @@
 				if md.qmu_analysis,
 					compressstring=[compressstring md.name '.qmu.in'];
+				end
+				if cluster.interactive,
+					compressstring=[compressstring ' ' md.name '.errlog ' md.name '.outlog '];
 				end
 				system(compressstring);
Index: /issm/trunk/src/m/model/waitonlock.m
===================================================================
--- /issm/trunk/src/m/model/waitonlock.m	(revision 7983)
+++ /issm/trunk/src/m/model/waitonlock.m	(revision 7984)
@@ -31,4 +31,9 @@
 else
 
+	if ismember('interactive',properties(md.cluster)) & md.cluster.interactive
+		%We are in interactive mode, no need to check for job completion
+		flag=1;
+		return;
+	end
 	%initialize time and file presence test flag
 	time=0; ispresent=0;
