Index: /issm/trunk-jpl/externalpackages/autotools/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/autotools/install.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/autotools/install.sh	(revision 25860)
@@ -9,12 +9,14 @@
 LIBTOOL_VER="2.4.2"
 M4_VER="1.4.18"
+PREFIX="${ISSM_DIR}/externalpackages/autotools/install" # Set to location where external package should be installed
 
 ## Environment
 #
-export PATH="${ISSM_DIR}/externalpackages/autotools/install/bin:$PATH"
+export PATH="${PREFIX}/bin:$PATH"
 
 # Cleanup
-rm -rf install src
-mkdir install
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX}
+
 
 # Install m4
@@ -25,5 +27,5 @@
 cd src
 
-./configure --prefix="${ISSM_DIR}/externalpackages/autotools/install"
+./configure --prefix="${PREFIX}"
 make
 make install
@@ -37,5 +39,5 @@
 mv autoconf-${AUTOCONF_VER} src
 cd src
-./configure --prefix="${ISSM_DIR}/externalpackages/autotools/install"
+./configure --prefix="${PREFIX}"
 make
 make install
@@ -49,5 +51,5 @@
 mv automake-${AUTOMAKE_VER} src
 cd src
-./configure --prefix="${ISSM_DIR}/externalpackages/autotools/install"
+./configure --prefix="${PREFIX}"
 make
 make install
@@ -62,5 +64,5 @@
 mv libtool-${LIBTOOL_VER} src
 cd src
-./configure --prefix="${ISSM_DIR}/externalpackages/autotools/install"
+./configure --prefix="${PREFIX}"
 make
 make install
Index: /issm/trunk-jpl/externalpackages/boost/install-1.7-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/boost/install-1.7-linux-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/boost/install-1.7-linux-static.sh	(revision 25860)
@@ -7,7 +7,5 @@
 VER="1_73_0"
 
-## Envrionment
-#
-export BOOST_ROOT="${ISSM_DIR}/externalpackages/boost"
+PREFIX="${ISSM_DIR}/externalpackages/boost/install" # Set to location where external package should be installed
 
 # Download source
