Index: /issm/trunk-jpl/etc/environment.sh
===================================================================
--- /issm/trunk-jpl/etc/environment.sh	(revision 28196)
+++ /issm/trunk-jpl/etc/environment.sh	(revision 28197)
@@ -300,4 +300,5 @@
 MPI_ROOT_TEMP="${ISSM_EXT_DIR}/mpich/install"
 if [ -d "${MPI_ROOT_TEMP}" ]; then
+	export MPI_ROOT=${MPI_ROOT_TEMP}
 	export MPI_DIR=${MPI_ROOT_TEMP}
 	export MPI_HOME=${MPI_ROOT_TEMP} # Used in installation of Dakota
@@ -441,5 +442,5 @@
 	# MPICH
 	if [ -f "${PETSC_ROOT}/bin/mpiexec" ]; then
-		MPI_ROOT=${PETSC_ROOT}
+		export MPI_ROOT=${PETSC_ROOT}
 		export MPI_DIR=${MPI_ROOT}
 		export MPI_HOME=${MPI_ROOT} # Used in installation of Dakota
Index: /issm/trunk-jpl/externalpackages/curl/install-7-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-linux-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-linux-static.sh	(revision 28197)
@@ -38,5 +38,6 @@
 	--without-nghttp2 \
 	--without-brotli \
-	--without-librtmp
+	--without-librtmp \
+	--without-ssl
 
 # Compile and install
Index: sm/trunk-jpl/externalpackages/curl/install-7-linux-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-linux-with_tests.sh	(revision 28196)
+++ 	(revision )
@@ -1,44 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-## Constants
-#
-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
-
-# Cleanup
-rm -rf ${PREFIX} src
-mkdir -p ${PREFIX} src
-
-# Move source to 'src' directory
-mv curl-${VER}/* src
-rm -rf curl-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-static \
-	--disable-dependency-tracking \
-	--disable-manual \
-	--disable-verbose \
-	--with-zlib="${ZLIB_ROOT}"
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make test
-	make install
-else
-	make -j $1
-	make -j $1 test
-	make -j $1 install
-fi
Index: /issm/trunk-jpl/externalpackages/curl/install-7-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-linux.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-linux.sh	(revision 28197)
@@ -31,5 +31,6 @@
 	--disable-manual \
 	--disable-verbose \
-	--with-zlib="${ZLIB_ROOT}"
+	--with-zlib="${ZLIB_ROOT}" \
+	--without-ssl
 
 # Compile and install
Index: /issm/trunk-jpl/externalpackages/curl/install-7-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-mac-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-mac-static.sh	(revision 28197)
@@ -43,5 +43,5 @@
 	--without-brotli \
 	--without-librtmp \
-	--with-secure-transport
+	--without-ssl
 
 # Compile and install
Index: /issm/trunk-jpl/externalpackages/curl/install-7-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/curl/install-7-mac.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/curl/install-7-mac.sh	(revision 28197)
@@ -36,5 +36,5 @@
 	--disable-verbose \
 	--with-zlib="${ZLIB_ROOT}" \
-	--with-secure-transport
+	--without-ssl
 
 # Compile and install
Index: /issm/trunk-jpl/externalpackages/gdal/install-3-python-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-python-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gdal/install-3-python-static.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -9,13 +9,12 @@
 ## Constants
 #
-VER="3.5.3"
+VER="3.8.4"
+
+PREFIX="${ISSM_DIR}/externalpackages/gdal/install"
 
 ## Environment
 #
-export CC=mpicc
-export CXXFLAGS="-std=c++11"
-export CXX=mpicxx
-export LIBS="-lsqlite3 -lhdf5_hl -lhdf5"
-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 CFLAGS="${CFLAGS} -w"
+export CXXFLAGS="${CXXFLAGS} -w"
 
 # Cleanup
@@ -24,5 +23,5 @@
 
 # Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
+${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
 
 # Unpack source
@@ -35,22 +34,29 @@
 # Configure
 cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--enable-fast-install \
-	--disable-shared \
-	--without-ld-shared \
-	--enable-static \
-	--with-pic \
-	--with-python="python3" \
-	--with-curl="${CURL_ROOT}/bin/curl-config" \
-	--with-hdf5="${HDF5_ROOT}" \
-	--with-jpeg=internal \
-	--with-libz="${ZLIB_ROOT}" \
-	--with-netcdf="${NETCDF_ROOT}" \
-	--with-pcre=no \
-	--with-pg=no \
-	--with-png=internal \
-	--with-proj="${PROJ_ROOT}" \
-	--with-zstd=no
+cmake \
+	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
+	-DCMAKE_BUILD_TYPE=Release \
+	-DCMAKE_C_COMPILER=mpicc \
+	-DCMAKE_CXX_COMPILER=mpicxx \
+	-DBUILD_SHARED_LIBS=OFF \
+	-DBUILD_PYTHON_BINDINGS=ON \
+	-DGDAL_SET_INSTALL_RELATIVE_RPATH=ON \
+	-DCURL_INCLUDE_DIR="${CURL_ROOT}/include" \
+	-DCURL_LIBRARY_RELEASE="${CURL_ROOT}/lib/libcurl.a" \
+	-DCURL_USE_STATIC_LIBS=ON \
+	-DGDAL_USE_JPEG_INTERNAL=ON \
+	-DGDAL_USE_JPEG12_INTERNAL=ON \
+	-DNETCDF_INCLUDE_DIR="${NETCDF_ROOT}/include" \
+	-DNETCDF_LIBRARY="${NETCDF_ROOT}/lib/libnetcdf.a" \
+	-DGDAL_USE_OPENJPEG=OFF \
+	-DGDAL_USE_OPENSSL=OFF \
+	-DGDAL_USE_PNG_INTERNAL=ON \
+	-DPROJ_INCLUDE_DIR="${PROJ_ROOT}/include" \
+	-DPROJ_LIBRARY_RELEASE="${PROJ_ROOT}/lib/libproj.a" \
+	-DGDAL_USE_TIFF_INTERNAL=ON \
+	-DZLIB_INCLUDE_DIR="${ZLIB_ROOT}/include" \
+	-DZLIB_LIBRARY_RELEASE="${ZLIB_ROOT}/lib/libz.a" \
+	-DZLIB_IS_STATIC=ON \
+	-DGDAL_USE_ZSTD=OFF
 
 # Compile and install
Index: /issm/trunk-jpl/externalpackages/gdal/install-3-python.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-python.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gdal/install-3-python.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -9,9 +9,12 @@
 ## Constants
 #
-VER="3.5.3"
+VER="3.8.4"
+
+PREFIX="${ISSM_DIR}/externalpackages/gdal/install"
 
 ## Environment
 #
-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.
+export CFLAGS="${CFLAGS} -w"
+export CXXFLAGS="${CXXFLAGS} -w"
 
 # Cleanup
@@ -20,5 +23,5 @@
 
 # Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
+${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
 
 # Unpack source
@@ -31,13 +34,27 @@
 # Configure
 cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--enable-fast-install \
-	--with-python="python3" \
-	--with-curl="${CURL_ROOT}/bin/curl-config" \
-	--with-hdf5="${HDF5_ROOT}" \
-	--with-libz="${ZLIB_ROOT}" \
-	--with-netcdf="${NETCDF_ROOT}" \
-	--with-proj="${PROJ_ROOT}"
+cmake \
+	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
+	-DCMAKE_BUILD_TYPE=Release \
+	-DCMAKE_C_COMPILER=mpicc \
+	-DCMAKE_CXX_COMPILER=mpicxx \
+	-DBUILD_SHARED_LIBS=ON \
+	-DBUILD_PYTHON_BINDINGS=ON \
+	-DGDAL_SET_INSTALL_RELATIVE_RPATH=ON \
+	-DCURL_INCLUDE_DIR="${CURL_ROOT}/include" \
+	-DCURL_LIBRARY_RELEASE="-L${CURL_ROOT}/lib -lcurl" \
+	-DGDAL_USE_JPEG_INTERNAL=ON \
+	-DGDAL_USE_JPEG12_INTERNAL=ON \
+	-DNETCDF_INCLUDE_DIR="${NETCDF_ROOT}/include" \
+	-DNETCDF_LIBRARY="-L${NETCDF_ROOT}/lib -lnetcdf" \
+	-DGDAL_USE_OPENJPEG=OFF \
+	-DGDAL_USE_OPENSSL=OFF \
+	-DGDAL_USE_PNG_INTERNAL=ON \
+	-DPROJ_INCLUDE_DIR="${PROJ_ROOT}/include" \
+	-DPROJ_LIBRARY_RELEASE="-L${PROJ_ROOT}/lib -lproj" \
+	-DGDAL_USE_TIFF_INTERNAL=ON \
+	-DZLIB_INCLUDE_DIR="${ZLIB_ROOT}/include" \
+	-DZLIB_LIBRARY_RELEASE="-L${ZLIB_ROOT}/lib -lz" \
+	-DGDAL_USE_ZSTD=OFF
 
 # Compile and install
Index: /issm/trunk-jpl/externalpackages/gdal/install-3-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gdal/install-3-static.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -9,13 +9,12 @@
 ## Constants
 #
-VER="3.5.3"
+VER="3.8.4"
+
+PREFIX="${ISSM_DIR}/externalpackages/gdal/install"
 
 ## Environment
 #
-export CC=mpicc
-export CXXFLAGS="-std=c++11"
-export CXX=mpicxx
-export LIBS="-lsqlite3 -lhdf5_hl -lhdf5"
-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.
+export CFLAGS="${CFLAGS} -w"
+export CXXFLAGS="${CXXFLAGS} -w"
 
 # Cleanup
@@ -24,5 +23,5 @@
 
 # Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
+${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
 
 # Unpack source
@@ -35,21 +34,29 @@
 # Configure
 cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--enable-fast-install \
-	--disable-shared \
-	--without-ld-shared \
-	--enable-static \
-	--with-pic \
-	--with-curl="${CURL_ROOT}/bin/curl-config" \
-	--with-hdf5="${HDF5_ROOT}" \
-	--with-jpeg=internal \
-	--with-libz="${ZLIB_ROOT}" \
-	--with-netcdf="${NETCDF_ROOT}" \
-	--with-pcre=no \
-	--with-pg=no \
-	--with-png=internal \
-	--with-proj="${PROJ_ROOT}" \
-	--with-zstd=no
+cmake \
+	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
+	-DCMAKE_BUILD_TYPE=Release \
+	-DCMAKE_C_COMPILER=mpicc \
+	-DCMAKE_CXX_COMPILER=mpicxx \
+	-DBUILD_SHARED_LIBS=OFF \
+	-DBUILD_PYTHON_BINDINGS=OFF \
+	-DGDAL_SET_INSTALL_RELATIVE_RPATH=ON \
+	-DCURL_INCLUDE_DIR="${CURL_ROOT}/include" \
+	-DCURL_LIBRARY_RELEASE="${CURL_ROOT}/lib/libcurl.a" \
+	-DCURL_USE_STATIC_LIBS=ON \
+	-DGDAL_USE_JPEG_INTERNAL=ON \
+	-DGDAL_USE_JPEG12_INTERNAL=ON \
+	-DNETCDF_INCLUDE_DIR="${NETCDF_ROOT}/include" \
+	-DNETCDF_LIBRARY="${NETCDF_ROOT}/lib/libnetcdf.a" \
+	-DGDAL_USE_OPENJPEG=OFF \
+	-DGDAL_USE_OPENSSL=OFF \
+	-DGDAL_USE_PNG_INTERNAL=ON \
+	-DPROJ_INCLUDE_DIR="${PROJ_ROOT}/include" \
+	-DPROJ_LIBRARY_RELEASE="${PROJ_ROOT}/lib/libproj.a" \
+	-DGDAL_USE_TIFF_INTERNAL=ON \
+	-DZLIB_INCLUDE_DIR="${ZLIB_ROOT}/include" \
+	-DZLIB_LIBRARY_RELEASE="${ZLIB_ROOT}/lib/libz.a" \
+	-DZLIB_IS_STATIC=ON \
+	-DGDAL_USE_ZSTD=OFF
 
 # Compile and install
Index: /issm/trunk-jpl/externalpackages/gdal/install-3.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gdal/install-3.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gdal/install-3.sh	(revision 28197)
@@ -1,13 +1,20 @@
 #!/bin/bash
-set -eu
+set -e
 
+
+## TODO
+#	- May want to supply path to Python instead of, effectively, using result of `which python`
+#
 
 ## Constants
 #
-VER="3.5.3"
+VER="3.8.4"
+
+PREFIX="${ISSM_DIR}/externalpackages/gdal/install"
 
 ## Environment
 #
-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.
+export CFLAGS="${CFLAGS} -w"
+export CXXFLAGS="${CXXFLAGS} -w"
 
 # Cleanup
@@ -16,5 +23,5 @@
 
 # Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
+${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
 
 # Unpack source
@@ -27,10 +34,27 @@
 # Configure
 cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--enable-fast-install \
-	--with-libz="${ZLIB_ROOT}" \
-	--with-netcdf="${NETCDF_ROOT}" \
-	--with-proj="${PROJ_ROOT}"
+cmake \
+	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
+	-DCMAKE_BUILD_TYPE=Release \
+	-DCMAKE_C_COMPILER=mpicc \
+	-DCMAKE_CXX_COMPILER=mpicxx \
+	-DBUILD_SHARED_LIBS=ON \
+	-DBUILD_PYTHON_BINDINGS=OFF \
+	-DGDAL_SET_INSTALL_RELATIVE_RPATH=ON \
+	-DCURL_INCLUDE_DIR="${CURL_ROOT}/include" \
+	-DCURL_LIBRARY_RELEASE="-L${CURL_ROOT}/lib -lcurl" \
+	-DGDAL_USE_JPEG_INTERNAL=ON \
+	-DGDAL_USE_JPEG12_INTERNAL=ON \
+	-DNETCDF_INCLUDE_DIR="${NETCDF_ROOT}/include" \
+	-DNETCDF_LIBRARY="-L${NETCDF_ROOT}/lib -lnetcdf" \
+	-DGDAL_USE_OPENJPEG=OFF \
+	-DGDAL_USE_OPENSSL=OFF \
+	-DGDAL_USE_PNG_INTERNAL=ON \
+	-DPROJ_INCLUDE_DIR="${PROJ_ROOT}/include" \
+	-DPROJ_LIBRARY_RELEASE="-L${PROJ_ROOT}/lib -lproj" \
+	-DGDAL_USE_TIFF_INTERNAL=ON \
+	-DZLIB_INCLUDE_DIR="${ZLIB_ROOT}/include" \
+	-DZLIB_LIBRARY_RELEASE="-L${ZLIB_ROOT}/lib -lz" \
+	-DGDAL_USE_ZSTD=OFF
 
 # Compile and install
Index: sm/trunk-jpl/externalpackages/gmsh/install-3.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-3.sh	(revision 28196)
+++ 	(revision )
@@ -1,44 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-## Constants
-#
-VER="3.0.5"
-
-# 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
-
-# Configure
-cd install
-cmake ../src \
-	-DCMAKE_INSTALL_PREFIX="${ISSM_DIR}/externalpackages/gmsh/install" \
-	-DENABLE_MPI=1 \
-	-DENABLE_BUILD_DYNAMIC=1 \
-	-DENABLE_BUILD_SHARED=1
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
-
-# Make necessary link on RHEL
-if [[ -d ${PREFIX}/lib64 && ! -d ${PREFIX}/lib ]]; then
-	cd ${PREFIX}
-	ln -s ./lib64 ./lib
-fi
Index: /issm/trunk-jpl/externalpackages/gmsh/install-4-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-linux-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmsh/install-4-linux-static.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -25,7 +25,11 @@
 #
 echo "Finding libgfortran..."
-LIBGFORTRAN=$(find /usr -name libgfortran* 2>/dev/null | egrep -n libgfortran.a | sed "s/[0-9]*://g" | head -1)
+LIBGFORTRAN=$(find /usr -name libgfortran.* 2>/dev/null | egrep -n libgfortran.a | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
-LIBGCC=$(find ${LIBGFORTRAN_ROOT} -name libgcc* 2>/dev/null | egrep -n libgcc.a | sed "s/[0-9]*://g" | head -1)
+LIBGCC=$(find ${LIBGFORTRAN_ROOT} -name libgcc.* 2>/dev/null | egrep -n libgcc.a | sed "s/[0-9]*://g" | head -1)
+
+# Environment
+#
+export CXXFLAGS="${CXXFLAGS} -w"
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/gmsh/install-4-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-linux.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmsh/install-4-linux.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -25,6 +25,10 @@
 #
 echo "Finding libgfortran..."
-LIBGFORTRAN=$(find /usr -name libgfortran* 2>/dev/null | egrep -n libgfortran.a | sed "s/[0-9]*://g" | head -1)
+LIBGFORTRAN=$(find /usr -name libgfortran.* 2>/dev/null | egrep -n libgfortran.a | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
+
+# Environment
+#
+export CXXFLAGS="${CXXFLAGS} -w"
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/gmsh/install-4-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-mac-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmsh/install-4-mac-static.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -27,7 +27,11 @@
 #
 echo "Finding libgfortran..."
-LIBGFORTRAN=$(find /usr /opt -name libgfortran* 2>/dev/null | egrep -n libgfortran.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+LIBGFORTRAN=$(find /usr /opt -name libgfortran.* 2>/dev/null | egrep -n libgfortran.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
-LIBGCC=$(find ${LIBGFORTRAN_ROOT} -name libgcc* 2>/dev/null | egrep -n libgcc.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+LIBGCC=$(find ${LIBGFORTRAN_ROOT} -name libgcc.* 2>/dev/null | egrep -n libgcc.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+
+# Environment
+#
+export CXXFLAGS="${CXXFLAGS} -w"
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/gmsh/install-4-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmsh/install-4-mac.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmsh/install-4-mac.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -25,6 +25,10 @@
 #
 echo "Finding libgfortran..."
-LIBGFORTRAN=$(find /usr /opt -name libgfortran* 2>/dev/null | egrep -n libgfortran.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+LIBGFORTRAN=$(find /usr /opt -name libgfortran.* 2>/dev/null | egrep -n libgfortran.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
+
+# Environment
+#
+export CXXFLAGS="${CXXFLAGS} -w"
 
 # Cleanup
Index: /issm/trunk-jpl/externalpackages/gmt/configs/6.5/mac/cmake/modules/ConfigCMake.cmake.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/configs/6.5/mac/cmake/modules/ConfigCMake.cmake.patch	(revision 28197)
+++ /issm/trunk-jpl/externalpackages/gmt/configs/6.5/mac/cmake/modules/ConfigCMake.cmake.patch	(revision 28197)
@@ -0,0 +1,11 @@
+--- ./src/cmake/modules/ConfigCMake.cmake	2024-01-07 01:32:40
++++ ./ConfigCMake.cmake	2024-03-23 11:21:06
+@@ -195,7 +195,7 @@
+ 			# CMP0042: CMake 3.0: MACOSX_RPATH is enabled by default
+ 			set (CMAKE_MACOSX_RPATH ON)
+ 			set (CMAKE_INSTALL_NAME_DIR @rpath)
+-			set (CMAKE_INSTALL_RPATH "@rpath;@executable_path/${_rpath}")
++			set (CMAKE_INSTALL_RPATH "@rpath;@executable_path/${_rpath};${LIBGFORTRAN_ROOT}")
+ 		else (APPLE)
+ 			# relative RPATH on Linux, Solaris, etc.
+ 			set (CMAKE_INSTALL_RPATH "\$ORIGIN/${_rpath}")
Index: /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindGDAL.cmake.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindGDAL.cmake.patch	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindGDAL.cmake.patch	(revision 28197)
@@ -1,4 +1,4 @@
---- src/cmake/modules/FindGDAL.cmake	2024-03-20 19:47:15
-+++ FindGDAL.cmake	2024-03-20 19:55:54
+--- src/cmake/modules/FindGDAL.cmake	2024-01-07 01:32:40
++++ FindGDAL.cmake	2024-03-31 19:36:43
 @@ -81,12 +81,25 @@
  			ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
@@ -31,5 +31,5 @@
  
  find_path (GDAL_INCLUDE_DIR gdal.h
-@@ -129,6 +142,46 @@
+@@ -129,6 +142,57 @@
  	/usr/local
  )
@@ -73,6 +73,18 @@
 +		list (APPEND GDAL_LIBRARY ${_found_lib_${_extralib}})
 +	endforeach (_extralib)
++	# Retrieve static library names
++	string(REGEX MATCHALL "[-_/a-zA-Z0-9]+\\.a" _gdal_extra_static_lib "${GDAL_EXTRA_LIBS}")
++	foreach (_extralib ${_gdal_extra_static_lib})
++		find_library (${_extralib}
++			NAMES ${_extralib}
++			PATH_SUFFIXES lib
++			PATHS 
++			${_gdal_extra_libpath}
++		)
++		list (APPEND GDAL_LIBRARY ${_extralib})
++	endforeach (_extralib)
 +endif (GDAL_EXTRA_LIBS)
 +
  include (FindPackageHandleStandardArgs)
  find_package_handle_standard_args (GDAL DEFAULT_MSG GDAL_LIBRARY GDAL_INCLUDE_DIR)
+ 
Index: /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindGLIB.cmake.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindGLIB.cmake.patch	(revision 28197)
+++ /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindGLIB.cmake.patch	(revision 28197)
@@ -0,0 +1,59 @@
+--- src/cmake/modules/FindGLIB.cmake	2024-01-07 01:32:40
++++ FindGLIB.cmake	2024-04-01 19:59:40
+@@ -46,15 +46,50 @@
+ find_package(PkgConfig)
+ pkg_check_modules(PC_GLIB QUIET glib-2.0)
+ 
+-find_library(GLIB_LIBRARIES
+-    NAMES glib-2.0
+-    HINTS ${PC_GLIB_LIBDIR}
+-          ${PC_GLIB_LIBRARY_DIRS}
+-)
++if (GLIB_LIBRARY)
++    # Ensure -l is preceded by whitespace to not match
++    # '-l' in '-L/usr/lib/x86_64-linux-gnu/hdf5/serial'
++    string (REGEX MATCHALL "(^| )-l[^ ]+" _glib_lib_dashl ${GLIB_LIBRARY})
++    string (REGEX REPLACE "(^| )-l" "" _glib_lib "${_glib_lib_dashl}")
++    string (REGEX MATCHALL "(^| )-L[^ ]+" _glib_lib_dashL ${GLIB_LIBRARY})
++    string (REGEX REPLACE "(^| )-L" "" _glib_libpath "${_glib_lib_dashL}")
++    foreach (_lib ${_glib_lib})
++        find_library (_found_lib_${_lib}
++            NAMES ${_lib}
++            PATH_SUFFIXES lib
++            PATHS 
++            ${_glib_libpath}
++        )
++        list (APPEND GLIB_LIBRARIES ${_found_lib_${_lib}})
++    endforeach (_lib)
++    # Retrieve static library names
++    string(REGEX MATCHALL "[-_/\\.a-zA-Z0-9]+\\.a" _glib_static_lib "${GLIB_LIBRARY}")
++    foreach (_lib ${_glib_static_lib})
++        find_library (${_lib}
++            NAMES ${_lib}
++            PATH_SUFFIXES lib
++            PATHS 
++            ${_glib_libpath}
++        )
++        list (APPEND GLIB_LIBRARIES ${_lib})
++    endforeach (_lib)
++    # Retrieve Framework names
++    string(REGEX MATCHALL "-framework [a-zA-Z0-9]+" _glib_framework "${GLIB_LIBRARY}")
++    foreach (_framework ${_glib_framework})
++        list (APPEND GLIB_LIBRARIES ${_framework})
++    endforeach (_framework)
++else ()
++    find_library(GLIB_LIBRARIES
++        NAMES glib-2.0
++        HINTS ${PC_GLIB_LIBDIR}
++              ${PC_GLIB_LIBRARY_DIRS}
++    )
+ 
++    get_filename_component(_GLIB_LIBRARY_DIR ${GLIB_LIBRARIES} PATH)
++endif (GLIB_LIBRARY)
++
+ # Files in glib's main include path may include glibconfig.h, which,
+ # for some odd reason, is normally in $LIBDIR/glib-2.0/include.
+-get_filename_component(_GLIB_LIBRARY_DIR ${GLIB_LIBRARIES} PATH)
+ find_path(GLIBCONFIG_INCLUDE_DIR
+     NAMES glibconfig.h
+     HINTS ${PC_LIBDIR} ${PC_LIBRARY_DIRS} ${_GLIB_LIBRARY_DIR}
Index: /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindNETCDF.cmake.patch
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindNETCDF.cmake.patch	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmt/configs/6.5/static/cmake/modules/FindNETCDF.cmake.patch	(revision 28197)
@@ -1,4 +1,4 @@
---- src/cmake/modules/FindNETCDF.cmake  2024-01-07 01:32:40
-+++ FindNETCDF.cmake     2024-03-20 19:01:13
+--- src/cmake/modules/FindNETCDF.cmake	2024-01-07 01:32:40
++++ FindNETCDF.cmake	2024-03-31 15:12:47
 @@ -67,6 +67,23 @@
                      OUTPUT_VARIABLE NETCDF_PREFIX_DIR
@@ -65,7 +65,7 @@
 +    endforeach (_extralib)
 +    # Retrieve static library names
-+    string(REGEX MATCHALL "[a-zA-Z0-9]+\\.a" _netcdf_extra_static_lib "${NETCDF_EXTRA_LIBS}")
++    string(REGEX MATCHALL "[-_/a-zA-Z0-9]+\\.a" _netcdf_extra_static_lib "${NETCDF_EXTRA_LIBS}")
 +    foreach (_extralib ${_netcdf_extra_static_lib})
-+        find_library (_found_lib_${_extralib}
++        find_library (${_extralib}
 +            NAMES ${_extralib}
 +            PATH_SUFFIXES lib
@@ -73,5 +73,5 @@
 +            ${_netcdf_extra_libpath}
 +        )
-+        list (APPEND NETCDF_LIBRARY ${_found_lib_${_extralib}})
++        list (APPEND NETCDF_LIBRARY ${_extralib})
 +    endforeach (_extralib)
 +endif (NETCDF_EXTRA_LIBS)
Index: /issm/trunk-jpl/externalpackages/gmt/install-6-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-6-linux-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmt/install-6-linux-static.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -9,5 +9,5 @@
 PREFIX="${ISSM_DIR}/externalpackages/gmt/install"
 
-# Find libgfortran and libgcc so we do not have to hardcode them
+# Find certain libraries so we do not have to hardcode them
 #
 # TODO:
@@ -17,16 +17,16 @@
 #
 echo "Finding libgfortran..."
-LIBGFORTRAN=$(find /usr -name libgfortran* 2>/dev/null | egrep -n libgfortran.a | sed "s/[0-9]*://g" | head -1)
+LIBGFORTRAN=$(find /usr -name libgfortran.* 2>/dev/null | egrep -n libgfortran.a | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
-LIBGCC=$(find ${LIBGFORTRAN_ROOT} -name libgcc* 2>/dev/null | egrep -n libgcc.a | sed "s/[0-9]*://g" | head -1)
 
-GDAL_EXTRA_LIBS="-lstdc++" # Determined by running `$GDAL_ROOT/bin/gdal-config --dep-libs` then removing duplicate libs; for some reason, needed to run `sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so` after recent upgrades to make it so libstc++ is found
-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)
+GDAL_EXTRA_LIBS="-lm ${HDF5_ROOT}/lib/libhdf5_hl.a ${HDF5_ROOT}/lib/libhdf5.a ${ZLIB_ROOT}/lib/libz.a -ldl -lsqlite3 ${PROJ_ROOT}/lib/libproj.a ${MPI_ROOT}/lib/libmpicxx.a -lstdc++" # See also patch for configuration file ./configs/${VER%.*}/static/cmake/modules/FindGDAL.cmake; for some reason, needed to run `sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so` after recent upgrades to make it so libstc++ is found
+NETCDF_EXTRA_LIBS="${CURL_ROOT}/lib/libcurl.a ${HDF5_ROOT}/lib/libhdf5_hl.a ${HDF5_ROOT}/lib/libhdf5.a ${ZLIB_ROOT}/lib/libz.a" # See also patch for configuration file ./configs/${VER%.*}/static/cmake/modules/FindNETCDF.cmake)
 
 # Environment
 #
 export CC=mpicc
+export CFLAGS="${CFLAGS} -w"
 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 CURL_LIBRARIES="${CURL_ROOT}/lib/libcurl.a;${ZLIB_ROOT}/lib/libz.a"
 
 # Download source
Index: /issm/trunk-jpl/externalpackages/gmt/install-6-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-6-linux.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmt/install-6-linux.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -9,5 +9,5 @@
 PREFIX="${ISSM_DIR}/externalpackages/gmt/install"
 
-# Find libgfortran so that we do not have to hardcode it.
+# Find certain libraries so we do not have to hardcode them
 #
 # TODO:
@@ -15,5 +15,5 @@
 #
 echo "Finding libgfortran..."
-LIBGFORTRAN=$(find /usr -name libgfortran* 2>/dev/null | egrep -n libgfortran.a | sed "s/[0-9]*://g" | head -1)
+LIBGFORTRAN=$(find /usr -name libgfortran.* 2>/dev/null | egrep -n libgfortran.a | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
 
@@ -21,4 +21,5 @@
 #
 export CC=mpicc
+export CFLAGS="${CFLAGS} -w"
 
 # Download source
Index: /issm/trunk-jpl/externalpackages/gmt/install-6-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-6-mac-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmt/install-6-mac-static.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 # NOTE: After GMT version 6.0.0, we must build a shared copy of libgmt for our 
@@ -26,19 +26,23 @@
 #
 echo "Finding libgfortran..."
-LIBGFORTRAN=$(find /usr /opt -name libgfortran* 2>/dev/null | egrep -n libgfortran.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+LIBGFORTRAN=$(find /usr /opt -name libgfortran.* 2>/dev/null | egrep -n libgfortran.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
-LIBGCC=$(find ${LIBGFORTRAN_ROOT} -name libgcc* 2>/dev/null | egrep -n libgcc.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
-echo "Finding libssl..."
-LIBSSL=$(find /usr /opt -name libssl* 2>/dev/null | egrep -n libssl.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+echo "Finding libglib..."
+LIBGLIB=$(find /usr /opt -name libglib-2.0.* 2>/dev/null | egrep -n libglib-2.0.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+LIBGLIB_ROOT=${LIBGLIB%/*}
+echo "Finding libintl..."
+LIBINTL=$(find /usr /opt -name libintl.* 2>/dev/null | egrep -n libintl.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+echo "Finding libpcre..."
+LIBPCRE=$(find /usr /opt -name libpcre2-8* 2>/dev/null | egrep -n libpcre2-8.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
 
-GDAL_EXTRA_LIBS="-lc++" # `$GDAL_ROOT/bin/gdal-config --dep-libs` does not report need to link to libc++ (see also customized configuration file ./configs/6/static/cmake/modules/FindGDAL.cmake)
-NETCDF_EXTRA_LIBS="-lpthread -ldl -liconv" # `$NETCDF_ROOT/bin/nc-config --libs` does not report certain dependencies of certain static libraries (see also customized configuration file ./configs/${VER%.*}/static/cmake/modules/FindNETCDF.cmake)
+GDAL_EXTRA_LIBS="-lm ${HDF5_ROOT}/lib/libhdf5_hl.a ${HDF5_ROOT}/lib/libhdf5.a ${ZLIB_ROOT}/lib/libz.a -ldl -lsqlite3 ${PROJ_ROOT}/lib/libproj.a ${MPI_ROOT}/lib/libmpicxx.a -lc++" # See also patch for configuration file ./configs/${VER%.*}/static/cmake/modules/FindGDAL.cmake
+NETCDF_EXTRA_LIBS="${CURL_ROOT}/lib/libcurl.a ${HDF5_ROOT}/lib/libhdf5_hl.a ${HDF5_ROOT}/lib/libhdf5.a ${ZLIB_ROOT}/lib/libz.a" # See also patch for configuration file ./configs/${VER%.*}/static/cmake/modules/FindNETCDF.cmake)
 
 # Environment
 #
 export CC=mpicc
+export CFLAGS="${CFLAGS} -w"
 export CURL_INCLUDE_DIRS="${CURL_ROOT}/include"
 export CURL_LIBRARIES="${CURL_ROOT}/lib/libcurl.a;${ZLIB_ROOT}/lib/libz.a"
-export LDFLAGS="-lsqlite3 -framework CoreFoundation -framework Security"
 
 # Download source
@@ -62,4 +66,5 @@
 patch ./src/cmake/ConfigUser.cmake < ./configs/${VER%.*}/static/cmake/ConfigUserAdvancedTemplate.cmake.patch
 patch ./src/cmake/modules/FindGDAL.cmake < ./configs/${VER%.*}/static/cmake/modules/FindGDAL.cmake.patch
+patch ./src/cmake/modules/FindGLIB.cmake < ./configs/${VER%.*}/static/cmake/modules/FindGLIB.cmake.patch
 patch ./src/cmake/modules/FindGSHHG.cmake < ./configs/${VER%.*}/static/cmake/modules/FindGSHHG.cmake.patch
 patch ./src/cmake/modules/FindNETCDF.cmake < ./configs/${VER%.*}/static/cmake/modules/FindNETCDF.cmake.patch
@@ -79,9 +84,11 @@
 cmake \
 	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-	-DBLAS_LIBRARIES="${BLAS_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" \
 	-DCURL_INCLUDE_DIR="${CURL_ROOT}/include" \
-	-DCURL_LIBRARY="${CURL_ROOT}/lib/libcurl.a;${LIBSSL}" \
+	-DCURL_LIBRARY="${CURL_ROOT}/lib/libcurl.a" \
 	-DGDAL_EXTRA_LIBS="${GDAL_EXTRA_LIBS}" \
-	-DLAPACK_LIBRARIES="${LAPACK_ROOT}/lib/libflapack.a;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \
+	-DGLIB_GTHREAD_LIBRARIES="${LIBGLIB_ROOT}/libgthread-2.0.a" \
+	-DGLIB_LIBRARY="${LIBGLIB} ${LIBINTL} -liconv ${LIBPCRE} -framework Foundation" \
+	-DLAPACK_LIBRARIES="${LAPACK_ROOT}/lib/libflapack.a;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a" \
 	-DNETCDF_EXTRA_LIBS="${NETCDF_EXTRA_LIBS}" \
 	..
Index: /issm/trunk-jpl/externalpackages/gmt/install-6-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/gmt/install-6-mac.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/gmt/install-6-mac.sh	(revision 28197)
@@ -1,4 +1,4 @@
 #!/bin/bash
-set -eu
+set -e
 
 
@@ -9,5 +9,5 @@
 PREFIX="${ISSM_DIR}/externalpackages/gmt/install"
 
-# Find libgfortran so that we do not have to hardcode it.
+# Find certain libraries so we do not have to hardcode them
 #
 # TODO:
@@ -15,5 +15,5 @@
 #
 echo "Finding libgfortran..."
-LIBGFORTRAN=$(find /usr /opt -name libgfortran* 2>/dev/null | egrep -n libgfortran.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
+LIBGFORTRAN=$(find /usr /opt -name libgfortran.* 2>/dev/null | egrep -n libgfortran.a | egrep -v i386 | sed "s/[0-9]*://g" | head -1)
 LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*}
 
@@ -21,4 +21,5 @@
 #
 export CC=mpicc
+export CFLAGS="${CFLAGS} -w"
 
 # Download source
@@ -41,5 +42,5 @@
 # Patch source
 patch ./src/cmake/ConfigUser.cmake < ./configs/${VER%.*}/cmake/ConfigUserAdvancedTemplate.cmake.patch
-patch ./src/cmake/modules/ConfigCMake.cmake < ./configs/${VER%.*}/cmake/modules/ConfigCMake.cmake.patch
+patch ./src/cmake/modules/ConfigCMake.cmake < ./configs/${VER%.*}/mac/cmake/modules/ConfigCMake.cmake.patch
 
 # Configure
Index: sm/trunk-jpl/externalpackages/hdf5/install-1-parallel-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/hdf5/install-1-parallel-static.sh	(revision 28196)
+++ 	(revision )
@@ -1,47 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-## Constants
-#
-VER="1.8.23"
-
-PREFIX="${ISSM_DIR}/externalpackages/hdf5/install" # Set to location where external package should be installed
-
-## Environnment
-#
-export CC=mpicc
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/hdf5-${VER}.tar.gz" "hdf5-${VER}.tar.gz"
-
-# Untar source
-tar -zxvf hdf5-${VER}.tar.gz
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Move source to 'src' directory
-mv hdf5-${VER}/* src/
-rm -rf hdf5-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-dependency-tracking \
-	--disable-shared \
-	--enable-parallel \
-	--with-zlib="${ZLIB_ROOT}" \
-	--enable-hl
-
-# Compile and install
-#
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/hdf5/install-1-parallel-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/hdf5/install-1-parallel-with_tests.sh	(revision 28196)
+++ 	(revision )
@@ -1,49 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-## Constants
-#
-VER="1.8.23"
-
-PREFIX="${ISSM_DIR}/externalpackages/hdf5/install" # Set to location where external package should be installed
-
-## Environnment
-#
-export CC=mpicc
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/hdf5-${VER}.tar.gz" "hdf5-${VER}.tar.gz"
-
-# Untar source
-tar -zxvf hdf5-${VER}.tar.gz
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Move source to 'src' directory
-mv hdf5-${VER}/* src/
-rm -rf hdf5-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-dependency-tracking \
-	--disable-static \
-	--enable-parallel \
-	--with-zlib="${ZLIB_ROOT}" \
-	--enable-hl
-
-# Compile, test, and install
-#
-if [ $# -eq 0 ]; then
-	make
-	make check
-	make install
-else
-	make -j $1
-	make -j $1 check
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/hdf5/install-1-parallel.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/hdf5/install-1-parallel.sh	(revision 28196)
+++ 	(revision )
@@ -1,47 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-## Constants
-#
-VER="1.8.23"
-
-PREFIX="${ISSM_DIR}/externalpackages/hdf5/install" # Set to location where external package should be installed
-
-## Environnment
-#
-export CC=mpicc
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/hdf5-${VER}.tar.gz" "hdf5-${VER}.tar.gz"
-
-# Untar source
-tar -zxvf hdf5-${VER}.tar.gz
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Move source to 'src' directory
-mv hdf5-${VER}/* src/
-rm -rf hdf5-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-dependency-tracking \
-	--disable-static \
-	--enable-parallel \
-	--with-zlib="${ZLIB_ROOT}" \
-	--enable-hl
-
-# Compile and install
-#
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: /issm/trunk-jpl/externalpackages/hdf5/install-1-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/hdf5/install-1-static.sh	(revision 28197)
+++ /issm/trunk-jpl/externalpackages/hdf5/install-1-static.sh	(revision 28197)
@@ -0,0 +1,49 @@
+#!/bin/bash
+set -e
+
+
+## Constants
+#
+VER="1.14.3"
+
+PREFIX="${ISSM_DIR}/externalpackages/hdf5/install" # Set to location where external package should be installed
+
+## Environment
+#
+export CC=mpicc
+export CFLAGS="${CFLAGS} -w"
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/hdf5-${VER}.tar.gz" "hdf5-${VER}.tar.gz"
+
+# Untar source
+tar -zxvf hdf5-${VER}.tar.gz
+
+# Cleanup
+rm -rf install src
+mkdir install src
+
+# Move source to 'src' directory
+mv hdf5-${VER}/* src/
+rm -rf hdf5-${VER}
+
+# Configure
+cd src
+./configure \
+	--prefix="${PREFIX}" \
+	--disable-dependency-tracking \
+	--disable-shared \
+	--enable-parallel \
+	--with-zlib="${ZLIB_ROOT}" \
+	--with-szlib="no" \
+	--enable-hl
+
+# Compile and install
+#
+if [ $# -eq 0 ]; then
+	make
+	make install
+else
+	make -j $1
+	make -j $1 install
+fi
Index: sm/trunk-jpl/externalpackages/hdf5/install-1-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/hdf5/install-1-with_tests.sh	(revision 28196)
+++ 	(revision )
@@ -1,44 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-## Constants
-#
-VER="1.8.23"
-
-PREFIX="${ISSM_DIR}/externalpackages/hdf5/install" # Set to location where external package should be installed
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/hdf5-${VER}.tar.gz" "hdf5-${VER}.tar.gz"
-
-# Untar source
-tar -zxvf hdf5-${VER}.tar.gz
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Move source to 'src' directory
-mv hdf5-${VER}/* src/
-rm -rf hdf5-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-dependency-tracking \
-	--disable-static \
-	--with-zlib="${ZLIB_ROOT}" \
-	--enable-hl
-
-# Compile, test, and install
-#
-if [ $# -eq 0 ]; then
-	make
-	make check
-	make install
-else
-	make -j $1
-	make -j $1 check
-	make -j $1 install
-fi
Index: /issm/trunk-jpl/externalpackages/hdf5/install-1.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/hdf5/install-1.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/hdf5/install-1.sh	(revision 28197)
@@ -1,11 +1,16 @@
 #!/bin/bash
-set -eu
+set -e
 
 
 ## Constants
 #
-VER="1.8.23"
+VER="1.14.3"
 
 PREFIX="${ISSM_DIR}/externalpackages/hdf5/install" # Set to location where external package should be installed
+
+## Environment
+#
+export CC=mpicc
+export CFLAGS="${CFLAGS} -w"
 
 # Download source
@@ -30,4 +35,5 @@
 	--disable-static \
 	--with-zlib="${ZLIB_ROOT}" \
+	--with-szlib="no" \
 	--enable-hl
 
Index: /issm/trunk-jpl/externalpackages/netcdf/install-4-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4-static.sh	(revision 28197)
+++ /issm/trunk-jpl/externalpackages/netcdf/install-4-static.sh	(revision 28197)
@@ -0,0 +1,67 @@
+#!/bin/bash
+set -e
+
+
+# Dependencies
+# - MPI implementation (for parallel I/O support)
+# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
+# - zlib (1.2.5 or later, for netCDF-4 compression)
+# - curl (7.18.0 or later, for DAP remote access client support)
+#
+# Sources:
+# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
+#
+# NOTE:
+# - Certain configuration tests fail if libraries are not supplied explicitly
+#
+# TODO:
+# - Compile and link curl statically (issue with DAP and system libs on macOS 
+#	with more restrictive Gatekeeper; see also --disable-dap option in 
+#	configuration)
+#
+
+# Constants
+#
+VER="4.9.2"
+
+PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
+
+# Environment
+#
+export CC=mpicc
+export CFLAGS="${CFLAGS} -w"
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/netcdf-c-${VER}.tar.gz" "netcdf-c-${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf netcdf-c-${VER}.tar.gz
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
+
+# Move source to 'src' directory
+mv netcdf-c-${VER}/* src
+rm -rf netcdf-c-${VER}
+
+# Configure
+cd src
+cmake \
+	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
+	-DBUILD_SHARED_LIBS=OFF \
+	-DENABLE_NETCDF_4=ON \
+	-DENABLE_DAP=OFF \
+	-DENABLE_TESTS=OFF \
+	-DENABLE_PARALLEL4=ON \
+	-DENABLE_CDF5=ON \
+	-DENABLE_PARALLEL_TESTS=OFF
+
+# Compile and install
+if [ $# -eq 0 ]; then
+	make
+	make install
+else
+	make -j $1
+	make -j $1 install
+fi
Index: sm/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 28196)
+++ 	(revision )
@@ -1,74 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# Dependencies
-# - MPI implementation (for parallel I/O support)
-# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
-# - zlib (1.2.5 or later, for netCDF-4 compression)
-# - curl (7.18.0 or later, for DAP remote access client support)
-#
-# Sources:
-# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
-#
-# NOTE:
-# - Certain configuration tests fail if libraries are not supplied explicitly
-#
-# TODO:
-# - Compile and link curl statically (issue with DAP and system libs on macOS 
-#	with more restrictive Gatekeeper; see also --disable-dap option in 
-#	configuration)
-#
-
-# Constants
-#
-VER="4.7.2"
-
-PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
-
-# Environment
-#
-export CC=mpicc
-export CPPFLAGS="-I${ZLIB_ROOT}/include"
-
-export ZLIB="${ZLIB_ROOT}/lib/libz.a"
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/netcdf-c-${VER}.tar.gz" "netcdf-c-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf netcdf-c-${VER}.tar.gz
-
-# Cleanup
-rm -rf ${PREFIX} src
-mkdir -p ${PREFIX} src
-
-# Move source to 'src' directory
-mv netcdf-c-${VER}/* src
-rm -rf netcdf-c-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-shared \
-	--disable-dependency-tracking \
-	--enable-fast-install \
-	--disable-doxygen \
-	--enable-netcdf4 \
-	--disable-dap \
-	--disable-examples \
-	--disable-filter-testing \
-	--disable-dap-remote-tests \
-	--enable-parallel-tests
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make check
-	make install
-else
-	make -j $1
-	make -j $1 check
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-static.sh	(revision 28196)
+++ 	(revision )
@@ -1,71 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# Dependencies
-# - MPI implementation (for parallel I/O support)
-# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
-# - zlib (1.2.5 or later, for netCDF-4 compression)
-# - curl (7.18.0 or later, for DAP remote access client support)
-#
-# Sources:
-# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
-#
-# NOTE:
-# - Certain configuration tests fail if libraries are not supplied explicitly
-#
-# TODO:
-# - Compile and link curl statically (issue with DAP and system libs on macOS 
-#	with more restrictive Gatekeeper; see also --disable-dap option in 
-#	configuration)
-#
-
-# Constants
-#
-VER="4.7.2"
-
-PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
-
-# Environment
-#
-export CC=mpicc
-export CPPFLAGS="-I${ZLIB_ROOT}/include"
-
-export ZLIB="${ZLIB_ROOT}/lib/libz.a"
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/netcdf-c-${VER}.tar.gz" "netcdf-c-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf netcdf-c-${VER}.tar.gz
-
-# Cleanup
-rm -rf ${PREFIX} src
-mkdir -p ${PREFIX} src
-
-# Move source to 'src' directory
-mv netcdf-c-${VER}/* src
-rm -rf netcdf-c-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-shared \
-	--disable-dependency-tracking \
-	--enable-fast-install \
-	--disable-doxygen \
-	--enable-netcdf4 \
-	--disable-dap \
-	--disable-testsets \
-	--disable-examples \
-	--disable-filter-testing
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-with_tests.sh	(revision 28196)
+++ 	(revision )
@@ -1,64 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# Dependencies
-# - MPI implementation (for parallel I/O support)
-# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
-# - zlib (1.2.5 or later, for netCDF-4 compression)
-# - curl (7.18.0 or later, for DAP remote access client support)
-#
-# Sources:
-# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
-#
-
-# Constants
-#
-VER="4.7.2"
-
-PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
-
-# Environment
-#
-export CC=mpicc
-export CPPFLAGS="-I${HDF5_ROOT}/include -I${CURL_ROOT}/include -I${ZLIB_ROOT}/include"
-export LDFLAGS="-L${HDF5_ROOT}/lib -L${CURL_ROOT}/lib -L${ZLIB_ROOT}/lib"
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/netcdf-c-${VER}.tar.gz" "netcdf-c-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf netcdf-c-${VER}.tar.gz
-
-# Cleanup
-rm -rf ${PREFIX} src
-mkdir -p ${PREFIX} src
-
-# Move source to 'src' directory
-mv netcdf-c-${VER}/* src
-rm -rf netcdf-c-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-static \
-	--disable-dependency-tracking \
-	--enable-fast-install \
-	--disable-doxygen \
-	--enable-netcdf4 \
-	--disable-examples \
-	--disable-filter-testing \
-	--disable-dap-remote-tests \
-	--enable-parallel-tests
-
-# Compile, test, and install
-if [ $# -eq 0 ]; then
-	make
-	make check
-	make install
-else
-	make -j $1
-	make -j $1 check
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel.sh	(revision 28196)
+++ 	(revision )
@@ -1,61 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# Dependencies
-# - MPI implementation (for parallel I/O support)
-# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
-# - zlib (1.2.5 or later, for netCDF-4 compression)
-# - curl (7.18.0 or later, for DAP remote access client support)
-#
-# Sources:
-# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
-#
-
-# Constants
-#
-VER="4.7.2"
-
-PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
-
-# Environment
-#
-export CC=mpicc
-export CPPFLAGS="-I${HDF5_ROOT}/include -I${CURL_ROOT}/include -I${ZLIB_ROOT}/include"
-export LDFLAGS="-L${HDF5_ROOT}/lib -L${CURL_ROOT}/lib -L${ZLIB_ROOT}/lib"
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/netcdf-c-${VER}.tar.gz" "netcdf-c-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf netcdf-c-${VER}.tar.gz
-
-# Cleanup
-rm -rf ${PREFIX} src
-mkdir -p ${PREFIX} src
-
-# Move source to 'src' directory
-mv netcdf-c-${VER}/* src
-rm -rf netcdf-c-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-static \
-	--disable-dependency-tracking \
-	--enable-fast-install \
-	--disable-doxygen \
-	--enable-netcdf4 \
-	--disable-testsets \
-	--disable-examples \
-	--disable-filter-testing
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/netcdf/install-4.7-with_tests.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7-with_tests.sh	(revision 28196)
+++ 	(revision )
@@ -1,62 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# Dependencies
-# - MPI implementation (for parallel I/O support)
-# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
-# - zlib (1.2.5 or later, for netCDF-4 compression)
-# - curl (7.18.0 or later, for DAP remote access client support)
-#
-# Sources:
-# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
-#
-
-# Constants
-#
-VER="4.7.2"
-
-PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
-
-# Environment
-#
-export CPPFLAGS="-I${HDF5_ROOT}/include -I${CURL_ROOT}/include -I${ZLIB_ROOT}/include"
-export LDFLAGS="-L${HDF5_ROOT}/lib -L${CURL_ROOT}/lib -L${ZLIB_ROOT}/lib"
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/netcdf-c-${VER}.tar.gz" "netcdf-c-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf netcdf-c-${VER}.tar.gz
-
-# Cleanup
-rm -rf ${PREFIX} src
-mkdir -p ${PREFIX} src
-
-# Move source to 'src' directory
-mv netcdf-c-${VER}/* src
-rm -rf netcdf-c-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-static \
-	--disable-dependency-tracking \
-	--enable-fast-install \
-	--disable-doxygen \
-	--enable-netcdf4 \
-	--disable-filter-testing \
-	--disable-examples \
-	--disable-dap-remote-tests
-
-# Compile, test, and install
-if [ $# -eq 0 ]; then
-	make
-	make check
-	make install
-else
-	make
-	make -j $1 check
-	make -j $1 install
-fi
Index: sm/trunk-jpl/externalpackages/netcdf/install-4.7.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.7.sh	(revision 28196)
+++ 	(revision )
@@ -1,59 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# Dependencies
-# - MPI implementation (for parallel I/O support)
-# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
-# - zlib (1.2.5 or later, for netCDF-4 compression)
-# - curl (7.18.0 or later, for DAP remote access client support)
-#
-# Sources:
-# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
-#
-
-# Constants
-#
-VER="4.7.2"
-
-PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
-
-# Environment
-#
-export CPPFLAGS="-I${HDF5_ROOT}/include -I${CURL_ROOT}/include -I${ZLIB_ROOT}/include"
-export LDFLAGS="-L${HDF5_ROOT}/lib -L${CURL_ROOT}/lib -L${ZLIB_ROOT}/lib"
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/netcdf-c-${VER}.tar.gz" "netcdf-c-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf netcdf-c-${VER}.tar.gz
-
-# Cleanup
-rm -rf ${PREFIX} src
-mkdir -p ${PREFIX} src
-
-# Move source to 'src' directory
-mv netcdf-c-${VER}/* src
-rm -rf netcdf-c-${VER}
-
-# Configure
-cd src
-./configure \
-	--prefix="${PREFIX}" \
-	--disable-static \
-	--disable-dependency-tracking \
-	--enable-fast-install \
-	--disable-doxygen \
-	--disable-testsets \
-	--disable-examples \
-	--enable-netcdf4
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
Index: /issm/trunk-jpl/externalpackages/netcdf/install-4.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/netcdf/install-4.sh	(revision 28197)
+++ /issm/trunk-jpl/externalpackages/netcdf/install-4.sh	(revision 28197)
@@ -0,0 +1,59 @@
+#!/bin/bash
+set -eu
+
+
+# Dependencies
+# - MPI implementation (for parallel I/O support)
+# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
+# - zlib (1.2.5 or later, for netCDF-4 compression)
+# - curl (7.18.0 or later, for DAP remote access client support)
+#
+# Sources:
+# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
+#
+
+# Constants
+#
+VER="4.9.2"
+
+PREFIX="${ISSM_DIR}/externalpackages/netcdf/install" # Set to location where external package should be installed
+
+# Environment
+#
+export CC=mpicc
+export CFLAGS="${CFLAGS} -w"
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/netcdf-c-${VER}.tar.gz" "netcdf-c-${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf netcdf-c-${VER}.tar.gz
+
+# Cleanup
+rm -rf ${PREFIX} src
+mkdir -p ${PREFIX} src
+
+# Move source to 'src' directory
+mv netcdf-c-${VER}/* src
+rm -rf netcdf-c-${VER}
+
+# Configure
+cd src
+cmake \
+	-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
+	-DBUILD_SHARED_LIBS=ON \
+	-DENABLE_NETCDF_4=ON \
+	-DENABLE_DAP=OFF \
+	-DENABLE_TESTS=OFF \
+	-DENABLE_PARALLEL4=ON \
+	-DENABLE_CDF5=ON \
+	-DENABLE_PARALLEL_TESTS=OFF
+
+# Compile and install
+if [ $# -eq 0 ]; then
+	make
+	make install
+else
+	make -j $1
+	make -j $1 install
+fi
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.20-linux-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.20-linux-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.20-linux-static.sh	(revision 28197)
@@ -46,9 +46,10 @@
 	--with-ssl=0 \
 	--download-fblaslapack=1 \
+	--download-metis=1 \
 	--download-mpich=1 \
-	--download-metis=1 \
+	--download-mumps=1 \
 	--download-parmetis=1 \
 	--download-scalapack=1 \
-	--download-mumps=1 \
+	--download-szlib=1 \
 	--download-zlib=1
 
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.20-linux.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.20-linux.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.20-linux.sh	(revision 28197)
@@ -34,9 +34,10 @@
 	--with-pic=1 \
 	--download-fblaslapack=1 \
+	--download-metis=1 \
 	--download-mpich=1 \
-	--download-metis=1 \
+	--download-mumps=1 \
 	--download-parmetis=1 \
 	--download-scalapack=1 \
-	--download-mumps=1 \
+	--download-szlib=1 \
 	--download-zlib=1
 
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.20-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.20-mac-static.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.20-mac-static.sh	(revision 28197)
@@ -47,9 +47,10 @@
 	--with-ssl=0 \
 	--download-fblaslapack=1 \
+	--download-metis=1 \
 	--download-mpich="https://www.mpich.org/static/downloads/4.2.0/mpich-4.2.0.tar.gz" \
-	--download-metis=1 \
+	--download-mumps=1 \
 	--download-parmetis=1 \
 	--download-scalapack=1 \
-	--download-mumps=1 \
+	--download-szlib=1 \
 	--download-zlib=1
 
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.20-mac.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.20-mac.sh	(revision 28196)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.20-mac.sh	(revision 28197)
@@ -41,9 +41,10 @@
 	--with-pic=1 \
 	--download-fblaslapack=1 \
+	--download-metis=1 \
 	--download-mpich="https://www.mpich.org/static/downloads/4.2.0/mpich-4.2.0.tar.gz" \
-	--download-metis=1 \
+	--download-mumps=1 \
 	--download-parmetis=1 \
 	--download-scalapack=1 \
-	--download-mumps=1 \
+	--download-szlib=1 \
 	--download-zlib=1
 
Index: sm/trunk-jpl/externalpackages/zlib/install-1.2.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/zlib/install-1.2.sh	(revision 28196)
+++ 	(revision )
@@ -1,38 +1,0 @@
-#!/bin/bash
-set -eu
-
-
-# Constants
-#
-VER="1.2.11"
-
-# Download source
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/zlib-${VER}.tar.gz" "zlib-${VER}.tar.gz"
-
-# Unpack source
-tar -zxvf zlib-$VER.tar.gz
-
-# Cleanup
-rm -rf install src
-mkdir install src
-
-# Move source to 'src' directory
-mv zlib-$VER/* src/
-rm -rf zlib-$VER
-
-# Configure
-cd src
-./configure \
- 	--prefix="${ISSM_DIR}/externalpackages/zlib/install"
-
-# Compile and install
-if [ $# -eq 0 ]; then
-	make
-	make install
-else
-	make -j $1
-	make -j $1 install
-fi
-
-# Return to initial directory
-cd ..
Index: /issm/trunk-jpl/externalpackages/zlib/install-1.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/zlib/install-1.sh	(revision 28197)
+++ /issm/trunk-jpl/externalpackages/zlib/install-1.sh	(revision 28197)
@@ -0,0 +1,37 @@
+#!/bin/bash
+set -eu
+
+
+# Constants
+#
+VER="1.2.11"
+
+PREFIX="${ISSM_DIR}/externalpackages/zlib/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/zlib-${VER}.tar.gz" "zlib-${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf zlib-${VER}.tar.gz
+
+# Move source into 'src' directory
+mv zlib-${VER}/* src/
+rm -rf zlib-${VER}
+
+# Configure
+cd src
+./configure \
+	--prefix="${PREFIX}"
+
+# Compile and install
+if [ $# -eq 0 ]; then
+	make
+	make install
+else
+	make -j $1
+	make -j $1 install
+fi
Index: /issm/trunk-jpl/jenkins/mac-intel-binaries-matlab
===================================================================
--- /issm/trunk-jpl/jenkins/mac-intel-binaries-matlab	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-intel-binaries-matlab	(revision 28197)
@@ -55,6 +55,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac-static.sh
-	hdf5		install-1-parallel-static.sh
-	netcdf		install-4.7-parallel-static.sh
+	hdf5		install-1-static.sh
+	netcdf		install-4-static.sh
 	proj		install-6-static.sh
 	gdal		install-3-static.sh
Index: /issm/trunk-jpl/jenkins/mac-intel-binaries-python-3
===================================================================
--- /issm/trunk-jpl/jenkins/mac-intel-binaries-python-3	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-intel-binaries-python-3	(revision 28197)
@@ -57,6 +57,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac-static.sh
-	hdf5		install-1-parallel-static.sh
-	netcdf		install-4.7-parallel-static.sh
+	hdf5		install-1-static.sh
+	netcdf		install-4-static.sh
 	proj		install-6-static.sh
 	gdal		install-3-python-static.sh
Index: /issm/trunk-jpl/jenkins/mac-intel-dakota
===================================================================
--- /issm/trunk-jpl/jenkins/mac-intel-dakota	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-intel-dakota	(revision 28197)
@@ -53,6 +53,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/mac-intel-examples
===================================================================
--- /issm/trunk-jpl/jenkins/mac-intel-examples	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-intel-examples	(revision 28197)
@@ -53,6 +53,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3.sh
Index: /issm/trunk-jpl/jenkins/mac-intel-full
===================================================================
--- /issm/trunk-jpl/jenkins/mac-intel-full	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-intel-full	(revision 28197)
@@ -57,6 +57,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/mac-intel-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/mac-intel-solid_earth	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-intel-solid_earth	(revision 28197)
@@ -57,6 +57,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/mac-silicon-binaries-matlab
===================================================================
--- /issm/trunk-jpl/jenkins/mac-silicon-binaries-matlab	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-silicon-binaries-matlab	(revision 28197)
@@ -55,6 +55,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac-static.sh
-	hdf5		install-1-parallel-static.sh
-	netcdf		install-4.7-parallel-static.sh
+	hdf5		install-1-static.sh
+	netcdf		install-4-static.sh
 	proj		install-6-static.sh
 	gdal		install-3-static.sh
Index: /issm/trunk-jpl/jenkins/mac-silicon-binaries-python-3
===================================================================
--- /issm/trunk-jpl/jenkins/mac-silicon-binaries-python-3	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-silicon-binaries-python-3	(revision 28197)
@@ -56,6 +56,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac-static.sh
-	hdf5		install-1-parallel-static.sh
-	netcdf		install-4.7-parallel-static.sh
+	hdf5		install-1-static.sh
+	netcdf		install-4-static.sh
 	proj		install-6-static.sh
 	gdal		install-3-python-static.sh
Index: /issm/trunk-jpl/jenkins/mac-silicon-dakota
===================================================================
--- /issm/trunk-jpl/jenkins/mac-silicon-dakota	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-silicon-dakota	(revision 28197)
@@ -48,6 +48,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/mac-silicon-examples
===================================================================
--- /issm/trunk-jpl/jenkins/mac-silicon-examples	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-silicon-examples	(revision 28197)
@@ -45,6 +45,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3.sh
Index: /issm/trunk-jpl/jenkins/mac-silicon-full
===================================================================
--- /issm/trunk-jpl/jenkins/mac-silicon-full	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-silicon-full	(revision 28197)
@@ -48,6 +48,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/mac-silicon-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/mac-silicon-solid_earth	(revision 28196)
+++ /issm/trunk-jpl/jenkins/mac-silicon-solid_earth	(revision 28197)
@@ -48,6 +48,6 @@
 	chaco		install-mac.sh
 	curl		install-7-mac.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/pleiades-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/pleiades-solid_earth	(revision 28196)
+++ /issm/trunk-jpl/jenkins/pleiades-solid_earth	(revision 28197)
@@ -40,5 +40,5 @@
 	petsc		install-3.14-pleiades.sh
 	zlib		install-1.sh
-	hdf5		install-1-parallel.sh
+	hdf5		install-1.sh
 	gsl			install-pleiades.sh
 	boost		install-1.55-pleiades.sh
@@ -46,5 +46,5 @@
 	chaco		install-linux.sh
 	curl		install-7-linux.sh
-	netcdf		install-4.7-parallel.sh
+	netcdf		install-4.sh
 	sqlite		install.sh
 	proj		install-6.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab	(revision 28196)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab	(revision 28197)
@@ -51,6 +51,6 @@
 	chaco		install-linux.sh
 	curl		install-7-linux-static.sh
-	hdf5		install-1-parallel-static.sh
-	netcdf		install-4.7-parallel-static.sh
+	hdf5		install-1-static.sh
+	netcdf		install-4-static.sh
 	proj		install-6-static.sh
 	gdal		install-3-static.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-3
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-3	(revision 28196)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-3	(revision 28197)
@@ -52,6 +52,6 @@
 	chaco		install-linux.sh
 	curl		install-7-linux-static.sh
-	hdf5		install-1-parallel-static.sh
-	netcdf		install-4.7-parallel-static.sh
+	hdf5		install-1-static.sh
+	netcdf		install-4-static.sh
 	proj		install-6-static.sh
 	gdal		install-3-python-static.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-dakota
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-dakota	(revision 28196)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-dakota	(revision 28197)
@@ -50,6 +50,6 @@
 	chaco			install-linux.sh
 	curl			install-7-linux.sh
-	hdf5			install-1-parallel.sh
-	netcdf			install-4.7-parallel.sh
+	hdf5			install-1.sh
+	netcdf			install-4.sh
 	proj			install-6.sh
 	gdal			install-3-python.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-full
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-full	(revision 28196)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-full	(revision 28197)
@@ -51,6 +51,6 @@
 	chaco		install-linux.sh
 	curl		install-7-linux.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-full-mplapack
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-full-mplapack	(revision 28196)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-full-mplapack	(revision 28197)
@@ -51,6 +51,6 @@
 	chaco		install-linux.sh
 	curl		install-7-linux.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-full-valgrind
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-full-valgrind	(revision 28196)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-full-valgrind	(revision 28197)
@@ -50,6 +50,6 @@
 	chaco		install-linux.sh
 	curl		install-7-linux.sh
-	hdf5		install-1-parallel.sh
-	netcdf		install-4.7-parallel.sh
+	hdf5		install-1.sh
+	netcdf		install-4.sh
 	proj		install-6.sh
 	gdal		install-3-python.sh
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth	(revision 28196)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth	(revision 28197)
@@ -48,6 +48,6 @@
 	chaco			install-linux.sh
 	curl			install-7-linux.sh
-	hdf5			install-1-parallel.sh
-	netcdf			install-4.7-parallel.sh
+	hdf5			install-1.sh
+	netcdf			install-4.sh
 	proj			install-6.sh
 	gdal			install-3-python.sh
Index: /issm/trunk-jpl/packagers/linux/complete-issm-linux-binaries-matlab.sh
===================================================================
--- /issm/trunk-jpl/packagers/linux/complete-issm-linux-binaries-matlab.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/linux/complete-issm-linux-binaries-matlab.sh	(revision 28197)
@@ -34,5 +34,5 @@
 ## Constants
 #
-MATLAB_NROPTIONS="'benchmark','all','exclude',[125:126,129,234:235,418,420,435,444:445,456,701:703,1101:1110,1201:1208,1301:1304,1401:1402,1601:1602,2002,2004,2006,2010:2013,2020:2021,2051:2053,2084:2085,2090:2092,2101,2424:2425,3001:3300,3480:3481,4001:4100]" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
+MATLAB_NROPTIONS="'benchmark','all','exclude',[125:126,129,234:235,418,420,435,444:445,456,701:703,1101:1110,1201:1208,1301:1304,1401:1402,1601:1602,2002,2004,2006,2010:2013,2020:2021,2052:2053,2085,2090:2092,2424:2425,3001:3300,3480:3481,4001:4100]" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
 MATLAB_PATH="/usr/local/MATLAB/R2023b"
 
Index: /issm/trunk-jpl/packagers/linux/complete-issm-linux-binaries-python-3.sh
===================================================================
--- /issm/trunk-jpl/packagers/linux/complete-issm-linux-binaries-python-3.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/linux/complete-issm-linux-binaries-python-3.sh	(revision 28197)
@@ -35,5 +35,5 @@
 #
 PKG="ISSM-Linux-Python-3" # Name of directory to copy distributable files to
-PYTHON_NROPTIONS="--benchmark all --exclude 125:126 129 234:235 418 420 435 444:445 456 701:703 1101:1110 1201:1208 1301:1304 1401:1402 1601:1602 2002 2004 2010:2013 2020:2021 2051:2053 2084:2085 2090:2092 2101 2424:2425 3001:3300 3480:3481 4001:4100" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
+PYTHON_NROPTIONS="--benchmark all --exclude 125:126 129 234:235 418 420 435 444:445 456 701:703 1101:1110 1201:1208 1301:1304 1401:1402 1601:1602 2002 2004 2006 2010:2013 2020:2021 2052:2053 2085 2090:2092 2424:2425 3001:3300 3480:3481 4001:4100" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
 
 COMPRESSED_PKG="${PKG}.tar.gz"
Index: /issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-matlab.sh
===================================================================
--- /issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-matlab.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-matlab.sh	(revision 28197)
@@ -33,4 +33,8 @@
 LIBGFORTRAN="/usr/lib/x86_64-linux-gnu/libgfortran.so.5.0.0" # Important that this is the library itself
 LIBGFORTRAN_DIST="${ISSM_DIR}/lib/libgfortran.so.5" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
+LIBGMT="${ISSM_DIR}/externalpackages/gmt/install/lib/libgmt.6.5.0.dylib" # Important that this is the library itself
+LIBGMT_DIST="${ISSM_DIR}/lib/libgmt.6.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
+LIBPSL="${ISSM_DIR}/externalpackages/gmt/install/lib/libpostscriptlight.6.5.0.dylib" # Important that this is the library itself
+LIBPSL_DIST="${ISSM_DIR}/lib/libpostscriptlight.6.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
 LIBQUADMATH="/usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0" # Important that this is the library itself
 LIBQUADMATH_DIST="${ISSM_DIR}/lib/libquadmath.so.0" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
@@ -74,7 +78,9 @@
 cat generic_static.m | sed -e "s/generic_static/generic/g" > generic.m
 
-echo "Moving libgfortran and libquadmath to lib/"
-cp ${LIBGFORTRAN} ${LIBGFORTRAN_DIST} 2> /dev/null
-cp ${LIBQUADMATH} ${LIBQUADMATH_DIST} 2> /dev/null
+echo "Moving certain shared libraries to lib/"
+cp ${LIBGFORTRAN} ${LIBGFORTRAN_DIST} 2>/dev/null
+cp ${LIBQUADMATH} ${LIBQUADMATH_DIST} 2>/dev/null
+cp ${LIBGMT} ${LIBGMT_DIST} 2>/dev/null
+cp ${LIBPSL} ${LIBPSL_DIST} 2>/dev/null
 
 echo "Moving MPICH binaries to bin/"
@@ -100,7 +106,8 @@
 
 echo "Moving GMT binaries to bin/"
-if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt-config ]; then
-	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt . 2> /dev/null
-	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect . 2> /dev/null
+if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt .
+elif [ -f ${ISSM_EXT_STATIC_DIR}/gmt/install/bin/gmtselect ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect .
 else
 	echo "GMT not found"
@@ -118,5 +125,5 @@
 echo "Moving GSHHG assets to share/"
 if [ -d ${ISSM_DIR}/externalpackages/gshhg/install ]; then
-	mkdir ${ISSM_DIR}/share 2> /dev/null
+	mkdir ${ISSM_DIR}/share 2>/dev/null
 	cp -R ${ISSM_DIR}/externalpackages/gshhg/install/*.nc ${ISSM_DIR}/share
 else
@@ -128,5 +135,5 @@
 if [ -d ${ISSM_DIR}/externalpackages/proj/install/share/proj ]; then
 	cp ${ISSM_DIR}/externalpackages/proj/install/bin/projinfo .
-	mkdir ${ISSM_DIR}/share 2> /dev/null
+	mkdir ${ISSM_DIR}/share 2>/dev/null
 	cp -R ${ISSM_DIR}/externalpackages/proj/install/share/proj ${ISSM_DIR}/share
 else
@@ -139,5 +146,5 @@
 	echo "Running tests"
 	cd ${ISSM_DIR}/test/NightlyRun
-	rm matlab.log 2> /dev/null
+	rm matlab.log 2>/dev/null
 
 	# Run tests, redirecting output to logfile and suppressing output to console
Index: /issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-python-3.sh
===================================================================
--- /issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-python-3.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-python-3.sh	(revision 28197)
@@ -33,4 +33,8 @@
 LIBGFORTRAN="/usr/lib/x86_64-linux-gnu/libgfortran.so.5.0.0" # Important that this is the library itself
 LIBGFORTRAN_DIST="${ISSM_DIR}/lib/libgfortran.so.5" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
+LIBGMT="${ISSM_DIR}/externalpackages/gmt/install/lib/libgmt.6.5.0.dylib" # Important that this is the library itself
+LIBGMT_DIST="${ISSM_DIR}/lib/libgmt.6.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
+LIBPSL="${ISSM_DIR}/externalpackages/gmt/install/lib/libpostscriptlight.6.5.0.dylib" # Important that this is the library itself
+LIBPSL_DIST="${ISSM_DIR}/lib/libpostscriptlight.6.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
 LIBQUADMATH="/usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0" # Important that this is the library itself
 LIBQUADMATH_DIST="${ISSM_DIR}/lib/libquadmath.so.0" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
@@ -68,7 +72,9 @@
 cat generic_static.py | sed -e "s/generic_static/generic/g" > generic.py
 
-echo "Moving libgfortran and libquadmath to lib/"
-cp ${LIBGFORTRAN} ${LIBGFORTRAN_DIST} 2> /dev/null
-cp ${LIBQUADMATH} ${LIBQUADMATH_DIST} 2> /dev/null
+echo "Moving certain shared libraries to lib/"
+cp ${LIBGFORTRAN} ${LIBGFORTRAN_DIST} 2>/dev/null
+cp ${LIBQUADMATH} ${LIBQUADMATH_DIST} 2>/dev/null
+cp ${LIBGMT} ${LIBGMT_DIST} 2>/dev/null
+cp ${LIBPSL} ${LIBPSL_DIST} 2>/dev/null
 
 echo "Moving MPICH binaries to bin/"
@@ -94,7 +100,8 @@
 
 echo "Moving GMT binaries to bin/"
-if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt-config ]; then
-	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt . 2> /dev/null
-	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect . 2> /dev/null
+if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt .
+elif [ -f ${ISSM_EXT_STATIC_DIR}/gmt/install/bin/gmtselect ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect .
 else
 	echo "GMT not found"
@@ -112,5 +119,5 @@
 echo "Moving GSHHG assets to share/"
 if [ -d ${ISSM_DIR}/externalpackages/gshhg/install ]; then
-	mkdir ${ISSM_DIR}/share 2> /dev/null
+	mkdir ${ISSM_DIR}/share 2>/dev/null
 	cp -R ${ISSM_DIR}/externalpackages/gshhg/install/*.nc ${ISSM_DIR}/share
 else
@@ -122,5 +129,5 @@
 if [ -d ${ISSM_DIR}/externalpackages/proj/install/share/proj ]; then
 	cp ${ISSM_DIR}/externalpackages/proj/install/bin/projinfo .
-	mkdir ${ISSM_DIR}/share 2> /dev/null
+	mkdir ${ISSM_DIR}/share 2>/dev/null
 	cp -R ${ISSM_DIR}/externalpackages/proj/install/share/proj ${ISSM_DIR}/share
 else
@@ -133,5 +140,5 @@
 	echo "Running tests"
 	cd ${ISSM_DIR}/test/NightlyRun
-	rm python.log 2> /dev/null
+	rm python.log 2>/dev/null
 
 	# Set Python environment
Index: /issm/trunk-jpl/packagers/mac/complete-issm-mac-intel-binaries-matlab.sh
===================================================================
--- /issm/trunk-jpl/packagers/mac/complete-issm-mac-intel-binaries-matlab.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/mac/complete-issm-mac-intel-binaries-matlab.sh	(revision 28197)
@@ -64,5 +64,5 @@
 ## Constants
 #
-MATLAB_NROPTIONS="'benchmark','all','exclude',[124:126,129,234:235,418,420,435,444:445,456,701:703,1101:1110,1201:1208,1301:1304,1401:1402,1601:1602,2002,2004,2010:2013,2020:2021,2051:2053,2084:2085,2090:2092,2101,2424:2425,3001:3300,3480:3481,4001:4100]" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
+MATLAB_NROPTIONS="'benchmark','all','exclude',[124:126,129,234:235,418,420,435,444:445,456,701:703,1101:1110,1201:1208,1301:1304,1401:1402,1601:1602,2002,2004,2006,2010:2013,2020:2021,2052:2053,2085,2090:2092,2424:2425,3001:3300,3480:3481,4001:4100]" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
 MATLAB_PATH="/Applications/MATLAB_R2023b.app"
 PKG="ISSM-macOS-Intel-MATLAB" # Name of directory to copy distributable files to
Index: /issm/trunk-jpl/packagers/mac/complete-issm-mac-intel-binaries-python-3.sh
===================================================================
--- /issm/trunk-jpl/packagers/mac/complete-issm-mac-intel-binaries-python-3.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/mac/complete-issm-mac-intel-binaries-python-3.sh	(revision 28197)
@@ -65,5 +65,5 @@
 #
 PKG="ISSM-macOS-Intel-Python-3" # Name of directory to copy distributable files to
-PYTHON_NROPTIONS="--benchmark all --exclude 124:126 129 234:235 418 420 435 444:445 456 701:703 1101:1110 1201:1208 1301:1304 1401:1402 1601:1602 2002 2004 2010:2013 2020:2021 2051:2053 2084:2085 2090:2092 2101 2424:2425 3001:3300 3480:3481 4001:4100" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
+PYTHON_NROPTIONS="--benchmark all --exclude 124:126 129 234:235 418 420 435 444:445 456 701:703 1101:1110 1201:1208 1301:1304 1401:1402 1601:1602 2002 2004 2006 2010:2013 2020:2021 2052:2053 2085 2090:2092 2424:2425 3001:3300 3480:3481 4001:4100" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
 REPO_BASE_URL="https://issm.ess.uci.edu/svn/issm-binaries/mac/intel/python/3"
 SIGNED_REPO_COPY="./signed"
Index: /issm/trunk-jpl/packagers/mac/complete-issm-mac-silicon-binaries-matlab.sh
===================================================================
--- /issm/trunk-jpl/packagers/mac/complete-issm-mac-silicon-binaries-matlab.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/mac/complete-issm-mac-silicon-binaries-matlab.sh	(revision 28197)
@@ -64,5 +64,5 @@
 ## Constants
 #
-MATLAB_NROPTIONS="'benchmark','all','exclude',[119,124:126,129,216,234:235,274,418,420,423,430,433,435,441:442,444:445,448,456,462:464,470:476,508,517,544,546,701:703,808,1101:1110,1201:1208,1301:1304,1401:1402,1601:1602,2002,2004,2010:2013,2020:2021,2051:2053,2084:2085,2090:2092,2101,2110:2113,2424:2425,3001:3300,3480:3481,4001:4100]" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
+MATLAB_NROPTIONS="'benchmark','all','exclude',[119,124:126,129,216,234:235,274,418,420,423,430,433,435,441:442,444:445,448,456,462:464,470:476,508,517,544,546,701:703,808,1101:1110,1201:1208,1301:1304,1401:1402,1601:1602,2002,2004,2006,2010:2013,2020:2021,2052:2053,2085,2090:2092,2424:2425,3001:3300,3480:3481,4001:4100]" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
 MATLAB_PATH="/Applications/MATLAB_R2023b.app"
 PKG="ISSM-macOS-Silicon-MATLAB" # Name of directory to copy distributable files to
Index: /issm/trunk-jpl/packagers/mac/complete-issm-mac-silicon-binaries-python-3.sh
===================================================================
--- /issm/trunk-jpl/packagers/mac/complete-issm-mac-silicon-binaries-python-3.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/mac/complete-issm-mac-silicon-binaries-python-3.sh	(revision 28197)
@@ -65,5 +65,5 @@
 #
 PKG="ISSM-macOS-Silicon-Python-3" # Name of directory to copy distributable files to
-PYTHON_NROPTIONS="--benchmark all --exclude 119 124:126 129 216 234:235 274 418 420 423 430 433 435 441:442 444:445 448 456 462:464 470:476 508 517 544 546 701:703 808 1101:1110 1201:1208 1301:1304 1401:1402 1601:1602 2002 2004 2010:2013 2020:2021 2051:2053 2084:2085 2090:2092 2101 2110:2113 2424:2425 3001:3300 3480:3481 4001:4100" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
+PYTHON_NROPTIONS="--benchmark all --exclude 119 124:126 129 216 234:235 274 418 420 423 430 433 435 441:442 444:445 448 456 462:464 470:476 508 517 544 546 701:703 808 1101:1110 1201:1208 1301:1304 1401:1402 1601:1602 2002 2004 2006 2010:2013 2020:2021 2052:2053 2085 2090:2092 2424:2425 3001:3300 3480:3481 4001:4100" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
 REPO_BASE_URL="https://issm.ess.uci.edu/svn/issm-binaries/mac/silicon/python/3"
 SIGNED_REPO_COPY="./signed"
Index: /issm/trunk-jpl/packagers/mac/package-issm-mac-binaries-matlab.sh
===================================================================
--- /issm/trunk-jpl/packagers/mac/package-issm-mac-binaries-matlab.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/mac/package-issm-mac-binaries-matlab.sh	(revision 28197)
@@ -42,4 +42,11 @@
 alias grep=$(which grep)
 
+## Constants
+#
+LIBGMT="${ISSM_DIR}/externalpackages/gmt/install/lib/libgmt.6.5.0.dylib" # Important that this is the library itself
+LIBGMT_DIST="${ISSM_DIR}/lib/libgmt.6.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
+LIBPSL="${ISSM_DIR}/externalpackages/gmt/install/lib/libpostscriptlight.6.5.0.dylib" # Important that this is the library itself
+LIBPSL_DIST="${ISSM_DIR}/lib/libpostscriptlight.6.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
+
 ## Environment
 #
@@ -79,4 +86,8 @@
 echo "Modify generic"
 cat generic_static.m | sed -e "s/generic_static/generic/g" > generic.m
+
+echo "Moving certain shared libraries to lib/"
+cp ${LIBGMT} ${LIBGMT_DIST} 2>/dev/null
+cp ${LIBPSL} ${LIBPSL_DIST} 2>/dev/null
 
 echo "Moving MPICH binaries to bin/"
@@ -110,7 +121,8 @@
 
 echo "Moving GMT binaries to bin/"
-if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt-config ]; then
-	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt . 2> /dev/null
-	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect . 2> /dev/null
+if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt .
+elif [ -f ${ISSM_EXT_STATIC_DIR}/gmt/install/bin/gmtselect ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect .
 else
 	echo "GMT not found"
@@ -120,5 +132,5 @@
 echo "Moving GSHHG assets to share/"
 if [ -d ${ISSM_DIR}/externalpackages/gshhg/install ]; then
-	mkdir ${ISSM_DIR}/share 2> /dev/null
+	mkdir ${ISSM_DIR}/share 2>/dev/null
 	cp -R ${ISSM_DIR}/externalpackages/gshhg/install/*.nc ${ISSM_DIR}/share
 else
@@ -130,5 +142,5 @@
 if [ -d ${ISSM_DIR}/externalpackages/proj/install/share/proj ]; then
 	cp ${ISSM_DIR}/externalpackages/proj/install/bin/projinfo .
-	mkdir ${ISSM_DIR}/share 2> /dev/null
+	mkdir ${ISSM_DIR}/share 2>/dev/null
 	cp -R ${ISSM_DIR}/externalpackages/proj/install/share/proj ${ISSM_DIR}/share
 else
@@ -141,5 +153,5 @@
 	echo "Running tests"
 	cd ${ISSM_DIR}/test/NightlyRun
-	rm matlab.log 2> /dev/null
+	rm matlab.log 2>/dev/null
 
 	# Run tests, redirecting output to logfile and suppressing output to console
Index: /issm/trunk-jpl/packagers/mac/package-issm-mac-binaries-python-3.sh
===================================================================
--- /issm/trunk-jpl/packagers/mac/package-issm-mac-binaries-python-3.sh	(revision 28196)
+++ /issm/trunk-jpl/packagers/mac/package-issm-mac-binaries-python-3.sh	(revision 28197)
@@ -40,4 +40,11 @@
 alias cp=$(which cp)
 alias grep=$(which grep)
+
+## Constants
+#
+LIBGMT="${ISSM_DIR}/externalpackages/gmt/install/lib/libgmt.6.5.0.dylib" # Important that this is the library itself
+LIBGMT_DIST="${ISSM_DIR}/lib/libgmt.6.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
+LIBPSL="${ISSM_DIR}/externalpackages/gmt/install/lib/libpostscriptlight.6.5.0.dylib" # Important that this is the library itself
+LIBPSL_DIST="${ISSM_DIR}/lib/libpostscriptlight.6.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
 
 ## Environment
@@ -72,4 +79,8 @@
 echo "Modify generic"
 cat generic_static.py | sed -e "s/generic_static/generic/g" > generic.py
+
+echo "Moving certain shared libraries to lib/"
+cp ${LIBGMT} ${LIBGMT_DIST} 2>/dev/null
+cp ${LIBPSL} ${LIBPSL_DIST} 2>/dev/null
 
 echo "Moving MPICH binaries to bin/"
@@ -103,7 +114,8 @@
 
 echo "Moving GMT binaries to bin/"
-if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt-config ]; then
-	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt . 2> /dev/null
-	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect . 2> /dev/null
+if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt .
+elif [ -f ${ISSM_EXT_STATIC_DIR}/gmt/install/bin/gmtselect ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect .
 else
 	echo "GMT not found"
@@ -113,5 +125,5 @@
 echo "Moving GSHHG assets to share/"
 if [ -d ${ISSM_DIR}/externalpackages/gshhg/install ]; then
-	mkdir ${ISSM_DIR}/share 2> /dev/null
+	mkdir ${ISSM_DIR}/share 2>/dev/null
 	cp -R ${ISSM_DIR}/externalpackages/gshhg/install/*.nc ${ISSM_DIR}/share
 else
@@ -123,5 +135,5 @@
 if [ -d ${ISSM_DIR}/externalpackages/proj/install/share/proj ]; then
 	cp ${ISSM_DIR}/externalpackages/proj/install/bin/projinfo .
-	mkdir ${ISSM_DIR}/share 2> /dev/null
+	mkdir ${ISSM_DIR}/share 2>/dev/null
 	cp -R ${ISSM_DIR}/externalpackages/proj/install/share/proj ${ISSM_DIR}/share
 else
@@ -134,5 +146,5 @@
 	echo "Running tests"
 	cd ${ISSM_DIR}/test/NightlyRun
-	rm python.log 2> /dev/null
+	rm python.log 2>/dev/null
 
 	# Set Python environment
