Index: /issm/trunk-jpl/src/m/classes/clusters/generic.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/clusters/generic.py	(revision 19673)
+++ /issm/trunk-jpl/src/m/classes/clusters/generic.py	(revision 19674)
@@ -71,4 +71,11 @@
 	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota):    # {{{
 
+		executable='issm.exe';
+		if isdakota:
+			version=IssmConfig('_DAKOTA_VERSION_')[0:2]
+			version=float(version)
+			if version>=6:
+				executable='issm_dakota.exe'
+
 		#write queuing script 
 		if not m.ispc():
@@ -79,23 +86,23 @@
 				if self.interactive: 
 					if IssmConfig('_HAVE_MPI_')[0]:
-						fid.write('mpiexec -np %i %s/issm.exe %s %s/%s %s ' % (self.np,self.codepath,EnumToString(solution)[0],self.executionpath,dirname,modelname))
+						fid.write('mpiexec -np %i %s/%s %s %s/%s %s ' % (self.np,self.codepath,executable,EnumToString(solution)[0],self.executionpath,dirname,modelname))
 					else:
-						fid.write('%s/issm.exe %s %s/%s %s ' % (self.codepath,EnumToString(solution)[0],self.executionpath,dirname,modelname))
+						fid.write('%s/%s %s %s/%s %s ' % (self.codepath,executable,EnumToString(solution)[0],self.executionpath,dirname,modelname))
 				else:
 					if IssmConfig('_HAVE_MPI_')[0]:
-						fid.write('mpiexec -np %i %s/issm.exe %s %s/%s %s 2> %s.errlog >%s.outlog ' % (self.np,self.codepath,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
+						fid.write('mpiexec -np %i %s/%s %s %s/%s %s 2> %s.errlog >%s.outlog ' % (self.np,self.codepath,executable,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
 					else:
-						fid.write('%s/issm.exe %s %s/%s %s 2> %s.errlog >%s.outlog ' % (self.codepath,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
+						fid.write('%s/%s %s %s/%s %s 2> %s.errlog >%s.outlog ' % (self.codepath,executable,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
 			elif isgprof:
-				fid.write('\n gprof %s/issm.exe gmon.out > %s.performance' % (self.codepath,modelname))
+				fid.write('\n gprof %s/%s gmon.out > %s.performance' % (self.codepath,executable,modelname))
 			else:
 				#Add --gen-suppressions=all to get suppression lines
 				fid.write('LD_PRELOAD=%s \\\n' % self.valgrindlib)
 				if IssmConfig('_HAVE_MPI_')[0]:
-					fid.write('mpiexec -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s/%s %s 2> %s.errlog >%s.outlog ' % \
-							(self.np,self.valgrind,self.valgrindsup,self.codepath,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
+					fid.write('mpiexec -np %i %s --leak-check=full --suppressions=%s %s/%s %s %s/%s %s 2> %s.errlog >%s.outlog ' % \
+							(self.np,self.valgrind,self.valgrindsup,self.codepath,executable,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
 				else:	
-					fid.write('%s --leak-check=full --suppressions=%s %s/issm.exe %s %s/%s %s 2> %s.errlog >%s.outlog ' % \
-							(self.valgrind,self.valgrindsup,self.codepath,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
+					fid.write('%s --leak-check=full --suppressions=%s %s/%s %s %s/%s %s 2> %s.errlog >%s.outlog ' % \
+							(self.valgrind,self.valgrindsup,self.codepath,executable,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
 
 			if not io_gather:    #concatenate the output files:
@@ -108,8 +115,8 @@
 			fid.write('@echo off\n')
 			if self.interactive:
-				fid.write('"%s/issm.exe" %s "%s/%s" %s ' % (self.codepath,EnumToString(solution)[0],self.executionpath,dirname,modelname))
-			else:
-				fid.write('"%s/issm.exe" %s "%s/%s" %s 2> %s.errlog >%s.outlog' % \
-					(self.codepath,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
+				fid.write('"%s/%s" %s "%s/%s" %s ' % (self.codepath,executable,EnumToString(solution)[0],self.executionpath,dirname,modelname))
+			else:
+				fid.write('"%s/%s" %s "%s/%s" %s 2> %s.errlog >%s.outlog' % \
+					(self.codepath,executable,EnumToString(solution)[0],self.executionpath,dirname,modelname,modelname,modelname))
 			fid.close()
 
Index: /issm/trunk-jpl/src/m/classes/clusters/pfe.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/clusters/pfe.py	(revision 19673)
+++ /issm/trunk-jpl/src/m/classes/clusters/pfe.py	(revision 19674)
@@ -49,5 +49,5 @@
 		#initialize cluster using user settings if provided
 		self=pfe_settings(self)
-		self.np=20*8
+		self.np=self.nprocs()
 		#OK get other fields
 		self=options.AssignObjectFields(self)
@@ -78,4 +78,9 @@
 	# }}}
 
+	def nprocs(self):
+		# {{{
+		self.np=self.numnodes*self.cpuspernode
+		return self.np
+		# }}}
 	def checkconsistency(self,md,solution,analyses):
 		# {{{
@@ -86,5 +91,5 @@
 								 'debug':[2*60,150],
 								 'devel':[2*60,150]}
-		QueueRequirements(queuedict,self.queue,self.np,self.time)
+		QueueRequirements(queuedict,self.queue,self.nprocs(),self.time)
 
 		#now, check cluster.cpuspernode according to processor type
@@ -132,5 +137,11 @@
 		# {{{
 
-		self.np=self.numnodes*self.cpuspernode;
+		executable='issm.exe'
+		if isdakota:
+			version=IssmConfig('_DAKOTA_VERSION_')[0:2]
+			version=float(version)
+			if version>=6:
+				executable='issm_dakota.exe'
+
 		#write queuing script 
 		fid=open(modelname+'.queue','w')
@@ -151,5 +162,5 @@
 		fid.write('source $ISSM_DIR/etc/environment.sh\n')
 		fid.write('cd %s/%s/\n\n' % (self.executionpath,dirname))
-		fid.write('mpiexec -np %i %s/issm.exe %s %s/%s %s\n' % (self.np,self.codepath,str(EnumToString(solution)[0]),self.executionpath,dirname,modelname))
+		fid.write('mpiexec -np %i %s/%s %s %s/%s %s\n' % (self.nprocs(),self.codepath,executable,str(EnumToString(solution)[0]),self.executionpath,dirname,modelname))
 		
 		fid.close()