@@ -18,9 +16,9 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source into 'src' directory
-mv boost_${VER}/* src/
+mv boost_${VER}/* src
 rm -rf boost_${VER}
 
@@ -28,5 +26,5 @@
 cd src
 ./bootstrap.sh \
-	--prefix="${BOOST_ROOT}/install" \
+	--prefix=${PREFIX} \
 	--with-python=python2.7
 
Index: /issm/trunk-jpl/externalpackages/boost/install-1.7-linux-valgrind.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/boost/install-1.7-linux-valgrind.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/boost/install-1.7-linux-valgrind.sh	(revision 25860)
@@ -7,7 +7,5 @@
 VER="1_73_0"
 
-## Envrionment
-#
-export BOOST_ROOT="${ISSM_DIR}/externalpackages/boost"
+PREFIX="${ISSM_DIR}/externalpackages/boost/install" # Set to location where external package should be installed
 
 # Download source
@@ -18,9 +16,9 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source into 'src' directory
-mv boost_${VER}/* src/
+mv boost_${VER}/* src
 rm -rf boost_${VER}
 
@@ -31,5 +29,5 @@
 cd src
 ./bootstrap.sh \
-	--prefix="${BOOST_ROOT}/install" \
+	--prefix=${PREFIX} \
 	--with-python=python2.7
 
Index: /issm/trunk-jpl/externalpackages/boost/install-1.7-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/boost/install-1.7-linux.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/boost/install-1.7-linux.sh	(revision 25860)
@@ -7,7 +7,5 @@
 VER="1_73_0"
 
-## Envrionment
-#
-export BOOST_ROOT="${ISSM_DIR}/externalpackages/boost"
+PREFIX="${ISSM_DIR}/externalpackages/boost/install" # Set to location where external package should be installed
 
 # Download source
@@ -18,9 +16,9 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source into 'src' directory
-mv boost_${VER}/* src/
+mv boost_${VER}/* src
 rm -rf boost_${VER}
 
@@ -28,5 +26,5 @@
 cd src
 ./bootstrap.sh \
-	--prefix="${BOOST_ROOT}/install" \
+	--prefix=${PREFIX} \
 	--with-python=python2.7
 
Index: /issm/trunk-jpl/externalpackages/boost/install-1.7-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/boost/install-1.7-mac-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/boost/install-1.7-mac-static.sh	(revision 25860)
@@ -7,7 +7,9 @@
 VER="1_73_0"
 
+PREFIX="${ISSM_DIR}/externalpackages/boost/install" # Set to location where external package should be installed
+
 ## Environment
 #
-export BOOST_ROOT="${ISSM_DIR}/externalpackages/boost"
+export LDFLAGS="-Wl,-headerpad_max_install_names"
 
 # Download source
@@ -18,9 +20,9 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source into 'src' directory
-mv boost_${VER}/* src/
+mv boost_${VER}/* src
 rm -rf boost_${VER}
 
@@ -28,5 +30,5 @@
 cd src
 ./bootstrap.sh \
-	--prefix="${BOOST_ROOT}/install" \
+	--prefix=${PREFIX} \
 	--with-python=python2.7
 
@@ -41,3 +43,3 @@
 # TODO: Reconfigure so that dynamic libraries are not compiled at all
 #
-rm -f $(find ${BOOST_ROOT}/install/lib -name *.dylib)
+rm -f $(find ${PREFIX}/lib -name *.dylib)
Index: /issm/trunk-jpl/externalpackages/boost/install-1.7-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/boost/install-1.7-mac.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/boost/install-1.7-mac.sh	(revision 25860)
@@ -7,7 +7,8 @@
 VER="1_73_0"
 
+PREFIX="${ISSM_DIR}/externalpackages/boost/install" # Set to location where external package should be installed
+
 ## Environment
 #
-export BOOST_ROOT="${ISSM_DIR}/externalpackages/boost"
 export LDFLAGS="-Wl,-headerpad_max_install_names"
 
@@ -19,9 +20,9 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source into 'src' directory
-mv boost_${VER}/* src/
+mv boost_${VER}/* src
 rm -rf boost_${VER}
 
@@ -29,5 +30,5 @@
 cd src
 ./bootstrap.sh \
-	--prefix=${BOOST_ROOT}/install \
+	--prefix=${PREFIX} \
 	--with-python=python2.7
 
@@ -49,6 +50,6 @@
 #	patching it after the fact with install_name_tool is not necessary.
 #
-cd ${BOOST_ROOT}/install/lib
+cd ${PREFIX}/lib
 for name in *.dylib; do
-	install_name_tool -id ${BOOST_ROOT}/install/lib/${name} ${name} 2>/dev/null
+	install_name_tool -id ${PREFIX}/lib/${name} ${name} 2>/dev/null
 done
Index: /issm/trunk-jpl/externalpackages/chaco/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/chaco/install.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/chaco/install.sh	(revision 25860)
@@ -10,5 +10,5 @@
 
 # Cleanup
-rm -rf ${PREFIX} src Chaco-${VER}
+rm -rf ${PREFIX} src
 mkdir -p ${PREFIX} src
 
Index: /issm/trunk-jpl/externalpackages/cmake/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/cmake/install.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/cmake/install.sh	(revision 25860)
@@ -5,5 +5,7 @@
 ## Constants
 #
-VER="3.16.2"
+VER="3.19.1"
+
+PREFIX="${ISSM_DIR}/externalpackages/cmake/install" # Set to location where external package should be installed
 
 # Download source
@@ -14,15 +16,15 @@
 
 # Cleanup
-rm -rf install
+rm -rf ${PREFIX}
 
-# Move source into 'install' directory
-mv cmake-${VER} install
+# Move source into target directory
+mv cmake-${VER} ${PREFIX}
 
 # Configure
-cd install
+cd ${PREFIX}
 #./bootstrap \
-#	--prefix=${ISSM_DIR}/externalpackages/cmake/install # Breaks on ronne
+#	--prefix=${PREFIX} # Breaks on ronne
 ./configure \
-	--prefix=${ISSM_DIR}/externalpackages/cmake/install
+	--prefix=${PREFIX}
 
 # Compile
Index: /issm/trunk-jpl/externalpackages/curl/install-7-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-linux-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-linux-static.sh	(revision 25860)
@@ -7,22 +7,24 @@
 VER="7.73.0"
 
+PREFIX="${ISSM_DIR}/externalpackages/curl/install" # Set to location where external package should be installed
+
 # Download source
 $ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/curl-${VER}.tar.gz" "curl-${VER}.tar.gz"
 
 # Unpack source
-tar -zxvf curl-$VER.tar.gz
+tar -zxvf curl-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv curl-$VER/* src
-rm -rf curl-$VER
+mv curl-${VER}/* src
+rm -rf curl-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/curl/install" \
+	--prefix="${PREFIX}" \
 	--disable-shared \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/curl/install-7-linux-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-linux-with_tests.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-linux-with_tests.sh	(revision 25860)
@@ -7,22 +7,24 @@
 VER="7.73.0"
 
+PREFIX="${ISSM_DIR}/externalpackages/curl/install" # Set to location where external package should be installed
+
 # Download source
 $ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/curl-${VER}.tar.gz" "curl-${VER}.tar.gz"
 
 # Unpack source
-tar -zxvf curl-$VER.tar.gz
+tar -zxvf curl-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv curl-$VER/* src
-rm -rf curl-$VER
+mv curl-${VER}/* src
+rm -rf curl-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/curl/install" \
+	--prefix="${PREFIX}" \
 	--disable-static \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/curl/install-7-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-linux.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-linux.sh	(revision 25860)
@@ -7,22 +7,24 @@
 VER="7.73.0"
 
+PREFIX="${ISSM_DIR}/externalpackages/curl/install" # Set to location where external package should be installed
+
 # Download source
 $ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/curl-${VER}.tar.gz" "curl-${VER}.tar.gz"
 
 # Unpack source
-tar -zxvf curl-$VER.tar.gz
+tar -zxvf curl-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv curl-$VER/* src
-rm -rf curl-$VER
+mv curl-${VER}/* src
+rm -rf curl-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/curl/install" \
+	--prefix="${PREFIX}" \
 	--disable-static \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/curl/install-7-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-mac-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-mac-static.sh	(revision 25860)
@@ -6,4 +6,6 @@
 #
 VER="7.73.0"
+
+PREFIX="${ISSM_DIR}/externalpackages/curl/install" # Set to location where external package should be installed
 
 ## Environment
@@ -15,18 +17,18 @@
 
 # Unpack source
-tar -zxvf curl-$VER.tar.gz
+tar -zxvf curl-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv curl-$VER/* src
-rm -rf curl-$VER
+mv curl-${VER}/* src
+rm -rf curl-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/curl/install" \
+	--prefix="${PREFIX}" \
 	--disable-shared \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/curl/install-7-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-mac.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-mac.sh	(revision 25860)
@@ -6,4 +6,6 @@
 #
 VER="7.73.0"
+
+PREFIX="${ISSM_DIR}/externalpackages/curl/install" # Set to location where external package should be installed
 
 ## Environment
@@ -15,18 +17,18 @@
 
 # Unpack source
-tar -zxvf curl-$VER.tar.gz
+tar -zxvf curl-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv curl-$VER/* src
-rm -rf curl-$VER
+mv curl-${VER}/* src
+rm -rf curl-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/curl/install" \
+	--prefix="${PREFIX}" \
 	--disable-static \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/dakota/install-6.2-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/install-6.2-linux-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/dakota/install-6.2-linux-static.sh	(revision 25860)
@@ -3,23 +3,22 @@
 
 
-# Constants
+## Constants
 #
-DAK_ROOT=${ISSM_DIR}/externalpackages/dakota
 VER="6.2"
+
+PREFIX="${ISSM_DIR}/externalpackages/dakota/install" # Set to location where external package should be installed
 
 ## Environment
 #
-export BLAS_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lfblas -L/usr/lib/x86_64-linux-gnu -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
-export BOOST_ROOT=${ISSM_DIR}/externalpackages/boost/install
+export BLAS_LIBS="-L${BLAS_ROOT}/lib -lfblas -L/usr/lib/x86_64-linux-gnu -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
 export CXXFLAGS='-std=c++98' # Setting CXXFLAGS to deal with C++11 incompatibility with MATLAB's Boost (absolutely necessary for this version)
-export DAK_BUILD=${DAK_ROOT}/build
-export DAK_INSTALL=${DAK_ROOT}/install
-export DAK_SRC=${DAK_ROOT}/src
-export GSL_HOME=${ISSM_DIR}/externalpackages/gsl/install
-export LAPACK_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lflapack -L/usr/lib/x86_64-linux-gnu -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
+export DAK_BUILD=${ISSM_DIR}/externalpackages/dakota/build # DO NOT CHANGE THIS
+export DAK_INSTALL=${PREFIX} # DO NOT CHANGE THIS
+export DAK_SRC=${ISSM_DIR}/externalpackages/dakota/src # DO NOT CHANGE THIS
+export LAPACK_LIBS="-L${LAPACK_ROOT}/lib -lflapack -L/usr/lib/x86_64-linux-gnu -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
 
 # Cleanup
-rm -rf build install src
-mkdir build install src
+rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC}
+mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC}
 
 # Download source
@@ -30,5 +29,5 @@
 
 # Move source to 'src' directory
-mv dakota-${VER}.0.src/* src
+mv dakota-${VER}.0.src/* ${DAK_SRC}
 rm -rf dakota-${VER}.0.src
 
Index: /issm/trunk-jpl/externalpackages/dakota/install-6.2-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/install-6.2-linux.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/dakota/install-6.2-linux.sh	(revision 25860)
@@ -3,24 +3,23 @@
 
 
-# Constants
+## Constants
 #
-DAK_ROOT=${ISSM_DIR}/externalpackages/dakota
 VER="6.2"
+
+PREFIX="${ISSM_DIR}/externalpackages/dakota/install" # Set to location where external package should be installed
 
 ## Environment
 #
-export BLAS_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lfblas -L/usr/lib/x86_64-linux-gnu -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
-export BOOST_ROOT=${ISSM_DIR}/externalpackages/boost/install
+export BLAS_LIBS="-L${BLAS_ROOT}/lib -lfblas -L/usr/lib/x86_64-linux-gnu -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
 export CXXFLAGS='-std=c++98' # Setting CXXFLAGS to deal with C++11 incompatibility with MATLAB's Boost (absolutely necessary for this version)
 #export CXXFLAGS='-std=c++11'
-export DAK_BUILD=${DAK_ROOT}/build
-export DAK_INSTALL=${DAK_ROOT}/install
-export DAK_SRC=${DAK_ROOT}/src
-export GSL_HOME=${ISSM_DIR}/externalpackages/gsl/install
-export LAPACK_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lflapack -L/usr/lib/x86_64-linux-gnu -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
+export DAK_BUILD=${ISSM_DIR}/externalpackages/dakota/build # DO NOT CHANGE THIS
+export DAK_INSTALL=${PREFIX} # DO NOT CHANGE THIS
+export DAK_SRC=${ISSM_DIR}/externalpackages/dakota/src # DO NOT CHANGE THIS
+export LAPACK_LIBS="-L${LAPACK_ROOT}/lib -lflapack -L/usr/lib/x86_64-linux-gnu -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
 
 # Cleanup
-rm -rf build install src
-mkdir build install src
+rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC}
+mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC}
 
 # Download source
@@ -31,5 +30,5 @@
 
 # Move source to 'src' directory
-mv dakota-${VER}.0.src/* src
+mv dakota-${VER}.0.src/* ${DAK_SRC}
 rm -rf dakota-${VER}.0.src
 
Index: /issm/trunk-jpl/externalpackages/dakota/install-6.2-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/install-6.2-mac-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/dakota/install-6.2-mac-static.sh	(revision 25860)
@@ -3,8 +3,9 @@
 
 
-# Constants
+## Constants
 #
-DAK_ROOT=${ISSM_DIR}/externalpackages/dakota
 VER="6.2"
+
+PREFIX="${ISSM_DIR}/externalpackages/dakota/install" # Set to location where external package should be installed
 
 ## Environment
@@ -17,6 +18,7 @@
 #
 # TODO:
-# - Test if -static-libgfortran flag will avoid all of this.
-# - Otherwise, refactor this to work with other gfortran installations.
+# - Move this to etc/environment.sh
+# - Test if -static-libgfortran flag will avoid all of this
+# - Otherwise, refactor this to work with other gfortran installations
 #
 LIBGFORTRAN=$(mdfind -onlyin /usr -name libgfortran | grep -n libgfortran.a | grep -v i386 | sed "s/[0-9]*://g" | head -1)
@@ -24,15 +26,13 @@
 LIBGCC=$(mdfind -onlyin ${LIBGFORTRAN_ROOT} -name libgcc | grep -n libgcc.a | grep -v i386 | sed "s/[0-9]*://g" | head -1)
 
-export BLAS_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lfblas ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
-export BOOST_ROOT=${ISSM_DIR}/externalpackages/boost/install
-export DAK_BUILD=${DAK_ROOT}/build
-export DAK_INSTALL=${DAK_ROOT}/install
-export DAK_SRC=${DAK_ROOT}/src
-export GSL_HOME=${ISSM_DIR}/externalpackages/gsl/install
-export LAPACK_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lflapack ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
+export BLAS_LIBS="-L${BLAS_ROOT}/lib -lfblas ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
+export DAK_BUILD=${ISSM_DIR}/externalpackages/dakota/build # DO NOT CHANGE THIS
+export DAK_INSTALL=${PREFIX} # DO NOT CHANGE THIS
+export DAK_SRC=${ISSM_DIR}/externalpackages/dakota/src # DO NOT CHANGE THIS
+export LAPACK_LIBS="-L${LAPACK_ROOT}/lib -lflapack ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
 
 # Cleanup
-rm -rf build install src
-mkdir build install src
+rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC}
+mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC}
 
 # Download source
@@ -43,5 +43,5 @@
 
 # Move source to 'src' directory
-mv dakota-${VER}.0.src/* src
+mv dakota-${VER}.0.src/* ${DAK_SRC}
 rm -rf dakota-${VER}.0.src
 
Index: /issm/trunk-jpl/externalpackages/dakota/install-6.2-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/dakota/install-6.2-mac.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/dakota/install-6.2-mac.sh	(revision 25860)
@@ -3,8 +3,9 @@
 
 
-# Constants
+## Constants
 #
-DAK_ROOT=${ISSM_DIR}/externalpackages/dakota
 VER="6.2"
+
+PREFIX="${ISSM_DIR}/externalpackages/dakota/install" # Set to location where external package should be installed
 
 ## Environment
@@ -16,18 +17,19 @@
 # returning one that is installed via package manager.
 #
+# TODO:
+# - Move this to etc/environment.sh
+#
 LIBGFORTRAN=$(mdfind -onlyin /usr -name libgfortran | grep -n libgfortran.a | grep -v i386 | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
 
-export BLAS_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lfblas -L${LIBGFORTRAN_ROOT} -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
-export BOOST_ROOT=${ISSM_DIR}/externalpackages/boost/install
-export DAK_BUILD=${DAK_ROOT}/build
-export DAK_INSTALL=${DAK_ROOT}/install
-export DAK_SRC=${DAK_ROOT}/src
-export GSL_HOME=${ISSM_DIR}/externalpackages/gsl/install
-export LAPACK_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lflapack -L${LIBGFORTRAN_ROOT} -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
+export BLAS_LIBS="-L${BLAS_ROOT}/lib -lfblas -L${LIBGFORTRAN_ROOT} -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
+export DAK_BUILD=${ISSM_DIR}/externalpackages/dakota/build # DO NOT CHANGE THIS
+export DAK_INSTALL=${PREFIX} # DO NOT CHANGE THIS
+export DAK_SRC=${ISSM_DIR}/externalpackages/dakota/src # DO NOT CHANGE THIS
+export LAPACK_LIBS="-L${LAPACK_ROOT}/lib -lflapack -L${LIBGFORTRAN_ROOT} -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
 
 # Cleanup
-rm -rf build install src
-mkdir build install src
+rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC}
+mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC}
 
 # Download source
@@ -38,5 +40,5 @@
 
 # Move source to 'src' directory
-mv dakota-${VER}.0.src/* src
+mv dakota-${VER}.0.src/* ${DAK_SRC}
 rm -rf dakota-${VER}.0.src
 
Index: sm/trunk-jpl/externalpackages/gdal/install-3-netcdf-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-netcdf-static.sh	(revision 25859)
+++ 	(revision )
@@ -1,63 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# TODO
-# - May want to supply path to Python instead of, effectively, using result of 
-#	`which python`
-#
-
-## Constants
-#
-VER="3.1.1"
-
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-NETCDF_ROOT="${ISSM_DIR}/externalpackages/netcdf/install"
-PROJ_ROOT="${ISSM_DIR}/externalpackages/proj/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-## Environment
-#
-export CC=mpicc
-export CXX=mpicxx
-export LDFLAGS="-L${HDF5_ROOT}/lib" # Need to do this so HDF5 symbols referenced in NETCDF library are found at link time
-export LIBS="-lhdf5_hl -lhdf5" # Need to do this so HDF5 symbols referenced in NETCDF library are found at link time
-export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # Need this to properly set destination root for Python libraries on macOS (should not affect Linux build; do not need for this configuration, but including it for consistency)
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "http://issm.jpl.nasa.gov/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf gdal-$VER.tar.gz
-
-# Move source into 'src' directory
-mv gdal-$VER/* src
-rm -rf gdal-$VER
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--enable-fast-install \
-	--disable-shared \
-	--without-ld-shared \
-	--enable-static \
-	--with-pic \
-	--with-libz="${ZLIB_ROOT}" \
-	--with-hdf5="${HDF5_ROOT}" \
-	--with-netcdf="${NETCDF_ROOT}" \
-	--with-proj="${PROJ_ROOT}" \
-	--with-pg=no
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/gdal/install-3-netcdf.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-netcdf.sh	(revision 25859)
+++ 	(revision )
@@ -1,49 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# Constants
-#
-VER="3.1.1"
-
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-NETCDF_ROOT="${ISSM_DIR}/externalpackages/netcdf/install"
-PROJ_ROOT="${ISSM_DIR}/externalpackages/proj/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-## Environment
-#
-export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # Need this to properly set destination root for Python libraries on macOS (should not affect Linux build; do not need for this configuration, but including it for consistency)
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "http://issm.jpl.nasa.gov/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf gdal-$VER.tar.gz
-
-# Move source into 'src' directory
-mv gdal-$VER/* src
-rm -rf gdal-$VER
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--enable-fast-install \
-	--with-libz="${ZLIB_ROOT}" \
-	--with-hdf5="${HDF5_ROOT}" \
-	--with-netcdf="${NETCDF_ROOT}" \
-	--with-proj="${PROJ_ROOT}"
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/gdal/install-3-python-netcdf-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-python-netcdf-static.sh	(revision 25859)
+++ 	(revision )
@@ -1,64 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# TODO
-# - May want to supply path to Python instead of, effectively, using result of 
-#	`which python`
-#
-
-## Constants
-#
-VER="3.1.1"
-
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-NETCDF_ROOT="${ISSM_DIR}/externalpackages/netcdf/install"
-PROJ_ROOT="${ISSM_DIR}/externalpackages/proj/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-## Environment
-#
-export CC=mpicc
-export CXX=mpicxx
-export LDFLAGS="-L${HDF5_ROOT}/lib" # Need to do this so HDF5 symbols referenced in NETCDF library are found at link time
-export LIBS="-lhdf5_hl -lhdf5" # Need to do this so HDF5 symbols referenced in NETCDF library are found at link time
-export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # Need this to properly set destination root for Python libraries on macOS (should not affect Linux build; do not need for this configuration, but including it for consistency)
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "http://issm.jpl.nasa.gov/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf gdal-$VER.tar.gz
-
-# Move source into 'src' directory
-mv gdal-$VER/* src
-rm -rf gdal-$VER
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--enable-fast-install \
-	--disable-shared \
-	--without-ld-shared \
-	--enable-static \
-	--with-pic \
-	--with-python \
-	--with-libz="${ZLIB_ROOT}" \
-	--with-hdf5="${HDF5_ROOT}" \
-	--with-netcdf="${NETCDF_ROOT}" \
-	--with-proj="${PROJ_ROOT}" \
-	--with-pg=no
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/gdal/install-3-python-netcdf.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-python-netcdf.sh	(revision 25859)
+++ 	(revision )
@@ -1,54 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-## TODO
-#	- May want to supply path to Python instead of, effectively, using result of `which python`
-#
-
-## Constants
-#
-VER="3.1.1"
-
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-NETCDF_ROOT="${ISSM_DIR}/externalpackages/netcdf/install"
-PROJ_ROOT="${ISSM_DIR}/externalpackages/proj/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-## Environment
-#
-export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # Need this to properly set destination root for Python libraries on macOS (should not affect Linux build)
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "http://issm.jpl.nasa.gov/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf gdal-$VER.tar.gz
-
-# Move source into 'src' directory
-mv gdal-$VER/* src
-rm -rf gdal-$VER
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--enable-fast-install \
-	--with-python \
-	--with-libz="${ZLIB_ROOT}" \
-	--with-hdf5="${HDF5_ROOT}" \
-	--with-netcdf="${NETCDF_ROOT}" \
-	--with-proj="${PROJ_ROOT}"
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: /issm/trunk-jpl/externalpackages/gdal/install-3-python-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-python-static.sh	(revision 25860)
+++ /issm/trunk-jpl/externalpackages/gdal/install-3-python-static.sh	(revision 25860)
@@ -0,0 +1,58 @@
+#!/bin/bash
+set -eu
+
+
+## TODO
+#	- May want to supply path to Python instead of, effectively, using result of `which python`
+#
+
+## Constants
+#
+VER="3.1.1"
+
+## Environment
+#
+export CC=mpicc
+export CXX=mpicxx
+export LDFLAGS="-L${HDF5_ROOT}/lib" # Need to do this so HDF5 symbols referenced in NETCDF library are found at link time
+export LIBS="-lhdf5_hl -lhdf5" # Need to do this so HDF5 symbols referenced in NETCDF library are found at link time
+export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # Need this to properly set destination root for Python libraries on macOS (should not affect Linux build; do not need for this configuration, but including it for consistency)
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "http://issm.jpl.nasa.gov/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf gdal-${VER}.tar.gz
+
+# Move source into 'src' directory
+mv gdal-${VER}/* src
+rm -rf gdal-${VER}
+
+# Configure
+cd src
+./configure \
+	--prefix="${PREFIX}" \
+	--enable-fast-install \
+	--disable-shared \
+	--without-ld-shared \
+	--enable-static \
+	--with-pic \
+	--with-python \
+	--with-libz="${ZLIB_ROOT}" \
+	--with-hdf5="${HDF5_ROOT}" \
+	--with-netcdf="${NETCDF_ROOT}" \
+	--with-proj="${PROJ_ROOT}" \
+	--with-pg=no
+
+# Compile and install
+if [ $# -eq 0 ]; then
+	make
+	make install
+else
+	make -j $1
+	make -j $1 install
+fi
Index: /issm/trunk-jpl/externalpackages/gdal/install-3-python.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-python.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gdal/install-3-python.sh	(revision 25860)
@@ -11,13 +11,11 @@
 VER="3.1.1"
 
-PROJ_ROOT="${ISSM_DIR}/externalpackages/proj/install"
-
 ## Environment
 #
-export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # Need this to properly set destination root for Python libraries on macOS (should not affect Linux build)
+export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # NOTE: Need to export this to properly set destination root for Python libraries on macOS (should not affect Linux build). Set to location where external package should be installed.
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
@@ -25,9 +23,9 @@
 
 # Unpack source
-tar -zxvf gdal-$VER.tar.gz
+tar -zxvf gdal-${VER}.tar.gz
 
 # Move source into 'src' directory
-mv gdal-$VER/* src
-rm -rf gdal-$VER
+mv gdal-${VER}/* src
+rm -rf gdal-${VER}
 
 # Configure
@@ -37,6 +35,7 @@
 	--enable-fast-install \
 	--with-python \
-	--without-hdf5 \
-	--without-netcdf \
+	--with-libz="${ZLIB_ROOT}" \
+	--with-hdf5="${HDF5_ROOT}" \
+	--with-netcdf="${NETCDF_ROOT}" \
 	--with-proj="${PROJ_ROOT}"
 
Index: /issm/trunk-jpl/externalpackages/gdal/install-3-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-static.sh	(revision 25860)
+++ /issm/trunk-jpl/externalpackages/gdal/install-3-static.sh	(revision 25860)
@@ -0,0 +1,57 @@
+#!/bin/bash
+set -eu
+
+
+## TODO
+#	- May want to supply path to Python instead of, effectively, using result of `which python`
+#
+
+## Constants
+#
+VER="3.1.1"
+
+## Environment
+#
+export CC=mpicc
+export CXX=mpicxx
+export LDFLAGS="-L${HDF5_ROOT}/lib" # Need to do this so HDF5 symbols referenced in NETCDF library are found at link time
+export LIBS="-lhdf5_hl -lhdf5" # Need to do this so HDF5 symbols referenced in NETCDF library are found at link time
+export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # NOTE: Need to export this to properly set destination root for Python libraries on macOS (should not affect Linux build). Set to location where external package should be installed.
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "http://issm.jpl.nasa.gov/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf gdal-${VER}.tar.gz
+
+# Move source into 'src' directory
+mv gdal-${VER}/* src
+rm -rf gdal-${VER}
+
+# Configure
+cd src
+./configure \
+	--prefix="${PREFIX}" \
+	--enable-fast-install \
+	--disable-shared \
+	--without-ld-shared \
+	--enable-static \
+	--with-pic \
+	--with-libz="${ZLIB_ROOT}" \
+	--with-hdf5="${HDF5_ROOT}" \
+	--with-netcdf="${NETCDF_ROOT}" \
+	--with-proj="${PROJ_ROOT}" \
+	--with-pg=no
+
+# Compile and install
+if [ $# -eq 0 ]; then
+	make
+	make install
+else
+	make -j $1
+	make -j $1 install
+fi
Index: /issm/trunk-jpl/externalpackages/gdal/install-3.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gdal/install-3.sh	(revision 25860)
@@ -3,17 +3,15 @@
 
 
-# Constants
+## Constants
 #
 VER="3.1.1"
 
-PROJ_ROOT="${ISSM_DIR}/externalpackages/proj/install"
-
 ## Environment
 #
-export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # Need this to properly set destination root for Python libraries on macOS (should not affect Linux build; do not need for this configuration, but including it for consistency)
+export PREFIX="${ISSM_DIR}/externalpackages/gdal/install" # NOTE: Need to export this to properly set destination root for Python libraries on macOS (should not affect Linux build). Set to location where external package should be installed.
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
@@ -24,6 +22,6 @@
 
 # Move source into 'src' directory
-mv gdal-$VER/* src
-rm -rf gdal-$VER
+mv gdal-${VER}/* src
+rm -rf gdal-${VER}
 
 # Configure
@@ -32,6 +30,7 @@
 	--prefix="${PREFIX}" \
 	--enable-fast-install \
-	--without-hdf5 \
-	--without-netcdf \
+	--with-libz="${ZLIB_ROOT}" \
+	--with-hdf5="${HDF5_ROOT}" \
+	--with-netcdf="${NETCDF_ROOT}" \
 	--with-proj="${PROJ_ROOT}"
 
@@ -44,5 +43,2 @@
 	make -j $1 install
 fi
-
-# Return to initial directory
-cd ..
Index: sm/trunk-jpl/externalpackages/gmsh/install-4-linux-python-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-linux-python-static.sh	(revision 25859)
+++ 	(revision )
@@ -1,67 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# TODO:
-# - Add support for,
-#	- BLAS_LAPACK
-#	- MUMPS
-#	- NUMPY
-#	- PETSC4PY
-#	- PETSC
-# (see configs/4/linux/static/CMakeLists.txt)
-#
-
-## Constants
-#
-VER="4.5.6"
-
-PETSC_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gmsh-${VER}-source.tgz" "gmsh-${VER}-source.tgz"
-
-# Untar source
-tar -xvzf gmsh-${VER}-source.tgz
-
-# Move source to 'src' directory
-mv gmsh-${VER}-source/* src
-rm -rf gmsh-${VER}-source
-
-# Copy customized source and config files to 'src' directory
-cp configs/${VER}/static/CMakeLists.txt src
-
-# Configure
-#
-# NOTE:
-# - Option -DENABLE_FLTK=0 is used because we do not need GUI.
-# - Option -DENABLE_MPEG_ENCODE=0 is used because we do not need to record MPEG 
-#	movies.
-# - Option -DENABLE_OCC=0 is used because we do not need CAD kernel and are not 
-#	importing STEP/IGES files.
-# - Option -DENABLE_TOUCHBAR=0 is used because we do not have GUI, therefore we 
-#	do not need to support Apple Touch bar.
-#
-cd install
-cmake ../src \
-	-DCMAKE_BUILD_TYPE=Release \
-	-DCMAKE_INSTALL_PREFIX="${ISSM_DIR}/externalpackages/gmsh/install" \
-	-DENABLE_BUILD_LIB=1 \
-	-DENABLE_FLTK=0 \
-	-DENABLE_MPEG_ENCODE=0 \
-	-DENABLE_MPI=1 \
-	-DENABLE_OCC=0 \
-	-DMETIS_ROOT="${PETSC_ROOT}"
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/gmsh/install-4-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-linux-static.sh	(revision 25859)
+++ 	(revision )
@@ -1,63 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# TODO:
-# - Add support for,
-#	- BLAS_LAPACK
-#	- MUMPS
-#	- PETSC
-# (see configs/4/linux/static/CMakeLists.txt)
-#
-
-## Constants
-#
-VER="4.5.6"
-
-PETSC_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gmsh-${VER}-source.tgz" "gmsh-${VER}-source.tgz"
-
-# Untar source
-tar -xvzf gmsh-${VER}-source.tgz
-
-# Move source to 'src' directory
-mv gmsh-${VER}-source/* src
-rm -rf gmsh-${VER}-source
-
-# Copy customized source and config files to 'src' directory
-cp configs/${VER}/static/CMakeLists.txt src
-
-# Configure
-#
-# NOTE:
-# - Option -DENABLE_FLTK=0 is used because we do not need GUI.
-# - Option -DENABLE_MPEG_ENCODE=0 is used because we do not need to record MPEG 
-#	movies.
-# - Option -DENABLE_OCC=0 is used because we do not need CAD kernel and are not 
-#	importing STEP/IGES files.
-#
-cd install
-cmake ../src \
-	-DCMAKE_BUILD_TYPE=Release \
-	-DCMAKE_INSTALL_PREFIX="${ISSM_DIR}/externalpackages/gmsh/install" \
-	-DENABLE_BUILD_LIB=1 \
-	-DENABLE_FLTK=0 \
-	-DENABLE_MPEG_ENCODE=0 \
-	-DENABLE_MPI=1 \
-	-DENABLE_OCC=0 \
-	-DMETIS_ROOT="${PETSC_ROOT}"
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/gmsh/install-4-mac-python-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-mac-python-static.sh	(revision 25859)
+++ 	(revision )
@@ -1,68 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# TODO:
-# - Add support for,
-#	- BLAS_LAPACK
-#	- MUMPS
-#	- NUMPY
-#	- PETSC4PY
-#	- PETSC
-# (see configs/4/mac/static/CMakeLists.txt)
-#
-
-## Constants
-#
-VER="4.5.6"
-
-PETSC_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gmsh-${VER}-source.tgz" "gmsh-${VER}-source.tgz"
-
-# Untar source
-tar -xvzf gmsh-${VER}-source.tgz
-
-# Move source to 'src' directory
-mv gmsh-${VER}-source/* src
-rm -rf gmsh-${VER}-source
-
-# Copy customized source and config files to 'src' directory
-cp configs/${VER}/mac/static/CMakeLists.txt src
-
-# Configure
-#
-# NOTE:
-# - Option -DENABLE_FLTK=0 is used because we do not need GUI.
-# - Option -DENABLE_MPEG_ENCODE=0 is used because we do not need to record MPEG 
-#	movies.
-# - Option -DENABLE_OCC=0 is used because we do not need CAD kernel and are not 
-#	importing STEP/IGES files.
-# - Option -DENABLE_TOUCHBAR=0 is used because we do not have GUI, therefore we 
-#	do not need to support Apple Touch bar.
-#
-cd install
-cmake ../src \
-	-DCMAKE_BUILD_TYPE=Release \
-	-DCMAKE_INSTALL_PREFIX="${ISSM_DIR}/externalpackages/gmsh/install" \
-	-DENABLE_BUILD_LIB=1 \
-	-DENABLE_FLTK=0 \
-	-DENABLE_MPEG_ENCODE=0 \
-	-DENABLE_MPI=1 \
-	-DENABLE_OCC=0 \
-	-DENABLE_TOUCHBAR=0 \
-	-DMETIS_ROOT="${PETSC_ROOT}"
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/gmsh/install-4-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-mac-static.sh	(revision 25859)
+++ 	(revision )
@@ -1,65 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# TODO:
-# - Add support for,
-#	- BLAS_LAPACK
-#	- MUMPS
-#	- PETSC
-# (see configs/4/mac/static/CMakeLists.txt)
-#
-
-## Constants
-#
-VER="4.5.6"
-
-PETSC_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gmsh-${VER}-source.tgz" "gmsh-${VER}-source.tgz"
-
-# Untar source
-tar -xvzf gmsh-${VER}-source.tgz
-
-# Move source to 'src' directory
-mv gmsh-${VER}-source/* src
-rm -rf gmsh-${VER}-source
-
-# Copy customized source and config files to 'src' directory
-cp configs/${VER}/mac/static/CMakeLists.txt src
-
-# Configure
-#
-# NOTE:
-# - Option -DENABLE_FLTK=0 is used because we do not need GUI.
-# - Option -DENABLE_MPEG_ENCODE=0 is used because we do not need to record MPEG 
-#	movies.
-# - Option -DENABLE_OCC=0 is used because we do not need CAD kernel and are not 
-#	importing STEP/IGES files.
-# - Option -DENABLE_TOUCHBAR=0 is used because we do not have GUI, therefore we 
-#	do not need to support Apple Touch bar.
-#
-cd install
-cmake ../src \
-	-DCMAKE_INSTALL_PREFIX="${ISSM_DIR}/externalpackages/gmsh/install" \
-	-DENABLE_BUILD_LIB=1 \
-	-DENABLE_FLTK=0 \
-	-DENABLE_MPEG_ENCODE=0 \
-	-DENABLE_MPI=1 \
-	-DENABLE_OCC=0 \
-	-DENABLE_TOUCHBAR=0 \
-	-DMETIS_ROOT="${PETSC_ROOT}"
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: /issm/trunk-jpl/externalpackages/gmsh/install-4-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-static.sh	(revision 25860)
+++ /issm/trunk-jpl/externalpackages/gmsh/install-4-static.sh	(revision 25860)
@@ -0,0 +1,66 @@
+#!/bin/bash
+set -eu
+
+
+# TODO:
+# - Add support for,
+#	- BLAS_LAPACK
+#	- MUMPS
+#	- PETSC
+# (see configs/4/static/CMakeLists.txt)
+#
+
+## Constants
+#
+VER="4.5.6"
+
+PREFIX="${ISSM_DIR}/externalpackages/gmsh/install" # Set to location where external package should be installed
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gmsh-${VER}-source.tgz" "gmsh-${VER}-source.tgz"
+
+# Unpack source
+tar -xvzf gmsh-${VER}-source.tgz
+
+# Move source to 'src' directory
+mv gmsh-${VER}-source/* src
+rm -rf gmsh-${VER}-source
+
+# Copy customized source and config files to 'src' directory
+cp configs/${VER}/static/CMakeLists.txt src
+
+# Configure
+#
+# NOTE:
+# - Option -DENABLE_FLTK=0 is used because we do not need GUI.
+# - Option -DENABLE_MPEG_ENCODE=0 is used because we do not need to record MPEG 
+#	movies.
+# - Option -DENABLE_OCC=0 is used because we do not need CAD kernel and are not 
+#	importing STEP/IGES files.
+# - Option -DENABLE_TOUCHBAR=0 is used because we do not have GUI, therefore we 
+#	do not need to support Apple Touch bar (does not affect compilation on 
+#	Linux).
+#
+cd src
+cmake \
+	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
+	-DENABLE_BUILD_LIB=1 \
+	-DENABLE_FLTK=0 \
+	-DENABLE_MPEG_ENCODE=0 \
+	-DENABLE_MPI=1 \
+	-DENABLE_OCC=0 \
+	-DENABLE_TOUCHBAR=0 \
+	-DMETIS_ROOT="${METIS_ROOT}"
+
+# Compile and install
+if [ $# -eq 0 ]; then
+	make
+	make install
+else
+	make -j $1
+	make -j $1 install
+fi
Index: /issm/trunk-jpl/externalpackages/gmsh/install-4.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gmsh/install-4.sh	(revision 25860)
@@ -2,4 +2,12 @@
 set -eu
 
+
+# TODO:
+# - Add support for,
+#	- BLAS_LAPACK
+#	- MUMPS
+#	- PETSC
+# (see configs/4/static/CMakeLists.txt)
+#
 
 ## Constants
@@ -7,14 +15,14 @@
 VER="4.5.6"
 
-PETSC_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
+PREFIX="${ISSM_DIR}/externalpackages/gmsh/install" # Set to location where external package should be installed
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
 $ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gmsh-${VER}-source.tgz" "gmsh-${VER}-source.tgz"
 
-# Untar source
+# Unpack source
 tar -xvzf gmsh-${VER}-source.tgz
 
@@ -32,9 +40,10 @@
 #	importing STEP/IGES files.
 # - Option -DENABLE_TOUCHBAR=0 is used because we do not have GUI, therefore we 
-#	do not need to support Apple Touch bar.
+#	do not need to support Apple Touch bar (does not affect compilation on 
+#	Linux).
 #
-cd install
-cmake ../src \
-	-DCMAKE_INSTALL_PREFIX="${ISSM_DIR}/externalpackages/gmsh/install" \
+cd src
+cmake \
+	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
 	-DENABLE_BUILD_DYNAMIC=1 \
 	-DENABLE_BUILD_SHARED=1 \
@@ -44,5 +53,5 @@
 	-DENABLE_OCC=0 \
 	-DENABLE_TOUCHBAR=0 \
-	-DMETIS_ROOT="${PETSC_ROOT}"
+	-DMETIS_ROOT="${METIS_ROOT}"
 
 # Compile and install
Index: sm/trunk-jpl/externalpackages/gmsh/install-mac-precompiled.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-mac-precompiled.sh	(revision 25859)
+++ 	(revision )
@@ -1,23 +1,0 @@
-#!/bin/bash
-set -eu
-
-# Set gmsh version
-GMSH_VER="3.0.5"
-
-# Set tarball name
-GMSH_TARBALL_NAME="gmsh-${GMSH_VER}-mac-precompiled"
-
-# Clean up from previous installation
-rm -f $GMSH_TARBALL_NAME.tar.gz
-rm -rf install src
-
-# Download Mac precompiled gmsh from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/${GMSH_TARBALL_NAME}.tar.gz" "${GMSH_TARBALL_NAME}.tar.gz"
-
-# Untar gmsh
-tar -xvzf $GMSH_TARBALL_NAME.tar.gz
-
-# Copy gmsh to path expected by packager
-mkdir install
-cp gmsh install
-rm gmsh
Index: sm/trunk-jpl/externalpackages/gmsh/install-win64-precompiled.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-win64-precompiled.sh	(revision 25859)
+++ 	(revision )
@@ -1,24 +1,0 @@
-#!/bin/bash
-set -eu
-
-# Set gmsh version
-VER="3.0.5"
-
-# Set tarball name
-TARBALL_NAME="gmsh-${VER}-win64-precompiled"
-TARBALL=${TARBALL_NAME}.tar.gz
-
-# Clean up from previous installation
-rm -rf install
-
-# Download Windows 64-bit precompiled gmsh from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/${TARBALL}" "${TARBALL}"
-
-# Untar gmsh
-tar -xvzf $TARBALL
-
-# Rename untarred dir
-mv $TARBALL_NAME install
-
-# Clean up
-rm -f $TARBALL
Index: /issm/trunk-jpl/externalpackages/gmt/configs/6/cmake/ConfigUser.cmake
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/configs/6/cmake/ConfigUser.cmake	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gmt/configs/6/cmake/ConfigUser.cmake	(revision 25860)
@@ -39,5 +39,5 @@
 
 # Installation path (usually defaults to /usr/local) [auto]:
-set (CMAKE_INSTALL_PREFIX "$ENV{ISSM_DIR}/externalpackages/gmt/install")
+set (CMAKE_INSTALL_PREFIX "$ENV{PREFIX}")
 
 # Set install name suffix used for directories and gmt executables
@@ -109,5 +109,5 @@
 
 # Set path to GSHHG Shoreline Database [auto]:
-set (GSHHG_ROOT "$ENV{ISSM_DIR}/externalpackages/gshhg/install")
+set (GSHHG_ROOT "$ENV{GSHHG_ROOT}")
 
 # Copy GSHHG files to ${GMT_DATADIR}/coast [FALSE]:
@@ -136,9 +136,9 @@
 # Set location of NetCDF (can be root directory, path to header file or path
 # to nc-config) [auto]:
-set (NETCDF_ROOT "$ENV{ISSM_DIR}/externalpackages/netcdf/install")
+set (NETCDF_ROOT "$ENV{NETCDF_ROOT}")
 
 # Set location of GDAL (can be root directory, path to header file or path to
 # gdal-config) [auto]:
-set (GDAL_ROOT "$ENV{ISSM_DIR}/externalpackages/gdal/install")
+set (GDAL_ROOT "$ENV{GDAL_ROOT}")
 
 # Set location of PCRE (can be root directory, path to header file or path to
@@ -154,5 +154,5 @@
 
 # Set location of ZLIB (can be root directory or path to header file) [auto]:
-set (ZLIB_ROOT "$ENV{ISSM_DIR}/externalpackages/petsc/install")
+set (ZLIB_ROOT "$ENV{ZLIB_ROOT}")
 
 # Set location of CURL (can be root directory or path to header file) [auto]:
@@ -167,6 +167,6 @@
 
 # Set LAPACK location. Use this when want to link with LAPACK and it's not found automatically
-set (LAPACK_LIBRARY "-L$ENV{ISSM_DIR}/externalpackages/petsc/install/lib -lflapack")
-set (BLAS_LIBRARY "-L$ENV{ISSM_DIR}/externalpackages/petsc/install/lib -lfblas")
+set (LAPACK_LIBRARY "-L$ENV{LAPACK_ROOT} -lflapack")
+set (BLAS_LIBRARY "-L$ENV{BLAS_ROOT} -lfblas")
 
 ##
Index: /issm/trunk-jpl/externalpackages/gmt/install-6-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-6-linux-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gmt/install-6-linux-static.sh	(revision 25860)
@@ -7,10 +7,4 @@
 VER="6.0.0"
 
-CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
-PETSC_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-
-BLASLAPACK_ROOT="${PETSC_ROOT}"
-HDF5_ROOT="${PETSC_ROOT}"
-
 # Find libgfortran and libgcc so we do not have to hardcode them
 #
@@ -18,4 +12,5 @@
 #
 # TODO:
+# - Move this to etc/environment.sh
 # - Figure out how to find and grep for single result like we do with mdfind 
 #	under macOS.
@@ -25,6 +20,4 @@
 LIBGCC="/usr/lib/gcc/x86_64-linux-gnu/8/libgcc.a"
 
-CURL_INCLUDE_DIRS="${CURL_ROOT}/include" \
-CURL_LIBRARIES="${CURL_ROOT}/lib/libcurl.a;/usr/lib/x86_64-linux-gnu/libssl.a;/usr/lib/x86_64-linux-gnu/libcrypto.a" \
 GDAL_EXTRA_LIBS="-lstdc++" # Determined by running `$GDAL_ROOT/bin/gdal-config --dep-libs` then removing duplicate libs
 NETCDF_EXTRA_LIBS="-lm -ldl -lz" # `$NETCDF_ROOT/bin/nc-config --libs` does not report certain dependencies of certain static libraries (see also customized configuration file ./configs/6.0/static/cmake/modules/FindNETCDF.cmake)
@@ -33,6 +26,7 @@
 #
 export CC=mpicc
-export CURL_INCLUDE_DIRS=${CURL_INCLUDE_DIRS}
-export CURL_LIBRARIES=${CURL_LIBRARIES}
+export CURL_INCLUDE_DIRS="${CURL_ROOT}/include"
+export CURL_LIBRARIES="${CURL_ROOT}/lib/libcurl.a;/usr/lib/x86_64-linux-gnu/libssl.a;/usr/lib/x86_64-linux-gnu/libcrypto.a"
+export PREFIX="${ISSM_DIR}/externalpackages/gmt/install" # NOTE: Need to export this to be picked up by customized ConfigUser.cmake (see below). Set to location where external package should be installed.
 
 # Download source
@@ -43,6 +37,6 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
@@ -70,8 +64,8 @@
 #
 cmake \
-	-DBLAS_LIBRARIES="${BLASLAPACK_ROOT}/lib/libfblas.a;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \
+	-DBLAS_LIBRARIES="${BLAS_ROOT}/lib/libfblas.a;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \
 	-DGDAL_EXTRA_LIBS="${GDAL_EXTRA_LIBS}" \
 	-DHDF5_ROOT="${HDF5_ROOT}" \
-	-DLAPACK_LIBRARIES="${BLASLAPACK_ROOT}/lib/libflapack.a;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \
+	-DLAPACK_LIBRARIES="${LAPACK_ROOT}/lib/libflapack.a;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \
 	-DNETCDF_EXTRA_LIBS="${NETCDF_EXTRA_LIBS}" \
 	..
Index: /issm/trunk-jpl/externalpackages/gmt/install-6-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-6-linux.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gmt/install-6-linux.sh	(revision 25860)
@@ -7,9 +7,8 @@
 VER="6.0.0"
 
-CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
-
 # Environment
 #
 export CC=mpicc
+export PREFIX="${ISSM_DIR}/externalpackages/gmt/install" # NOTE: Need to export this to be picked up by customized ConfigUser.cmake (see below). Set to location where external package should be installed.
 
 # Download source
@@ -20,6 +19,6 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
Index: /issm/trunk-jpl/externalpackages/gmt/install-6-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-6-mac.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gmt/install-6-mac.sh	(revision 25860)
@@ -7,9 +7,8 @@
 VER="6.0.0"
 
-CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
-
 # Environment
 #
 export CC=mpicc
+export PREFIX="${ISSM_DIR}/externalpackages/gmt/install" # NOTE: Need to export this to be picked up by customized ConfigUser.cmake (see below). Set to location where external package should be installed.
 
 # Download source
@@ -20,6 +19,6 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
Index: sm/trunk-jpl/externalpackages/gmt/install-mac-precompiled.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-mac-precompiled.sh	(revision 25859)
+++ 	(revision )
@@ -1,24 +1,0 @@
-#!/bin/bash
-set -eu
-
-# Set gmt version
-VER="5.4.4"
-
-# Set tarball name
-TARBALL_NAME="gmt-${VER}-mac-precompiled"
-TARBALL=${TARBALL_NAME}.tar.gz
-
-# Clean up from previous installation
-rm -rf install
-
-# Download Mac precompiled gmsh from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/${TARBALL}" "${TARBALL}"
-
-# Untar gmt
-tar -xvzf $TARBALL
-
-# Rename untarred dir
-mv $TARBALL_NAME install
-
-# Clean up
-rm -f $TARBALL
Index: sm/trunk-jpl/externalpackages/gmt/install-win64-precompiled.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-win64-precompiled.sh	(revision 25859)
+++ 	(revision )
@@ -1,24 +1,0 @@
-#!/bin/bash
-set -eu
-
-# Set gmt version
-VER="5.4.4"
-
-# Set tarball name
-TARBALL_NAME="gmt-${VER}-win64-precompiled"
-TARBALL=${TARBALL_NAME}.tar.gz
-
-# Clean up from previous installation
-rm -rf install
-
-# Download Windows 64-bit precompiled gmsh from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/${TARBALL}" "${TARBALL}"
-
-# Untar gmt
-tar -xvzf $TARBALL
-
-# Rename untarred dir
-mv $TARBALL_NAME install
-
-# Clean up
-rm -f $TARBALL
Index: /issm/trunk-jpl/externalpackages/gshhg/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gshhg/install.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gshhg/install.sh	(revision 25860)
@@ -7,6 +7,9 @@
 VER="2.3.4"
 
+PREFIX="${ISSM_DIR}/externalpackages/gshhg/install" # Set to location where external package should be installed
+
 # Cleanup
-rm -rf install
+rm -rf ${PREFIX}
+mkdir -p ${PREFIX}
 
 # Download source
@@ -17,3 +20,3 @@
 
 # Install
-mv gshhg-gmt-${VER} install
+mv gshhg-gmt-${VER}/* ${PREFIX}
Index: /issm/trunk-jpl/externalpackages/gsl/install-javascript.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gsl/install-javascript.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gsl/install-javascript.sh	(revision 25860)
@@ -3,10 +3,17 @@
 
 
-# TODO:
+## TODO:
 # - Revisit enviroment variables (especially EMCC_CFLAGS) once support for
 #	Fortran has been accomplished.
 #
 
-# Environment
+## Constants
+#
+VER="1.15"
+
+PREFIX="${ISSM_DIR}/externalpackages/gsl/install" # Set to location where external package should be installed
+
+## Environment
+#
 export CC=emcc
 export CXX=em++
@@ -17,35 +24,35 @@
 
 # Source Emscripten environment
-source $ISSM_DIR/externalpackages/emscripten/install/emsdk_env.sh
+source ${EMSCRIPTEN_ROOT}/emsdk_env.sh
 
 # Issue with variadic function signatures.
 #export CFLAGS=-DSTDC_HEADERS
 
-# Cleanup from previous installation
-rm -rf src-javascript install-javascript gsl-1.15
-mkdir src-javascript install-javascript
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/gsl-1.15.tar.gz' 'gsl-1.15.tar.gz'
+${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz"
 
-#Untar
-tar -zxvf  gsl-1.15.tar.gz
+# Unpack source
+tar -zxvf gsl-${VER}.tar.gz
 
-#Move gsl into src directory
-mv gsl-1.15/* src-javascript
-rm -rf gsl-1.15
+# Move source to 'src' directory
+mv gsl-${VER}/* src
+rm -rf gsl-${VER}
 
-#Configure gsl
-cd src-javascript
-
+# Configure
+cd src
 ./configure \
-	--prefix="$ISSM_DIR/externalpackages/gsl/install-javascript" \
-	--disable-shared
+	--prefix="${PREFIX}" \
+	--disable-shared \
 
 #Compile gsl
 if [ $# -eq 0 ]; then
 	make
+	make install
 else
 	make -j $1
+	make -j $1 install
 fi
-make install
Index: /issm/trunk-jpl/externalpackages/gsl/install-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gsl/install-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gsl/install-static.sh	(revision 25860)
@@ -3,12 +3,13 @@
 
 
-# Constants
+## Constants
 #
-GSL_ROOT=${ISSM_DIR}/externalpackages/gsl
 VER="1.15"
 
-# Cleanup=
-rm -rf install src
-mkdir install src
+PREFIX="${ISSM_DIR}/externalpackages/gsl/install" # Set to location where external package should be installed
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
@@ -25,5 +26,5 @@
 cd src
 ./configure \
-	--prefix="${GSL_ROOT}/install" \
+	--prefix="${PREFIX}" \
 	--disable-shared \
 	--with-pic
Index: /issm/trunk-jpl/externalpackages/gsl/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gsl/install.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/gsl/install.sh	(revision 25860)
@@ -5,10 +5,11 @@
 # Constants
 #
-GSL_ROOT=${ISSM_DIR}/externalpackages/gsl
 VER="1.15"
 
-# Cleanup=
-rm -rf install src
-mkdir install src
+PREFIX="${ISSM_DIR}/externalpackages/gsl/install" # Set to location where external package should be installed
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
@@ -25,5 +26,5 @@
 cd src
 ./configure \
-	--prefix="${GSL_ROOT}/install" \
+	--prefix="${PREFIX}" \
 	--disable-static
 
Index: /issm/trunk-jpl/externalpackages/m1qn3/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/m1qn3/install.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/m1qn3/install.sh	(revision 25860)
@@ -2,14 +2,24 @@
 set -eu
 
-#Some cleanup 
-rm -rf install src m1qn3-3.3-distrib
-mkdir install
 
-#Download from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/m1qn3-3.3-distrib.tgz' 'm1qn3-3.3-distrib.tgz'
+## Constants
+#
+VER=3.3
 
-#Untar 
-tar -xzf m1qn3-3.3-distrib.tgz
-mv m1qn3-3.3-distrib src
+PREFIX="${ISSM_DIR}/externalpackages/m1qn3/install" # Set to location where external package should be installed
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz"
+
+# Unpack source
+tar -xzf m1qn3-${VER}-distrib.tgz
+
+# Move source to 'src' directory
+mv m1qn3-${VER}-distrib/* src
+rm -rf m1qn3-${VER}-distrib
 
 if which ifort >/dev/null; then
@@ -22,5 +32,5 @@
 fi
 
-#Compile m1qn3
+# Compile and install
 cd src/src/
 (
@@ -29,5 +39,5 @@
 FC=$FC
 install: libm1qn3.\$(LIB_EXT)
-	cp libm1qn3.\$(LIB_EXT) ../../install/
+	cp libm1qn3.\$(LIB_EXT) ${PREFIX}
 OBJECTS= m1qn3.o
 libm1qn3.\$(LIB_EXT): \$(OBJECTS)
@@ -42,5 +52,4 @@
 make
 
-#compile ddot
 cd ../blas
 (
@@ -49,5 +58,5 @@
 FC=$FC
 install: libddot.\$(LIB_EXT)
-	cp libddot.\$(LIB_EXT) ../../install/
+	cp libddot.\$(LIB_EXT) ${PREFIX}
 OBJECTS= ddot.o
 libddot.\$(LIB_EXT): \$(OBJECTS)
Index: /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-static-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-static-with_tests.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-static-with_tests.sh	(revision 25860)
@@ -8,6 +8,4 @@
 # - zlib (1.2.5 or later, for netCDF-4 compression)
 # - curl (7.18.0 or later, for DAP remote access client support)
-#
-# For most ISSM installations, only hdf5 will be necessary
 #
 # Sources:
@@ -27,6 +25,5 @@
 VER="4.7.2"
 
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
+PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
 
 # Environment
@@ -42,18 +39,18 @@
 
 # Unpack source
-tar -zxvf netcdf-c-$VER.tar.gz
+tar -zxvf netcdf-c-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv netcdf-c-$VER/* src/
-rm -rf netcdf-c-$VER
+mv netcdf-c-${VER}/* src
+rm -rf netcdf-c-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
+	--prefix="${PREFIX}" \
 	--disable-shared \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-static.sh	(revision 25860)
@@ -8,6 +8,4 @@
 # - zlib (1.2.5 or later, for netCDF-4 compression)
 # - curl (7.18.0 or later, for DAP remote access client support)
-#
-# For most ISSM installations, only hdf5 will be necessary
 #
 # Sources:
@@ -27,6 +25,5 @@
 VER="4.7.2"
 
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
+PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
 
 # Environment
@@ -42,18 +39,18 @@
 
 # Unpack source
-tar -zxvf netcdf-c-$VER.tar.gz
+tar -zxvf netcdf-c-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv netcdf-c-$VER/* src/
-rm -rf netcdf-c-$VER
+mv netcdf-c-${VER}/* src
+rm -rf netcdf-c-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
+	--prefix="${PREFIX}" \
 	--disable-shared \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-with_tests.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-with_tests.sh	(revision 25860)
@@ -9,6 +9,4 @@
 # - curl (7.18.0 or later, for DAP remote access client support)
 #
-# For most ISSM installations, only hdf5 will be necessary
-#
 # Sources:
 # - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
@@ -19,7 +17,5 @@
 VER="4.7.2"
 
-CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
+PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
 
 # Environment
@@ -33,18 +29,18 @@
 
 # Unpack source
-tar -zxvf netcdf-c-$VER.tar.gz
+tar -zxvf netcdf-c-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv netcdf-c-$VER/* src/
-rm -rf netcdf-c-$VER
+mv netcdf-c-${VER}/* src
+rm -rf netcdf-c-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
+	--prefix="${PREFIX}" \
 	--disable-static \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel.sh	(revision 25860)
@@ -9,6 +9,4 @@
 # - curl (7.18.0 or later, for DAP remote access client support)
 #
-# For most ISSM installations, only hdf5 will be necessary
-#
 # Sources:
 # - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
@@ -19,7 +17,5 @@
 VER="4.7.2"
 
-CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
+PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
 
 # Environment
@@ -33,18 +29,18 @@
 
 # Unpack source
-tar -zxvf netcdf-c-$VER.tar.gz
+tar -zxvf netcdf-c-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv netcdf-c-$VER/* src/
-rm -rf netcdf-c-$VER
+mv netcdf-c-${VER}/* src
+rm -rf netcdf-c-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
+	--prefix="${PREFIX}" \
 	--disable-static \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/netcdf/install-4.7-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-with_tests.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/netcdf/install-4.7-with_tests.sh	(revision 25860)
@@ -9,6 +9,4 @@
 # - curl (7.18.0 or later, for DAP remote access client support)
 #
-# For most ISSM installations, only hdf5 will be necessary
-#
 # Sources:
 # - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
@@ -19,7 +17,5 @@
 VER="4.7.2"
 
-CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
+PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
 
 # Environment
@@ -32,18 +28,18 @@
 
 # Unpack source
-tar -zxvf netcdf-c-$VER.tar.gz
+tar -zxvf netcdf-c-${VER}.tar.gz
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv netcdf-c-$VER/* src/
-rm -rf netcdf-c-$VER
+mv netcdf-c-${VER}/* src
+rm -rf netcdf-c-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
+	--prefix="${PREFIX}" \
 	--disable-static \
 	--disable-dependency-tracking \
Index: /issm/trunk-jpl/externalpackages/netcdf/install-4.7.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/netcdf/install-4.7.sh	(revision 25860)
@@ -9,6 +9,4 @@
 # - curl (7.18.0 or later, for DAP remote access client support)
 #
-# For most ISSM installations, only hdf5 will be necessary
-#
 # Sources:
 # - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
@@ -18,7 +16,6 @@
 #
 VER="4.7.2"
-CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
-HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
-ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
+
+PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
 
 # Environment
@@ -34,9 +31,9 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Move source to 'src' directory
-mv netcdf-c-${VER}/* src/
+mv netcdf-c-${VER}/* src
 rm -rf netcdf-c-${VER}
 
@@ -44,5 +41,5 @@
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
+	--prefix="${PREFIX}" \
 	--disable-static \
 	--disable-dependency-tracking \
Index: sm/trunk-jpl/externalpackages/petsc/install-3.12-linux-solid_earth-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.12-linux-solid_earth-static.sh	(revision 25859)
+++ 	(revision )
@@ -1,60 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# NOTE: There is a single difference between the Linux and macOS 
-#		configurations, which is the addition of the -static-libgfortran 
-#		option to FFLAGS on the macOS static configurations. For the sake of 
-#		consistency, we maintain separate files for each, respective Linux and 
-#		macOS configuration.
-
-## Constants
-#
-VER="3.12.3"
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf petsc-${VER}.tar.gz
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Move source to 'src' directory
-mv petsc-${VER}/* src/
-rm -rf petsc-${VER}
-
-# Configure
-#
-# NOTE: Cannot use --with-fpic option when compiling static libs,
-#
-#		Cannot determine compiler PIC flags if shared libraries is turned off
-#		Either run using --with-shared-libraries or --with-pic=0 and supply the
-#		compiler PIC flag via CFLAGS, CXXXFLAGS, and FCFLAGS
-#
-cd src
-./config/configure.py \
-	--prefix="${ISSM_DIR}/externalpackages/petsc/install" \
-	--PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" \
-	--with-shared-libraries=0 \
-	--CFLAGS="-fPIC" \
-	--CXXFLAGS="-fPIC" \
-	--FFLAGS="-fPIC" \
-	--with-debugging=0 \
-	--with-valgrind=0 \
-	--with-x=0 \
-	--with-ssl=0 \
-	--download-fblaslapack=1 \
-	--download-mpich=1 \
-	--download-metis=1 \
-	--download-parmetis=1 \
-	--download-scalapack=1 \
-	--download-mumps=1 \
-	--download-zlib=1 \
-	--download-hdf5=1
-
-# Compile and install
-make
-make install
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.12-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.12-linux-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.12-linux-static.sh	(revision 25860)
@@ -3,13 +3,10 @@
 
 
-# NOTE: There is a single difference between the Linux and macOS 
-#		configurations, which is the addition of the -static-libgfortran 
-#		option to FFLAGS on the macOS static configurations. For the sake of 
-#		consistency, we maintain separate files for each, respective Linux and 
-#		macOS configuration.
-
 ## Constants
 #
 VER="3.12.3"
+
+PETSC_DIR=${ISSM_DIR}/externalpackages/petsc/src # DO NOT CHANGE THIS
+PREFIX="${ISSM_DIR}/externalpackages/petsc/install" # Set to location where external package should be installed
 
 # Download source
@@ -20,14 +17,14 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} ${PETSC_DIR}
+mkdir -p ${PREFIX} ${PETSC_DIR}
 
-# Move source to 'src' directory
-mv petsc-${VER}/* src/
+# Move source to $PETSC_DIR
+mv petsc-${VER}/* ${PETSC_DIR}
 rm -rf petsc-${VER}
 
 # Configure
 #
-# NOTE: 
+# NOTE:
 # - Cannot use --with-fpic option when compiling static libs,
 #
@@ -36,8 +33,15 @@
 #		compiler PIC flag via CFLAGS, CXXXFLAGS, and FCFLAGS
 #
-cd src
+# - Added -fallow-argument-mismatch to FFLAGS in order to clear,
+#
+#		error: The Fortran compiler gfortran will not compile files that call 
+#		the same routine with arguments of different types.
+#
+#	for gfortran 10 or later (may need to remove it for earlier versions).
+#
+cd ${PETSC_DIR}
 ./config/configure.py \
-	--prefix="${ISSM_DIR}/externalpackages/petsc/install" \
-	--PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" \
+	--prefix="${PREFIX}" \
+	--PETSC_DIR="${PETSC_DIR}" \
 	--with-shared-libraries=0 \
 	--CFLAGS="-fPIC" \
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.12-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.12-linux.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.12-linux.sh	(revision 25860)
@@ -7,4 +7,7 @@
 VER="3.12.3"
 
+PETSC_DIR=${ISSM_DIR}/externalpackages/petsc/src # DO NOT CHANGE THIS
+PREFIX="${ISSM_DIR}/externalpackages/petsc/install" # Set to location where external package should be installed
+
 # Download source
 $ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
@@ -14,16 +17,16 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} ${PETSC_DIR}
+mkdir -p ${PREFIX} ${PETSC_DIR}
 
-# Move source to 'src' directory
-mv petsc-${VER}/* src/
+# Move source to $PETSC_DIR
+mv petsc-${VER}/* ${PETSC_DIR}
 rm -rf petsc-${VER}
 
 # Configure
-cd src
+cd ${PETSC_DIR}
 ./config/configure.py \
-	--prefix="${ISSM_DIR}/externalpackages/petsc/install" \
-	--PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" \
+	--prefix="${PREFIX}" \
+	--PETSC_DIR="${PETSC_DIR}" \
 	--with-debugging=0 \
 	--with-valgrind=0 \
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.12-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.12-mac-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.12-mac-static.sh	(revision 25860)
@@ -7,4 +7,7 @@
 VER="3.12.3"
 
+PETSC_DIR=${ISSM_DIR}/externalpackages/petsc/src # DO NOT CHANGE THIS
+PREFIX="${ISSM_DIR}/externalpackages/petsc/install" # Set to location where external package should be installed
+
 # Download source
 $ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
@@ -14,14 +17,14 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} ${PETSC_DIR}
+mkdir -p ${PREFIX} ${PETSC_DIR}
 
-# Move source to 'src' directory
-mv petsc-${VER}/* src/
+# Move source to $PETSC_DIR
+mv petsc-${VER}/* ${PETSC_DIR}
 rm -rf petsc-${VER}
 
 # Configure
 #
-# NOTE: 
+# NOTE:
 # - Cannot use --with-fpic option when compiling static libs,
 #
@@ -41,8 +44,8 @@
 #	work out of the box on Linux.
 #
-cd src
+cd ${PETSC_DIR}
 ./config/configure.py \
-	--prefix="${ISSM_DIR}/externalpackages/petsc/install" \
-	--PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" \
+	--prefix="${PREFIX}" \
+	--PETSC_DIR="${PETSC_DIR}" \
 	--with-shared-libraries=0 \
 	--CFLAGS="-fPIC -Wno-error=implicit-function-declaration" \
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.12-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.12-mac.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.12-mac.sh	(revision 25860)
@@ -7,4 +7,7 @@
 VER="3.12.3"
 
+PETSC_DIR=${ISSM_DIR}/externalpackages/petsc/src # DO NOT CHANGE THIS
+PREFIX="${ISSM_DIR}/externalpackages/petsc/install" # Set to location where external package should be installed
+
 # Download source
 $ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
@@ -14,9 +17,9 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} ${PETSC_DIR}
+mkdir -p ${PREFIX} ${PETSC_DIR}
 
-# Move source to 'src' directory
-mv petsc-${VER}/* src/
+# Move source to $PETSC_DIR
+mv petsc-${VER}/* ${PETSC_DIR}
 rm -rf petsc-${VER}
 
@@ -24,4 +27,6 @@
 #
 # NOTE:
+# - Added -Wno-error=implicit-function-declaration to CFLAGS for Clang >= 12. 
+#	(may need to remove it for earlier versions not using the C99 standard).
 # - Added -fallow-argument-mismatch to FFLAGS in order to clear,
 #
@@ -30,11 +35,9 @@
 #
 #	for gfortran 10 or later (may need to remove it for earlier versions).
-# - Added -Wno-error=implicit-function-declaration to CFLAGS for Clang >= 12. 
-#	(may need to remove it for earlier versions not using the C99 standard).
 #
-cd src
+cd ${PETSC_DIR}
 ./config/configure.py \
-	--prefix="${ISSM_DIR}/externalpackages/petsc/install" \
-	--PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" \
+	--prefix="${PREFIX}" \
+	--PETSC_DIR="${PETSC_DIR}" \
 	--CFLAGS="-Wno-error=implicit-function-declaration" \
 	--FFLAGS="-fallow-argument-mismatch" \
Index: /issm/trunk-jpl/externalpackages/proj/install-6.2-static-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/proj/install-6.2-static-with_tests.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/proj/install-6.2-static-with_tests.sh	(revision 25860)
@@ -7,5 +7,7 @@
 VER="6.2.1"
 
-## Environnment
+PREFIX="${ISSM_DIR}/externalpackages/proj/install" # Set to location where external package should be installed
+
+## Environment
 #
 export CC=mpicc
@@ -24,6 +26,6 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
@@ -31,14 +33,14 @@
 
 # Unpack source
-tar -zxvf proj-$VER.tar.gz
+tar -zxvf proj-${VER}.tar.gz
 
 # Move source into 'src' directory
-mv proj-$VER/* src
-rm -rf proj-$VER
+mv proj-${VER}/* src
+rm -rf proj-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/proj/install" \
+	--prefix="${PREFIX}" \
 	--disable-dependency-tracking \
 	--enable-fast-install \
@@ -52,5 +54,6 @@
 else
 	make -j $1
-	make -j $1 check
+	mack -j $1 check
 	make -j $1 install
 fi
+
Index: /issm/trunk-jpl/externalpackages/proj/install-6.2-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/proj/install-6.2-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/proj/install-6.2-static.sh	(revision 25860)
@@ -6,4 +6,6 @@
 #
 VER="6.2.1"
+
+PREFIX="${ISSM_DIR}/externalpackages/proj/install" # Set to location where external package should be installed
 
 ## Environment
@@ -24,6 +26,6 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
@@ -31,14 +33,14 @@
 
 # Unpack source
-tar -zxvf proj-$VER.tar.gz
+tar -zxvf proj-${VER}.tar.gz
 
 # Move source into 'src' directory
-mv proj-$VER/* src
-rm -rf proj-$VER
+mv proj-${VER}/* src
+rm -rf proj-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/proj/install" \
+	--prefix="${PREFIX}" \
 	--disable-dependency-tracking \
 	--enable-fast-install \
Index: /issm/trunk-jpl/externalpackages/proj/install-6.2-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/proj/install-6.2-with_tests.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/proj/install-6.2-with_tests.sh	(revision 25860)
@@ -7,5 +7,7 @@
 VER="6.2.1"
 
-## Environnment
+PREFIX="${ISSM_DIR}/externalpackages/proj/install" # Set to location where external package should be installed
+
+## Environment
 #
 export CC=mpicc
@@ -24,6 +26,6 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
@@ -31,14 +33,14 @@
 
 # Unpack source
-tar -zxvf proj-$VER.tar.gz
+tar -zxvf proj-${VER}.tar.gz
 
 # Move source into 'src' directory
-mv proj-$VER/* src
-rm -rf proj-$VER
+mv proj-${VER}/* src
+rm -rf proj-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/proj/install" \
+	--prefix="${PREFIX}" \
 	--disable-dependency-tracking \
 	--enable-fast-install
@@ -51,5 +53,5 @@
 else
 	make -j $1
-	make -j $1 check
+	mack -j $1 check
 	make -j $1 install
 fi
Index: /issm/trunk-jpl/externalpackages/proj/install-6.2.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/proj/install-6.2.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/proj/install-6.2.sh	(revision 25860)
@@ -7,5 +7,7 @@
 VER="6.2.1"
 
-## Environnment
+PREFIX="${ISSM_DIR}/externalpackages/proj/install" # Set to location where external package should be installed
+
+## Environment
 #
 export CC=mpicc
@@ -24,6 +26,6 @@
 
 # Cleanup
-rm -rf install src
-mkdir install src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
 
 # Download source
@@ -31,14 +33,14 @@
 
 # Unpack source
-tar -zxvf proj-$VER.tar.gz
+tar -zxvf proj-${VER}.tar.gz
 
 # Move source into 'src' directory
-mv proj-$VER/* src
-rm -rf proj-$VER
+mv proj-${VER}/* src
+rm -rf proj-${VER}
 
 # Configure
 cd src
 ./configure \
-	--prefix="${ISSM_DIR}/externalpackages/proj/install" \
+	--prefix="${PREFIX}" \
 	--disable-dependency-tracking \
 	--enable-fast-install
Index: sm/trunk-jpl/externalpackages/proj/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/proj/install.sh	(revision 25859)
+++ 	(revision )
@@ -1,15 +1,0 @@
-#!/bin/bash
-set -eu
-
-#Some cleanup
-rm -rf install
-
-#Download trunk
-svn checkout http://svn.osgeo.org/metacrs/proj/trunk/proj install
-
-#compile
-cd install
-./configure --prefix="$ISSM_DIR/externalpackages/proj/install"
-make 
-make install
-cd ..
Index: /issm/trunk-jpl/externalpackages/semic/configs/surface_physics.f90.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/semic/configs/surface_physics.f90.patch	(revision 25860)
+++ /issm/trunk-jpl/externalpackages/semic/configs/surface_physics.f90.patch	(revision 25860)
@@ -0,0 +1,15 @@
+--- surface_physics.f90	2018-12-10 08:27:55.000000000 +0100
++++ my_surface_physics.f90	2018-12-10 08:58:14.000000000 +0100
+@@ -775,9 +775,9 @@
+         n_ksub        = par%n_ksub
+ 
+         ! Read parameters from input namelist file
+-        open(7,file=trim(filename))
+-        read(7,nml=surface_physics)
+-        close(7)
++        !open(7,file=trim(filename))
++        !read(7,nml=surface_physics)
++        !close(7)
+ !         write(*,nml=surface_physics)
+ 
+         ! Store local parameter values in output object
Index: /issm/trunk-jpl/externalpackages/semic/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/semic/install.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/semic/install.sh	(revision 25860)
@@ -2,9 +2,14 @@
 set -eu
 
-#Some cleanup
-rm -rf install src
-mkdir install
 
-#Download latest version
+## Constants
+#
+PREFIX="${ISSM_DIR}/externalpackages/semic/install" # Set to location where external package should be installed
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX}
+
+# Download source
 git clone https://github.com/mkrapp/semic.git src
 
@@ -22,5 +27,5 @@
 fi
 
-#Compile semic module utils.f90
+# Compile and install semic module utils.f90
 cd src/
 (
@@ -30,6 +35,6 @@
 FFLAGS=$FFLAGS
 install: libutils.\$(LIB_EXT)
-	cp libutils.\$(LIB_EXT) ../install/
-	cp utils.mod ../install/
+	cp libutils.\$(LIB_EXT) ${PREFIX}
+	cp utils.mod ${PREFIX}
 OBJECTS= utils.o
 libutils.\$(LIB_EXT): \$(OBJECTS)
@@ -44,8 +49,8 @@
 make
 
-# patch surface_physics
-patch surface_physics.f90 < ../surface_physics.f90.patch
+# Apply patch surface_physics
+patch surface_physics.f90 < ../configs/surface_physics.f90.patch
 
-#Compile semic module surface_physics.f90
+# Compile semic module surface_physics.f90
 (
 cat << EOF
@@ -54,6 +59,6 @@
 FFLAGS=$FFLAGS
 install: libsurface_physics.\$(LIB_EXT)
-	cp libsurface_physics.\$(LIB_EXT) ../install/
-	cp surface_physics.mod ../install/
+	cp libsurface_physics.\$(LIB_EXT) ${PREFIX}
+	cp surface_physics.mod ${PREFIX}
 OBJECTS= surface_physics.o
 libsurface_physics.\$(LIB_EXT): \$(OBJECTS)
Index: sm/trunk-jpl/externalpackages/semic/surface_physics.f90.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/semic/surface_physics.f90.patch	(revision 25859)
+++ 	(revision )
@@ -1,15 +1,0 @@
---- surface_physics.f90	2018-12-10 08:27:55.000000000 +0100
-+++ my_surface_physics.f90	2018-12-10 08:58:14.000000000 +0100
-@@ -775,9 +775,9 @@
-         n_ksub        = par%n_ksub
- 
-         ! Read parameters from input namelist file
--        open(7,file=trim(filename))
--        read(7,nml=surface_physics)
--        close(7)
-+        !open(7,file=trim(filename))
-+        !read(7,nml=surface_physics)
-+        !close(7)
- !         write(*,nml=surface_physics)
- 
-         ! Store local parameter values in output object
Index: /issm/trunk-jpl/externalpackages/triangle/install-linux-javascript.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/triangle/install-linux-javascript.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/triangle/install-linux-javascript.sh	(revision 25860)
@@ -10,5 +10,5 @@
 # Constants
 #
-INSTALL_DIR="install-javascript"
+export PREFIX="${ISSM_DIR}/triangle/install" # Set to location where external package should be installed
 
 # Environment
@@ -22,5 +22,5 @@
 
 # Source Emscripten environment
-source ${ISSM_DIR}/externalpackages/emscripten/install/emsdk_env.sh
+source ${EMSCRIPTEN_ROOT}/emsdk_env.sh
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/triangle/install-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/triangle/install-linux-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/triangle/install-linux-static.sh	(revision 25860)
@@ -5,9 +5,9 @@
 # Constants
 #
-INSTALL_DIR="install"
+export PREFIX="${ISSM_DIR}/externalpackages/triangle/install" # Set to location where external package should be installed
 
 # Cleanup
-rm -rf ${INSTALL_DIR} src
-mkdir ${INSTALL_DIR} ${INSTALL_DIR}/include ${INSTALL_DIR}/lib src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src
 
 # Download source
@@ -20,5 +20,5 @@
 cp configs/makefile src
 cp configs/triangle.h src
-cp configs/linux/configure.make src
+cp configs/mac/configure.make src
 
 # Compile
@@ -28,6 +28,6 @@
 # Install
 cd ..
-cp src/libtriangle.* ${INSTALL_DIR}/lib
-cp src/triangle.h ${INSTALL_DIR}/include
+cp src/libtriangle.* ${PREFIX}/lib
+cp src/triangle.h ${PREFIX}/include
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/triangle/install-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/triangle/install-linux.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/triangle/install-linux.sh	(revision 25860)
@@ -5,9 +5,9 @@
 # Constants
 #
-INSTALL_DIR="install"
+export PREFIX="${ISSM_DIR}/externalpackages/triangle/install" # Set to location where external package should be installed
 
 # Cleanup
-rm -rf ${INSTALL_DIR} src
-mkdir ${INSTALL_DIR} ${INSTALL_DIR}/include ${INSTALL_DIR}/lib src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src
 
 # Download source
@@ -20,5 +20,5 @@
 cp configs/makefile src
 cp configs/triangle.h src
-cp configs/linux/configure.make src
+cp configs/mac/configure.make src
 
 # Compile
@@ -28,6 +28,6 @@
 # Install
 cd ..
-cp src/libtriangle.* ${INSTALL_DIR}/lib
-cp src/triangle.h ${INSTALL_DIR}/include
+cp src/libtriangle.* ${PREFIX}/lib
+cp src/triangle.h ${PREFIX}/include
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/triangle/install-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/triangle/install-mac-static.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/triangle/install-mac-static.sh	(revision 25860)
@@ -5,9 +5,9 @@
 # Constants
 #
-INSTALL_DIR="install"
+export PREFIX="${ISSM_DIR}/externalpackages/triangle/install" # Set to location where external package should be installed
 
 # Cleanup
-rm -rf ${INSTALL_DIR} src
-mkdir ${INSTALL_DIR} ${INSTALL_DIR}/include ${INSTALL_DIR}/lib src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src
 
 # Download source
@@ -28,6 +28,6 @@
 # Install
 cd ..
-cp src/libtriangle.* ${INSTALL_DIR}/lib
-cp src/triangle.h ${INSTALL_DIR}/include
+cp src/libtriangle.* ${PREFIX}/lib
+cp src/triangle.h ${PREFIX}/include
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/triangle/install-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/triangle/install-mac.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/triangle/install-mac.sh	(revision 25860)
@@ -5,9 +5,9 @@
 # Constants
 #
-export INSTALL_DIR="${ISSM_DIR}/externalpackages/triangle/install"
+export PREFIX="${ISSM_DIR}/externalpackages/triangle/install" # Set to location where external package should be installed
 
 # Cleanup
-rm -rf ${INSTALL_DIR} src
-mkdir ${INSTALL_DIR} ${INSTALL_DIR}/include ${INSTALL_DIR}/lib src
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src
 
 # Download source
@@ -28,6 +28,6 @@
 # Install
 cd ..
-cp src/libtriangle.* ${INSTALL_DIR}/lib
-cp src/triangle.h ${INSTALL_DIR}/include
+cp src/libtriangle.* ${PREFIX}/lib
+cp src/triangle.h ${PREFIX}/include
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/triangle/makefile
===================================================================
--- /issm/trunk-jpl/externalpackages/triangle/makefile	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/triangle/makefile	(revision 25860)
@@ -35,5 +35,5 @@
 
 libtriangle.dylib: $(OBJECTS)
-	$(CC) $(CSWITCHES) $(TRILIBDEFS) -dynamiclib -install_name $(PREFIX)/$@ -o $@ triangle.c
+	$(CC) $(CSWITCHES) $(TRILIBDEFS) -dynamiclib -install_name ${PREFIX}/lib/$@ -o $@ triangle.c
 
 libtriangle.lib: $(OBJECTS)
Index: /issm/trunk-jpl/externalpackages/valgrind/install-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/valgrind/install-mac.sh	(revision 25859)
+++ /issm/trunk-jpl/externalpackages/valgrind/install-mac.sh	(revision 25860)
@@ -3,10 +3,14 @@
 
 
+## Constants
+#
+PREFIX="${ISSM_DIR}/externalpackages/valgrind/install" # Set to location where external package should be installed
+
 # Clean up
-rm -rf install
+rm -rf ${PREFIX}
 
 # Download development version (the current release never supports the latest 
 # OS X releases)
-git clone git://sourceware.org/git/valgrind.git install
+git clone git://sourceware.org/git/valgrind.git ${PREFIX}
 
 # Configure
@@ -14,5 +18,5 @@
 ./autogen.sh
 ./configure \
-	--prefix="$ISSM_DIR/externalpackages/valgrind/install" \
+	--prefix="${PREFIX}" \
 	--enable-only64bit
 
@@ -25,3 +29,2 @@
 	make install -j $1
 fi
-
Index: /issm/trunk-jpl/jenkins/aws-amazon_linux-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/aws-amazon_linux-solid_earth	(revision 25859)
+++ /issm/trunk-jpl/jenkins/aws-amazon_linux-solid_earth	(revision 25860)
@@ -42,5 +42,5 @@
 	netcdf			install-4.7-parallel.sh
 	proj			install-6.2.sh
-	gdal			install-3-python-netcdf.sh
+	gdal			install-3-python.sh
 	gshhg			install.sh
 	gmt				install-6-linux.sh
Index: /issm/trunk-jpl/jenkins/pine_island-mac-binaries-matlab
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-binaries-matlab	(revision 25859)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-binaries-matlab	(revision 25860)
@@ -51,8 +51,8 @@
 	netcdf		install-4.7-parallel-static.sh
 	proj		install-6.2-static.sh
-	gdal		install-3-netcdf-static.sh
+	gdal		install-3-static.sh
 	gshhg		install.sh
 	gmt			install-6-mac-static.sh
-	gmsh		install-4-mac-static.sh
+	gmsh		install-4-static.sh
 	triangle	install-mac-static.sh
 	chaco		install.sh
Index: /issm/trunk-jpl/jenkins/pine_island-mac-binaries-python
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-binaries-python	(revision 25859)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-binaries-python	(revision 25860)
@@ -52,5 +52,5 @@
 	gshhg		install.sh
 	gmt			install-6-mac-static.sh
-	gmsh		install-4-mac-python-static.sh
+	gmsh		install-4-static.sh
 	triangle	install-mac-static.sh
 	chaco		install.sh
Index: /issm/trunk-jpl/jenkins/pine_island-mac-dakota
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-dakota	(revision 25859)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-dakota	(revision 25860)
@@ -47,5 +47,5 @@
 	netcdf			install-4.7-parallel.sh
 	proj			install-6.2.sh
-	gdal			install-3-python-netcdf.sh
+	gdal			install-3-python.sh
 	gshhg			install.sh
 	gmt				install-6-mac.sh
Index: /issm/trunk-jpl/jenkins/pine_island-mac-full
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-full	(revision 25859)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-full	(revision 25860)
@@ -49,5 +49,5 @@
 	netcdf		install-4.7-parallel.sh
 	proj		install-6.2.sh
-	gdal		install-3-python-netcdf.sh
+	gdal		install-3-python.sh
 	gshhg		install.sh
 	gmt			install-6-mac.sh
Index: /issm/trunk-jpl/jenkins/pine_island-mac-full-valgrind
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-full-valgrind	(revision 25859)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-full-valgrind	(revision 25860)
@@ -49,5 +49,5 @@
 	netcdf		install-4.7-parallel.sh
 	proj		install-6.2.sh
-	gdal		install-3-python-netcdf.sh
+	gdal		install-3-python.sh
 	gshhg		install.sh
 	gmt			install-6-mac.sh
Index: /issm/trunk-jpl/jenkins/pine_island-mac-python
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-python	(revision 25859)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-python	(revision 25860)
@@ -44,5 +44,5 @@
 	netcdf		install-4.7-parallel.sh
 	proj		install-6.2.sh
-	gdal		install-3-python-netcdf.sh
+	gdal		install-3-python.sh
 	gshhg		install.sh
 	gmt			install-6-mac.sh
Index: /issm/trunk-jpl/jenkins/pine_island-mac-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-solid_earth	(revision 25859)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-solid_earth	(revision 25860)
@@ -47,5 +47,5 @@
 	netcdf			install-4.7-parallel.sh
 	proj			install-6.2.sh
-	gdal			install-3-python-netcdf.sh
+	gdal			install-3-python.sh
 	gshhg			install.sh
 	gmt				install-6-mac.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab	(revision 25859)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab	(revision 25860)
@@ -50,8 +50,8 @@
 	netcdf		install-4.7-parallel-static.sh
 	proj		install-6.2-static.sh
-	gdal		install-3-netcdf-static.sh
+	gdal		install-3-static.sh
 	gshhg		install.sh
 	gmt			install-6-linux-static.sh
-	gmsh		install-4-linux-static.sh
+	gmsh		install-4-static.sh
 	triangle	install-linux-static.sh
 	chaco		install.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python	(revision 25859)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python	(revision 25860)
@@ -52,5 +52,5 @@
 	gshhg		install.sh
 	gmt			install-6-linux-static.sh
-	gmsh		install-4-linux-static.sh
+	gmsh		install-4-static.sh
 	triangle	install-linux-static.sh
 	chaco		install.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-dakota
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-dakota	(revision 25859)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-dakota	(revision 25860)
@@ -49,5 +49,5 @@
 	netcdf			install-4.7-parallel.sh
 	proj			install-6.2.sh
-	gdal			install-3-python-netcdf.sh
+	gdal			install-3-python.sh
 	gshhg			install.sh
 	gmt				install-6-linux.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-full
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-full	(revision 25859)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-full	(revision 25860)
@@ -49,5 +49,5 @@
 	netcdf		install-4.7-parallel.sh
 	proj		install-6.2.sh
-	gdal		install-3-python-netcdf.sh
+	gdal		install-3-python.sh
 	gshhg		install.sh
 	gmt			install-6-linux.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-full-valgrind
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-full-valgrind	(revision 25859)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-full-valgrind	(revision 25860)
@@ -49,5 +49,5 @@
 	netcdf		install-4.7-parallel.sh
 	proj		install-6.2.sh
-	gdal		install-3-python-netcdf.sh
+	gdal		install-3-python.sh
 	gshhg		install.sh
 	gmt			install-6-linux.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-python
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-python	(revision 25859)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-python	(revision 25860)
@@ -43,8 +43,8 @@
 	netcdf		install-4.7-parallel.sh
 	proj		install-6.2.sh
-	gdal		install-3-python-netcdf.sh
+	gdal		install-3-python.sh
 	gshhg		install.sh
 	gmt			install-6-linux.sh
-	gmsh		install-4.sh
+	gmsh		install-4-linux.sh
 	triangle	install-linux.sh
 	chaco		install.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth	(revision 25859)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth	(revision 25860)
@@ -47,8 +47,8 @@
 	netcdf			install-4.7-parallel.sh
 	proj			install-6.2.sh
-	gdal			install-3-python-netcdf.sh
+	gdal			install-3-python.sh
 	gshhg			install.sh
 	gmt				install-6-linux.sh
-	gmsh			install-4.sh
+	gmsh			install-4-linux.sh
 	triangle		install-linux.sh
 	chaco			install.sh
Index: /issm/trunk-jpl/src/m/coordsystems/gmtmask.m
===================================================================
--- /issm/trunk-jpl/src/m/coordsystems/gmtmask.m	(revision 25859)
+++ /issm/trunk-jpl/src/m/coordsystems/gmtmask.m	(revision 25860)
@@ -35,35 +35,10 @@
 	dlmwrite(filename_all,[long lat (1:nv)'],'delimiter','\t','precision',10);
 
-	%Avoid bypassing of the ld library path by Matlab (:()
-	%
-	% TODO: Do we really need this (we can/already set it in etc/environment.sh)?
-	if ismac,
-		dyld_library_path_old=getenv('DYLD_LIBRARY_PATH');
-		setenv('DYLD_LIBRARY_PATH',[ issmdir '/externalpackages/curl/install/lib:' issmdir '/externalpackages/hdf5/install/lib:' issmdir '/externalpackages/netcdf/install/lib' ]);
-	end
-
-	%Find path to gmt, list all possible known paths to gmt (you may need to add yours to the list)
-   gmtpaths = {[issmdir '/bin/gmt'],[issmdir '/externalpackages/gmt/install/bin/gmt'],'/Applications/GMT-5.4.3.app/Contents/Resources/bin/gmt'};
-   gmtpath = '';
-   for i=gmtpaths
-      if exist(i{1},'file'),
-         gmtpath = i{1};
-			break;
-      end
-   end
-   if isempty(gmtpath),
-      error('gmt not found! Make sure it is properly installed, or add its path to this file.');
-   end
-   
 	%figure out which vertices are on the ocean, which one on the continent:
-	[status,result] = system([gmtpath ' gmtselect ./' filename_all ' -h0 -Df -R0/360/-90/90  -A0 -JQ180/200 -Nk/s/s/k/s > ./' filename_oce]);
+	[status,result] = system(['gmtselect ./' filename_all ' -h0 -Df -R0/360/-90/90  -A0 -JQ180/200 -Nk/s/s/k/s > ./' filename_oce]);
 	if status~=0,
 		error(result);
 	end
 
-	%reset DYLD_LIBRARY_PATH to what it was: 
-	if ismac,
-		setenv('DYLD_LIBRARY_PATH',dyld_library_path_old);
-	end
 	%read the con_vertices.txt file and flag our mesh vertices on the continent
 	fid=fopen(['./' filename_oce],'r');
Index: /issm/trunk-jpl/src/m/coordsystems/gmtmask.py
===================================================================
--- /issm/trunk-jpl/src/m/coordsystems/gmtmask.py	(revision 25859)
+++ /issm/trunk-jpl/src/m/coordsystems/gmtmask.py	(revision 25860)
@@ -44,41 +44,6 @@
     np.savetxt('./all_vertices.txt', np.transpose([long, lat, np.arange(1, nv + 1)]), delimiter='\t', fmt='%.10f')
 
-    #Avoid bypassing of the ld library path by Matlab (:()
-    issm_dir = issmdir()
-
-    try:
-        ismac
-    except NameError:
-        ismac = False
-
-    # TODO: Do we really need this (we can/already set it in etc/environment.sh)?
-    if ismac:
-        dyld_library_path_old = os.getenv('DYLD_LIBRARY_PATH')
-        os.putenv('DYLD_LIBRARY_PATH', issm_dir + '/externalpackages/curl/install/lib:' + issm_dir + '/externalpackages/hdf5/install/lib:' + issm_dir + '/externalpackages/netcdf/install/lib')
-
-    #Find path to gmt (you may need to add yours to the list).
-    #
-    # NOTE: Assumes gmtselect is also in this directory.
-    #
-    gmtpaths = [
-        issm_dir + '/bin/gmt',
-        issm_dir + '/externalpackages/gmt/install/bin/gmt',
-        '/Applications/GMT-5.4.3.app/Contents/Resources/bin/gmt'
-    ]
-    gmtpath = ''
-    for i in range(len(gmtpaths)):
-        if os.path.isfile(gmtpaths[i]):
-            gmtpath = gmtpaths[i]
-            break
-
-    if gmtpath == '':
-        raise Exception('gmt not found! Make sure it is properly installed, or add its path to this file.')
-
     #figure out which vertices are on the ocean, which one on the continent:
-    subprocess.call(gmtpath + ' gmtselect ./ all_vertices.txt -h0 -Df -R0/360/-90/90 -A0 -JQ180/200 -Nk/s/s/k/s > ./oce_vertices.txt', shell=True)
-
-    #reset DYLD_LIBRARY_PATH to what it was:
-    if ismac:
-        os.putenv('DYLD_LIBRARY_PATH', dyld_library_path_old)
+    subprocess.call('gmtselect ./ all_vertices.txt -h0 -Df -R0/360/-90/90 -A0 -JQ180/200 -Nk/s/s/k/s > ./oce_vertices.txt', shell=True)
 
     #read the con_vertices.txt file and flag our mesh vertices on the continent
Index: /issm/trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.m
===================================================================
--- /issm/trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.m	(revision 25859)
+++ /issm/trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.m	(revision 25860)
@@ -15,23 +15,6 @@
 %      md.mesh=gmshplanet('radius',6000,'resolution',100);
 
-	%Find path to gmsh
-	paths = {...
-		[issmdir() 'bin/gmsh'],...
-		[issmdir() 'externalpackages/gmsh/install/gmsh']...
-	};
-	disp(paths{1})
-	gmshpath = '';
-	for i=paths
-		if exist(i{1},'file'),
-			gmshpath = i{1};
-			break;
-		end
-	end
-	if isempty(gmshpath),
-		error('gmsh not found, make sure it is properly installed');
-	end
-
 	% Get Gmsh version
-	[s,r]=system([gmshpath ' -info 2>&1 | command grep ''Version'' | sed -e ''s/Version[[:blank:]]*:[[:blank:]]//'' | cut -d ''.'' -f1']);
+	[s,r]=system(['gmsh -info 2>&1 | command grep ''Version'' | sed -e ''s/Version[[:blank:]]*:[[:blank:]]//'' | cut -d ''.'' -f1']);
 	if s~=0,
 		error(r);
@@ -143,7 +126,7 @@
 	%
 	if  exist(options,'refine'),
-		system([gmshpath ' -tol 1e-8 -2 -format msh2 sphere.geo -bgm sphere.pos']);
+		system(['gmsh -tol 1e-8 -2 -format msh2 sphere.geo -bgm sphere.pos']);
 	else
-		system([gmshpath ' -tol 1e-8 -2 -format msh2 sphere.geo']);
+		system(['gmsh -tol 1e-8 -2 -format msh2 sphere.geo']);
 	end
 
