Index: /issm/trunk-jpl/externalpackages/dakota/NIDRProblemDescDB.C.5.2.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/NIDRProblemDescDB.C.5.2.patch	(revision 14268)
+++ /issm/trunk-jpl/externalpackages/dakota/NIDRProblemDescDB.C.5.2.patch	(revision 14268)
@@ -0,0 +1,5 @@
+109a110,113
+> 
+>   //close the input file
+>   fclose(nidrin);
+> 
Index: /issm/trunk-jpl/externalpackages/dakota/NonDLocalReliability.C.5.2.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/NonDLocalReliability.C.5.2.patch	(revision 14268)
+++ /issm/trunk-jpl/externalpackages/dakota/NonDLocalReliability.C.5.2.patch	(revision 14268)
@@ -0,0 +1,9 @@
+2218a2219
+> 	  // add sensitivity output to importance factors (jes, 8/06/10)
+2223c2224,2227
+< 	    << std::setw(width) << impFactor(j,i) << '\n';
+---
+> 	    << std::setw(width) << impFactor(j,i)
+> 	    << "  Sensitivity = "
+> 	    << std::resetiosflags(std::ios::adjustfield)
+> 	    << std::setw(width) << fnGradsMeanX(j,i) << '\n';
Index: /issm/trunk-jpl/externalpackages/dakota/NonDSampling.C.5.2.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/NonDSampling.C.5.2.patch	(revision 14268)
+++ /issm/trunk-jpl/externalpackages/dakota/NonDSampling.C.5.2.patch	(revision 14268)
@@ -0,0 +1,14 @@
+438,439c438,440
+<   if (!subIteratorFlag)
+<     nonDSampCorr.compute_correlations(vars_samples, resp_samples);
+---
+> //don't compute for now, too expensive.
+> //  if (!subIteratorFlag)
+> //    nonDSampCorr.compute_correlations(vars_samples, resp_samples);
+894,895c895,897
+<     nonDSampCorr.print_correlations(s, cv_labels, div_labels, drv_labels,
+<       iteratedModel.response_labels());
+---
+> //don't output for now.
+> //    nonDSampCorr.print_correlations(s, cv_labels, div_labels, drv_labels,
+> //      iteratedModel.response_labels());
Index: /issm/trunk-jpl/externalpackages/dakota/NonDUnilevelRBDO.C.5.2.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/NonDUnilevelRBDO.C.5.2.patch	(revision 14268)
+++ /issm/trunk-jpl/externalpackages/dakota/NonDUnilevelRBDO.C.5.2.patch	(revision 14268)
@@ -0,0 +1,7 @@
+1046a1047
+> 	  // add sensitivity output to importance factors (jes, 8/06/10)
+1048c1049,1050
+< 	    << uv_labels[j].data() << " = " << impFactor[i][j] << '\n';
+---
+> 	    << uv_labels[j].data() << " = " << impFactor[i][j]
+> 	    << "  Sensitivity = " << fnGradsMeanX(i,j) << '\n';
Index: /issm/trunk-jpl/externalpackages/dakota/ParallelLibrary.C.5.2.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/ParallelLibrary.C.5.2.patch	(revision 14268)
+++ /issm/trunk-jpl/externalpackages/dakota/ParallelLibrary.C.5.2.patch	(revision 14268)
@@ -0,0 +1,36 @@
+178a179
+>   initialized=0; //we run serially all the time!
+214a216,248
+> /** 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), dummyFlag(false),
+>   stdOutputToFile(false), stdErrorToFile(false), checkFlag(false),
+>   preRunFlag(true), runFlag(true), postRunFlag(true), userModesFlag(false), 
+>   startClock(0), 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 MPI executable in serial mode on CPU 0 for ISSM.";
+> #else // mpi not available
+>   pl.serverIntraComm = MPI_COMM_NULL;
+>   Cout << "Running Dakota serial executable in serial mode for ISSM.\n";
+> #endif // HAVE_MPI
+> 
+>   parallelLevels.push_back(pl);
+>   currPLIter = parallelLevels.begin();
+>   increment_parallel_configuration();
+> }
+> 
+> 
Index: /issm/trunk-jpl/externalpackages/dakota/ParallelLibrary.H.5.2.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/ParallelLibrary.H.5.2.patch	(revision 14268)
+++ /issm/trunk-jpl/externalpackages/dakota/ParallelLibrary.H.5.2.patch	(revision 14268)
@@ -0,0 +1,3 @@
+358a359,360
+>   /// library mode constructor, serial mode (for the Issm software)
+>   ParallelLibrary(char*  serial_mode);
Index: /issm/trunk-jpl/externalpackages/dakota/install-5.2-linux64-astrid.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/install-5.2-linux64-astrid.sh	(revision 14268)
+++ /issm/trunk-jpl/externalpackages/dakota/install-5.2-linux64-astrid.sh	(revision 14268)
@@ -0,0 +1,51 @@
+#!/bin/bash
+set -eu
+
+#Some cleanup
+rm -rf Dakota
+rm -rf src 
+rm -rf install 
+mkdir src install 
+
+#Download from ISSM server
+#$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/Dakota_5_2.src.tar.gz' 'Dakota_5_2.src.tar.gz'
+
+#Untar 
+tar -zxvf Dakota_5_2.src.tar.gz
+
+#Move Dakota to src directory
+mv Dakota/* src
+rm -rf Dakota
+
+#Apply patches
+patch src/src/ParallelLibrary.C ./ParallelLibrary.C.5.2.patch
+patch src/src/ParallelLibrary.H ./ParallelLibrary.H.5.2.patch
+#patch src/src/NIDRProblemDescDB.C ./NIDRProblemDescDB.C.5.2.patch    #  causes segfault in 5.2
+patch src/src/NonDSampling.C ./NonDSampling.C.5.2.patch
+patch src/src/NonDLocalReliability.C ./NonDLocalReliability.C.5.2.patch
+patch src/src/NonDUnilevelRBDO.C ./NonDUnilevelRBDO.C.5.2.patch    #  source not even used?
+patch src/packages/pecos/src/pecos_global_defs.hpp ./pecos_global_defs.hpp.5.2.patch
+
+#Configure dakota
+cd src
+./configure \
+	--prefix="$ISSM_DIR/externalpackages/dakota/install" \
+	--without-graphics  \
+	--with-pic \
+	--disable-mpi \
+	--with-plugin \
+	--with-blas=/usr/lib64/libblas.so.3.0.3 \
+	--with-lapack=/usr/lib64/liblapack.so.3.0.3
+cd ..
+
+#Compile and install dakota
+cd src 
+if [ $# -eq 0 ];
+then
+	make
+	make install
+else
+	make -j $1
+	make -j $1 install
+fi
+cd ..
Index: /issm/trunk-jpl/externalpackages/dakota/pecos_global_defs.hpp.5.2.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/pecos_global_defs.hpp.5.2.patch	(revision 14268)
+++ /issm/trunk-jpl/externalpackages/dakota/pecos_global_defs.hpp.5.2.patch	(revision 14268)
@@ -0,0 +1,4 @@
+24a25
+> #ifndef PI
+25a27
+> #endif
