Index: /issm/trunk/src/m/utils/Nightly/nightlyrun.m
===================================================================
--- /issm/trunk/src/m/utils/Nightly/nightlyrun.m	(revision 1017)
+++ /issm/trunk/src/m/utils/Nightly/nightlyrun.m	(revision 1018)
@@ -13,4 +13,11 @@
 %      nightlyrun({'ice'});
 %      nightlyrun({'cielo_serial','cielo_parallel'});
+%      nightlyrun({'ice'},{'prognostic','diagnostic'});
+
+%check arguments
+if (nargin>2)
+	help nightlyrun
+	error('nightlyrun error message: bad usage');
+end
 
 %use ISSM_DIR generated by startup.m
@@ -27,19 +34,21 @@
 list=strsplit(list,'|');
 
+%Get packages
+if nargin,
+	packages=varargin{1};
+else
+	packages={'macayeal','ice','cielo_serial','cielo_parallel'};
+end
+
 %Go through list of decks, and run the deck runme.m files package by package.
-packages={'macayeal','ice','cielo_serial','cielo_parallel'};
-if nargin==1,
+for i=1:length(packages),
 	for j=2:length(list)-1,
 		eval(['cd ' list{j}]);
-		runme(varargin{1});
+		if nargin==2,
+			runme(packages(i),varargin(2));
+		else
+			runme(packages(i));
+		end
 		cd ..
-	end
-else
-	for i=1:length(packages),
-		for j=2:length(list)-1,
-			eval(['cd ' list{j}]);
-			runme({packages{i}});
-			cd ..
-		end
 	end
 end
Index: /issm/trunk/src/m/utils/UpdateArchive/updatearchive.m
===================================================================
--- /issm/trunk/src/m/utils/UpdateArchive/updatearchive.m	(revision 1017)
+++ /issm/trunk/src/m/utils/UpdateArchive/updatearchive.m	(revision 1018)
@@ -14,4 +14,11 @@
 %      updatearchive({'ice'});
 %      updatearchive({'cielo_serial','cielo_parallel'});
+%      updatearchive({'ice'},{'prognostic','diagnostic'});
+
+%check arguments
+if (nargin>2)
+	help updatearchive
+	error('updatearchive error message: bad usage');
+end
 
 %use ISSM_DIR generated by startup.m
@@ -27,12 +34,22 @@
 [status,list]=system('ls -l | grep -v CVS | awk ''{printf("%s|",$9);}'' '); %only works on *nix systems.
 list=strsplit(list,'|');
-%Go through list of decks, and run the deck updatearchive.m files.
-for i=2:length(list)-1,
-	eval(['cd ' list{i}]);
-	if nargin==1
-		updatearchive(varargin{1});
-	else
-		updatearchive;
+
+%Get packages
+if nargin,
+	packages=varargin{1};
+else
+	packages={'macayeal','ice','cielo_serial','cielo_parallel'};
+end
+
+%Go through list of decks, and run the deck updatearchive.m files package by package.
+for i=1:length(packages),
+	for j=2:length(list)-1,
+		eval(['cd ' list{j}]);
+		if nargin==2,
+			updatearchive(packages(i),varargin(2));
+		else
+			updatearchive(packages(i));
+		end
+		cd ..
 	end
-	cd ..
 end
