Index: /issm/trunk/externalpackages/dakota/ParallelLibrary.C.patch
===================================================================
--- /issm/trunk/externalpackages/dakota/ParallelLibrary.C.patch	(revision 581)
+++ /issm/trunk/externalpackages/dakota/ParallelLibrary.C.patch	(revision 581)
@@ -0,0 +1,34 @@
+134a135
+>   initialized=0; //we run serially all the time!
+165a167,197
+> /** This constructor is provided for the Issm software, to run serial 
+>  * Dakota in a parallel MPI ring: */
+> ParallelLibrary::ParallelLibrary(char* serial_mode): worldRank(0), worldSize(1),
+>   mpirunFlag(false), ownMPIFlag(false), dryRunFlag(false), dummyFlag(false),
+>   stdOutputFlag(false), stdErrorFlag(false), startClock(0),
+>   stdOutputFilename(NULL), stdErrorFilename(NULL), readRestartFilename(NULL),
+>   writeRestartFilename(NULL), stopRestartEvals(0),
+>   currPLIter(parallelLevels.end()), currPCIter(parallelConfigurations.end())
+> {
+>   startClock   = clock();
+> #ifdef DAKOTA_UTILIB
+>   utilib::exception_mngr::set_mode(utilib::exception_mngr::Abort);
+>   startCPUTime = CPUSeconds();       // see utilib/src/sys/seconds.cpp
+>   startWCTime  = WallClockSeconds(); // see utilib/src/sys/seconds.cpp
+> #endif // DAKOTA_UTILIB
+> 
+>   // do not initialize MPI.  Get worldRank/worldSize if available
+>   ParallelLevel pl;
+> #ifdef HAVE_MPI // mpi available, we still don't want to run in parallel for  Dakota!
+>   pl.serverIntraComm = MPI_COMM_NULL;
+>   Cout << "Running Dakota in serial mode on CPU 0, inside an MPI ring.";
+> #else // mpi not available
+>   pl.serverIntraComm = MPI_COMM_NULL;
+>   Cout << "Running Dakota in serial mode.\n";
+> #endif // HAVE_MPI
+> 
+>   parallelLevels.insert(pl);
+>   currPLIter = parallelLevels.begin();
+>   increment_parallel_configuration();
+> }
+> 
Index: /issm/trunk/externalpackages/dakota/ParallelLibrary.H.patch
===================================================================
--- /issm/trunk/externalpackages/dakota/ParallelLibrary.H.patch	(revision 581)
+++ /issm/trunk/externalpackages/dakota/ParallelLibrary.H.patch	(revision 581)
@@ -0,0 +1,3 @@
+346a347,348
+>   /// library mode constructor, serial mode
+>   ParallelLibrary(char*  serial_mode);
Index: /issm/trunk/externalpackages/dakota/install.sh
===================================================================
--- /issm/trunk/externalpackages/dakota/install.sh	(revision 580)
+++ /issm/trunk/externalpackages/dakota/install.sh	(revision 581)
@@ -6,9 +6,9 @@
 #Some cleanup
 rm -rf Dakota
-rm -rf src
-rm -rf install
+rm -rf src src_nomatlab
+rm -rf install install_nomatlab
 
 #Create src and install directories
-mkdir src install
+mkdir src src_nomatlab install install_nomatlab
 
 #version of doxygen
@@ -21,4 +21,12 @@
 mv Dakota/* src
 rm -rf Dakota
+cp -Rf src src_nomatlab
+
+#Apply patches
+patch src/src/ParallelLibrary.C ./ParallelLibrary.C.patch
+patch src/src/ParallelLibrary.H ./ParallelLibrary.H.patch
+
+patch src_nomatlab/src/ParallelLibrary.C ./ParallelLibrary.C.patch
+patch src_nomatlab/src/ParallelLibrary.H ./ParallelLibrary.H.patch
 
 #Configure dakota
@@ -31,2 +39,12 @@
 #Install dakota
 make  install
+
+#Configure dakota with no matlab
+cd ../src_nomatlab
+./configure --prefix="$ISSM_DIR/externalpackages/dakota/install_nomatlab" --without-graphics 
+
+#Compile dakota
+make  -j $NUMCPUS
+
+#Install dakota
+make  install
