Index: /issm/trunk-jpl/src/m/classes/clusters/generic.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/clusters/generic.m	(revision 26340)
+++ /issm/trunk-jpl/src/m/classes/clusters/generic.m	(revision 26341)
@@ -70,4 +70,8 @@
 		end
 		%}}}
+		function numprocs=nprocs(cluster) % {{{
+			numprocs=cluster.np;
+		end
+		%}}}
 		function md = checkconsistency(cluster,md,solution,analyses) % {{{
 			if cluster.np<1
Index: /issm/trunk-jpl/src/m/classes/clusters/generic.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/clusters/generic.py	(revision 26340)
+++ /issm/trunk-jpl/src/m/classes/clusters/generic.py	(revision 26341)
@@ -70,4 +70,8 @@
         s += '    shell: {}\n'.format(self.shell)
         return s
+    # }}}
+
+    def nprocs(self):  # {{{
+        return self.np
     # }}}
 
@@ -202,5 +206,5 @@
     def LaunchQueueJob(self, modelname, dirname, filelist, restart, batch):  # {{{
         print('launching solution sequence on remote cluster')
-        if restart:
+        if not isempty(restart):
             launchcommand = 'cd {} && cd {} chmod 755 {}.queue && ./{}.queue'.format(self.executionpath, dirname, modelname, modelname)
         else:
