diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml
index 01d7d56f7..3ac9f50c2 100644
--- a/.github/workflows/common-workflow.yml
+++ b/.github/workflows/common-workflow.yml
@@ -12,7 +12,7 @@ on:
build_command:
required: true
type: string
- ext_install_command:
+ ext_pkg_build_command:
required: true
type: string
test_cases:
@@ -39,46 +39,20 @@ jobs:
test_matrix: ${{ steps.createTestMatrix.outputs.test_output }}
steps:
- name: Free disk space
- run: |
- # Source: https://dev.to/mathio/squeezing-disk-space-from-github-actions-runners-an-engineers-guide-3pjg#6-how-to-automate-cleanup-in-your-ci
- #
-
- # Remove Java (JDKs)
- #sudo rm -rf /usr/lib/jvm
-
- # Remove .NET SDKs
- sudo rm -rf /usr/share/dotnet
-
- # Remove Swift toolchain
- sudo rm -rf /usr/share/swift
-
- # Remove Haskell (GHC)
- sudo rm -rf /usr/local/.ghcup
-
- # Remove Julia
- sudo rm -rf /usr/local/julia*
-
- # Remove Android SDKs
- sudo rm -rf /usr/local/lib/android
-
- # Remove Chromium (optional if not using for browser tests)
- sudo rm -rf /usr/local/share/chromium
-
- # Remove Microsoft/Edge and Google Chrome builds
- sudo rm -rf /opt/microsoft /opt/google
-
- # Remove Azure CLI
- sudo rm -rf /opt/az
-
- # Remove PowerShell
- sudo rm -rf /usr/local/share/powershell
-
- # Remove CodeQL and other toolcaches
- sudo rm -rf /opt/hostedtoolcache
-
- docker system prune -af || true
- docker builder prune -af || true
- df -h
+ uses: jlumbroso/free-disk-space@main
+ with:
+ # this might remove tools that are actually needed,
+ # if set to "true" but frees about 6 GB
+ tool-cache: false
+
+ # all of these default to true, but feel free to set to
+ # "false" if necessary for your workflow
+ android: true
+ dotnet: true
+ haskell: true
+ large-packages: true
+ docker-images: true
+ swap-storage: true
- name: Check out copy of repository
uses: actions/checkout@v4
@@ -96,7 +70,7 @@ jobs:
- name: Prepare external packages
if: ${{ steps.cache-externalpackages.outputs.cache-hit != 'true' }}
run: |
- ${{ inputs.ext_install_command }}
+ ${{ inputs.ext_pkg_build_command }}
- name: Get MATLAB
if: ${{ inputs.interface == 'matlab' }}
@@ -138,7 +112,12 @@ jobs:
run: make -j4 install
- name: Compress ISSM artifact
- run: tar --exclude='./externalpackages/petsc/src' -cvf ISSM_artifact-${{ runner.os }}-${{ inputs.build_type }}.tar -C ${{ env.ISSM_DIR }}/ .
+ run: |
+ rm -rf .git
+ find externalpackages -maxdepth 1 -name src -exec rm -rf {} \;
+ find externalpackages -maxdepth 1 -name *tar.gz -exec rm -rf {} \;
+ find externalpackages -maxdepth 1 -name *zip -exec rm -rf {} \;
+ tar --exclude='./externalpackages/petsc/src' -cvf ISSM_artifact-${{ runner.os }}-${{ inputs.build_type }}.tar -C ${{ env.ISSM_DIR }}/ .
- name: Upload ISSM artifact
uses: actions/upload-artifact@v4
@@ -166,6 +145,7 @@ jobs:
- name: Unpack ISSM artifact
run: |
tar -xvf ISSM_artifact-${{ runner.os }}-${{ inputs.build_type }}.tar
+ rm -rf ISSM_artifact-${{ runner.os }}-${{ inputs.build_type }}.tar
source $ISSM_DIR/etc/environment.sh
working-directory: ${{ env.ISSM_DIR }}
shell: 'bash'
@@ -175,7 +155,7 @@ jobs:
id: setup-matlab
uses: matlab-actions/setup-matlab@v2
with:
- release: R2023b
+ release: R2025b
cache: true
- name: Creating matlab_ci.m
diff --git a/.github/workflows/ubuntu-basic.yml b/.github/workflows/ubuntu-basic.yml
index 35d766f3b..831e3bbaf 100644
--- a/.github/workflows/ubuntu-basic.yml
+++ b/.github/workflows/ubuntu-basic.yml
@@ -57,7 +57,7 @@ jobs:
--with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \
--with-semic-dir="${ISSM_DIR}/externalpackages/semic/install" \
--with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install"
- ext_install_command: |
+ ext_pkg_build_command: |
cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh
cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh
cd $ISSM_DIR/externalpackages/petsc && ./install-3.22-linux.sh
diff --git a/.github/workflows/ubuntu-codipack.yml b/.github/workflows/ubuntu-codipack.yml
index ddf0c5bde..0a1fdae22 100644
--- a/.github/workflows/ubuntu-codipack.yml
+++ b/.github/workflows/ubuntu-codipack.yml
@@ -62,7 +62,7 @@ jobs:
--with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \
--with-medipack-dir="${ISSM_DIR}/externalpackages/medipack/install" \
--with-codipack-dir="${ISSM_DIR}/externalpackages/codipack/install"
- ext_install_command: |
+ ext_pkg_build_command: |
cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh
cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh
cd $ISSM_DIR/externalpackages/petsc && ./install-3.22-linux.sh
diff --git a/.github/workflows/ubuntu-python.yml b/.github/workflows/ubuntu-python.yml
index c48432f50..e68758489 100644
--- a/.github/workflows/ubuntu-python.yml
+++ b/.github/workflows/ubuntu-python.yml
@@ -61,7 +61,7 @@ jobs:
--with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \
--with-semic-dir="${ISSM_DIR}/externalpackages/semic/install" \
--with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install"
- ext_install_command: |
+ ext_pkg_build_command: |
cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh
cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh
cd $ISSM_DIR/externalpackages/petsc && ./install-3.22-linux.sh
diff --git a/.gitignore b/.gitignore
index 8bd55b02a..7f7b47c91 100644
--- a/.gitignore
+++ b/.gitignore
@@ -95,3 +95,4 @@ examples/Data/*.mat
examples/Data/*.txt
examples/Data/*.zip
examples/Data/Jakobshavn_2008_2011_Composite
+examples/Helheim/Models
diff --git a/README.md b/README.md
index 17c44d93a..19bd75554 100644
--- a/README.md
+++ b/README.md
@@ -8,11 +8,12 @@
ISSM is a large-scale thermo-mechanical 2D/3D parallelized multi-purpose finite-element software dedicated to ice sheet and sea-level modeling.
## Documentation
-Just The Docs
+A complete documentation is available here.
## Contact
- Bug Reporting: Please direct compile and run time bug reports strictly related to ISSM's core code or API's to the 'Issues' page.
- Questions: Please direct all other questions (e.g. model setup, configuration/compiling on a particular platform, compute cluster configuration) to the 'Discussions' page.
+ - Slack Workspace
- Website: https://issm.jpl.nasa.gov (will be decommissioned soon)
## Checking Out a Copy of the Repository
diff --git a/configure.ac b/configure.ac
index bc93f0838..e077f5f84 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,8 @@
#Initializing configure
-AC_INIT([Ice-sheet and Sea-level System Model (ISSM)],[4.24],[https://github.com/ISSMteam/ISSM/],[issm],[https://issmteam.github.io/ISSM-Documentation/])
-AC_CONFIG_AUX_DIR([./aux-config]) # Put config files in aux-config
-AC_CONFIG_MACRO_DIR([m4]) # m4 macros are located in m4
+AC_INIT([Ice-sheet and Sea-level System Model (ISSM)],[2026.1],[https://github.com/ISSMteam/ISSM/],[issm],[https://issmteam.github.io/ISSM-Documentation/])
+AC_CONFIG_AUX_DIR([./aux-config]) # Put config files in aux-config
+AC_CONFIG_MACRO_DIR([m4]) # m4 macros are located in m4
m4_include([m4/issm_options.m4])
#print header
diff --git a/etc/environment.csh b/etc/environment.csh
index 5b56b3818..f8998037c 100644
--- a/etc/environment.csh
+++ b/etc/environment.csh
@@ -98,11 +98,6 @@ if ( -d {$PETSC_ROOT} ) then
endif
endif
-set SCOTCH_ROOT="{$ISSM_EXT_DIR}/scotch/install"
-if ( -d {$SCOTCH_ROOT} ) then
- setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:{$SCOTCH_ROOT}/lib
-endif
-
set DAKOTA_ROOT="{$ISSM_EXT_DIR}/dakota/install"
if ( -d {$DAKOTA_ROOT} ) then
setenv PATH {$PATH}:{$DAKOTA_ROOT}/bin
@@ -202,11 +197,6 @@ if ( -d {$TRIANGLE_ROOT} ) then
setenv DYLD_LIBRARY_PATH {$DYLD_LIBRARY_PATH}:{$TRIANGLE_ROOT}/lib
endif
-set YAMS_ROOT="{$ISSM_EXT_DIR}/yams/install"
-if ( -d {$YAMS_ROOT} ) then
- setenv PATH {$PATH}:{$YAMS_ROOT}
-endif
-
set VALGRIND_ROOT="{$ISSM_EXT_DIR}/valgrind/install"
if ( -d {$VALGRIND_ROOT} ) then
setenv PATH {$VALGRIND_ROOT}/bin:{$PATH}
diff --git a/etc/environment.sh b/etc/environment.sh
index 08f934019..c1cebc22d 100755
--- a/etc/environment.sh
+++ b/etc/environment.sh
@@ -339,9 +339,6 @@ if [ -d "${ADJOINTPETSC_TEMP}" ]; then
ld_library_path_append "${ADJOINTPETSC_TEMP}/lib"
fi
-SCOTCH_ROOT_TEMP="${ISSM_EXT_DIR}/scotch/install"
-ld_library_path_append "${SCOTCH_ROOT_TEMP}/lib"
-
BOOST_ROOT_TEMP="${ISSM_EXT_DIR}/boost/install"
if [ -d "${BOOST_ROOT_TEMP}" ]; then
export BOOST_ROOT=${BOOST_ROOT_TEMP} # Used in installation of Dakota
@@ -445,16 +442,6 @@ if [ -d "${TRIANGLE_ROOT_TEMP}" ]; then
fi
fi
-BBFTP_ROOT_TEMP="${ISSM_EXT_DIR}/bbftp/install"
-if [ -d "${BBFTP_ROOT_TEMP}" ]; then
- path_append "${BBFTP_ROOT_TEMP}/bin"
-fi
-
-SHAPELIB_ROOT_TEMP="${ISSM_EXT_DIR}/shapelib/install"
-if [ -d "${SHAPELIB_ROOT_TEMP}" ]; then
- path_append "${SHAPELIB_ROOT_TEMP}/exec"
-fi
-
ESMF_ROOT_TEMP="${ISSM_EXT_DIR}/esmf/install"
if [ -d "${ESMF_ROOT_TEMP}" ]; then
path_prepend "${ESMF_ROOT_TEMP}/bin"
@@ -466,11 +453,6 @@ if [ -d "${NEOPZ_ROOT_TEMP}" ]; then
export REFPATTERNDIR="${NEOPZ_ROOT_TEMP}/include/refpatterns"
fi
-YAMS_ROOT_TEMP="${ISSM_EXT_DIR}/yams/install"
-if [ -d "${YAMS_ROOT_TEMP}" ]; then
- path_prepend "${YAMS_ROOT_TEMP}"
-fi
-
VALGRIND_ROOT_TEMP="${ISSM_DIR}/externalpackages/valgrind/install"
if [ -d "${VALGRIND_ROOT_TEMP}" ]; then
path_prepend "${VALGRIND_ROOT_TEMP}/bin"
diff --git a/externalpackages/adjointpetsc/install-andes.sh b/externalpackages/adjointpetsc/install-andes.sh
new file mode 100755
index 000000000..013cb50bc
--- /dev/null
+++ b/externalpackages/adjointpetsc/install-andes.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+set -eu
+
+#Some cleanup
+rm -rf install src build
+
+#Download development version
+git clone https://github.com/SciCompKL/adjoint-PETSc.git src
+mkdir install
+mkdir build
+
+grep -rl 'remove_cvref_t' . | xargs sed -i 's/std::remove_cvref_t<\([A-Za-z0-9_]*\)>/std::remove_cv_t>/g'
+
+$ISSM_DIR/externalpackages/cmake/install/bin/cmake src \
+ -B build \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DCMAKE_BUILD_TYPE=RELEASE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_INSTALL_PREFIX=$ISSM_DIR/externalpackages/adjointpetsc/install \
+ -DCoDiPack_DIR=$ISSM_DIR/externalpackages/codipack/install/cmake \
+ -DPETSc_DIR=$ISSM_DIR/externalpackages/petsc/install
+
+if [ $# -eq 0 ]; then
+ cmake --build build
+else
+ cmake --build build -j $1
+fi
+cmake --install build
diff --git a/externalpackages/bbftp/install.sh b/externalpackages/bbftp/install.sh
deleted file mode 100755
index bb1e0e4b7..000000000
--- a/externalpackages/bbftp/install.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-set -eu
-
-#Some cleanup
-rm -rf src install bbftp-client-3.2.0
-
-#Download from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/bbftp-client-3.2.0.tar.gz' 'bbftp-client-3.2.0.tar.gz'
-
-#Create install directories
-mkdir install src
-
-#Untar
-tar -zxvf bbftp-client-3.2.0.tar.gz
-
-#Move bbftp-client into install directory
-mv bbftp-client-3.2.0/* src
-rm -rf bbftp-client-3.2.0
-
-#Apply patches
-cd src
-
-#Configure and compile
-cd bbftpc
-./configure --prefix=$ISSM_DIR/externalpackages/bbftp/install
-make
-make install
diff --git a/externalpackages/cppcheck/install-dev.sh b/externalpackages/cppcheck/install-dev.sh
deleted file mode 100755
index 0003c7272..000000000
--- a/externalpackages/cppcheck/install-dev.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-set -eu
-
-#Erase install
-rm -rf install src
-mkdir install
-
-#Download
-git clone git@github.com:danmar/cppcheck.git src
-
-#compile
-cd src
-if [ $# -eq 0 ]; then
- make MATCHCOMPILER=yes FILESDIR=$ISSM_DIR/externalpackages/cppcheck/install HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"
-else
- make -j $1 MATCHCOMPILER=yes FILESDIR="$ISSM_DIR/externalpackages/cppcheck/install" HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"
-fi
-cd ..
diff --git a/externalpackages/cppcheck/install.sh b/externalpackages/cppcheck/install.sh
index 1d919ca29..5f9502971 100755
--- a/externalpackages/cppcheck/install.sh
+++ b/externalpackages/cppcheck/install.sh
@@ -1,23 +1,21 @@
#!/bin/bash
set -eu
-#Erase install
-rm -rf install src cppcheck-1.48
-mkdir src
-#Download from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/cppcheck-1.48.tar' 'cppcheck-1.48.tar'
-tar -xvf cppcheck-1.48.tar
+## Constants
+#
+PREFIX="${ISSM_DIR}/externalpackages/cppcheck/install" # Set to location where external package should be installed
-mv cppcheck-1.48/* src
-rm -rf cppcheck-1.48
+# Cleanup
+rm -rf ${PREFIX} src
-#compile
+# Download source
+git clone git@github.com:danmar/cppcheck.git src
+
+# Compile and install
cd src
if [ $# -eq 0 ]; then
- make
-else
- make -j $1
-fi
-make install PREFIX=$ISSM_DIR/externalpackages/cppcheck/install
-cd ..
+ make MATCHCOMPILER=yes FILESDIR="${PREFIX}" HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"
+else
+ make -j $1 MATCHCOMPILER=yes FILESDIR="${PREFIX}" HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"
+fi
diff --git a/externalpackages/esmf/install.sh b/externalpackages/esmf/install.sh
index eec5d256f..778509d80 100755
--- a/externalpackages/esmf/install.sh
+++ b/externalpackages/esmf/install.sh
@@ -1,21 +1,30 @@
#!/bin/bash
set -eu
-#DOC: https://earthsystemmodeling.org/docs/nightly/develop/ESMC_crefdoc/node5.html#SECTION05063000000000000000
-# https://cpp.hotexamples.com/examples/-/-/ESMC_MeshAddNodes/cpp-esmc_meshaddnodes-function-examples.html
-
-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/ESMF_8_0_1.tar.gz" "ESMF_8_0_1.tar.gz"
-tar -zxvf ESMF_8_0_1.tar.gz
-mv ESMF_8_0_1 esmf
-export ESMF_DIR=$ISSM_DIR/externalpackages/esmf/esmf
-export ESMF_INSTALL_PREFIX=$ISSM_DIR/externalpackages/esmf/install
-
-#Compile and install esmf
-cd esmf
-if [ $# -eq 0 ]; then
- make
- make install
-else
- make -j $1
- make -j $1 install
-fi
+## Sources
+# - https://earthsystemmodeling.org/docs/nightly/develop/ESMC_crefdoc/node5.html#SECTION05063000000000000000
+# - https://cpp.hotexamples.com/examples/-/-/ESMC_MeshAddNodes/cpp-esmc_meshaddnodes-function-examples.html
+
+## Constants
+#
+PREFIX="${ISSM_DIR}/externalpackages/math77/install" # Set to location where external package should be installed
+
+VER="8_0_1"
+
+export ESMF_DIR="${ISSM_DIR}/externalpackages/esmf/src"
+export ESMF_INSTALL_PREFIX="${PREFIX}"
+
+# Cleanup
+rm -rf ${PREFIX} src
+
+# Download source
+${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/esmf-org/esmf/archive/refs/tags/ESMF_${VER}.tar.gz" "ESMF_${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf ESMF_${VER}.tar.gz
+mv esmf-ESMF_${VER} ${ESMF_DIR}
+
+# Compile and install
+cd ${ESMF_DIR}
+make
+make install
diff --git a/externalpackages/gmt/configs/6.6/cmake/ConfigUserAdvancedTemplate.cmake.patch b/externalpackages/gmt/configs/6.6/cmake/ConfigUserAdvancedTemplate.cmake.patch
new file mode 100644
index 000000000..aa54943b8
--- /dev/null
+++ b/externalpackages/gmt/configs/6.6/cmake/ConfigUserAdvancedTemplate.cmake.patch
@@ -0,0 +1,72 @@
+--- src/cmake/ConfigUserAdvancedTemplate.cmake 2026-01-29 12:44:03
++++ src/cmake/ConfigUser.cmake 2026-01-29 12:45:30
+@@ -46,12 +46,12 @@
+ #set (GMT_INSTALL_TRADITIONAL_FOLDERNAMES OFF)
+
+ # Make executables relocatable on supported platforms (relative RPATH) [FALSE]:
+-#set (GMT_INSTALL_RELOCATABLE TRUE)
++set (GMT_INSTALL_RELOCATABLE TRUE)
+
+ # Exclude optional GEOS, PCRE, PCRE2, FFTW3, LAPACK, BLAS, ZLIB dependencies even if you have them installed [FALSE]
+ #set (GMT_EXCLUDE_GEOS TRUE)
+-#set (GMT_EXCLUDE_PCRE TRUE)
+-#set (GMT_EXCLUDE_PCRE2 TRUE)
++set (GMT_EXCLUDE_PCRE TRUE)
++set (GMT_EXCLUDE_PCRE2 TRUE)
+ #set (GMT_EXCLUDE_FFTW3 TRUE)
+ #set (GMT_EXCLUDE_LAPACK TRUE)
+ #set (GMT_EXCLUDE_BLAS TRUE)
+@@ -100,11 +100,11 @@
+
+ # Set location of NetCDF (can be root directory, path to header file or path
+ # to nc-config) [auto]:
+-#set (NETCDF_ROOT "netcdf_install_prefix")
++#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 "gdal_install_prefix")
++#set (GDAL_ROOT "$ENV{GDAL_ROOT}")
+
+ # Set location of GEOS (can be root directory, path to header file or path to
+ # geos-config) [auto]:
+@@ -122,10 +122,10 @@
+ #set (FFTW3_ROOT "fftw_install_prefix")
+
+ # Set location of ZLIB (can be root directory or path to header file) [auto]:
+-#set (ZLIB_ROOT "zlib_install_prefix")
++#set (ZLIB_ROOT "$ENV{ZLIB_ROOT}")
+
+ # Set location of CURL (can be root directory or path to header file) [auto]:
+-#set (CURL_ROOT "curl_install_prefix")
++#set (CURL_ROOT "$ENV{CURL_ROOT}")
+
+ # Set location of OpenMP (can be root directory or path to header file) [auto]:
+ # CMake sometimes may fail to find the OpenMP library (libomp) on macOS.
+@@ -133,7 +133,7 @@
+
+ # Set location of GLIB component gthread [auto]. This is an optional (and
+ # experimental) option which you need to enable or disable:
+-set (GMT_USE_THREADS TRUE)
++#set (GMT_USE_THREADS TRUE)
+ # If pkg-config is not installed (e.g. on Windows) you need to specify these:
+ #set (GLIB_INCLUDE_DIR c:/path/to/glib-dev/include/glib-2.0)
+ #set (GLIB_LIBRARIES c:/path/to/glib-dev/lib/glib-2.0.lib)
+@@ -152,7 +152,7 @@
+ #set (LICENSE_RESTRICTED GPL)
+
+ # Allow building of OpenMP if compiler supports it
+-set (GMT_ENABLE_OPENMP TRUE)
++#set (GMT_ENABLE_OPENMP TRUE)
+
+ # Configure default units (possible values are SI and US) [SI]:
+ #set (UNITS "US")
+@@ -167,7 +167,7 @@
+ #set (CMAKE_POSITION_INDEPENDENT_CODE TRUE)
+
+ # Build GMT shared lib with supplemental modules [TRUE]:
+-#set (BUILD_SUPPLEMENTS FALSE)
++set (BUILD_SUPPLEMENTS FALSE)
+
+ # Build/Install GMT Developer include files [TRUE]:
+ # This installs the extra include files and configured files needed by 3rd-party
diff --git a/externalpackages/gmt/configs/6.6/mac/cmake/modules/ConfigCMake.cmake.patch b/externalpackages/gmt/configs/6.6/mac/cmake/modules/ConfigCMake.cmake.patch
new file mode 100644
index 000000000..4d467b8d8
--- /dev/null
+++ b/externalpackages/gmt/configs/6.6/mac/cmake/modules/ConfigCMake.cmake.patch
@@ -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}")
diff --git a/externalpackages/gmt/configs/6.6/static/cmake/ConfigUserAdvancedTemplate.cmake.patch b/externalpackages/gmt/configs/6.6/static/cmake/ConfigUserAdvancedTemplate.cmake.patch
new file mode 100644
index 000000000..bfe7e1a2d
--- /dev/null
+++ b/externalpackages/gmt/configs/6.6/static/cmake/ConfigUserAdvancedTemplate.cmake.patch
@@ -0,0 +1,63 @@
+--- src/cmake/ConfigUserAdvancedTemplate.cmake 2025-07-23 03:39:53
++++ src/cmake/ConfigUser.cmake 2026-01-29 12:55:46
+@@ -46,12 +46,12 @@
+ #set (GMT_INSTALL_TRADITIONAL_FOLDERNAMES OFF)
+
+ # Make executables relocatable on supported platforms (relative RPATH) [FALSE]:
+-#set (GMT_INSTALL_RELOCATABLE TRUE)
++set (GMT_INSTALL_RELOCATABLE TRUE)
+
+ # Exclude optional GEOS, PCRE, PCRE2, FFTW3, LAPACK, BLAS, ZLIB dependencies even if you have them installed [FALSE]
+ #set (GMT_EXCLUDE_GEOS TRUE)
+-#set (GMT_EXCLUDE_PCRE TRUE)
+-#set (GMT_EXCLUDE_PCRE2 TRUE)
++set (GMT_EXCLUDE_PCRE TRUE)
++set (GMT_EXCLUDE_PCRE2 TRUE)
+ #set (GMT_EXCLUDE_FFTW3 TRUE)
+ #set (GMT_EXCLUDE_LAPACK TRUE)
+ #set (GMT_EXCLUDE_BLAS TRUE)
+@@ -100,11 +100,11 @@
+
+ # Set location of NetCDF (can be root directory, path to header file or path
+ # to nc-config) [auto]:
+-#set (NETCDF_ROOT "netcdf_install_prefix")
++#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 "gdal_install_prefix")
++#set (GDAL_ROOT "$ENV{GDAL_ROOT}")
+
+ # Set location of GEOS (can be root directory, path to header file or path to
+ # geos-config) [auto]:
+@@ -122,10 +122,10 @@
+ #set (FFTW3_ROOT "fftw_install_prefix")
+
+ # Set location of ZLIB (can be root directory or path to header file) [auto]:
+-#set (ZLIB_ROOT "zlib_install_prefix")
++#set (ZLIB_ROOT "$ENV{ZLIB_ROOT}")
+
+ # Set location of CURL (can be root directory or path to header file) [auto]:
+-#set (CURL_ROOT "curl_install_prefix")
++#set (CURL_ROOT "$ENV{CURL_ROOT}")
+
+ # Set location of OpenMP (can be root directory or path to header file) [auto]:
+ # CMake sometimes may fail to find the OpenMP library (libomp) on macOS.
+@@ -167,7 +167,7 @@
+ #set (CMAKE_POSITION_INDEPENDENT_CODE TRUE)
+
+ # Build GMT shared lib with supplemental modules [TRUE]:
+-#set (BUILD_SUPPLEMENTS FALSE)
++set (BUILD_SUPPLEMENTS FALSE)
+
+ # Build/Install GMT Developer include files [TRUE]:
+ # This installs the extra include files and configured files needed by 3rd-party
+@@ -283,7 +283,7 @@
+ #set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS c:/Windows/System32/msvcr100.dll)
+
+ # If your NetCDF library is static (not recommended, applies to Windows only)
+-#set (NETCDF_STATIC TRUE)
++set (NETCDF_STATIC TRUE)
+
+ # If want to rename the DLLs to something else than the default (e.g. to
+ # append the bitness - Windows only)
diff --git a/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGDAL.cmake.patch b/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGDAL.cmake.patch
new file mode 100644
index 000000000..bffab2859
--- /dev/null
+++ b/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGDAL.cmake.patch
@@ -0,0 +1,90 @@
+--- 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
+ OUTPUT_VARIABLE GDAL_CONFIG_LIBS)
+ if (GDAL_CONFIG_LIBS)
+- string (REGEX MATCHALL "-l[^ ]+" _gdal_dashl ${GDAL_CONFIG_LIBS})
+- string (REGEX REPLACE "-l" "" _gdal_lib "${_gdal_dashl}")
+- string (REGEX MATCHALL "-L[^ ]+" _gdal_dashL ${GDAL_CONFIG_LIBS})
+- string (REGEX REPLACE "-L" "" _gdal_libpath "${_gdal_dashL}")
++ string (REGEX MATCHALL "(^| )-l[^ ]+" _gdal_dashl ${GDAL_CONFIG_LIBS})
++ string (REGEX REPLACE "(^| )-l" "" _gdal_lib "${_gdal_dashl}")
++ string (REGEX MATCHALL "(^| )-L[^ ]+" _gdal_dashL ${GDAL_CONFIG_LIBS})
++ string (REGEX REPLACE "(^| )-L" "" _gdal_libpath "${_gdal_dashL}")
+ endif (GDAL_CONFIG_LIBS)
++ execute_process (COMMAND ${GDAL_CONFIG} --dep-libs
++ ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
++ OUTPUT_VARIABLE GDAL_CONFIG_DEP_LIBS)
++ if (GDAL_CONFIG_DEP_LIBS)
++ string (REGEX MATCHALL "(^| )-l[^ ]+" _gdal_dashl ${GDAL_CONFIG_DEP_LIBS})
++ string (REGEX REPLACE "(^| )-l" "" _gdal_dep_lib "${_gdal_dashl}")
++ string (REGEX MATCHALL "(^| )-L[^ ]+" _gdal_dashL ${GDAL_CONFIG_DEP_LIBS})
++ string (REGEX REPLACE "(^| )-L" "" _gdal_dep_libpath "${_gdal_dashL}")
++ endif (GDAL_CONFIG_DEP_LIBS)
+ endif (GDAL_CONFIG)
++ if (_gdal_dep_lib)
++ list (REMOVE_DUPLICATES _gdal_dep_lib)
++ list (REMOVE_ITEM _gdal_dep_lib gdal)
++ endif (_gdal_dep_lib)
+ endif (UNIX AND NOT GDAL_FOUND)
+
+ find_path (GDAL_INCLUDE_DIR gdal.h
+@@ -129,6 +142,57 @@
+ /usr/local
+ )
+
++# find all libs that gdal-config --dep-libs reports
++foreach (_extralib ${_gdal_dep_lib})
++ find_library (_found_lib_${_extralib}
++ NAMES ${_extralib}
++ HINTS
++ ${HDF5_ROOT}
++ $ENV{HDF5_ROOT}
++ ${NETCDF_ROOT}
++ $ENV{NETCDF_ROOT}
++ ${ZLIB_ROOT}
++ $ENV{ZLIB_ROOT}
++ ${CURL_ROOT}
++ $ENV{CURL_ROOT}
++ PATH_SUFFIXES lib
++ PATHS
++ ${_gdal_dep_libpath}
++ )
++ list (APPEND GDAL_LIBRARY ${_found_lib_${_extralib}})
++endforeach (_extralib)
++
++# append manually-supplied libs
++# find all manually-supplied libs
++if (GDAL_EXTRA_LIBS)
++ # Ensure -l is preceded by whitespace to not match
++ # '-l' in '-L/usr/lib/x86_64-linux-gnu/hdf5/serial'
++ string (REGEX MATCHALL "(^| )-l[^ ]+" _gdal_extra_lib_dashl ${GDAL_EXTRA_LIBS})
++ string (REGEX REPLACE "(^| )-l" "" _gdal_extra_lib "${_gdal_extra_lib_dashl}")
++ string (REGEX MATCHALL "(^| )-L[^ ]+" _gdal_extra_lib_dashL ${GDAL_EXTRA_LIBS})
++ string (REGEX REPLACE "(^| )-L" "" _gdal_extra_libpath "${_gdal_extra_lib_dashL}")
++ foreach (_extralib ${_gdal_extra_lib})
++ find_library (_found_lib_${_extralib}
++ NAMES ${_extralib}
++ PATH_SUFFIXES lib
++ PATHS
++ ${_gdal_extra_libpath}
++ )
++ 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)
+
diff --git a/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGLIB.cmake.patch b/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGLIB.cmake.patch
new file mode 100644
index 000000000..0b7bd5d45
--- /dev/null
+++ b/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGLIB.cmake.patch
@@ -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}
diff --git a/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGSHHG.cmake.patch b/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGSHHG.cmake.patch
new file mode 100644
index 000000000..cd1f4960d
--- /dev/null
+++ b/externalpackages/gmt/configs/6.6/static/cmake/modules/FindGSHHG.cmake.patch
@@ -0,0 +1,13 @@
+--- src/cmake/modules/FindGSHHG.cmake 2024-01-07 01:32:40
++++ FindGSHHG.cmake 2024-03-20 12:30:46
+@@ -52,6 +52,10 @@
+ set (GSHHG_MIN_REQUIRED_VERSION
+ "${GSHHG_MIN_REQUIRED_VERSION_MAJOR}.${GSHHG_MIN_REQUIRED_VERSION_MINOR}.${GSHHG_MIN_REQUIRED_VERSION_PATCH}")
+
++# Temporary hack to bypass failure of compilation of code to find GSHHG
++set (GSHHG_FOUND TRUE)
++set (GSHHG_VERSION "2.3.4" CACHE INTERNAL "GSHHG version")
++
+ # check GSHHG version
+ if (_GSHHG_FILE AND NOT GSHHG_FOUND)
+ if (NOT CMAKE_CROSSCOMPILING)
diff --git a/externalpackages/gmt/configs/6.6/static/cmake/modules/FindNETCDF.cmake.patch b/externalpackages/gmt/configs/6.6/static/cmake/modules/FindNETCDF.cmake.patch
new file mode 100644
index 000000000..43f38fe9b
--- /dev/null
+++ b/externalpackages/gmt/configs/6.6/static/cmake/modules/FindNETCDF.cmake.patch
@@ -0,0 +1,90 @@
+--- 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
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
++ execute_process(COMMAND ${NC_CONFIG} --libs
++ RESULT_VARIABLE nc_res
++ OUTPUT_VARIABLE NETCDF_LIBS
++ ERROR_QUIET
++ OUTPUT_STRIP_TRAILING_WHITESPACE)
++ if (NETCDF_LIBS)
++ # Ensure -l is preceded by whitespace to not match
++ # '-l' in '-L/usr/lib/x86_64-linux-gnu/hdf5/serial'
++ string (REGEX MATCHALL "(^| )-l[^ ]+" _netcdf_dashl ${NETCDF_LIBS})
++ string (REGEX REPLACE "(^| )-l" "" _netcdf_lib "${_netcdf_dashl}")
++ string (REGEX MATCHALL "(^| )-L[^ ]+" _netcdf_dashL ${NETCDF_LIBS})
++ string (REGEX REPLACE "(^| )-L" "" _netcdf_libpath "${_netcdf_dashL}")
++ if (_netcdf_lib)
++ list (REMOVE_DUPLICATES _netcdf_lib)
++ list (REMOVE_ITEM _netcdf_lib netcdf)
++ endif (_netcdf_lib)
++ endif (NETCDF_LIBS)
+ endif()
+
+ find_path(NETCDF_INCLUDE_DIR netcdf.h
+@@ -78,6 +95,54 @@
+ "${NETCDF_INCLUDE_DIR}/../lib"
+ HINTS "${NETCDF_PREFIX_DIR}/lib")
+
++# find all libs that nc-config reports
++foreach (_extralib ${_netcdf_lib})
++ find_library (_found_lib_${_extralib}
++ NAMES ${_extralib}
++ HINTS
++ ${HDF5_ROOT}
++ $ENV{HDF5_ROOT}
++ ${ZLIB_ROOT}
++ $ENV{ZLIB_ROOT}
++ ${CURL_ROOT}
++ $ENV{CURL_ROOT}
++ PATH_SUFFIXES lib
++ PATHS
++ ${_netcdf_libpath}
++ )
++ list (APPEND NETCDF_LIBRARY ${_found_lib_${_extralib}})
++endforeach (_extralib)
++
++# find all manually-supplied libs
++if (NETCDF_EXTRA_LIBS)
++ # Ensure -l is preceded by whitespace to not match
++ # '-l' in '-L/usr/lib/x86_64-linux-gnu/hdf5/serial'
++ string (REGEX MATCHALL "(^| )-l[^ ]+" _netcdf_extra_lib_dashl ${NETCDF_EXTRA_LIBS})
++ string (REGEX REPLACE "(^| )-l" "" _netcdf_extra_shared_lib "${_netcdf_extra_lib_dashl}")
++ string (REGEX MATCHALL "(^| )-L[^ ]+" _netcdf_extra_lib_dashL ${NETCDF_EXTRA_LIBS})
++ string (REGEX REPLACE "(^| )-L" "" _netcdf_extra_libpath "${_netcdf_extra_lib_dashL}")
++ foreach (_extralib ${_netcdf_extra_shared_lib})
++ find_library (_found_lib_${_extralib}
++ NAMES ${_extralib}
++ PATH_SUFFIXES lib
++ PATHS
++ ${_netcdf_extra_libpath}
++ )
++ list (APPEND NETCDF_LIBRARY ${_found_lib_${_extralib}})
++ endforeach (_extralib)
++ # Retrieve static library names
++ string(REGEX MATCHALL "[-_/a-zA-Z0-9]+\\.a" _netcdf_extra_static_lib "${NETCDF_EXTRA_LIBS}")
++ foreach (_extralib ${_netcdf_extra_static_lib})
++ find_library (${_extralib}
++ NAMES ${_extralib}
++ PATH_SUFFIXES lib
++ PATHS
++ ${_netcdf_extra_libpath}
++ )
++ list (APPEND NETCDF_LIBRARY ${_extralib})
++ endforeach (_extralib)
++endif (NETCDF_EXTRA_LIBS)
++
+ if(NETCDF_INCLUDE_DIR AND NETCDF_LIBRARY)
+ set (NETCDF_C_INCLUDE_DIRS ${NETCDF_INCLUDE_DIR})
+ set (NETCDF_C_LIBRARIES ${NETCDF_LIBRARY})
+@@ -181,6 +246,8 @@
+ NetCDF_check_interface (F77 netcdf.inc netcdff)
+ NetCDF_check_interface (F90 netcdf.mod netcdff)
+
++
++
+ #export accumulated results to internal vars that rest of project can depend on
+ list (APPEND NetCDF_libs "${NETCDF_C_LIBRARIES}")
+ set (NETCDF_LIBRARIES ${NetCDF_libs})
diff --git a/externalpackages/gmt/install-6-linux-static.sh b/externalpackages/gmt/install-6-linux-static.sh
index 7f45788f5..d807b5a61 100755
--- a/externalpackages/gmt/install-6-linux-static.sh
+++ b/externalpackages/gmt/install-6-linux-static.sh
@@ -4,7 +4,7 @@ set -e
## Constants
#
-VER="6.5.0"
+VER="6.6.0"
PREFIX="${ISSM_DIR}/externalpackages/gmt/install"
diff --git a/externalpackages/gmt/install-6-linux.sh b/externalpackages/gmt/install-6-linux.sh
index cb61cd3f0..4851f3d2e 100755
--- a/externalpackages/gmt/install-6-linux.sh
+++ b/externalpackages/gmt/install-6-linux.sh
@@ -4,7 +4,7 @@ set -e
## Constants
#
-VER="6.5.0"
+VER="6.6.0"
PREFIX="${ISSM_DIR}/externalpackages/gmt/install"
diff --git a/externalpackages/gmt/install-6-mac-static.sh b/externalpackages/gmt/install-6-mac-static.sh
index becc35c40..30f85bfcb 100755
--- a/externalpackages/gmt/install-6-mac-static.sh
+++ b/externalpackages/gmt/install-6-mac-static.sh
@@ -13,7 +13,7 @@ set -e
## Constants
#
-VER="6.5.0"
+VER="6.6.0"
PREFIX="${ISSM_DIR}/externalpackages/gmt/install"
diff --git a/externalpackages/gmt/install-6-mac.sh b/externalpackages/gmt/install-6-mac.sh
index e8f6165d8..1cb91d2fb 100755
--- a/externalpackages/gmt/install-6-mac.sh
+++ b/externalpackages/gmt/install-6-mac.sh
@@ -4,7 +4,7 @@ set -e
## Constants
#
-VER="6.5.0"
+VER="6.6.0"
PREFIX="${ISSM_DIR}/externalpackages/gmt/install"
diff --git a/externalpackages/gmt/install-6-pleiades.sh b/externalpackages/gmt/install-6-pleiades.sh
index 8c46d8b6a..894b10af4 100755
--- a/externalpackages/gmt/install-6-pleiades.sh
+++ b/externalpackages/gmt/install-6-pleiades.sh
@@ -4,7 +4,7 @@ set -e
## Constants
#
-VER="6.5.0"
+VER="6.6.0"
PREFIX="${ISSM_DIR}/externalpackages/gmt/install"
diff --git a/externalpackages/math77/install.sh b/externalpackages/math77/install.sh
deleted file mode 100755
index fad9c7ecd..000000000
--- a/externalpackages/math77/install.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-set -eu
-
-#Some cleanup
-rm -rf src install math77
-mkdir src install
-
-#Download from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/math77.tar.gz' 'math77.tar.gz'
-
-#Untar
-tar -zxvf math77.tar.gz
-
-#Move math77 into src directory
-mv math77/* src
-rm -rf math77
-
-#Configure math77
-cd src
-
-#Compile math77
-if [ $# -eq 0 ]; then
- make
-else
- make -j $1
-fi
-make install
diff --git a/externalpackages/modules/install-linux.sh b/externalpackages/modules/install-linux.sh
new file mode 100644
index 000000000..2b6e4928c
--- /dev/null
+++ b/externalpackages/modules/install-linux.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+set -eu
+
+
+## Constants
+#
+PREFIX="${ISSM_DIR}/externalpackages/modules/install" # Set to location where external package should be installed
+
+VER="5.6.1"
+
+# Cleanup
+rm -rf ${PREFIX} src
+
+# Download source
+${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/envmodules/modules/archive/refs/tags/v${VER}.tar.gz" "v${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf v${VER}.tar.gz
+mv modules-${VER} src
+
+# Configure
+cd src
+./configure \
+ --prefix "${PREFIX}" \
+ --without-x
+
+# Compile and install
+make
+make install
diff --git a/externalpackages/modules/install-mac.sh b/externalpackages/modules/install-mac.sh
new file mode 100755
index 000000000..1a02413e1
--- /dev/null
+++ b/externalpackages/modules/install-mac.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+set -eu
+
+
+## Constants
+#
+PREFIX="${ISSM_DIR}/externalpackages/modules/install" # Set to location where external package should be installed
+
+VER="5.6.1"
+
+# Cleanup
+rm -rf ${PREFIX} src
+
+# Download source
+${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/envmodules/modules/archive/refs/tags/v${VER}.tar.gz" "v${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf v${VER}.tar.gz
+mv modules-${VER} src
+
+# Configure
+cd src
+./configure \
+ --prefix "${PREFIX}" \
+ --with-tcl-lib="${ISSM_DIR}/externalpackages/tcl/install/lib" \
+ --with-tcl-inc="${ISSM_DIR}/externalpackages/tcl/install/include" \
+ --with-tcl-ver=8.5 \
+ --with-tclx-lib="${ISSM_DIR}/externalpackages/tclx/install/lib/tclx8.4" \
+ --with-tclx-inc="${ISSM_DIR}/externalpackagestclx/install/include" \
+ --with-tclx-ver=8.4 \
+ --with-version-path=/usr/local/modules/versions \
+ --with-skel-path=/usr/local/modules/etc/skel \
+ --with-etc-path=/usr/local/modules/etc \
+ --with-module-path=/usr/local/modules/files \
+ --disable-dependency-tracking
+
+# Compile and install
+make
+sudo make install
diff --git a/externalpackages/modules/install-macosx64.sh b/externalpackages/modules/install-macosx64.sh
deleted file mode 100755
index 5d40aee2b..000000000
--- a/externalpackages/modules/install-macosx64.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-set -eu
-
-#Some cleanup
-rm -rf install
-rm -rf modules-3.2.9c
-mkdir install
-
-#Download from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/modules-3.2.9c.tar.gz' 'modules-3.2.9c.tar.gz'
-
-#Untar
-tar -zxvf modules-3.2.9c.tar.gz
-
-#Move modules into src directory
-
-#Configure modules
-cd modules-3.2.9
-./configure \
- --prefix=$ISSM_DIR/externalpackages/modules/install\
- --with-tcl-lib=$ISSM_DIR/externalpackages/tcl/install/lib\
- --with-tcl-inc=$ISSM_DIR/externalpackages/tcl/install/include\
- --with-tcl-ver=8.5 \
- --with-tclx-lib=$ISSM_DIR/externalpackages/tclx/install/lib/tclx8.4\
- --with-tclx-inc=$ISSM_DIR/externalpackages/tclx/install/include\
- --with-tclx-ver=8.4 \
- --with-version-path=/usr/local/modules/versions \
- --with-skel-path=/usr/local/modules/etc/skel \
- --with-etc-path=/usr/local/modules/etc \
- --with-module-path=/usr/local/modules/files \
- --disable-dependency-tracking
-
-#Compile and install modules
-if [ $# -eq 0 ]; then
- make
-else
- make -j $1
-fi
-sudo make install
diff --git a/externalpackages/modules/install.sh b/externalpackages/modules/install.sh
deleted file mode 100755
index 602ea4c2d..000000000
--- a/externalpackages/modules/install.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-set -eu
-
-#Some cleanup
-rm -rf install
-
-#Download from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh https://issm.ess.uci.edu/files/externalpackages/modules-3.2.9c.tar.gz modules-3.2.9c.tar.gz
-
-#Untar and move python into install directory
-tar -zxvf modules-3.2.9c.tar.gz
-mv modules-3.2.9 install
-
-#Configure doxygen
-cd install
-./configure \
- --prefix "$ISSM_DIR/externalpackages/modules/install" \
- --without-x
-
-#compile and install
-make
-make install
diff --git a/externalpackages/pcatool/install.sh b/externalpackages/pcatool/install.sh
deleted file mode 100755
index f9a4f9f4b..000000000
--- a/externalpackages/pcatool/install.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-#Some cleanup
-rm -rf install pcatool
-mkdir install
-
-#Download from ISSM server
-$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/pcatool.tar.gz' 'pcatool.tar.gz'
-
-#Untar into install
-cd install
-tar -zxvf ../pcatool.tar.gz
diff --git a/externalpackages/petsc/install-3.14-discover.sh b/externalpackages/petsc/install-3.14-discover.sh
index e65fd52e5..c256a2aff 100755
--- a/externalpackages/petsc/install-3.14-discover.sh
+++ b/externalpackages/petsc/install-3.14-discover.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.14-greenplanet.sh b/externalpackages/petsc/install-3.14-greenplanet.sh
index a985a4fb2..b02be2161 100755
--- a/externalpackages/petsc/install-3.14-greenplanet.sh
+++ b/externalpackages/petsc/install-3.14-greenplanet.sh
@@ -12,7 +12,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.14-linux-static.sh b/externalpackages/petsc/install-3.14-linux-static.sh
index 389cfd590..b51569359 100755
--- a/externalpackages/petsc/install-3.14-linux-static.sh
+++ b/externalpackages/petsc/install-3.14-linux-static.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.14-linux.sh b/externalpackages/petsc/install-3.14-linux.sh
index 1fa189b05..d2c6d9532 100755
--- a/externalpackages/petsc/install-3.14-linux.sh
+++ b/externalpackages/petsc/install-3.14-linux.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.14-mac-static.sh b/externalpackages/petsc/install-3.14-mac-static.sh
index 6c7f673d8..faff2b740 100755
--- a/externalpackages/petsc/install-3.14-mac-static.sh
+++ b/externalpackages/petsc/install-3.14-mac-static.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.14-mac-with-hdf5-static.sh b/externalpackages/petsc/install-3.14-mac-with-hdf5-static.sh
index 15f471081..249053d06 100755
--- a/externalpackages/petsc/install-3.14-mac-with-hdf5-static.sh
+++ b/externalpackages/petsc/install-3.14-mac-with-hdf5-static.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.14-mac-with-hdf5.sh b/externalpackages/petsc/install-3.14-mac-with-hdf5.sh
index f28710fa9..459cb4613 100755
--- a/externalpackages/petsc/install-3.14-mac-with-hdf5.sh
+++ b/externalpackages/petsc/install-3.14-mac-with-hdf5.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.14-mac.sh b/externalpackages/petsc/install-3.14-mac.sh
index c52a370b6..8b810886b 100755
--- a/externalpackages/petsc/install-3.14-mac.sh
+++ b/externalpackages/petsc/install-3.14-mac.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.14-pleiades.sh b/externalpackages/petsc/install-3.14-pleiades.sh
index 9f91771cb..a6d0d9cb8 100755
--- a/externalpackages/petsc/install-3.14-pleiades.sh
+++ b/externalpackages/petsc/install-3.14-pleiades.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.15-babylon.sh b/externalpackages/petsc/install-3.15-babylon.sh
index e9ded25da..aef6c9311 100755
--- a/externalpackages/petsc/install-3.15-babylon.sh
+++ b/externalpackages/petsc/install-3.15-babylon.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.15-discovery.sh b/externalpackages/petsc/install-3.15-discovery.sh
index 1200c2553..e4d618c8d 100755
--- a/externalpackages/petsc/install-3.15-discovery.sh
+++ b/externalpackages/petsc/install-3.15-discovery.sh
@@ -9,7 +9,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.15-pleiades.sh b/externalpackages/petsc/install-3.15-pleiades.sh
index c94ee0917..0180a060f 100755
--- a/externalpackages/petsc/install-3.15-pleiades.sh
+++ b/externalpackages/petsc/install-3.15-pleiades.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.16-linux.sh b/externalpackages/petsc/install-3.16-linux.sh
index 27a2d3500..feb2d2e66 100755
--- a/externalpackages/petsc/install-3.16-linux.sh
+++ b/externalpackages/petsc/install-3.16-linux.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.16-mac.sh b/externalpackages/petsc/install-3.16-mac.sh
index 27a2d3500..feb2d2e66 100755
--- a/externalpackages/petsc/install-3.16-mac.sh
+++ b/externalpackages/petsc/install-3.16-mac.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.16-pleiades.sh b/externalpackages/petsc/install-3.16-pleiades.sh
index 3efa847c4..d8bd92f50 100755
--- a/externalpackages/petsc/install-3.16-pleiades.sh
+++ b/externalpackages/petsc/install-3.16-pleiades.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.17-discovery.sh b/externalpackages/petsc/install-3.17-discovery.sh
index ed748ee03..ad28d6b23 100755
--- a/externalpackages/petsc/install-3.17-discovery.sh
+++ b/externalpackages/petsc/install-3.17-discovery.sh
@@ -9,7 +9,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.17-linux-static.sh b/externalpackages/petsc/install-3.17-linux-static.sh
index 57b8f2ec1..113cf9612 100755
--- a/externalpackages/petsc/install-3.17-linux-static.sh
+++ b/externalpackages/petsc/install-3.17-linux-static.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.17-linux.sh b/externalpackages/petsc/install-3.17-linux.sh
index f28ac27ce..afcceb9cb 100755
--- a/externalpackages/petsc/install-3.17-linux.sh
+++ b/externalpackages/petsc/install-3.17-linux.sh
@@ -8,7 +8,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.17-mac-intel.sh b/externalpackages/petsc/install-3.17-mac-intel.sh
index 2cccb457e..5fdb9c7c2 100755
--- a/externalpackages/petsc/install-3.17-mac-intel.sh
+++ b/externalpackages/petsc/install-3.17-mac-intel.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.17-mac-silicon-static.sh b/externalpackages/petsc/install-3.17-mac-silicon-static.sh
index 6ea0da6e4..bf6a05781 100755
--- a/externalpackages/petsc/install-3.17-mac-silicon-static.sh
+++ b/externalpackages/petsc/install-3.17-mac-silicon-static.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.17-mac-silicon.sh b/externalpackages/petsc/install-3.17-mac-silicon.sh
index d9940742a..ad4279c77 100755
--- a/externalpackages/petsc/install-3.17-mac-silicon.sh
+++ b/externalpackages/petsc/install-3.17-mac-silicon.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.17-pleiades.sh b/externalpackages/petsc/install-3.17-pleiades.sh
index 31305a013..fa47ef9b1 100755
--- a/externalpackages/petsc/install-3.17-pleiades.sh
+++ b/externalpackages/petsc/install-3.17-pleiades.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.20-linux-static.sh b/externalpackages/petsc/install-3.20-linux-static.sh
index c66eb89ed..eb44820ed 100755
--- a/externalpackages/petsc/install-3.20-linux-static.sh
+++ b/externalpackages/petsc/install-3.20-linux-static.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.20-linux.sh b/externalpackages/petsc/install-3.20-linux.sh
index 6fb289b9e..dfa87bc00 100755
--- a/externalpackages/petsc/install-3.20-linux.sh
+++ b/externalpackages/petsc/install-3.20-linux.sh
@@ -9,7 +9,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.20-mac-static.sh b/externalpackages/petsc/install-3.20-mac-static.sh
index f52640e2c..9d43b3057 100755
--- a/externalpackages/petsc/install-3.20-mac-static.sh
+++ b/externalpackages/petsc/install-3.20-mac-static.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.20-mac.sh b/externalpackages/petsc/install-3.20-mac.sh
index 4d9d5915e..f0e65e1a8 100755
--- a/externalpackages/petsc/install-3.20-mac.sh
+++ b/externalpackages/petsc/install-3.20-mac.sh
@@ -10,7 +10,7 @@ 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"
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
# Unpack source
tar -zxvf petsc-${VER}.tar.gz
diff --git a/externalpackages/petsc/install-3.23-andes.sh b/externalpackages/petsc/install-3.23-andes.sh
new file mode 100755
index 000000000..f2a5fda14
--- /dev/null
+++ b/externalpackages/petsc/install-3.23-andes.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+set -eu
+
+## Constants
+VER="3.23.6"
+
+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://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${VER}.tar.gz" "petsc-${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf petsc-${VER}.tar.gz
+
+# Cleanup
+rm -rf ${PREFIX} ${PETSC_DIR}
+mkdir -p ${PETSC_DIR}
+
+# Move source to $PETSC_DIR
+mv petsc-${VER}/* ${PETSC_DIR}
+rm -rf petsc-${VER}
+
+#CC=icx CXX=icx FC=ifx \
+
+# Configure
+cd ${PETSC_DIR}
+./configure \
+ CC=icx CXX=icpx FC=ifx \
+ COPTFLAGS="-g -O3" CXXOPTFLAGS="-g -O3" FOPTFLAGS="-g -O3" \
+ --prefix="${PREFIX}" \
+ --PETSC_DIR="${PETSC_DIR}" \
+ --with-make-np=20 \
+ --with-debugging=0 \
+ --with-valgrind=0 \
+ --with-x=0 \
+ --with-ssl=0 \
+ --with-pic=1 \
+ --with-blas-lapack-dir=$MKL_ROOT \
+ --download-metis=1 \
+ --download-mpich=1 \
+ --download-parmetis=1 \
+ --download-scalapack=1 \
+ --download-mumps=1
+
+# Compile and install
+make
+make install
diff --git a/externalpackages/scotch/Makefile.inc b/externalpackages/scotch/Makefile.inc
deleted file mode 100644
index 352576ae8..000000000
--- a/externalpackages/scotch/Makefile.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-EXE =
-LIB = .a
-OBJ = .o
-MEX = .mexa64
-
-MAKE = make
-AR = ar
-ARFLAGS = -ruv
-CAT = cat
-CCS = gcc
-CCP = mpicc
-CCD = mpicc
-CCM = ${MATLAB_DIR}/bin/mex
-#CFLAGS = -m64 -O3 -std=c99 -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Du_int32_t=uint32_t -Du_int64_t=uint64_t -DCOMMON_TIMING_OLD -DMATLAB -fPIC -I${MATLAB_DIR}/extern/include
-CFLAGS = -m64 -O3 -std=c99 -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Du_int32_t=uint32_t -Du_int64_t=uint64_t -DCOMMON_TIMING_OLD -fPIC
-#LDFLAGS = -lz -lm -lrt -L${MATLAB_DIR}/bin/glnxa64 -lmex -lmat
-#LDFLAGS = -lz -lm -lrt -Wl,-rpath-link,${MATLAB_DIR}/bin/glnxa64 -L${MATLAB_DIR}/bin/glnxa64 -lmex -lmat
-LDFLAGS = -lz -lm -lrt
-MFLAGS = -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Du_int32_t=uint32_t -Du_int64_t=uint64_t -DCOMMON_TIMING_OLD -DNOFILEIO -DMATLAB -I${MATLAB_DIR}/extern/include -largeArrayDims
-CP = cp
-LEX = flex
-LN = ln
-MKDIR = mkdir
-MV = mv
-RANLIB = ranlib
-YACC = yacc
diff --git a/externalpackages/scotch/Makefile.inc.mac b/externalpackages/scotch/Makefile.inc.mac
deleted file mode 100644
index 629a57d86..000000000
--- a/externalpackages/scotch/Makefile.inc.mac
+++ /dev/null
@@ -1,26 +0,0 @@
-EXE =
-LIB = .a
-OBJ = .o
-MEX = .mexa64
-
-MAKE = make
-AR = ar
-ARFLAGS = -ruv
-CAT = cat
-CCS = gcc
-CCP = mpicc
-CCD = mpicc
-CCM = ${MATLAB_DIR}/bin/mex
-#CFLAGS = -m64 -O3 -std=c99 -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Du_int32_t=uint32_t -Du_int64_t=uint64_t -DCOMMON_TIMING_OLD -DMATLAB -fPIC -I${MATLAB_DIR}/extern/include
-CFLAGS = -m64 -O3 -std=c99 -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Du_int32_t=uint32_t -Du_int64_t=uint64_t -DCOMMON_TIMING_OLD -fPIC
-#LDFLAGS = -lz -lm -L${MATLAB_DIR}/bin/glnxa64 -lmex -lmat
-#LDFLAGS = -lz -lm -Wl,-rpath-link,${MATLAB_DIR}/bin/glnxa64 -L${MATLAB_DIR}/bin/glnxa64 -lmex -lmat
-LDFLAGS = -lz -lm
-MFLAGS = -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Du_int32_t=uint32_t -Du_int64_t=uint64_t -DCOMMON_TIMING_OLD -DNOFILEIO -DMATLAB -I${MATLAB_DIR}/extern/include -largeArrayDims
-CP = cp
-LEX = flex
-LN = ln
-MKDIR = mkdir
-MV = mv
-RANLIB = ranlib
-YACC = yacc
diff --git a/externalpackages/scotch/configs/6.0/linux/Makefile.inc.linux-parallel-static b/externalpackages/scotch/configs/6.0/linux/Makefile.inc.linux-parallel-static
deleted file mode 100644
index ced8a5394..000000000
--- a/externalpackages/scotch/configs/6.0/linux/Makefile.inc.linux-parallel-static
+++ /dev/null
@@ -1,21 +0,0 @@
-EXE =
-LIB = .a
-OBJ = .o
-
-MAKE = make
-AR = ar
-ARFLAGS = -ruv
-CAT = cat
-CCS = gcc
-CCP = ${ISSM_DIR}/externalpackages/mpich/install/bin/mpicc
-CCD = gcc
-CFLAGS = -O3 -fPIC -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict -DIDXSIZE64
-CLIBFLAGS =
-LDFLAGS = -lz -lm -lrt -pthread
-CP = cp
-LEX = flex -Pscotchyy -olex.yy.c
-LN = ln
-MKDIR = mkdir -p
-MV = mv
-RANLIB = ranlib
-YACC = bison -pscotchyy -y -b y
diff --git a/externalpackages/scotch/gmap.m b/externalpackages/scotch/gmap.m
deleted file mode 100644
index 3154f2a72..000000000
--- a/externalpackages/scotch/gmap.m
+++ /dev/null
@@ -1,66 +0,0 @@
-%
-% function to call the gmap module of the scotch partitioner.
-%
-% [maptab]=gmap(adj_mat,vlist,vwgt,ewgt,atype,apar,...
-% options)
-%
-% where the required input is:
-% adj_mat (double [sparse nv x nv], vertex adjacency matrix)
-% vlist (double [nv], vertex labels or [])
-% vwgt (double [nv], vertex weights (integers) or [])
-% ewgt (double [sparse nv x nv], edge weights (integers) or [])
-% atype (character, architecture type)
-% 'cmplt' complete graph
-% 'cmpltw' weighted complete graph
-% 'hcub' binary hypercube
-% 'leaf' tree-leaf architecture
-% 'mesh2d' bidimensional array
-% 'mesh3d' tridimensional array
-% 'torus2d' bidimensional array with wraparound edges
-% 'torus3d' tridimensional array with wraparound edges
-% apars (double, architecture params (corresponding to atype))
-% [size] cmplt
-% [size load0 load1 ...] cmpltw
-% [dim] hcub
-% [height cluster weight] leaf
-% [dimX dimY] mesh2d
-% [dimX dimY dimZ] mesh3d
-% [dimX dimY] torus2d
-% [dimX dimY dimZ] torus3d
-%
-% the required output is:
-% maptab (double [nv x 2], vertex labels and partitions)
-%
-% the optional input is:
-% options (character, options to gmap)
-% " -h : Display this help"
-% " -m : Set mapping strategy (see user's manual)"
-% " -s : Force unity weights on :"
-% " e : edges"
-% " v : vertices"
-% " -V : Print program version and copyright"
-% " -v : Set verbose mode to :"
-% " m : mapping information"
-% " s : strategy information"
-% " t : timing information"
-% ""
-% "See default strategy with option '-vs'"
-%
-function [maptab]=gmap(adj_mat,vlist,vwgt,ewgt,atype,apars,...
- varargin)
-
-if ~nargin
- help gmap
- return
-end
-
-% gmap_mex uses static variables, so clear those out before every run
-clear gmap_mex
-
-[maptab]=gmap_mex(adj_mat,vlist,vwgt,ewgt,atype,apars,...
- varargin{:});
-
-% doesn't hurt to clear out after every run, too
-clear gmap_mex
-
-end
diff --git a/externalpackages/scotch/gmap_mex.c b/externalpackages/scotch/gmap_mex.c
deleted file mode 100644
index 56c2e4eb0..000000000
--- a/externalpackages/scotch/gmap_mex.c
+++ /dev/null
@@ -1,286 +0,0 @@
-
-#define THISFUNCTION "Gmap"
-
-/* Gmap structures and prototypes */
-
-#ifdef MATLAB
- #include "mat.h"
- #include "mex.h"
- #include "matrix.h"
-
- #define printf mexPrintf
- #define fprintf(file,...) (file == stdout || file == stderr ? mexPrintf(__VA_ARGS__) : fprintf(file,__VA_ARGS__))
- #define malloc mxMalloc
- #define calloc mxCalloc
- #define realloc mxRealloc
- #define free mxFree
- #define exit(status) mexErrMsgTxt("exit=" #status)
-#endif
-
-void GmapUsage( void );
-
-
-int
-gmapx (
- int (**pmaptabi)[2],
- int argcm,
- char *argvm[],
- int nvi,
- int ne2i,
- int *ir,
- int *jc,
- int *vli,
- int *vwi,
- int *ewi,
- char archtyp[],
- int nai,
- int *api);
-
-/******************************/
-/* */
-/* This is the main function. */
-/* */
-/******************************/
-
-void mexFunction( int nlhs,
- mxArray *plhs[],
- int nrhs,
- const mxArray *prhs[] )
-{
- int argcm;
- char **argvm=NULL;
- int nvert =0,nedge2=0,napar =0;
- mwIndex *ir=NULL,*jc=NULL;
- int *adjir=NULL,*adjjc=NULL;
- double *vld=NULL,*vwd=NULL,*ewd=NULL,*apd=NULL;
- int *vli=NULL,*vwi=NULL,*ewi=NULL,*api=NULL;
- char *archtyp=NULL;
- int (*maptabi)[2]=NULL;
- double* maptabd=NULL;
- int i,j,k,imi=0,imo=0,isi=0,ierr;
-
- /* Check for proper number of arguments */
-
- if (nrhs == 0 && nlhs == 0) {
- GmapUsage();
- return;
- }
- else if (nrhs < 6 || nlhs > 1) {
- GmapUsage();
- mexErrMsgTxt(" ");
- }
-
-/* load matlab argument list and convert to integer (note that converting here
- and in the x-layer is inefficient, but it makes the x-layer more general) */
-
- argvm = (char **) calloc(nrhs,sizeof(char *));
-
- if (!(mxIsNumeric(prhs[imi]) &&
- (mxGetM(prhs[imi]) == 1 && mxGetN(prhs[imi]) == 1))) {
- argvm[isi] = (char *) calloc(4+1,sizeof(char));
- strcpy(argvm[isi],"gmap");
- mexPrintf("%s -- Using \"%s\" entry point.\n",
- THISFUNCTION,argvm[isi]);
- isi++;
- }
- else {
- argvm[isi] = (char *) calloc(5+1,sizeof(char));
- strcpy(argvm[isi],"gpart");
- mexPrintf("%s -- Using \"%s\" entry point.\n",
- THISFUNCTION,argvm[isi]);
- isi++;
-
- argvm[isi] = (char *) calloc(17,sizeof(char));
- sprintf(argvm[isi],"%d",(int)mxGetScalar(prhs[imi]));
- mexPrintf("%s -- Number of parts is %s.\n",
- THISFUNCTION,argvm[isi]);
- isi++;
- imi++;
- }
-
- if (!mxIsNumeric(prhs[imi]) || (!mxIsEmpty(prhs[imi]) && !mxIsSparse(prhs[imi]))) {
- mexPrintf("%s -- Adjacency matrix must be numeric and sparse.\n",THISFUNCTION);
- mexErrMsgTxt(" ");
- }
- else {
- nvert =mxGetM(prhs[imi]);
- nedge2=mxGetNzmax(prhs[imi]);
- if (mxGetNzmax(prhs[imi])) {
- ir =mxGetIr(prhs[imi]);
- adjir = (int *) malloc(mxGetNzmax(prhs[imi])*sizeof(int));
- for (i=0; i= 5) &&
- (strncmp (argvm[0] + strlen (argvm[0]) - 5, "gpart", 5) == 0))) {
- if (!mxIsChar(prhs[imi])) {
- mexPrintf("%s -- Architecture type must be character.\n",THISFUNCTION);
- mexErrMsgTxt(" ");
- }
- else {
- if (mxGetM(prhs[imi])*mxGetN(prhs[imi])) {
- archtyp = (char *) calloc(mxGetM(prhs[imi])*mxGetN(prhs[imi])+1,sizeof(char));
- mxGetString(prhs[imi],archtyp,mxGetM(prhs[imi])*mxGetN(prhs[imi])+1);
- }
- mexPrintf("%s -- Architecture type is \"%s\".\n",
- THISFUNCTION,archtyp);
- }
- imi++;
-
- if (!mxIsNumeric(prhs[imi])) {
- mexPrintf("%s -- Architecture parameter vector must be numeric.\n",THISFUNCTION);
- mexErrMsgTxt(" ");
- }
- else {
- napar =mxGetM(prhs[imi])*mxGetN(prhs[imi]);
- if (mxGetM(prhs[imi])*mxGetN(prhs[imi])) {
- apd=mxGetPr(prhs[imi]);
- api = (int *) malloc(mxGetM(prhs[imi])*mxGetN(prhs[imi])*sizeof(int));
- for (i=0; i=0; i--)
- free(argvm[i]);
- if (api) free(api);
- if (archtyp) free(archtyp);
- if (ewi) free(ewi);
- if (vwi) free(vwi);
- if (vli) free(vli);
- if (adjjc) free(adjjc);
- if (adjir) free(adjir);
-
- return;
-}
-
-void GmapUsage( void )
-{
-
- mexPrintf("\n");
- mexPrintf("Usage: [maptab]=Gmap_mex(adjmat,vertlb,vertwt,edgewt,archtyp,archpar,\n");
- mexPrintf(" Scotch-specific parameters);\n");
- mexPrintf("\n");
-
- return;
-}
-
diff --git a/externalpackages/scotch/gmapx.c b/externalpackages/scotch/gmapx.c
deleted file mode 100644
index eb5e67178..000000000
--- a/externalpackages/scotch/gmapx.c
+++ /dev/null
@@ -1,385 +0,0 @@
-/* Copyright 2004,2007,2008 ENSEIRB, INRIA & CNRS
-**
-** This file is part of the Scotch software package for static mapping,
-** graph partitioning and sparse matrix ordering.
-**
-** This software is governed by the CeCILL-C license under French law
-** and abiding by the rules of distribution of free software. You can
-** use, modify and/or redistribute the software under the terms of the
-** CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
-** URL: "http://www.cecill.info".
-**
-** As a counterpart to the access to the source code and rights to copy,
-** modify and redistribute granted by the license, users are provided
-** only with a limited warranty and the software's author, the holder of
-** the economic rights, and the successive licensors have only limited
-** liability.
-**
-** In this respect, the user's attention is drawn to the risks associated
-** with loading, using, modifying and/or developing or reproducing the
-** software by the user in light of its specific status of free software,
-** that may mean that it is complicated to manipulate, and that also
-** therefore means that it is reserved for developers and experienced
-** professionals having in-depth computer knowledge. Users are therefore
-** encouraged to load and test the software's suitability as regards
-** their requirements in conditions enabling the security of their
-** systems and/or data to be ensured and, more generally, to use and
-** operate it in the same conditions as regards security.
-**
-** The fact that you are presently reading this means that you have had
-** knowledge of the CeCILL-C license and that you accept its terms.
-*/
-/************************************************************/
-/** **/
-/** NAME : gmap.c **/
-/** **/
-/** AUTHOR : Francois PELLEGRINI **/
-/** **/
-/** FUNCTION : Part of a graph mapping software. **/
-/** This module contains the main function. **/
-/** **/
-/** DATES : # Version 0.0 : from : 05 jan 1993 **/
-/** to 12 may 1993 **/
-/** # Version 1.1 : from : 15 oct 1993 **/
-/** to 15 oct 1993 **/
-/** # Version 1.3 : from : 06 apr 1994 **/
-/** to 18 may 1994 **/
-/** # Version 2.0 : from : 06 jun 1994 **/
-/** to 17 nov 1994 **/
-/** # Version 2.1 : from : 07 apr 1995 **/
-/** to 18 jun 1995 **/
-/** # Version 3.0 : from : 01 jul 1995 **/
-/** to 02 oct 1995 **/
-/** # Version 3.1 : from : 07 nov 1995 **/
-/** to 25 apr 1996 **/
-/** # Version 3.2 : from : 24 sep 1996 **/
-/** to 26 may 1998 **/
-/** # Version 3.3 : from : 19 oct 1998 **/
-/** to : 30 mar 1999 **/
-/** # Version 3.4 : from : 03 feb 2000 **/
-/** to : 03 feb 2000 **/
-/** # Version 4.0 : from : 16 jan 2004 **/
-/** to : 27 dec 2004 **/
-/** # Version 5.0 : from : 23 dec 2007 **/
-/** to : 18 jun 2008 **/
-/** **/
-/************************************************************/
-
-/*
-** The defines and includes.
-*/
-
-#define GMAP
-
-#include "module.h"
-#include "common.h"
-#include "scotch.h"
-#include "gmap.h"
-
-/*
-** The static variables.
-*/
-
-static int C_partNbr = 2; /* Default number of parts */
-static int C_paraNum = 0; /* Number of parameters */
-static int C_paraNbr = 0; /* No parameters for mapping */
-static int C_fileNum = 0; /* Number of file in arg list */
-static int C_fileNbr = 4; /* Number of files for mapping */
-static File C_fileTab[C_FILENBR] = { /* File array */
- { "-", NULL, "r" },
- { "-", NULL, "r" },
- { "-", NULL, "w" },
- { "-", NULL, "w" } };
-
-static const char * C_usageList[] = { /* Usage */
- "gmap [ [ [