diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 75157e63c..0f51fdb04 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -75,10 +75,11 @@ jobs: - name: Install Python dependencies if: contains(inputs.interface, 'python') run: | - sudo apt-get install libpython${{ inputs.python_version }}-dev - sudo apt-get install python3-dev + sudo apt update + sudo apt install libpython${{ inputs.python_version }}-dev + sudo apt install python3-dev python -m pip install --upgrade pip - sudo apt-get update && sudo apt-get install -y python3-tk + sudo apt install -y python3-tk python -m pip install numpy scipy matplotlib nose - name: Build ISSM @@ -90,7 +91,6 @@ jobs: export F90=$FC export MATLAB_ROOT=${{ steps.setup-matlab.outputs.matlabroot }} export PYTHON_ROOT=${{ env.pythonLocation }} - export NUMPY_ROOT=${{ env.LD_LIBRARY_PATH }}/python${{ inputs.python_version }}/site-packages/numpy ${{ inputs.build_command }} - name: Compile ISSM @@ -177,7 +177,7 @@ jobs: if: contains( inputs.interface, 'python') run: | python -m pip install --upgrade pip - sudo apt-get update && sudo apt-get install -y python3-tk + sudo apt update && sudo apt install -y python3-tk python -m pip install numpy scipy matplotlib nose netCDF4 - name: Run Python tests diff --git a/.github/workflows/ubuntu-python.yml b/.github/workflows/ubuntu-python.yml index b525989c0..c48432f50 100644 --- a/.github/workflows/ubuntu-python.yml +++ b/.github/workflows/ubuntu-python.yml @@ -42,14 +42,13 @@ jobs: autoreconf -ivf ls ${ISSM_DIR}/externalpackages/petsc/install/bin/ which mpicxx - ./configure --prefix=${ISSM_DIR} \ + ./configure \ + --prefix=${ISSM_DIR} \ --disable-static \ --enable-development \ --enable-debugging \ --with-numthreads=4 \ - --with-python-version=3.12 \ - --with-python-dir=$PYTHON_ROOT \ - --with-python-numpy-dir=$NUMPY_ROOT \ + --with-python=${PYTHON_ROOT}/bin/python3 \ --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ --with-mpi-include="${ISSM_DIR}/externalpackages/petsc/install/include" \ --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \ diff --git a/.gitignore b/.gitignore index 5228d3202..8bd55b02a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ #================== *.a *.al +*.js *.la *.lo *.mexa64 @@ -10,6 +11,7 @@ *.pyo *.so *.so.[0-9]* +*.wasm __pycache__ bin/ lib/ diff --git a/README.md b/README.md index 5bf1b5c8f..5c0342238 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,19 @@ # Ice-sheet and Sea-level System Model - ISSM +[](https://opensource.org/licenses/BSD-3-Clause) [](https://github.com/ISSMteam/ISSM/actions/workflows/ubuntu-basic.yml) -[](https://github.com/ISSMteam/ISSM/actions/workflows/ubuntu-codipack.yml) [](https://github.com/ISSMteam/ISSM/actions/workflows/ubuntu-python.yml) +[](https://github.com/ISSMteam/ISSM/actions/workflows/ubuntu-codipack.yml) ## Description 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 + ## Contact - - Forum: https://issm.ess.uci.edu/forum - - GitHub: https://github.com/ISSMteam/ISSM - - Website: https://issm.jpl.nasa.gov + - Bug Reporting: Please direct compile and run time bug reports to the 'Issues' page. + - Questions: Please direct questions about the use of ISSM (e.g. model setup, compute cluster configuration) to the 'Discussions' page. + - Website: https://issm.jpl.nasa.gov (will be decommissioned soon) ## Checking Out a Copy of the Repository Navigate to the parent directory where you want the ISSM repository to be located. If you plan to make contributions to the code base, we recommend that you check out a copy via SSH with, @@ -28,31 +32,25 @@ Note that checkout via HTTPS does not require credentials, but does not allow co ## Committing Changes to the Repository A good basic workflow for committing changes to the repository is, -1. Stash your local changes -``` +```bash +#1. Stash your local changes git stash -``` -2. Update your local branch -``` +#2. Update your local branch git pull -``` -3. Merge your local changes -``` +#3. Merge your local changes git stash apply -``` -4. Add, commit, and push your changes -``` +#4. Add, commit, and push your changes git add [file] git commit [-m "descriptive commit message"] git push ``` -5. If you have forked the ISSM repository, consider making sure that your commit passes CI workflows before submitting a pull request. +If you have forked the ISSM repository, consider making sure that your commit passes CI workflows before submitting a pull request. -6. Submit a pull request via GitHub so that project admins can review your changes and merge them into the main branch. +Submit a pull request via GitHub so that project admins can review your changes and merge them into the main branch. If you find yourself making a lot of commits and pull requests, consider asking us to add you to the 'ISSM Contributors' group, which will allow you to make commits directly to the repository. diff --git a/configure.ac b/configure.ac index 6b7aaba0c..bc93f0838 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ #Initializing configure -AC_INIT([Ice-sheet and Sea-level System Model (ISSM)],[4.24],[https://issm.ess.uci.edu/forum/],[issm],[http://issm.jpl.nasa.gov]) +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 m4_include([m4/issm_options.m4]) @@ -29,20 +29,23 @@ AM_PROG_AR #Libtool LT_INIT([win32-dll]) -#Run issm_options.m4 +# --------------------------------------------------------------------- +# Run ISSM’s usual option-detection macro collection +# --------------------------------------------------------------------- ISSM_OPTIONS -#List all Makefiles +# --------------------------------------------------------------------- +# Output files +# --------------------------------------------------------------------- AC_CONFIG_FILES([ - Makefile - src/Makefile - src/c/Makefile - src/wrappers/Makefile - src/wrappers/python/Makefile - src/wrappers/matlab/Makefile - src/wrappers/javascript/Makefile - src/m/Makefile + Makefile + src/Makefile + src/c/Makefile + src/m/Makefile + src/wrappers/Makefile + src/wrappers/python/Makefile + src/wrappers/matlab/Makefile + src/wrappers/javascript/Makefile ]) -#End of configure.ac AC_OUTPUT diff --git a/etc/environment.sh b/etc/environment.sh index df95af065..08f934019 100755 --- a/etc/environment.sh +++ b/etc/environment.sh @@ -386,7 +386,6 @@ if [ -d "${CURL_ROOT_TEMP}" ]; then cpath_prepend "${CURL_ROOT_TEMP}/include" ld_library_path_prepend "${CURL_ROOT_TEMP}/lib" dyld_library_path_prepend "${CURL_ROOT_TEMP}/lib" - path_prepend "${CURL_ROOT_TEMP}/bin" fi SQLITE_ROOT_TEMP="${ISSM_EXT_DIR}/sqlite/install" diff --git a/externalpackages/adjoinablempi/install-linux.sh b/externalpackages/adjoinablempi/install-linux.sh index fb37ce887..968e1c71f 100755 --- a/externalpackages/adjoinablempi/install-linux.sh +++ b/externalpackages/adjoinablempi/install-linux.sh @@ -6,7 +6,7 @@ set -eu rm -rf install src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/adjoinablempi.tar.gz' 'adjoinablempi.tar.gz' +$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/adjoinablempi.tar.gz' 'adjoinablempi.tar.gz' # Unpack source tar -zxvf adjoinablempi.tar.gz diff --git a/externalpackages/adjoinablempi/install-mac.sh b/externalpackages/adjoinablempi/install-mac.sh index ae5d04e28..cbb7fd2ae 100755 --- a/externalpackages/adjoinablempi/install-mac.sh +++ b/externalpackages/adjoinablempi/install-mac.sh @@ -11,7 +11,7 @@ export CFLAGS=-Wno-error=implicit-function-declaration rm -rf install src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/adjoinablempi.tar.gz' 'adjoinablempi.tar.gz' +$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/adjoinablempi.tar.gz' 'adjoinablempi.tar.gz' # Unpack source tar -zxvf adjoinablempi.tar.gz diff --git a/externalpackages/adjoinablempi/install-pleaides-gcc.sh b/externalpackages/adjoinablempi/install-pleaides-gcc.sh index 737ff8eb4..047f4d6fd 100755 --- a/externalpackages/adjoinablempi/install-pleaides-gcc.sh +++ b/externalpackages/adjoinablempi/install-pleaides-gcc.sh @@ -6,7 +6,7 @@ set -eu rm -rf install src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/adjoinablempi.tar.gz' 'adjoinablempi.tar.gz' +$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/adjoinablempi.tar.gz' 'adjoinablempi.tar.gz' # Unpack source tar -zxf adjoinablempi.tar.gz diff --git a/externalpackages/adjoinablempi/install-pleaides.sh b/externalpackages/adjoinablempi/install-pleaides.sh index 0fb620f07..9dc65058f 100755 --- a/externalpackages/adjoinablempi/install-pleaides.sh +++ b/externalpackages/adjoinablempi/install-pleaides.sh @@ -6,7 +6,7 @@ set -eu rm -rf install src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/adjoinablempi.tar.gz' 'adjoinablempi.tar.gz' +$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/adjoinablempi.tar.gz' 'adjoinablempi.tar.gz' # Unpack source tar -zxf adjoinablempi.tar.gz diff --git a/externalpackages/autotools/install-linux.sh b/externalpackages/autotools/install-linux.sh index 03ff570bc..6bb1a23ed 100755 --- a/externalpackages/autotools/install-linux.sh +++ b/externalpackages/autotools/install-linux.sh @@ -21,7 +21,7 @@ mkdir -p ${PREFIX} # Install m4 echo " === INSTALLING M4 ===" -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/m4/m4-${M4_VER}.tar.gz" "m4-${M4_VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/m4/m4-${M4_VER}.tar.gz" "m4-${M4_VER}.tar.gz" tar -zxvf m4-${M4_VER}.tar.gz mv m4-${M4_VER} src cd src @@ -46,7 +46,7 @@ cd .. # Install Autoconf echo " === INSTALLING AUTOCONF ===" rm -rf src -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VER}.tar.gz" "autoconf-${AUTOCONF_VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/autoconf/autoconf-${AUTOCONF_VER}.tar.gz" "autoconf-${AUTOCONF_VER}.tar.gz" tar -zxvf autoconf-${AUTOCONF_VER}.tar.gz mv autoconf-${AUTOCONF_VER} src cd src @@ -63,7 +63,7 @@ cd .. # Install Automake echo " === INSTALLING AUTOMAKE ===" rm -rf src -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VER}.tar.gz" "automake-${AUTOMAKE_VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/automake/automake-${AUTOMAKE_VER}.tar.gz" "automake-${AUTOMAKE_VER}.tar.gz" tar -zxvf automake-${AUTOMAKE_VER}.tar.gz mv automake-${AUTOMAKE_VER} src cd src @@ -80,7 +80,7 @@ cd .. # Install libtool echo " === INSTALLING LIBTOOL ===" rm -rf src -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VER}.tar.gz" "libtool-${LIBTOOL_VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/libtool/libtool-${LIBTOOL_VER}.tar.gz" "libtool-${LIBTOOL_VER}.tar.gz" tar -zxvf libtool-${LIBTOOL_VER}.tar.gz mv libtool-${LIBTOOL_VER} src cd src diff --git a/externalpackages/autotools/install-mac.sh b/externalpackages/autotools/install-mac.sh index 709642a1e..fa7ec10da 100755 --- a/externalpackages/autotools/install-mac.sh +++ b/externalpackages/autotools/install-mac.sh @@ -21,7 +21,7 @@ mkdir -p ${PREFIX} # Install m4 echo " === INSTALLING M4 ===" -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/m4/m4-${M4_VER}.tar.gz" "m4-${M4_VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/m4/m4-${M4_VER}.tar.gz" "m4-${M4_VER}.tar.gz" tar -zxvf m4-${M4_VER}.tar.gz mv m4-${M4_VER} src cd src @@ -39,7 +39,7 @@ cd .. # Install Autoconf echo " === INSTALLING AUTOCONF ==" rm -rf src -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VER}.tar.gz" "autoconf-${AUTOCONF_VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/autoconf/autoconf-${AUTOCONF_VER}.tar.gz" "autoconf-${AUTOCONF_VER}.tar.gz" tar -zxvf autoconf-${AUTOCONF_VER}.tar.gz mv autoconf-${AUTOCONF_VER} src cd src @@ -56,7 +56,7 @@ cd .. # Install Automake echo " === INSTALLING AUTOMAKE ===" rm -rf src -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VER}.tar.gz" "automake-${AUTOMAKE_VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/automake/automake-${AUTOMAKE_VER}.tar.gz" "automake-${AUTOMAKE_VER}.tar.gz" tar -zxvf automake-${AUTOMAKE_VER}.tar.gz mv automake-${AUTOMAKE_VER} src cd src @@ -73,7 +73,7 @@ cd .. # Install libtool echo " === INSTALLING LIBTOOL ===" rm -rf src -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VER}.tar.gz" "libtool-${LIBTOOL_VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/libtool/libtool-${LIBTOOL_VER}.tar.gz" "libtool-${LIBTOOL_VER}.tar.gz" tar -zxvf libtool-${LIBTOOL_VER}.tar.gz mv libtool-${LIBTOOL_VER} src cd src diff --git a/externalpackages/dakota/install-6.2-discover.sh b/externalpackages/dakota/install-6.2-discover.sh index d7ae8184e..051a0fd0a 100755 --- a/externalpackages/dakota/install-6.2-discover.sh +++ b/externalpackages/dakota/install-6.2-discover.sh @@ -14,14 +14,14 @@ rm -rf install mkdir src build install #Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/dakota-6.2-public.src.tar.gz' 'dakota-6.2-public-src.tar.gz' +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" #Untar -tar -zxvf dakota-6.2-public-src.tar.gz +tar -zxvf dakota-${VER}-public-src.tar.gz #Move Dakota to src directory -mv dakota-6.2.0.src/* src -rm -rf dakota-6.2.0.src +mv dakota-${VER}.0.src/* src +rm -rf dakota-${VER}.0.src #Set up Dakota cmake variables and config export DAK_SRC=$ISSM_DIR/externalpackages/dakota/src diff --git a/externalpackages/dakota/install-6.2-ghub-workspace_10.sh b/externalpackages/dakota/install-6.2-ghub-workspace_10.sh index 0d4cfcc6c..4c459f0fc 100644 --- a/externalpackages/dakota/install-6.2-ghub-workspace_10.sh +++ b/externalpackages/dakota/install-6.2-ghub-workspace_10.sh @@ -32,7 +32,7 @@ rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/dakota-${VER}-public.src.tar.gz" "dakota-${VER}-public-src.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" # Unpack source tar -zxvf dakota-${VER}-public-src.tar.gz diff --git a/externalpackages/dakota/install-6.2-linux-static.sh b/externalpackages/dakota/install-6.2-linux-static.sh index 6f24ca251..8337a796c 100755 --- a/externalpackages/dakota/install-6.2-linux-static.sh +++ b/externalpackages/dakota/install-6.2-linux-static.sh @@ -33,7 +33,7 @@ rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/dakota-${VER}-public.src.tar.gz" "dakota-${VER}-public-src.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" # Unpack source tar -zxvf dakota-${VER}-public-src.tar.gz diff --git a/externalpackages/dakota/install-6.2-linux.sh b/externalpackages/dakota/install-6.2-linux.sh index e446d11bb..c66c99249 100755 --- a/externalpackages/dakota/install-6.2-linux.sh +++ b/externalpackages/dakota/install-6.2-linux.sh @@ -30,7 +30,7 @@ rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/dakota-${VER}-public.src.tar.gz" "dakota-${VER}-public-src.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" # Unpack source tar -zxvf dakota-${VER}-public-src.tar.gz diff --git a/externalpackages/dakota/install-6.2-lonestar.sh b/externalpackages/dakota/install-6.2-lonestar.sh index 48974d08d..c0765696b 100755 --- a/externalpackages/dakota/install-6.2-lonestar.sh +++ b/externalpackages/dakota/install-6.2-lonestar.sh @@ -14,14 +14,14 @@ rm -rf install mkdir src build install #Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/dakota-6.2-public.src.tar.gz' 'dakota-6.2-public-src.tar.gz' +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" #Untar -tar -zxvf dakota-6.2-public-src.tar.gz +tar -zxvf dakota-${VER}-public-src.tar.gz #Move Dakota to src directory -mv dakota-6.2.0.src/* src -rm -rf dakota-6.2.0.src +mv dakota-${VER}.0.src/* src +rm -rf dakota-${VER}.0.src #Set up Dakota cmake variables and config export DAK_SRC=$ISSM_DIR/externalpackages/dakota/src diff --git a/externalpackages/dakota/install-6.2-mac-static.sh b/externalpackages/dakota/install-6.2-mac-static.sh index c369677c1..21d10217d 100755 --- a/externalpackages/dakota/install-6.2-mac-static.sh +++ b/externalpackages/dakota/install-6.2-mac-static.sh @@ -22,11 +22,11 @@ LIBGCC=$(find ${LIBGFORTRAN_ROOT} -name libgcc* 2>/dev/null | egrep -n libgcc.a ## Environment # -export BLAS_LIBS="-L${BLAS_ROOT}/lib -lfblas ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it +export BLAS_LIBS="-lblas ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it export DAK_BUILD=${ISSM_DIR}/externalpackages/dakota/build # DO NOT CHANGE THIS export DAK_INSTALL=${PREFIX} # DO NOT CHANGE THIS export DAK_SRC=${ISSM_DIR}/externalpackages/dakota/src # DO NOT CHANGE THIS -export LAPACK_LIBS="-L${LAPACK_ROOT}/lib -lflapack ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it +export LAPACK_LIBS="-llapack ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it export LDFLAGS="-framework CoreFoundation" # Cleanup @@ -34,7 +34,7 @@ rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/dakota-${VER}-public.src.tar.gz" "dakota-${VER}-public-src.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" # Unpack source tar -zxvf dakota-${VER}-public-src.tar.gz diff --git a/externalpackages/dakota/install-6.2-mac.sh b/externalpackages/dakota/install-6.2-mac.sh index d6e2aa46c..df02a9d00 100755 --- a/externalpackages/dakota/install-6.2-mac.sh +++ b/externalpackages/dakota/install-6.2-mac.sh @@ -19,12 +19,12 @@ LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*} ## Environment # -export BLAS_LIBS="-L${BLAS_ROOT}/lib -lfblas" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it +export BLAS_LIBS="-lblas" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it export DAK_BUILD=${ISSM_DIR}/externalpackages/dakota/build # DO NOT CHANGE THIS export DAK_INSTALL=${PREFIX} # DO NOT CHANGE THIS export DAK_SRC=${ISSM_DIR}/externalpackages/dakota/src # DO NOT CHANGE THIS export FLIBS="-L${LIBGFORTRAN_ROOT} -lgfortran" -export LAPACK_LIBS="-L${LAPACK_ROOT}/lib -lflapack" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it +export LAPACK_LIBS="-llapack" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it export LDFLAGS="-framework CoreFoundation" # Cleanup @@ -32,7 +32,7 @@ rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/dakota-${VER}-public.src.tar.gz" "dakota-${VER}-public-src.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" # Unpack source tar -zxvf dakota-${VER}-public-src.tar.gz diff --git a/externalpackages/dakota/install-6.2-pleiades.sh b/externalpackages/dakota/install-6.2-pleiades.sh index 80c407b0e..b082cb6ff 100755 --- a/externalpackages/dakota/install-6.2-pleiades.sh +++ b/externalpackages/dakota/install-6.2-pleiades.sh @@ -22,7 +22,7 @@ rm -rf ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} mkdir -p ${DAK_BUILD} ${DAK_INSTALL} ${DAK_SRC} # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/dakota-${VER}-public.src.tar.gz" "dakota-${VER}-public-src.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" # Unpack source tar -zxvf dakota-${VER}-public-src.tar.gz diff --git a/externalpackages/dakota/install-6.2-stallo.sh b/externalpackages/dakota/install-6.2-stallo.sh index 8bffca6d9..a090e8551 100755 --- a/externalpackages/dakota/install-6.2-stallo.sh +++ b/externalpackages/dakota/install-6.2-stallo.sh @@ -14,14 +14,14 @@ rm -rf install mkdir src build install #Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/dakota-6.2-public.src.tar.gz' 'dakota-6.2-public-src.tar.gz' +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/dakota-${VER}-public-src.tar.gz" "dakota-${VER}-public-src.tar.gz" #Untar -tar -zxvf dakota-6.2-public-src.tar.gz +tar -zxvf dakota-${VER}-public-src.tar.gz #Move Dakota to src directory -mv dakota-6.2.0.src/* src -rm -rf dakota-6.2.0.src +mv dakota-${VER}.0.src/* src +rm -rf dakota-${VER}.0.src #Set up Dakota cmake variables and config #export PATH="/usr/bin":$PATH diff --git a/externalpackages/gmsh/install-4-mac-static.sh b/externalpackages/gmsh/install-4-mac-static.sh index aff5d1889..43ad66318 100755 --- a/externalpackages/gmsh/install-4-mac-static.sh +++ b/externalpackages/gmsh/install-4-mac-static.sh @@ -78,7 +78,7 @@ cmake \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_BUILD_LIB=1 \ - -DBLAS_LAPACK_LIBRARIES="-L${LAPACK_ROOT}/lib -lflapack -L${BLAS_ROOT}/lib -lfblas ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" \ + -DBLAS_LAPACK_LIBRARIES="-llapack -lblas ${LIBGFORTRAN_ROOT}/libgfortran.a ${LIBGFORTRAN_ROOT}/libquadmath.a ${LIBGCC}" \ -DENABLE_BLAS_LAPACK=1 \ -DENABLE_EIGEN=0 \ -DENABLE_FLTK=0 \ diff --git a/externalpackages/gmsh/install-4-mac.sh b/externalpackages/gmsh/install-4-mac.sh index 828f03c12..0eeadde4e 100755 --- a/externalpackages/gmsh/install-4-mac.sh +++ b/externalpackages/gmsh/install-4-mac.sh @@ -77,7 +77,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_BUILD_DYNAMIC=1 \ -DENABLE_BUILD_SHARED=1 \ - -DBLAS_LAPACK_LIBRARIES="-L${LAPACK_ROOT}/lib -lflapack -L${BLAS_ROOT}/lib -lfblas -L${LIBGFORTRAN_ROOT} -lgfortran" \ + -DBLAS_LAPACK_LIBRARIES="-llapack -lblas -L${LIBGFORTRAN_ROOT} -lgfortran" \ -DLIBGFORTRAN_ROOT="${LIBGFORTRAN_ROOT}" \ -DENABLE_BLAS_LAPACK=1 \ -DENABLE_EIGEN=0 \ diff --git a/externalpackages/gmt/configs/6.0/mac/cmake/ConfigUser.cmake b/externalpackages/gmt/configs/6.0/mac/cmake/ConfigUser.cmake index 3b5eb55d3..d0d7633f8 100644 --- a/externalpackages/gmt/configs/6.0/mac/cmake/ConfigUser.cmake +++ b/externalpackages/gmt/configs/6.0/mac/cmake/ConfigUser.cmake @@ -166,8 +166,8 @@ set (ZLIB_ROOT "$ENV{ZLIB_ROOT}") #set (GLIB_LIBRARIES c:/path/to/glib-dev/lib/glib-2.0.lib) # Set LAPACK location. Use this when want to link with LAPACK and it's not found automatically -set (LAPACK_LIBRARY "-L$ENV{LAPACK_ROOT} -lflapack") -set (BLAS_LIBRARY "-L$ENV{BLAS_ROOT} -lfblas") +set (LAPACK_LIBRARY "-llapack") +set (BLAS_LIBRARY "-lblas") ## ## Section 3: GMT features diff --git a/externalpackages/gmt/install-6-mac-static.sh b/externalpackages/gmt/install-6-mac-static.sh index 258c789b3..becc35c40 100755 --- a/externalpackages/gmt/install-6-mac-static.sh +++ b/externalpackages/gmt/install-6-mac-static.sh @@ -87,13 +87,13 @@ cd build # cmake \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ - -DBLAS_LIBRARIES="${BLAS_ROOT}/lib/libfblas.a;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \ + -DBLAS_LIBRARIES="-lblas;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \ -DCURL_INCLUDE_DIR="${CURL_ROOT}/include" \ -DCURL_LIBRARY="${CURL_ROOT}/lib/libcurl.a" \ -DGDAL_EXTRA_LIBS="${GDAL_EXTRA_LIBS}" \ -DGLIB_INCLUDE_DIRS="${GLIB_H_DIR};${GLIBCONFIG_H_DIR}" \ -DGLIB_LIBRARY="${LIBGLIB} ${LIBGLIB_ROOT}/libgthread-2.0.a ${LIBINTL} -liconv ${LIBPCRE} -framework Foundation" \ - -DLAPACK_LIBRARIES="${LAPACK_ROOT}/lib/libflapack.a;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \ + -DLAPACK_LIBRARIES="-llapack;${LIBGFORTRAN_ROOT}/libgfortran.a;${LIBGFORTRAN_ROOT}/libquadmath.a;${LIBGCC}" \ -DNETCDF_EXTRA_LIBS="${NETCDF_EXTRA_LIBS}" \ .. diff --git a/externalpackages/gmt/install-6-mac.sh b/externalpackages/gmt/install-6-mac.sh index 91110c834..e8f6165d8 100755 --- a/externalpackages/gmt/install-6-mac.sh +++ b/externalpackages/gmt/install-6-mac.sh @@ -21,7 +21,7 @@ LIBGFORTRAN_ROOT=${LIBGFORTRAN%/*} # export CC=mpicc export CFLAGS="${CFLAGS} -w" -export LDFLAGS="-Wl,-rpath,${NETCDF_ROOT}/lib" +export LDFLAGS="-Wl,-rpath,'${GDAL_ROOT}/lib' -Wl,-rpath,'${NETCDF_ROOT}/lib'" # Download source $ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/GenericMappingTools/gmt/archive/refs/tags/${VER}.tar.gz" "gmt-${VER}.tar.gz" @@ -58,10 +58,10 @@ cd build # cmake \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ - -DBLAS_LIBRARIES="-L${BLAS_ROOT}/lib;-lfblas;-L${LIBGFORTRAN_ROOT};-lgfortran" \ + -DBLAS_LIBRARIES="-lblas;-L${LIBGFORTRAN_ROOT};-lgfortran" \ -DCURL_INCLUDE_DIR="${CURL_ROOT}/include" \ -DCURL_LIBRARY="-L${CURL_ROOT}/lib;-lcurl" \ - -DLAPACK_LIBRARIES="-L${LAPACK_ROOT}/lib;-lflapack;-L${LIBGFORTRAN_ROOT};-lgfortran" \ + -DLAPACK_LIBRARIES="-llapack;-L${LIBGFORTRAN_ROOT};-lgfortran" \ -DLIBGFORTRAN_ROOT="${LIBGFORTRAN_ROOT}" \ .. diff --git a/externalpackages/gsl/Makefile.am.patch b/externalpackages/gsl/Makefile.am.patch deleted file mode 100644 index 9a3c56539..000000000 --- a/externalpackages/gsl/Makefile.am.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- Makefile.am 2011-04-14 08:13:48.000000000 -0700 -+++ Makefile.am_tmp 2012-11-12 14:54:02.000000000 -0800 -@@ -24,10 +24,22 @@ - noinst_HEADERS = templates_on.h templates_off.h build.h - - MINGW32_HOST = @MINGW32_HOST@ --if MINGW32_HOST -+ -+# Origional 'Makefile.am' sets 'libgslcblas.la' as a requirement for -+#'libgsl.ls' only if the host system is detected to be MingW32. This -+# is unfortunate as 'libgsl.la' has undefined 'cblas' symbols the -+# result is linking errors at run time. This patch sets the 'cblas' -+# library as a requirement for linking 'libgsl'. -+# -+# Origional script: -+# -+# if MINGW32_HOST -+# libgsl_la_LIBADD += cblas/libgslcblas.la -+# libgsl_la_LDFLAGS += -no-undefined -+# endif -+ - libgsl_la_LIBADD += cblas/libgslcblas.la - libgsl_la_LDFLAGS += -no-undefined --endif - - m4datadir = $(datadir)/aclocal - m4data_DATA = gsl.m4 diff --git a/externalpackages/gsl/finite.patch b/externalpackages/gsl/finite.patch deleted file mode 100644 index 8de603c68..000000000 --- a/externalpackages/gsl/finite.patch +++ /dev/null @@ -1,354 +0,0 @@ -diff -ruN src/gsl_math.h src-mod/gsl_math.h ---- src/gsl_math.h 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/gsl_math.h 2014-05-27 18:47:26.000000000 -0700 -@@ -116,7 +116,7 @@ - #define GSL_SIGN(x) ((x) >= 0.0 ? 1 : -1) - - /* Return nonzero if x is a real number, i.e. non NaN or infinite. */ --#define GSL_IS_REAL(x) (gsl_finite(x)) -+#define GSL_IS_REAL(x) (isfinite(x)) - - /* Definition of an arbitrary function with parameters */ - -diff -ruN src/integration/cquad.c src-mod/integration/cquad.c ---- src/integration/cquad.c 2011-05-01 11:46:28.000000000 -0700 -+++ src-mod/integration/cquad.c 2014-05-27 18:47:26.000000000 -0700 -@@ -235,7 +235,7 @@ - { - iv->fx[i] = GSL_FN_EVAL (f, m + xi[i] * h); - neval++; -- if (!finite (iv->fx[i])) -+ if (!isfinite (iv->fx[i])) - { - nans[nnans++] = i; - iv->fx[i] = 0.0; -@@ -319,7 +319,7 @@ - nnans = 0; - for (i = 0; i <= 32; i += skip[d]) - { -- if (!finite (iv->fx[i])) -+ if (!isfinite (iv->fx[i])) - { - nans[nnans++] = i; - iv->fx[i] = 0.0; -@@ -444,7 +444,7 @@ - nnans = 0; - for (i = 0; i <= 32; i += skip[0]) - { -- if (!finite (ivl->fx[i])) -+ if (!isfinite (ivl->fx[i])) - { - nans[nnans++] = i; - ivl->fx[i] = 0.0; -@@ -510,7 +510,7 @@ - nnans = 0; - for (i = 0; i <= 32; i += skip[0]) - { -- if (!finite (ivr->fx[i])) -+ if (!isfinite (ivr->fx[i])) - { - nans[nnans++] = i; - ivr->fx[i] = 0.0; -diff -ruN src/linalg/balance.c src-mod/linalg/balance.c ---- src/linalg/balance.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/linalg/balance.c 2014-05-27 18:47:27.000000000 -0700 -@@ -54,7 +54,7 @@ - - double f = 1.0; - -- if (s == 0.0 || !gsl_finite(s)) -+ if (s == 0.0 || !isfinite(s)) - { - gsl_vector_set (D, j, f); - continue; -diff -ruN src/min/min.h src-mod/min/min.h ---- src/min/min.h 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/min/min.h 2014-05-27 18:47:27.000000000 -0700 -@@ -20,6 +20,6 @@ - #define SAFE_FUNC_CALL(f, x, yp) \ - do { \ - *yp = GSL_FN_EVAL(f,x); \ -- if (!gsl_finite(*yp)) \ -+ if (!isfinite(*yp)) \ - GSL_ERROR("computed function value is infinite or NaN", GSL_EBADFUNC); \ - } while (0) -diff -ruN src/multimin/simplex.c src-mod/multimin/simplex.c ---- src/multimin/simplex.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/multimin/simplex.c 2014-05-27 18:47:27.000000000 -0700 -@@ -122,7 +122,7 @@ - we finish the contraction (and do not abort) to allow the user - to handle the situation */ - -- if(!gsl_finite(newval)) -+ if(!isfinite(newval)) - { - status = GSL_EBADFUNC; - } -@@ -260,7 +260,7 @@ - - val = GSL_MULTIMIN_FN_EVAL (f, x); - -- if (!gsl_finite(val)) -+ if (!isfinite(val)) - { - GSL_ERROR("non-finite function value encountered", GSL_EBADFUNC); - } -@@ -283,7 +283,7 @@ - gsl_vector_set (xtemp, i, val); - val = GSL_MULTIMIN_FN_EVAL (f, xtemp); - -- if (!gsl_finite(val)) -+ if (!isfinite(val)) - { - GSL_ERROR("non-finite function value encountered", GSL_EBADFUNC); - } -@@ -374,14 +374,14 @@ - - val = nmsimplex_move_corner (-1.0, state, hi, xc, f); - -- if (gsl_finite(val) && val < gsl_vector_get (y1, lo)) -+ if (isfinite(val) && val < gsl_vector_get (y1, lo)) - { - - /* reflected point becomes lowest point, try expansion */ - - val2 = nmsimplex_move_corner (-2.0, state, hi, xc2, f); - -- if (gsl_finite(val2) && val2 < gsl_vector_get (y1, lo)) -+ if (isfinite(val2) && val2 < gsl_vector_get (y1, lo)) - { - gsl_matrix_set_row (x1, hi, xc2); - gsl_vector_set (y1, hi, val2); -@@ -397,9 +397,9 @@ - or - we got a non-finite (illegal) function value */ - -- else if (!gsl_finite(val) || val > gsl_vector_get (y1, s_hi)) -+ else if (!isfinite(val) || val > gsl_vector_get (y1, s_hi)) - { -- if (gsl_finite(val) && val <= gsl_vector_get (y1, hi)) -+ if (isfinite(val) && val <= gsl_vector_get (y1, hi)) - { - - /* if trial point is better than highest point, replace -@@ -413,7 +413,7 @@ - - val2 = nmsimplex_move_corner (0.5, state, hi, xc2, f); - -- if (gsl_finite(val2) && val2 <= gsl_vector_get (y1, hi)) -+ if (isfinite(val2) && val2 <= gsl_vector_get (y1, hi)) - { - gsl_matrix_set_row (state->x1, hi, xc2); - gsl_vector_set (y1, hi, val2); -diff -ruN src/multimin/simplex2.c src-mod/multimin/simplex2.c ---- src/multimin/simplex2.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/multimin/simplex2.c 2014-05-27 18:47:27.000000000 -0700 -@@ -171,7 +171,7 @@ - we finish the contraction (and do not abort) to allow the user - to handle the situation */ - -- if (!gsl_finite (newval)) -+ if (!isfinite (newval)) - { - status = GSL_EBADFUNC; - } -@@ -367,7 +367,7 @@ - - val = GSL_MULTIMIN_FN_EVAL (f, x); - -- if (!gsl_finite (val)) -+ if (!isfinite (val)) - { - GSL_ERROR ("non-finite function value encountered", GSL_EBADFUNC); - } -@@ -394,7 +394,7 @@ - val = GSL_MULTIMIN_FN_EVAL (f, xtemp); - } - -- if (!gsl_finite (val)) -+ if (!isfinite (val)) - { - GSL_ERROR ("non-finite function value encountered", GSL_EBADFUNC); - } -@@ -477,13 +477,13 @@ - - val = try_corner_move (-1.0, state, hi, xc, f); - -- if (gsl_finite (val) && val < gsl_vector_get (y1, lo)) -+ if (isfinite (val) && val < gsl_vector_get (y1, lo)) - { - /* reflected point is lowest, try expansion */ - - val2 = try_corner_move (-2.0, state, hi, xc2, f); - -- if (gsl_finite (val2) && val2 < gsl_vector_get (y1, lo)) -+ if (isfinite (val2) && val2 < gsl_vector_get (y1, lo)) - { - update_point (state, hi, xc2, val2); - } -@@ -492,12 +492,12 @@ - update_point (state, hi, xc, val); - } - } -- else if (!gsl_finite (val) || val > gsl_vector_get (y1, s_hi)) -+ else if (!isfinite (val) || val > gsl_vector_get (y1, s_hi)) - { - /* reflection does not improve things enough, or we got a - non-finite function value */ - -- if (gsl_finite (val) && val <= gsl_vector_get (y1, hi)) -+ if (isfinite (val) && val <= gsl_vector_get (y1, hi)) - { - /* if trial point is better than highest point, replace - highest point */ -@@ -509,7 +509,7 @@ - - val2 = try_corner_move (0.5, state, hi, xc2, f); - -- if (gsl_finite (val2) && val2 <= gsl_vector_get (y1, hi)) -+ if (isfinite (val2) && val2 <= gsl_vector_get (y1, hi)) - { - update_point (state, hi, xc2, val2); - } -@@ -605,7 +605,7 @@ - - val = GSL_MULTIMIN_FN_EVAL (f, x); - -- if (!gsl_finite (val)) -+ if (!isfinite (val)) - { - GSL_ERROR ("non-finite function value encountered", GSL_EBADFUNC); - } -@@ -669,7 +669,7 @@ - - val = GSL_MULTIMIN_FN_EVAL (f, &r_i.vector); - -- if (!gsl_finite (val)) -+ if (!isfinite (val)) - { - GSL_ERROR ("non-finite function value encountered", GSL_EBADFUNC); - } -diff -ruN src/roots/newton.c src-mod/roots/newton.c ---- src/roots/newton.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/roots/newton.c 2014-05-27 18:47:27.000000000 -0700 -@@ -83,12 +83,12 @@ - state->f = f_new ; - state->df = df_new ; - -- if (!gsl_finite(f_new)) -+ if (!isfinite(f_new)) - { - GSL_ERROR ("function value is not finite", GSL_EBADFUNC); - } - -- if (!gsl_finite (df_new)) -+ if (!isfinite (df_new)) - { - GSL_ERROR ("derivative value is not finite", GSL_EBADFUNC); - } -diff -ruN src/roots/roots.h src-mod/roots/roots.h ---- src/roots/roots.h 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/roots/roots.h 2014-05-27 18:47:27.000000000 -0700 -@@ -28,7 +28,7 @@ - #define SAFE_FUNC_CALL(f, x, yp) \ - do { \ - *yp = GSL_FN_EVAL(f,x); \ -- if (!gsl_finite(*yp)) \ -+ if (!isfinite(*yp)) \ - GSL_ERROR("function value is not finite", GSL_EBADFUNC); \ - } while (0) - -diff -ruN src/roots/secant.c src-mod/roots/secant.c ---- src/roots/secant.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/roots/secant.c 2014-05-27 18:47:27.000000000 -0700 -@@ -94,12 +94,12 @@ - state->f = f_new ; - state->df = df_new ; - -- if (!gsl_finite (f_new)) -+ if (!isfinite (f_new)) - { - GSL_ERROR ("function value is not finite", GSL_EBADFUNC); - } - -- if (!gsl_finite (df_new)) -+ if (!isfinite (df_new)) - { - GSL_ERROR ("derivative value is not finite", GSL_EBADFUNC); - } -diff -ruN src/roots/steffenson.c src-mod/roots/steffenson.c ---- src/roots/steffenson.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/roots/steffenson.c 2014-05-27 18:47:27.000000000 -0700 -@@ -105,7 +105,7 @@ - state->f = f_new ; - state->df = df_new ; - -- if (!gsl_finite (f_new)) -+ if (!isfinite (f_new)) - { - GSL_ERROR ("function value is not finite", GSL_EBADFUNC); - } -@@ -126,7 +126,7 @@ - *root = x_1 - u * u / v ; /* accelerated value */ - } - -- if (!gsl_finite (df_new)) -+ if (!isfinite (df_new)) - { - GSL_ERROR ("derivative value is not finite", GSL_EBADFUNC); - } -diff -ruN src/specfunc/hyperg_U.c src-mod/specfunc/hyperg_U.c ---- src/specfunc/hyperg_U.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/specfunc/hyperg_U.c 2014-05-27 18:47:28.000000000 -0700 -@@ -524,7 +524,7 @@ - t_err = a0_err + b0_err; - dchu_val += t_val; - dchu_err += t_err; -- if(!finite(t_val) || fabs(t_val) < EPS*fabs(dchu_val)) break; -+ if(!isfinite(t_val) || fabs(t_val) < EPS*fabs(dchu_val)) break; - } - - result->val = dchu_val; -diff -ruN src/sys/ldfrexp.c src-mod/sys/ldfrexp.c ---- src/sys/ldfrexp.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/sys/ldfrexp.c 2014-05-27 18:47:28.000000000 -0700 -@@ -60,7 +60,7 @@ - *e = 0; - return 0.0; - } -- else if (!finite (x)) -+ else if (!isfinite (x)) - { - *e = 0; - return x; -@@ -85,7 +85,7 @@ - - f = x * pow (2.0, -ei); - -- if (!finite (f)) -+ if (!isfinite (f)) - { - /* This should not happen */ - *e = 0; -diff -ruN src/test/results.c src-mod/test/results.c ---- src/test/results.c 2010-12-26 09:57:08.000000000 -0800 -+++ src-mod/test/results.c 2014-05-27 18:47:28.000000000 -0700 -@@ -24,7 +24,10 @@ - #include - #include - #include -+#include -+#define STDC_HEADERS - -+/* - #if HAVE_VPRINTF - #ifdef STDC_HEADERS - #include -@@ -32,6 +35,7 @@ - #include - #endif - #endif -+*/ - - #include - diff --git a/externalpackages/gsl/install-greenplanet.sh b/externalpackages/gsl/install-greenplanet.sh deleted file mode 100755 index a8e46e42f..000000000 --- a/externalpackages/gsl/install-greenplanet.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -set -eu - -#Some cleanup -rm -rf src install gsl-1.15 -mkdir src install - -#Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/gsl-1.15.tar.gz' 'gsl-1.15.tar.gz' - -#Untar -tar -zxvf gsl-1.15.tar.gz - -#Move gsl into src directory -mv gsl-1.15/* src -rm -rf gsl-1.15 - -#Configure gsl -cd src - -./configure \ - --prefix="$ISSM_DIR/externalpackages/gsl/install" - -#Compile gsl -if [ $# -eq 0 ]; then - make -else - make -j $1 -fi -make install diff --git a/externalpackages/gsl/install-javascript.sh b/externalpackages/gsl/install-javascript.sh index 09f2d7a6d..f69ae8829 100755 --- a/externalpackages/gsl/install-javascript.sh +++ b/externalpackages/gsl/install-javascript.sh @@ -27,7 +27,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/gsl/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/gsl/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz" # Unpack source tar -zxvf gsl-${VER}.tar.gz diff --git a/externalpackages/gsl/install-pleiades.sh b/externalpackages/gsl/install-pleiades.sh index 2a2e5eae7..60f39362b 100755 --- a/externalpackages/gsl/install-pleiades.sh +++ b/externalpackages/gsl/install-pleiades.sh @@ -13,7 +13,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/gsl/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/gsl/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz" # Unpack source tar -zxvf gsl-${VER}.tar.gz diff --git a/externalpackages/gsl/install-static.sh b/externalpackages/gsl/install-static.sh index 1fd54b36e..8cd7445f1 100755 --- a/externalpackages/gsl/install-static.sh +++ b/externalpackages/gsl/install-static.sh @@ -13,7 +13,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/gsl/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/gsl/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz" # Unpack source tar -zxvf gsl-${VER}.tar.gz diff --git a/externalpackages/gsl/install-walgreen.sh b/externalpackages/gsl/install-walgreen.sh deleted file mode 100755 index 0cf596778..000000000 --- a/externalpackages/gsl/install-walgreen.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -set -eu - -#Some cleanup -rm -rf src install gsl-1.15 -mkdir src install - -#Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/gsl-1.15.tar.gz' 'gsl-1.15.tar.gz' - -#Untar -tar -zxvf gsl-1.15.tar.gz - -#Move gsl into src directory -mv gsl-1.15/* src -rm -rf gsl-1.15 - -#Configure gsl -cd src - -export CC=icc -./configure \ - --prefix="$ISSM_DIR/externalpackages/gsl/install" - -#Compile gsl -if [ $# -eq 0 ]; then - make -else - make -j $1 -fi -make install diff --git a/externalpackages/gsl/install.sh b/externalpackages/gsl/install.sh index a691c2869..49df17b85 100755 --- a/externalpackages/gsl/install.sh +++ b/externalpackages/gsl/install.sh @@ -13,7 +13,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://ftp.gnu.org/gnu/gsl/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://mirrors.ocf.berkeley.edu/gnu/gsl/gsl-${VER}.tar.gz" "gsl-${VER}.tar.gz" # Unpack source tar -zxvf gsl-${VER}.tar.gz diff --git a/externalpackages/m1qn3/install-linux-static.sh b/externalpackages/m1qn3/install-linux-static.sh index 634cd7d87..6e3aeb7f5 100755 --- a/externalpackages/m1qn3/install-linux-static.sh +++ b/externalpackages/m1qn3/install-linux-static.sh @@ -12,7 +12,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" # Unpack source tar -xzf m1qn3-${VER}-distrib.tgz diff --git a/externalpackages/m1qn3/install-linux.sh b/externalpackages/m1qn3/install-linux.sh index 15dc86433..0736691af 100755 --- a/externalpackages/m1qn3/install-linux.sh +++ b/externalpackages/m1qn3/install-linux.sh @@ -12,7 +12,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" # Unpack source tar -xzf m1qn3-${VER}-distrib.tgz diff --git a/externalpackages/m1qn3/install-mac-static.sh b/externalpackages/m1qn3/install-mac-static.sh index a61958dac..ff30d3a0a 100755 --- a/externalpackages/m1qn3/install-mac-static.sh +++ b/externalpackages/m1qn3/install-mac-static.sh @@ -12,7 +12,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" # Unpack source tar -xzf m1qn3-${VER}-distrib.tgz diff --git a/externalpackages/m1qn3/install-mac.sh b/externalpackages/m1qn3/install-mac.sh index 12940b761..32cf7e226 100755 --- a/externalpackages/m1qn3/install-mac.sh +++ b/externalpackages/m1qn3/install-mac.sh @@ -13,7 +13,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" # Unpack source tar -xzf m1qn3-${VER}-distrib.tgz diff --git a/externalpackages/m1qn3/install-maui.sh b/externalpackages/m1qn3/install-maui.sh deleted file mode 100755 index 6bfdc876c..000000000 --- a/externalpackages/m1qn3/install-maui.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -set -eu - -#Some cleanup -rm -rf install src m1qn3-3.3-distrib -mkdir install - -#Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/m1qn3-3.3-distrib.tgz' 'm1qn3-3.3-distrib.tgz' - -#Untar -tar -xzf m1qn3-3.3-distrib.tgz -mv m1qn3-3.3-distrib src - -FC="ftn" - -#Compile m1qn3 -cd src/src/ -( -cat << EOF -LIB_EXT=a -FC=$FC -install: libm1qn3.\$(LIB_EXT) - cp libm1qn3.\$(LIB_EXT) ../../install/ -OBJECTS= m1qn3.o -libm1qn3.\$(LIB_EXT): \$(OBJECTS) - ar -r libm1qn3.\$(LIB_EXT) \$(OBJECTS) - ranlib libm1qn3.\$(LIB_EXT) -%.o: %.f - \$(FC) \$(FFLAGS) -fPIC -c $< -o \$@ -clean: - rm -rf *.o *.\$(LIB_EXT) -EOF -) > Makefile -make - -#compile ddot -cd ../blas -( -cat << EOF -LIB_EXT=a -FC=$FC -install: libddot.\$(LIB_EXT) - cp libddot.\$(LIB_EXT) ../../install/ -OBJECTS= ddot.o -libddot.\$(LIB_EXT): \$(OBJECTS) - ar -r libddot.\$(LIB_EXT) \$(OBJECTS) - ranlib libddot.\$(LIB_EXT) -%.o: %.f - \$(FC) \$(FFLAGS) -fPIC -c $< -o \$@ -clean: - rm -rf *.o *.\$(LIB_EXT) -EOF -) > Makefile -make diff --git a/externalpackages/m1qn3/install-win-msys2-mingw-static.sh b/externalpackages/m1qn3/install-win-msys2-mingw-static.sh index bff15d45e..e9a564f13 100755 --- a/externalpackages/m1qn3/install-win-msys2-mingw-static.sh +++ b/externalpackages/m1qn3/install-win-msys2-mingw-static.sh @@ -12,7 +12,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" # Unpack source tar -xzf m1qn3-${VER}-distrib.tgz diff --git a/externalpackages/m1qn3/install-win-msys2-mingw.sh b/externalpackages/m1qn3/install-win-msys2-mingw.sh index fad2bfda3..3a0676f41 100755 --- a/externalpackages/m1qn3/install-win-msys2-mingw.sh +++ b/externalpackages/m1qn3/install-win-msys2-mingw.sh @@ -12,7 +12,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/m1qn3-${VER}-distrib.tgz" "m1qn3-${VER}-distrib.tgz" # Unpack source tar -xzf m1qn3-${VER}-distrib.tgz diff --git a/externalpackages/petsc/install-3.14-win-msys2-mingw-msmpi-static.sh b/externalpackages/petsc/install-3.14-win-msys2-mingw-msmpi-static.sh index 011c0ff45..49fd4975b 100755 --- a/externalpackages/petsc/install-3.14-win-msys2-mingw-msmpi-static.sh +++ b/externalpackages/petsc/install-3.14-win-msys2-mingw-msmpi-static.sh @@ -25,7 +25,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-${VER}.tar.gz" "petsc-${VER}.tar.gz" # Unpack source tar -zxvf petsc-${VER}.tar.gz diff --git a/externalpackages/petsc/install-3.22-mac-static.sh b/externalpackages/petsc/install-3.22-mac-static.sh index 3cf8a6f80..9c5283772 100755 --- a/externalpackages/petsc/install-3.22-mac-static.sh +++ b/externalpackages/petsc/install-3.22-mac-static.sh @@ -44,7 +44,6 @@ cd ${PETSC_DIR} --with-valgrind=0 \ --with-x=0 \ --with-ssl=0 \ - --download-fblaslapack=1 \ --download-metis=1 \ --download-mpich=1 \ --download-mumps=1 \ diff --git a/externalpackages/petsc/install-3.23-linux-static.sh b/externalpackages/petsc/install-3.23-linux-static.sh new file mode 100755 index 000000000..9bc2f6fd4 --- /dev/null +++ b/externalpackages/petsc/install-3.23-linux-static.sh @@ -0,0 +1,57 @@ +#!/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} + +# Configure +# +# NOTE: +# - Cannot use --with-fpic option when compiling static libs, +# +# Cannot determine compiler PIC flags if shared libraries is turned off +# Either run using --with-shared-libraries or --with-pic=0 and supply the +# compiler PIC flag via CFLAGS, CXXXFLAGS, and FCFLAGS +# +cd ${PETSC_DIR} +./configure \ + --prefix="${PREFIX}" \ + --PETSC_DIR="${PETSC_DIR}" \ + --with-shared-libraries=0 \ + --CFLAGS="-fPIC" \ + --CXXFLAGS="-fPIC" \ + --FFLAGS="-fPIC" \ + --with-debugging=0 \ + --with-valgrind=0 \ + --with-x=0 \ + --with-ssl=0 \ + --download-fblaslapack=1 \ + --download-metis=1 \ + --download-mpich=1 \ + --download-mumps=1 \ + --download-parmetis=1 \ + --download-scalapack=1 \ + --download-zlib=1 + +# Compile and install +make +make install diff --git a/externalpackages/petsc/install-3.23-linux.sh b/externalpackages/petsc/install-3.23-linux.sh new file mode 100755 index 000000000..daac83fb5 --- /dev/null +++ b/externalpackages/petsc/install-3.23-linux.sh @@ -0,0 +1,46 @@ +#!/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} + +# Configure +cd ${PETSC_DIR} +./configure \ + --prefix="${PREFIX}" \ + --PETSC_DIR="${PETSC_DIR}" \ + --with-debugging=0 \ + --with-valgrind=0 \ + --with-x=0 \ + --with-ssl=0 \ + --with-pic=1 \ + --download-fblaslapack=1 \ + --download-metis=1 \ + --download-mpich=1 \ + --download-mumps=1 \ + --download-parmetis=1 \ + --download-scalapack=1 \ + --download-zlib=1 + +# Compile and install +make +make install diff --git a/externalpackages/petsc/install-3.23-mac-static.sh b/externalpackages/petsc/install-3.23-mac-static.sh new file mode 100755 index 000000000..04d531689 --- /dev/null +++ b/externalpackages/petsc/install-3.23-mac-static.sh @@ -0,0 +1,61 @@ +#!/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} + +# Configure +# +# NOTE: +# - Cannot use --with-fpic option when compiling static libs, +# +# Cannot determine compiler PIC flags if shared libraries is turned off +# Either run using --with-shared-libraries or --with-pic=0 and supply the +# compiler PIC flag via CFLAGS, CXXXFLAGS, and FCFLAGS +# +cd ${PETSC_DIR} +./configure \ + --prefix="${PREFIX}" \ + --PETSC_DIR="${PETSC_DIR}" \ + --with-shared-libraries=0 \ + --CFLAGS="-fPIC" \ + --CXXFLAGS="-fPIC" \ + --FFLAGS="-fPIC" \ + --with-debugging=0 \ + --with-valgrind=0 \ + --with-x=0 \ + --with-ssl=0 \ + --download-metis=1 \ + --download-mpich=1 \ + --download-mumps=1 \ + --download-parmetis=1 \ + --download-scalapack=1 \ + --download-zlib=1 + +# Compile and install +make +make install + +# Need to make symlinks from libmpich* to libmpi* +ln -s ${PREFIX}/lib/libmpi.a ${PREFIX}/lib/libmpich.a +ln -s ${PREFIX}/lib/libmpicxx.a ${PREFIX}/lib/libmpichcxx.a +ln -s ${PREFIX}/lib/libmpifort.a ${PREFIX}/lib/libmpichf90.a diff --git a/externalpackages/petsc/install-3.23-mac.sh b/externalpackages/petsc/install-3.23-mac.sh new file mode 100755 index 000000000..3dd2abcad --- /dev/null +++ b/externalpackages/petsc/install-3.23-mac.sh @@ -0,0 +1,44 @@ +#!/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} + +# Configure +cd ${PETSC_DIR} +./configure \ + --prefix="${PREFIX}" \ + --PETSC_DIR="${PETSC_DIR}" \ + --with-debugging=0 \ + --with-valgrind=0 \ + --with-x=0 \ + --with-ssl=0 \ + --with-pic=1 \ + --download-metis=1 \ + --download-mpich=1 \ + --download-mumps=1 \ + --download-parmetis=1 \ + --download-scalapack=1 \ + --download-zlib=1 + +# Compile and install +make +make install diff --git a/externalpackages/shell2junit/install.sh b/externalpackages/shell2junit/install.sh index dfa3eea36..144d1d434 100755 --- a/externalpackages/shell2junit/install.sh +++ b/externalpackages/shell2junit/install.sh @@ -13,7 +13,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX}/bin # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/shell2junit-${VER}.zip" "shell2junit-${VER}.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/shell2junit-${VER}.zip" "shell2junit-${VER}.zip" # Unpack source unzip -q shell2junit-${VER}.zip diff --git a/externalpackages/triangle/configs/javascript/configure.make b/externalpackages/triangle/configs/javascript/configure.make index 3b5851a05..e868f0ddd 100644 --- a/externalpackages/triangle/configs/javascript/configure.make +++ b/externalpackages/triangle/configs/javascript/configure.make @@ -1,4 +1,3 @@ -CXX=em++ -CXXSWITCHES=$(CFLAGS) -DNO_TIMER -fPIC -DANSI_DECLARATORS -DTRILIBRARY -TRILIBDEFS=-DTRILIBRARY -DANSI_DECLARATORS -LIB_EXT=a +CC=emcc +CSWITCHES= $(CFLAGS) -DNO_TIMER -fpic +TRILIBDEFS= -DTRILIBRARY diff --git a/externalpackages/triangle/install-altix64.sh b/externalpackages/triangle/install-altix64.sh deleted file mode 100755 index 412af83de..000000000 --- a/externalpackages/triangle/install-altix64.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -set -eu - -#Some cleanup -rm -rf install triangle -mkdir install - -#Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/triangle.zip' 'triangle.zip' - -#Untar -cd install -cp ../triangle.zip ./ -unzip triangle.zip - -#copy new makefile -cp ../configs/altix64/configure.make ./ -cp ../makefile ./ - -#Compile triangle -make - -#Patch triangle.h -patch triangle.h ../triangle.h.patch diff --git a/externalpackages/triangle/install-android.sh b/externalpackages/triangle/install-android.sh deleted file mode 100755 index a920c0df6..000000000 --- a/externalpackages/triangle/install-android.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -set -eu - -source $ANDROID_DIR/android_aux.sh - -#Some cleanup -rm -rf install triangle -mkdir install - -#Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/triangle.zip' 'triangle.zip' - -#Untar -cd install -cp ../triangle.zip ./ -unzip triangle.zip - -#copy new makefile -cp ../configs/android/configure.make ./ -cp ../makefile ./ - -#Compile triangle -make - -#Patch triangle.h -patch triangle.h ../triangle.h.patch diff --git a/externalpackages/triangle/install-discover.sh b/externalpackages/triangle/install-discover.sh index 04c14f6eb..28fe9f404 100755 --- a/externalpackages/triangle/install-discover.sh +++ b/externalpackages/triangle/install-discover.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} src mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-iosarmv7.sh b/externalpackages/triangle/install-iosarmv7.sh deleted file mode 100755 index e76deb72a..000000000 --- a/externalpackages/triangle/install-iosarmv7.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -set -eu - -host_triplet="armv7-apple-darwin14.0.0" - -#cleanup -rm -rf install triangle -mkdir install - -#Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/triangle.zip' 'triangle.zip' - -#untar -cd install -cp ../triangle.zip ./ -unzip triangle.zip -rm triangle.zip - -#copy new makefile -cp ../configs/ios/configure.make ./ -cp ../makefile ./ - -#compile triangle -make - -#patch triangle.h -patch triangle.h ../triangle.h.patch diff --git a/externalpackages/triangle/install-iosarmv7s.sh b/externalpackages/triangle/install-iosarmv7s.sh deleted file mode 100755 index f59edacf2..000000000 --- a/externalpackages/triangle/install-iosarmv7s.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -set -eu - -host_triplet="armv7s-apple-darwin14.0.0" - -#cleanup -rm -rf install triangle -mkdir install - -#Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/triangle.zip' 'triangle.zip' - -#untar -cd install -cp ../triangle.zip ./ -unzip triangle.zip -rm triangle.zip - -#copy new makefile -cp ../configs/ios/configure.make ./ -cp ../makefile ./ - -#compile triangle -make - -#patch triangle.h -patch triangle.h ../triangle.h.patch diff --git a/externalpackages/triangle/install-iosi386.sh b/externalpackages/triangle/install-iosi386.sh deleted file mode 100755 index 0c8f84018..000000000 --- a/externalpackages/triangle/install-iosi386.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -set -eu - -host_triplet="i386-apple-darwin13.1.0" - -#cleanup -rm -rf install triangle -mkdir install - -#Download from ISSM server -$ISSM_DIR/scripts/DownloadExternalPackage.sh 'https://issm.ess.uci.edu/files/externalpackages/triangle.zip' 'triangle.zip' - -#untar -cd install -cp ../triangle.zip ./ -unzip triangle.zip -rm triangle.zip - -#copy new makefile -cp ../configs/ios/configure.make ./ -cp ../makefile ./ - -#compile triangle -make - -#patch triangle.h -patch triangle.h ../triangle.h.patch diff --git a/externalpackages/triangle/install-linux-javascript.sh b/externalpackages/triangle/install-javascript.sh similarity index 85% rename from externalpackages/triangle/install-linux-javascript.sh rename to externalpackages/triangle/install-javascript.sh index be38ff431..2d0eee571 100755 --- a/externalpackages/triangle/install-linux-javascript.sh +++ b/externalpackages/triangle/install-javascript.sh @@ -22,7 +22,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/share src # Download source -${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-linux-static.sh b/externalpackages/triangle/install-linux-static.sh index 8a0364d5a..1879182a6 100755 --- a/externalpackages/triangle/install-linux-static.sh +++ b/externalpackages/triangle/install-linux-static.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-linux.sh b/externalpackages/triangle/install-linux.sh index bb2fd0385..0c759bc72 100755 --- a/externalpackages/triangle/install-linux.sh +++ b/externalpackages/triangle/install-linux.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-mac-static.sh b/externalpackages/triangle/install-mac-static.sh index e98968375..02293376a 100755 --- a/externalpackages/triangle/install-mac-static.sh +++ b/externalpackages/triangle/install-mac-static.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-mac.sh b/externalpackages/triangle/install-mac.sh index 0fae7756d..c660f56a8 100755 --- a/externalpackages/triangle/install-mac.sh +++ b/externalpackages/triangle/install-mac.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-pleiades.sh b/externalpackages/triangle/install-pleiades.sh index 7d49926e1..ab4d9ffb3 100755 --- a/externalpackages/triangle/install-pleiades.sh +++ b/externalpackages/triangle/install-pleiades.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} mkdir ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-win-msys2-gcc.sh b/externalpackages/triangle/install-win-msys2-gcc.sh index acbe85906..fb2c5183d 100755 --- a/externalpackages/triangle/install-win-msys2-gcc.sh +++ b/externalpackages/triangle/install-win-msys2-gcc.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-win-msys2-mingw-static.sh b/externalpackages/triangle/install-win-msys2-mingw-static.sh index ad4f4a834..0fb29b4ba 100644 --- a/externalpackages/triangle/install-win-msys2-mingw-static.sh +++ b/externalpackages/triangle/install-win-msys2-mingw-static.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/triangle/install-win-msys2-mingw.sh b/externalpackages/triangle/install-win-msys2-mingw.sh index decf64a4d..d74967298 100755 --- a/externalpackages/triangle/install-win-msys2-mingw.sh +++ b/externalpackages/triangle/install-win-msys2-mingw.sh @@ -11,7 +11,7 @@ rm -rf ${PREFIX} mkdir -p ${PREFIX} ${PREFIX}/include ${PREFIX}/lib src # Download source -$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip" +$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/ISSMteam/ExternalPackages/raw/refs/heads/main/triangle.zip" "triangle.zip" # Unpack source unzip triangle.zip -d src diff --git a/externalpackages/vim/addons/vimrc b/externalpackages/vim/addons/vimrc index 23e665bda..1a456d361 100644 --- a/externalpackages/vim/addons/vimrc +++ b/externalpackages/vim/addons/vimrc @@ -1,3 +1,13 @@ +" ================= +" ISSM vim settings +" ================= +" Many files in ISSM rely on vim's folds. The option below +" make ISSM development easier by highlighting ISSM classes +" and Enums. +" For dark background select colorscheme issm_black +" For light background select colorscheme issm_white +" Report problems to: +" Mathieu Morlighem mathieu.morlighem@dartmouth.edu " General setup{{{ " ---------------------------------------------------------------------- @@ -79,7 +89,6 @@ set su=.h,.bak,~,.o,.info,.swp,.obj " Colors and theme {{{ " ---------------------------------------------------------------------- " use 256 colors -"set t_Co=8 set t_Co=256 " backgrounb color "set background=light diff --git a/jenkins/eis-daskhub-python-modules b/jenkins/eis-daskhub-python-modules deleted file mode 100644 index 479b363ee..000000000 --- a/jenkins/eis-daskhub-python-modules +++ /dev/null @@ -1,81 +0,0 @@ -# NOTE: This configuration adds solid earth and Dakota capabilities to the -# basic build. - -#--------------------# -# ISSM Configuration # -#--------------------# - -ISSM_CONFIG='\ - --prefix="${ISSM_DIR}" \ - --disable-static \ - --enable-development \ - --enable-debugging \ - --with-numthreads=4 \ - --with-python-dir="/srv/conda/envs/notebook" \ - --with-python-version="3.9" \ - --with-python-numpy-dir="/srv/conda/envs/notebook/lib/python3.9/site-packages/numpy/core/include/numpy" \ - --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ - --with-mpi-include="${ISSM_EXT_DIR}/petsc/install/include" \ - --with-mpi-libflags="-L${ISSM_EXT_DIR}/petsc/install/lib -lmpi -lmpicxx -lmpifort" \ - --with-blas-lapack-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-metis-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-parmetis-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-scalapack-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-mumps-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-hdf5-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-petsc-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-boost-dir="${ISSM_EXT_DIR}/boost/install" \ - --with-dakota-dir="${ISSM_EXT_DIR}/dakota/install" \ - --with-chaco-dir="${ISSM_EXT_DIR}/chaco/install" \ - --with-proj-dir="${ISSM_EXT_DIR}/proj/install" \ - --with-triangle-dir="${ISSM_EXT_DIR}/triangle/install" \ - --with-m1qn3-dir="${ISSM_EXT_DIR}/m1qn3/install" \ - --with-semic-dir=${ISSM_EXT_DIR}/semic/install \ -' - -#-------------------# -# External Packages # -#-------------------# - -EXTERNALPACKAGES=" - autotools install-linux.sh - cmake install.sh - petsc install-3.16-linux.sh - boost install-1.7-linux.sh - dakota install-6.2-linux.sh - chaco install-linux.sh - curl install-7-linux.sh - netcdf install-4.7-parallel.sh - proj install-6.sh - gdal install-3-linux-python.sh - gshhg install.sh - gmt install-6-linux.sh - gmsh install-4-linux.sh - triangle install-linux.sh - m1qn3 install-linux.sh - semic install.sh -" - -#---------# -# Testing # -#---------# - -# Test suites -MATLAB_TEST=0 -PYTHON_TEST=0 -JAVASCRIPT_TEST=0 -EXAMPLES_TEST=0 - -# Number of CPUs used in ISSM compilation -# -# NOTE: One is usually safer as some packages are very sensitive to parallel -# compilation -# -NUMCPUS_INSTALL=8 - -# Number of CPUs used in the nightly runs -NUMCPUS_RUN=1 - -# Nightly run options -MATLAB_NROPTIONS="" -PYTHON_NROPTIONS="" diff --git a/jenkins/eis-smce-binaries b/jenkins/eis-smce-binaries deleted file mode 100644 index 9972a6c5f..000000000 --- a/jenkins/eis-smce-binaries +++ /dev/null @@ -1,80 +0,0 @@ -# NOTE: This configuration adds solid earth and Dakota capabilities to the -# basic build. - -#--------------------# -# ISSM Configuration # -#--------------------# - -ISSM_CONFIG='\ - --prefix="${ISSM_DIR}" \ - --disable-static \ - --with-wrappers=no \ - --enable-development \ - --enable-debugging \ - --with-numthreads=48 \ - --with-fortran-lib="-L/usr/lib/gcc/x86_64-linux-gnu/9 -lgfortran" \ - --with-mpi-include="/opt/intel/mpi/2021.4.0/include" \ - --with-mpi-libflags="-L/opt/intel/mpi/2021.4.0/lib -lmpi -lmpicxx -lmpifort" \ - --with-blas-lapack-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-metis-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-parmetis-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-scalapack-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-mumps-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-hdf5-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-petsc-dir="${ISSM_EXT_DIR}/petsc/install" \ - --with-boost-dir="${ISSM_EXT_DIR}/boost/install" \ - --with-dakota-dir="${ISSM_EXT_DIR}/dakota/install" \ - --with-chaco-dir="${ISSM_EXT_DIR}/chaco/install" \ - --with-proj-dir="${ISSM_EXT_DIR}/proj/install" \ - --with-triangle-dir="${ISSM_EXT_DIR}/triangle/install" \ - --with-m1qn3-dir="${ISSM_EXT_DIR}/m1qn3/install" \ - --with-semic-dir=${ISSM_EXT_DIR}/semic/install \ -' - -#-------------------# -# External Packages # -#-------------------# - -EXTERNALPACKAGES=" - autotools install-linux.sh - cmake install.sh - petsc install-3.14-linux.sh - boost install-1.7-linux.sh - dakota install-6.2-linux.sh - chaco install-linux.sh - curl install-7-linux.sh - netcdf install-4.7-parallel.sh - sqlite install.sh - proj install-6.sh - gdal install-3-linux-python.sh - gshhg install.sh - gmt install-6-linux.sh - gmsh install-4.sh - triangle install-linux.sh - m1qn3 install-linux.sh - semic install.sh -" - -#---------# -# Testing # -#---------# - -# Test suites -MATLAB_TEST=0 -PYTHON_TEST=0 -JAVASCRIPT_TEST=0 -EXAMPLES_TEST=0 - -# Number of CPUs used in ISSM compilation -# -# NOTE: One is usually safer as some packages are very sensitive to parallel -# compilation -# -NUMCPUS_INSTALL=8 - -# Number of CPUs used in the nightly runs -NUMCPUS_RUN=1 - -# Nightly run options -MATLAB_NROPTIONS="" -PYTHON_NROPTIONS="" diff --git a/jenkins/github-linux-basic-codeql b/jenkins/github-linux-basic-codeql index 57628785c..55f99476a 100755 --- a/jenkins/github-linux-basic-codeql +++ b/jenkins/github-linux-basic-codeql @@ -30,7 +30,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh triangle install-linux.sh m1qn3 install-linux.sh semic install.sh diff --git a/jenkins/github_linux_basic b/jenkins/github_linux_basic index fe0968e44..2f89712e7 100644 --- a/jenkins/github_linux_basic +++ b/jenkins/github_linux_basic @@ -31,7 +31,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh triangle install-linux.sh m1qn3 install-linux.sh semic install.sh diff --git a/jenkins/jenkins.sh b/jenkins/jenkins.sh index 4e3a5032c..83f08803c 100755 --- a/jenkins/jenkins.sh +++ b/jenkins/jenkins.sh @@ -223,8 +223,8 @@ if [ $JAVASCRIPT_TEST -eq 1 ]; then export AR=emar export RANLIB=emranlib #export EMCC_DEBUG=1 # Uncomment to enable debugging - export EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0" # Required after v1.38.14 to avoid undefined symbol warnings from our Fortran object files being treated as errors - source ${ISSM_DIR}/externalpackages/emscripten/install/emsdk_env.sh + export EMCC_CFLAGS="-sERROR_ON_UNDEFINED_SYMBOLS=0" # Required after v1.38.14 to avoid undefined symbol warnings from our Fortran object files being treated as errors + source ${EMSCRIPTEN_ROOT}/emsdk_env.sh fi # }}} diff --git a/jenkins/mac-intel-basic b/jenkins/mac-intel-basic index 4716a9cba..a2aad63d2 100755 --- a/jenkins/mac-intel-basic +++ b/jenkins/mac-intel-basic @@ -32,7 +32,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh triangle install-mac.sh m1qn3 install-mac.sh semic install.sh diff --git a/jenkins/mac-intel-dakota b/jenkins/mac-intel-dakota index 9aa77c7fc..9bac5d5c5 100755 --- a/jenkins/mac-intel-dakota +++ b/jenkins/mac-intel-dakota @@ -43,7 +43,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh boost install-1.7-mac.sh dakota install-6.2-mac.sh chaco install-mac.sh diff --git a/jenkins/mac-intel-examples b/jenkins/mac-intel-examples index 60e68c328..05338c9de 100755 --- a/jenkins/mac-intel-examples +++ b/jenkins/mac-intel-examples @@ -45,7 +45,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh boost install-1.7-mac.sh dakota install-6.2-mac.sh chaco install-mac.sh diff --git a/jenkins/mac-intel-full b/jenkins/mac-intel-full index 1caaced0a..eb189e70c 100755 --- a/jenkins/mac-intel-full +++ b/jenkins/mac-intel-full @@ -47,7 +47,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh boost install-1.7-mac.sh dakota install-6.2-mac.sh chaco install-mac.sh diff --git a/jenkins/mac-intel-solid_earth b/jenkins/mac-intel-solid_earth index 8e89243ac..ed61cbe70 100755 --- a/jenkins/mac-intel-solid_earth +++ b/jenkins/mac-intel-solid_earth @@ -47,7 +47,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh boost install-1.7-mac.sh dakota install-6.2-mac.sh chaco install-mac.sh @@ -92,7 +92,8 @@ NUMCPUS_RUN=2 # NOTE: # - Excluding 2006 until it can be debugged (file I/O) # - Excluding 2012 until it can be looked at by Eric ("FindParam error message: Parameter HydrologyModel not set") +# - Excluding 2085 because of large errors after switching to system/developer copy of BLASLAPACK # - Excluding 2091 until it can be debugged (resource starvation) # -MATLAB_NROPTIONS="'benchmark','slc','exclude',[2004 2006 2012 2051 2052 2053 2424 2425]" -PYTHON_NROPTIONS="--benchmark slc --exclude 2004 2006 2012 2051 2052 2053 2424 2425" +MATLAB_NROPTIONS="'benchmark','slc','exclude',[2004 2006 2012 2051 2052 2053 2085 2424 2425]" +PYTHON_NROPTIONS="--benchmark slc --exclude 2004 2006 2012 2051 2052 2053 2085 2424 2425" diff --git a/jenkins/mac-silicon-basic b/jenkins/mac-silicon-basic index fb72dea1b..4c9b3a8f9 100755 --- a/jenkins/mac-silicon-basic +++ b/jenkins/mac-silicon-basic @@ -32,7 +32,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh triangle install-mac.sh m1qn3 install-mac.sh semic install.sh diff --git a/jenkins/mac-silicon-binaries-matlab b/jenkins/mac-silicon-binaries-matlab index 1bc06cce7..65787a9dd 100755 --- a/jenkins/mac-silicon-binaries-matlab +++ b/jenkins/mac-silicon-binaries-matlab @@ -1,6 +1,6 @@ MATLAB_PATH="/Applications/MATLAB_R2023b.app" LIBGFORTRAN_PATH="/opt/homebrew/lib/gcc/current" -LIBGCC_PATH="${LIBGFORTRAN_PATH}/gcc/aarch64-apple-darwin23/13" +LIBGCC_PATH="${LIBGFORTRAN_PATH}/gcc/aarch64-apple-darwin24/15" #--------------------# # ISSM Configuration # diff --git a/jenkins/mac-silicon-binaries-python-3 b/jenkins/mac-silicon-binaries-python-3 index 5bc747706..26bde6e0d 100755 --- a/jenkins/mac-silicon-binaries-python-3 +++ b/jenkins/mac-silicon-binaries-python-3 @@ -1,5 +1,5 @@ LIBGFORTRAN_PATH="/opt/homebrew/lib/gcc/current" -LIBGCC_PATH="${LIBGFORTRAN_PATH}/gcc/aarch64-apple-darwin23/13" +LIBGCC_PATH="${LIBGFORTRAN_PATH}/gcc/aarch64-apple-darwin24/15" #--------------------# # ISSM Configuration # diff --git a/jenkins/mac-silicon-dakota b/jenkins/mac-silicon-dakota index d459e0628..686157be3 100755 --- a/jenkins/mac-silicon-dakota +++ b/jenkins/mac-silicon-dakota @@ -38,7 +38,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh boost install-1.7-mac.sh dakota install-6.2-mac.sh chaco install-mac.sh diff --git a/jenkins/mac-silicon-examples b/jenkins/mac-silicon-examples index 4d06a3dfb..6498f0314 100755 --- a/jenkins/mac-silicon-examples +++ b/jenkins/mac-silicon-examples @@ -37,7 +37,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh boost install-1.7-mac.sh dakota install-6.2-mac.sh chaco install-mac.sh diff --git a/jenkins/mac-silicon-full b/jenkins/mac-silicon-full index 434fce620..27ade7c4c 100755 --- a/jenkins/mac-silicon-full +++ b/jenkins/mac-silicon-full @@ -38,7 +38,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh boost install-1.7-mac.sh dakota install-6.2-mac.sh chaco install-mac.sh diff --git a/jenkins/mac-silicon-javascript b/jenkins/mac-silicon-javascript new file mode 100755 index 000000000..e7fe2f979 --- /dev/null +++ b/jenkins/mac-silicon-javascript @@ -0,0 +1,61 @@ +#-------------# +# Environment # +#-------------# +export CXXFLAGS="-g -O2 -fPIC -std=c++11" + +#--------------------# +# ISSM Configuration # +#--------------------# + +ISSM_CONFIG='\ + --prefix=${ISSM_DIR} \ + --disable-shared \ + --with-javascript \ + --without-fortran \ + --without-Sealevelchange \ + --without-Love \ + --without-kml \ + --without-kriging \ + --with-gsl-dir="${ISSM_DIR}/externalpackages/gsl/install" \ + --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ +' + +#-------------------# +# External Packages # +#-------------------# + +EXTERNALPACKAGES=" + autotools install-mac.sh + cmake install.sh + emscripten install.sh + gsl install-javascript.sh + triangle install-javascript.sh + shell2junit install.sh +" + +#---------# +# Testing # +#---------# + +# Test suites +MATLAB_TEST=0 +PYTHON_TEST=0 +JAVASCRIPT_TEST=1 +EXAMPLES_TEST=0 + +# Number of CPUs used in ISSM compilation +# +# NOTE: One is usually safer as some packages are very sensitive to parallel +# compilation. +# +NUMCPUS_INSTALL=8 + +# Number of CPUs used in the nightly runs +NUMCPUS_RUN=2 + +# Nightly run options +# +# See documentation in test/NightlyRun/runme.* for more information. +# +MATLAB_NROPTIONS="" +PYTHON_NROPTIONS="" diff --git a/jenkins/mac-silicon-python b/jenkins/mac-silicon-python index 9d151a403..5ccd76565 100755 --- a/jenkins/mac-silicon-python +++ b/jenkins/mac-silicon-python @@ -30,7 +30,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh triangle install-mac.sh m1qn3 install-mac.sh semic install.sh diff --git a/jenkins/mac-silicon-solid_earth b/jenkins/mac-silicon-solid_earth index 835d72d24..81a415a47 100755 --- a/jenkins/mac-silicon-solid_earth +++ b/jenkins/mac-silicon-solid_earth @@ -38,7 +38,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-mac.sh cmake install.sh - petsc install-3.22-mac.sh + petsc install-3.23-mac.sh boost install-1.7-mac.sh dakota install-6.2-mac.sh chaco install-mac.sh diff --git a/jenkins/pleiades-basic b/jenkins/pleiades-basic index fe75ec81e..45c7202e0 100755 --- a/jenkins/pleiades-basic +++ b/jenkins/pleiades-basic @@ -2,8 +2,8 @@ # Environment # #-------------# -export CFLAGS="-O3" -export CXXFLAGS="-O3 -std=c++11" +export CFLAGS="-g -Ofast" +export CXXFLAGS="-g -Ofast -xCORE-AVX512,CORE-AVX2 -xAVX -std=c++11" #--------------------# # ISSM Configuration # @@ -14,11 +14,10 @@ ISSM_CONFIG='\ --enable-development \ --enable-standalone-libraries \ --with-wrappers=no \ - --with-graphics-lib="/usr/lib64/libX11.so" \ --with-fortran-lib="-L${COMP_INTEL_ROOT}/compiler/lib/intel64_lin -lifcore -lifport -lgfortran" \ --with-mkl-libflags="-L${COMP_INTEL_ROOT}/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm" \ - --with-mpi-include="/nasa/hpe/mpt/2.30_rhel810/include" \ - --with-mpi-libflags="-L/nasa/hpe/mpt/2.30_rhel810/lib -lmpi" \ + --with-mpi-include="${MPI_ROOT}/include" \ + --with-mpi-libflags="-L${MPI_ROOT}/lib -lmpi" \ --with-blas-lapack-lib="-L${COMP_INTEL_ROOT}/mkl/lib/intel64 -lmkl_blas95_lp64 -lmkl_lapack95_lp64" \ --with-metis-dir="${PETSC_DIR}" \ --with-parmetis-dir="${PETSC_DIR}" \ @@ -35,6 +34,7 @@ ISSM_CONFIG='\ #-------------------# EXTERNALPACKAGES=" + autotools install-linux.sh triangle install-linux.sh m1qn3 install-linux.sh semic install.sh @@ -55,7 +55,7 @@ EXAMPLES_TEST=0 # NOTE: One is usually safer as some packages are very sensitive to parallel # compilation. # -NUMCPUS_INSTALL=8 +NUMCPUS_INSTALL=4 # Number of CPUs used in the nightly runs NUMCPUS_RUN=1 diff --git a/jenkins/pleiades-dakota b/jenkins/pleiades-dakota index 02e556919..c1fc973a0 100755 --- a/jenkins/pleiades-dakota +++ b/jenkins/pleiades-dakota @@ -2,8 +2,8 @@ # Environment # #-------------# -export CFLAGS="-O3" -export CXXFLAGS="-O3 -std=c++11" +export CFLAGS="-g -Ofast" +export CXXFLAGS="-g -Ofast -xCORE-AVX512,CORE-AVX2 -xAVX -std=c++11" #--------------------# # ISSM Configuration # @@ -14,16 +14,15 @@ ISSM_CONFIG='\ --enable-development \ --enable-standalone-libraries \ --with-wrappers=no \ - --with-graphics-lib="/usr/lib64/libX11.so" \ --with-fortran-lib="-L${COMP_INTEL_ROOT}/compiler/lib/intel64_lin -lifcore -lifport -lgfortran" \ --with-mkl-libflags="-L${COMP_INTEL_ROOT}/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm" \ - --with-mpi-include="${COMP_INTEL_ROOT}/mpi/intel64/include" \ - --with-mpi-libflags="-lmpi" \ + --with-mpi-include="${MPI_ROOT}/include" \ + --with-mpi-libflags="-L${MPI_ROOT}/lib -lmpi" \ --with-blas-lapack-lib="-L${COMP_INTEL_ROOT}/mkl/lib/intel64 -lmkl_blas95_lp64 -lmkl_lapack95_lp64" \ --with-metis-dir="${PETSC_DIR}" \ --with-parmetis-dir="${PETSC_DIR}" \ - --with-mumps-dir="${PETSC_DIR}" \ --with-scalapack-lib="-L${COMP_INTEL_ROOT}/mkl/lib/intel64/libmkl_scalapack_lp64.so" \ + --with-mumps-dir="${PETSC_DIR}" \ --with-petsc-dir="${PETSC_DIR}" \ --with-boost-dir="${ISSM_DIR}/externalpackages/boost/install" \ --with-dakota-dir="${ISSM_DIR}/externalpackages/dakota/install" \ @@ -38,10 +37,11 @@ ISSM_CONFIG='\ #-------------------# EXTERNALPACKAGES=" + autotools install-linux.sh boost install-1.7-linux.sh dakota install-6.2-pleiades.sh chaco install-linux.sh - triangle install-linux.sh + triangle install-linux.shwhic m1qn3 install-linux.sh semic install.sh " @@ -61,7 +61,7 @@ EXAMPLES_TEST=0 # NOTE: One is usually safer as some packages are very sensitive to parallel # compilation. # -NUMCPUS_INSTALL=8 +NUMCPUS_INSTALL=4 # Number of CPUs used in the nightly runs NUMCPUS_RUN=1 diff --git a/jenkins/pleiades-solid_earth b/jenkins/pleiades-solid_earth index 08f14ed67..f7e66d9e8 100755 --- a/jenkins/pleiades-solid_earth +++ b/jenkins/pleiades-solid_earth @@ -2,8 +2,8 @@ # Environment # #-------------# -export CFLAGS="-O3" -export CXXFLAGS="-O3 -std=c++11" +export CFLAGS="-g -Ofast" +export CXXFLAGS="-g -Ofast -xCORE-AVX512,CORE-AVX2 -xAVX -std=c++11" #--------------------# # ISSM Configuration # @@ -16,8 +16,8 @@ ISSM_CONFIG='\ --with-wrappers=no \ --with-fortran-lib="-L${COMP_INTEL_ROOT}/compiler/lib/intel64_lin -lifcore -lifport -lgfortran" \ --with-mkl-libflags="-L${COMP_INTEL_ROOT}/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm" \ - --with-mpi-include="/nasa/hpe/mpt/2.30_rhel810/include" \ - --with-mpi-libflags="-L/nasa/hpe/mpt/2.30_rhel810/lib -lmpi" \ + --with-mpi-include="${MPI_ROOT}/include" \ + --with-mpi-libflags="-L${MPI_ROOT}/lib -lmpi" \ --with-blas-lapack-lib="-L${COMP_INTEL_ROOT}/mkl/lib/intel64 -lmkl_blas95_lp64 -lmkl_lapack95_lp64" \ --with-metis-dir="${PETSC_DIR}" \ --with-parmetis-dir="${PETSC_DIR}" \ @@ -39,12 +39,12 @@ ISSM_CONFIG='\ #-------------------# EXTERNALPACKAGES=" - zlib install-1.sh - hdf5 install-1.sh + autotools install-linux.sh boost install-1.7-linux.sh dakota install-6.2-pleiades.sh chaco install-linux.sh - curl install-7-linux.sh + zlib install-1.sh + hdf5 install-1.sh netcdf install-4.sh sqlite install.sh proj install-6.sh @@ -72,7 +72,7 @@ EXAMPLES_TEST=0 # NOTE: One is usually safer as some packages are very sensitive to parallel # compilation. # -NUMCPUS_INSTALL=8 +NUMCPUS_INSTALL=4 # Number of CPUs used in the nightly runs NUMCPUS_RUN=1 diff --git a/jenkins/ross-debian_linux-adolc-ampioff b/jenkins/ross-debian_linux-adolc-ampioff index d2b4235de..139cd24cf 100755 --- a/jenkins/ross-debian_linux-adolc-ampioff +++ b/jenkins/ross-debian_linux-adolc-ampioff @@ -43,7 +43,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh gsl install.sh triangle install-linux.sh adolc install.sh diff --git a/jenkins/ross-debian_linux-adolc-ampion b/jenkins/ross-debian_linux-adolc-ampion index 26ddf7516..b484642b3 100755 --- a/jenkins/ross-debian_linux-adolc-ampion +++ b/jenkins/ross-debian_linux-adolc-ampion @@ -43,7 +43,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh gsl install.sh triangle install-linux.sh adjoinablempi install-linux.sh diff --git a/jenkins/ross-debian_linux-basic b/jenkins/ross-debian_linux-basic index cf6e064f6..3b55f6e78 100755 --- a/jenkins/ross-debian_linux-basic +++ b/jenkins/ross-debian_linux-basic @@ -32,7 +32,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh triangle install-linux.sh m1qn3 install-linux.sh semic install.sh diff --git a/jenkins/ross-debian_linux-codipack b/jenkins/ross-debian_linux-codipack index 99e9c59e4..ab5eefa3d 100755 --- a/jenkins/ross-debian_linux-codipack +++ b/jenkins/ross-debian_linux-codipack @@ -38,7 +38,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh gsl install.sh triangle install-linux.sh m1qn3 install-linux.sh diff --git a/jenkins/ross-debian_linux-dakota b/jenkins/ross-debian_linux-dakota index 993f35b9c..2f0a6121d 100755 --- a/jenkins/ross-debian_linux-dakota +++ b/jenkins/ross-debian_linux-dakota @@ -39,7 +39,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh boost install-1.7-linux.sh dakota install-6.2-linux.sh chaco install-linux.sh diff --git a/jenkins/ross-debian_linux-full b/jenkins/ross-debian_linux-full index 632176344..74d2d3932 100755 --- a/jenkins/ross-debian_linux-full +++ b/jenkins/ross-debian_linux-full @@ -41,7 +41,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh boost install-1.7-linux.sh dakota install-6.2-linux.sh chaco install-linux.sh diff --git a/jenkins/ross-debian_linux-full-mplapack b/jenkins/ross-debian_linux-full-mplapack index c7c42e00a..f7be08e92 100755 --- a/jenkins/ross-debian_linux-full-mplapack +++ b/jenkins/ross-debian_linux-full-mplapack @@ -39,7 +39,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh mplapack install-2-linux.sh boost install-1.7-linux.sh dakota install-6.2-linux.sh diff --git a/jenkins/ross-debian_linux-full-valgrind b/jenkins/ross-debian_linux-full-valgrind index 3f623a876..724a44a8b 100755 --- a/jenkins/ross-debian_linux-full-valgrind +++ b/jenkins/ross-debian_linux-full-valgrind @@ -41,7 +41,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh boost install-1.7-linux-valgrind.sh dakota install-6.2-linux.sh chaco install-linux.sh diff --git a/jenkins/ross-debian_linux-gia b/jenkins/ross-debian_linux-gia index 689e93aaf..e1c532798 100755 --- a/jenkins/ross-debian_linux-gia +++ b/jenkins/ross-debian_linux-gia @@ -34,7 +34,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh triangle install-linux.sh math77 install.sh gmsh install-4-linux.sh diff --git a/jenkins/ross-debian_linux-iceocean b/jenkins/ross-debian_linux-iceocean index 33a908cc2..af74ac665 100755 --- a/jenkins/ross-debian_linux-iceocean +++ b/jenkins/ross-debian_linux-iceocean @@ -33,7 +33,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh triangle install-linux.sh m1qn3 install-linux.sh semic install.sh diff --git a/jenkins/ross-debian_linux-javascript b/jenkins/ross-debian_linux-javascript index 2626997fd..bf925abf2 100755 --- a/jenkins/ross-debian_linux-javascript +++ b/jenkins/ross-debian_linux-javascript @@ -14,7 +14,6 @@ ISSM_CONFIG='\ --without-fortran \ --without-Sealevelchange \ --without-Love \ - --without-kml \ --without-kriging \ --with-gsl-dir="${ISSM_DIR}/externalpackages/gsl/install" \ --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ @@ -29,7 +28,7 @@ EXTERNALPACKAGES=" cmake install.sh emscripten install.sh gsl install-javascript.sh - triangle install-linux-javascript.sh + triangle install-javascript.sh shell2junit install.sh " diff --git a/jenkins/ross-debian_linux-python b/jenkins/ross-debian_linux-python index c8a0a0de4..76f3efaf6 100755 --- a/jenkins/ross-debian_linux-python +++ b/jenkins/ross-debian_linux-python @@ -30,7 +30,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh triangle install-linux.sh m1qn3 install-linux.sh semic install.sh diff --git a/jenkins/ross-debian_linux-solid_earth b/jenkins/ross-debian_linux-solid_earth index dc3ffc1d4..cec1eaff2 100755 --- a/jenkins/ross-debian_linux-solid_earth +++ b/jenkins/ross-debian_linux-solid_earth @@ -38,7 +38,7 @@ ISSM_CONFIG='\ EXTERNALPACKAGES=" autotools install-linux.sh cmake install.sh - petsc install-3.22-linux.sh + petsc install-3.23-linux.sh boost install-1.7-linux.sh dakota install-6.2-linux.sh chaco install-linux.sh diff --git a/m4/issm_options.m4 b/m4/issm_options.m4 index 3eb86a1ae..30268ee03 100644 --- a/m4/issm_options.m4 +++ b/m4/issm_options.m4 @@ -995,7 +995,7 @@ AC_DEFUN([ISSM_OPTIONS],[ AC_SUBST([CODIPACKINCL]) fi AM_CONDITIONAL([CODIPACK], [test "x${HAVE_CODIPACK}" == "xyes"]) - AM_COND_IF(CODIPACK, [CXXFLAGS+=" -std=c++11"]) + AM_COND_IF(CODIPACK, [CXXFLAGS+=" -std=c++17"]) dnl }}} dnl Tape Allocation {{{ AC_MSG_CHECKING(for tape allocation) @@ -2404,7 +2404,6 @@ AC_DEFUN([ISSM_OPTIONS],[ NEOPZINCL+=" -I${NEOPZ_ROOT}/include/SubStruct" NEOPZINCL+=" -I${NEOPZ_ROOT}/include/Topology" NEOPZINCL+=" -I${NEOPZ_ROOT}/include/Util" - CXXFLAGS+=" -std=c++11" AC_DEFINE([_HAVE_NEOPZ_], [1], [with NeoPZ in ISSM src]) AC_SUBST([NEOPZINCL]) AC_SUBST([NEOPZLIB]) @@ -2616,3 +2615,50 @@ AC_DEFUN([ISSM_OPTIONS],[ AC_SUBST([CXXFLAGS]) AC_SUBST([OSLIBS]) ]) + +dnl ===================================================================== +dnl ISSM_ENABLE_AD – Automatic-Differentiation (CoDiPack + MediPack) +dnl ===================================================================== +AC_DEFUN([ISSM_ENABLE_AD], [ + # --- command-line switches ------------------------------------------ + AC_ARG_ENABLE([ad], + AS_HELP_STRING([--enable-ad], + [Build ISSM with CoDiPack+MediPack automatic differentiation (disables PETSc)]), + [enable_ad=$enableval], + [enable_ad=no]) + + AC_ARG_WITH([codipack-dir], + AS_HELP_STRING([--with-codipack-dir=DIR], + [Prefix of CoDiPack install]), + [CODIPACK_ROOT=$withval], [CODIPACK_ROOT=]) + + AC_ARG_WITH([medipack-dir], + AS_HELP_STRING([--with-medipack-dir=DIR], + [Prefix of MediPack install]), + [MEDIPACK_ROOT=$withval], [MEDIPACK_ROOT=]) + + # --- validation & flag injection ------------------------------------ + if test "x$enable_ad" = "xyes"; then + if test -z "$CODIPACK_ROOT" || test -z "$MEDIPACK_ROOT"; then + AC_MSG_ERROR([--enable-ad needs BOTH --with-codipack-dir and --with-medipack-dir]) + fi + + AC_DEFINE([ISSM_USE_AD], [1], + [Define to 1 if building with automatic differentiation]) + + ENABLE_PETSC=no + AM_CONDITIONAL([USE_AD], [true]) + + AM_CPPFLAGS="$AM_CPPFLAGS -I$CODIPACK_ROOT/include -I$MEDIPACK_ROOT/include -DCODI_ForcedInlines" + AM_LDFLAGS="$AM_LDFLAGS -L$CODIPACK_ROOT/lib -L$MEDIPACK_ROOT/lib" + LIBS="$LIBS -lcodi -lmedi" + else + ENABLE_PETSC=yes + AM_CONDITIONAL([USE_AD], [false]) + fi + + dnl Export augmented vars once + AC_SUBST([AM_CPPFLAGS]) + AC_SUBST([AM_LDFLAGS]) + AC_SUBST([LIBS]) +]) diff --git a/packagers/linux/package-issm-linux-binaries-matlab.sh b/packagers/linux/package-issm-linux-binaries-matlab.sh index 6d79749df..f6928891f 100755 --- a/packagers/linux/package-issm-linux-binaries-matlab.sh +++ b/packagers/linux/package-issm-linux-binaries-matlab.sh @@ -40,6 +40,8 @@ LIBPSL="${ISSM_DIR}/externalpackages/gmt/install/lib/libpostscriptlight.so.6.5.0 LIBPSL_DIST="${ISSM_DIR}/lib/libpostscriptlight.so.6" # 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 +LIBSTDCXX="/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30" # Important that this is the library itself +LIBSTDCXX_DIST="${ISSM_DIR}/lib/libstdc++.so.6.0.30" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it ## Environment # @@ -85,6 +87,7 @@ 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 +cp ${LIBSTDCXX} ${LIBSTDCXX_DIST} 2>/dev/null echo "Moving MPICH binaries to bin/" if [ -f ${ISSM_DIR}/externalpackages/petsc/install/bin/mpiexec ]; then diff --git a/packagers/mac/commit_for_signing-issm-mac-binaries.sh b/packagers/mac/commit_for_signing-issm-mac-binaries.sh index e3c045546..9bb6a3c58 100755 --- a/packagers/mac/commit_for_signing-issm-mac-binaries.sh +++ b/packagers/mac/commit_for_signing-issm-mac-binaries.sh @@ -52,7 +52,7 @@ alias grep=$(which grep) ## Constants # -MAX_SIGNING_CHECK_ATTEMPTS=30 +MAX_SIGNING_CHECK_ATTEMPTS=45 NOTARIZATION_LOGFILE="notarization.log" RETRIGGER_SIGNING_FILE="retrigger.txt" SIGNING_CHECK_PERIOD=60 # in seconds diff --git a/packagers/mac/complete-issm-mac-intel-binaries-matlab.sh b/packagers/mac/complete-issm-mac-intel-binaries-matlab.sh index 136a6bc61..01aa58bd0 100755 --- a/packagers/mac/complete-issm-mac-intel-binaries-matlab.sh +++ b/packagers/mac/complete-issm-mac-intel-binaries-matlab.sh @@ -63,7 +63,7 @@ ## Constants # -MATLAB_NROPTIONS="'benchmark','all','exclude',[124:126,129,234:235,417: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,2090:2092,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',[124:126,129,234:235,417: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,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_PATH="/Applications/MATLAB_R2023b.app" PKG="ISSM-macOS-Intel-MATLAB" # Name of directory to copy distributable files to REPO_BASE_URL="https://issm.ess.uci.edu/svn/issm-binaries/mac/intel/matlab" diff --git a/packagers/mac/complete-issm-mac-intel-binaries-python-3.sh b/packagers/mac/complete-issm-mac-intel-binaries-python-3.sh index ad7d36832..395dddb4e 100755 --- a/packagers/mac/complete-issm-mac-intel-binaries-python-3.sh +++ b/packagers/mac/complete-issm-mac-intel-binaries-python-3.sh @@ -64,7 +64,7 @@ ## Constants # PKG="ISSM-macOS-Intel-Python-3" # Name of directory to copy distributable files to -PYTHON_NROPTIONS="--benchmark all --exclude 124:126 129 234:235 417: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 2090:2092 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 124:126 129 234:235 417: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 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 REPO_BASE_URL="https://issm.ess.uci.edu/svn/issm-binaries/mac/intel/python/3" SIGNED_REPO_COPY="./signed" SIGNED_REPO_URL="${REPO_BASE_URL}/signed" diff --git a/scripts/cloc b/scripts/cloc deleted file mode 100755 index 2b512208a..000000000 --- a/scripts/cloc +++ /dev/null @@ -1,11676 +0,0 @@ -#!/usr/bin/env perl -# cloc -- Count Lines of Code {{{1 -# Copyright (C) 2006-2017 Al Danial -# First release August 2006 -# -# Includes code from: -# - SLOCCount v2.26 -# http://www.dwheeler.com/sloccount/ -# by David Wheeler. -# - Regexp::Common v2013031301 -# http://search.cpan.org/~abigail/Regexp-Common-2013031301/lib/Regexp/Common.pm -# by Damian Conway and Abigail. -# - Win32::Autoglob -# http://search.cpan.org/~sburke/Win32-Autoglob-1.01/Autoglob.pm -# by Sean M. Burke. -# - Algorithm::Diff -# http://search.cpan.org/~tyemq/Algorithm-Diff-1.1902/lib/Algorithm/Diff.pm -# by Tye McQueen. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details: -# . -# -# 1}}} -my $VERSION = "1.72"; # odd number == beta; even number == stable -my $URL = "github.com/AlDanial/cloc"; # 'https://' pushes header too wide -require 5.006; -# use modules {{{1 -use warnings; -use strict; -use Getopt::Long; -use File::Basename; -use File::Temp qw { tempfile tempdir }; -use File::Find; -use File::Path; -use File::Spec; -use IO::File; -use POSIX "strftime"; - -# Digest::MD5 isn't in the standard distribution. Use it only if installed. -my $HAVE_Digest_MD5 = 0; -eval "use Digest::MD5;"; -if (defined $Digest::MD5::VERSION) { - $HAVE_Digest_MD5 = 1; -} else { - warn "Digest::MD5 not installed; will skip file uniqueness checks.\n"; -} - -# Time::HiRes became standard with Perl 5.8 -my $HAVE_Time_HiRes = 0; -eval "use Time::HiRes;"; -$HAVE_Time_HiRes = 1 if defined $Time::HiRes::VERSION; - -my $HAVE_Rexexp_Common; -# Regexp::Common isn't in the standard distribution. It will -# be installed in a temp directory if necessary. -BEGIN { - if (eval "use Regexp::Common;") { - $HAVE_Rexexp_Common = 1; - } else { - $HAVE_Rexexp_Common = 0; - } -} - -my $HAVE_Algorith_Diff = 0; -# Algorithm::Diff isn't in the standard distribution. It will -# be installed in a temp directory if necessary. -eval "use Algorithm::Diff qw ( sdiff ) "; -if (defined $Algorithm::Diff::VERSION) { - $HAVE_Algorith_Diff = 1; -} else { - Install_Algorithm_Diff(); -} -# print "2 HAVE_Algorith_Diff = $HAVE_Algorith_Diff\n"; -# test_alg_diff($ARGV[$#ARGV - 1], $ARGV[$#ARGV]); die; -# die "Hre=$HAVE_Rexexp_Common Had=$HAVE_Algorith_Diff"; - -# Uncomment next two lines when building Windows executable with perl2exe -# or if running on a system that already has Regexp::Common. -#use Regexp::Common; -#$HAVE_Rexexp_Common = 1; - -#perl2exe_include "Regexp/Common/whitespace.pm" -#perl2exe_include "Regexp/Common/URI.pm" -#perl2exe_include "Regexp/Common/URI/fax.pm" -#perl2exe_include "Regexp/Common/URI/file.pm" -#perl2exe_include "Regexp/Common/URI/ftp.pm" -#perl2exe_include "Regexp/Common/URI/gopher.pm" -#perl2exe_include "Regexp/Common/URI/http.pm" -#perl2exe_include "Regexp/Common/URI/pop.pm" -#perl2exe_include "Regexp/Common/URI/prospero.pm" -#perl2exe_include "Regexp/Common/URI/news.pm" -#perl2exe_include "Regexp/Common/URI/tel.pm" -#perl2exe_include "Regexp/Common/URI/telnet.pm" -#perl2exe_include "Regexp/Common/URI/tv.pm" -#perl2exe_include "Regexp/Common/URI/wais.pm" -#perl2exe_include "Regexp/Common/CC.pm" -#perl2exe_include "Regexp/Common/SEN.pm" -#perl2exe_include "Regexp/Common/number.pm" -#perl2exe_include "Regexp/Common/delimited.pm" -#perl2exe_include "Regexp/Common/profanity.pm" -#perl2exe_include "Regexp/Common/net.pm" -#perl2exe_include "Regexp/Common/zip.pm" -#perl2exe_include "Regexp/Common/comment.pm" -#perl2exe_include "Regexp/Common/balanced.pm" -#perl2exe_include "Regexp/Common/lingua.pm" -#perl2exe_include "Regexp/Common/list.pm" -#perl2exe_include "File/Glob.pm" - -use Text::Tabs qw { expand }; -use Cwd qw { cwd }; -use File::Glob; -# 1}}} -# Usage information, options processing. {{{1 -my $ON_WINDOWS = 0; - $ON_WINDOWS = 1 if ($^O =~ /^MSWin/) or ($^O eq "Windows_NT"); -if ($ON_WINDOWS and $ENV{'SHELL'}) { - if ($ENV{'SHELL'} =~ m{^/}) { - $ON_WINDOWS = 0; # make Cygwin look like Unix - } else { - $ON_WINDOWS = 1; # MKS defines $SHELL but still acts like Windows - } -} - -my $NN = chr(27) . "[0m"; # normal - $NN = "" if $ON_WINDOWS or !(-t STDERR); # -t STDERR: is it a terminal? -my $BB = chr(27) . "[1m"; # bold - $BB = "" if $ON_WINDOWS or !(-t STDERR); -my $script = basename $0; -my $brief_usage = " - cloc -- Count Lines of Code - -Usage: - $script [options] - Count physical lines of source code and comments in the given files - (may be archives such as compressed tarballs or zip files) and/or - recursively below the given directories. - Example: cloc src/ include/ main.c - - $script [options] --diff - Compute differences of physical lines of source code and comments - between a pair of directories or archive files. - Example: cloc --diff Python-3.5.tar.xz python-3.6/ - -$script --help shows full documentation on the options. -http://$URL has numerous examples and more information. -"; -my $usage = " -Usage: $script [options] | | - - Count, or compute differences of, physical lines of source code in the - given files (may be archives such as compressed tarballs or zip files) - and/or recursively below the given directories. - - ${BB}Input Options${NN} - --extract-with= This option is only needed if cloc is unable - to figure out how to extract the contents of - the input file(s) by itself. - Use to extract binary archive files (e.g.: - .tar.gz, .zip, .Z). Use the literal '>FILE<' as - a stand-in for the actual file(s) to be - extracted. For example, to count lines of code - in the input files - gcc-4.2.tar.gz perl-5.8.8.tar.gz - on Unix use - --extract-with='gzip -dc >FILE< | tar xf -' - or, if you have GNU tar, - --extract-with='tar zxf >FILE<' - and on Windows use, for example: - --extract-with=\"\\\"c:\\Program Files\\WinZip\\WinZip32.exe\\\" -e -o >FILE< .\" - (if WinZip is installed there). - --list-file= Take the list of file and/or directory names to - process from , which has one file/directory - name per line. Only exact matches are counted; - relative path names will be resolved starting from - the directory where cloc is invoked. - See also --exclude-list-file. - --vcs= Invoke a system call to to obtain a list of - files to work on. If is 'git', then will - invoke 'git ls-files' to get a file list and - 'git submodule status' to get a list of submodules - whose contents will be ignored. If is 'svn' - then will invoke 'svn list -R'. The primary benefit - is that cloc will then skip files explicitly - excluded by the versioning tool in question, - ie, those in .gitignore or have the svn:ignore - property. - Alternatively may be any system command - that generates a list of files. - Note: cloc must be in a directory which can read - the files as they are returned by . cloc will - not download files from remote repositories. - 'svn list -R' may refer to a remote repository - to obtain file names (and therefore may require - authentication to the remote repository), but - the files themselves must be local. - --unicode Check binary files to see if they contain Unicode - expanded ASCII text. This causes performance to - drop noticeably. - - ${BB}Processing Options${NN} - --autoconf Count .in files (as processed by GNU autoconf) of - recognized languages. - --by-file Report results for every source file encountered. - --by-file-by-lang Report results for every source file encountered - in addition to reporting by language. - --count-and-diff - First perform direct code counts of source file(s) - of and separately, then perform a diff - of these. Inputs may be pairs of files, directories, - or archives. See also --diff, --diff-alignment, - --diff-timeout, --ignore-case, --ignore-whitespace. - --diff Compute differences in code and comments between - source file(s) of and . The inputs - may be pairs of files, directories, or archives. - Use --diff-alignment to generate a list showing - which file pairs where compared. See also - --count-and-diff, --diff-alignment, --diff-timeout, - --ignore-case, --ignore-whitespace. - --diff-timeout Ignore files which take more than seconds - to process. Default is 10 seconds. - (Large files with many repeated lines can cause - Algorithm::Diff::sdiff() to take hours.) - --follow-links [Unix only] Follow symbolic links to directories - (sym links to files are always followed). - --force-lang=[,] - Process all files that have a extension - with the counter for language . For - example, to count all .f files with the - Fortran 90 counter (which expects files to - end with .f90) instead of the default Fortran 77 - counter, use - --force-lang=\"Fortran 90\",f - If is omitted, every file will be counted - with the counter. This option can be - specified multiple times (but that is only - useful when is given each time). - See also --script-lang, --lang-no-ext. - --force-lang-def= Load language processing filters from , - then use these filters instead of the built-in - filters. Note: languages which map to the same - file extension (for example: - MATLAB/Mathematica/Objective C/MUMPS/Mercury; - Pascal/PHP; Lisp/OpenCL; Lisp/Julia; Perl/Prolog) - will be ignored as these require additional - processing that is not expressed in language - definition files. Use --read-lang-def to define - new language filters without replacing built-in - filters (see also --write-lang-def). - --ignore-whitespace Ignore horizontal white space when comparing files - with --diff. See also --ignore-case. - --ignore-case Ignore changes in case; consider upper- and lower- - case letters equivalent when comparing files with - --diff. See also --ignore-whitespace. - --lang-no-ext= Count files without extensions using the - counter. This option overrides internal logic - for files without extensions (where such files - are checked against known scripting languages - by examining the first line for #!). See also - --force-lang, --script-lang. - --max-file-size= Skip files larger than megabytes when - traversing directories. By default, =100. - cloc's memory requirement is roughly twenty times - larger than the largest file so running with - files larger than 100 MB on a computer with less - than 2 GB of memory will cause problems. - Note: this check does not apply to files - explicitly passed as command line arguments. - --original-dir [Only effective in combination with - --strip-comments] Write the stripped files - to the same directory as the original files. - --read-binary-files Process binary files in addition to text files. - This is usually a bad idea and should only be - attempted with text files that have embedded - binary data. - --read-lang-def= Load new language processing filters from - and merge them with those already known to cloc. - If defines a language cloc already knows - about, cloc's definition will take precedence. - Use --force-lang-def to over-ride cloc's - definitions (see also --write-lang-def ). - --script-lang=, Process all files that invoke as a #! - scripting language with the counter for language - . For example, files that begin with - #!/usr/local/bin/perl5.8.8 - will be counted with the Perl counter by using - --script-lang=Perl,perl5.8.8 - The language name is case insensitive but the - name of the script language executable, , - must have the right case. This option can be - specified multiple times. See also --force-lang, - --lang-no-ext. - --sdir= Use as the scratch directory instead of - letting File::Temp chose the location. Files - written to this location are not removed at - the end of the run (as they are with File::Temp). - --skip-uniqueness Skip the file uniqueness check. This will give - a performance boost at the expense of counting - files with identical contents multiple times - (if such duplicates exist). - --stdin-name= Give a file name to use to determine the language - for standard input. (Use - as the input name to - receive source code via STDIN.) - --strip-comments= For each file processed, write to the current - directory a version of the file which has blank - lines and comments removed. The name of each - stripped file is the original file name with - . appended to it. It is written to the - current directory unless --original-dir is on. - --sum-reports Input arguments are report files previously - created with the --report-file option. Makes - a cumulative set of results containing the - sum of data from the individual report files. - --unix Override the operating system autodetection - logic and run in UNIX mode. See also - --windows, --show-os. - --use-sloccount If SLOCCount is installed, use its compiled - executables c_count, java_count, pascal_count, - php_count, and xml_count instead of cloc's - counters. SLOCCount's compiled counters are - substantially faster than cloc's and may give - a performance improvement when counting projects - with large files. However, these cloc-specific - features will not be available: --diff, - --count-and-diff, --strip-comments, --unicode. - --windows Override the operating system autodetection - logic and run in Microsoft Windows mode. - See also --unix, --show-os. - - ${BB}Filter Options${NN} - --exclude-dir=[,D2,] Exclude the given comma separated directories - D1, D2, D3, et cetera, from being scanned. For - example --exclude-dir=.cache,test will skip - all files and subdirectories that have /.cache/ - or /test/ as their parent directory. - Directories named .bzr, .cvs, .hg, .git, and - .svn are always excluded. - This option only works with individual directory - names so including file path separators is not - allowed. Use --fullpath and --not-match-d= - to supply a regex matching multiple subdirectories. - --exclude-ext=[,[...]] - Do not count files having the given file name - extensions. - --exclude-lang=[,L2,] Exclude the given comma separated languages - L1, L2, L3, et cetera, from being counted. - --exclude-list-file= Ignore files and/or directories whose names - appear in . should have one file - name per line. Only exact matches are ignored; - relative path names will be resolved starting from - the directory where cloc is invoked. - See also --list-file. - --fullpath Modifies the behavior of --match-f, --not-match-f, - and --not-match-d to include the file's path - in the regex, not just the file's basename. - (This does not expand each file to include its - absolute path, instead it uses as much of - the path as is passed in to cloc.) - Note: --match-d always looks at the full - path and therefore is unaffected by --fullpath. - --include-lang=[,L2,] Count only the given comma separated languages - L1, L2, L3, et cetera. - --match-d= Only count files in directories matching the Perl - regex. For example - --match-d='/(src|include)/' - only counts files in directories containing - /src/ or /include/. Unlike --not-match-d, - --match-f, and --not-match-f, --match-d always - compares the fully qualified path against the regex. - --not-match-d= Count all files except those in directories - matching the Perl regex. Only the trailing - directory name is compared, for example, when - counting in /usr/local/lib, only 'lib' is - compared to the regex. - Add --fullpath to compare parent directories to - the regex. - Do not include file path separators at the beginning - or end of the regex. - --match-f= Only count files whose basenames match the Perl - regex. For example - --match-f='^[Ww]idget' - only counts files that start with Widget or widget. - Add --fullpath to include parent directories - in the regex instead of just the basename. - --not-match-f= Count all files except those whose basenames - match the Perl regex. Add --fullpath to include - parent directories in the regex instead of just - the basename. - --skip-archive= Ignore files that end with the given Perl regular - expression. For example, if given - --skip-archive='(zip|tar(\.(gz|Z|bz2|xz|7z))?)' - the code will skip files that end with .zip, - .tar, .tar.gz, .tar.Z, .tar.bz2, .tar.xz, and - .tar.7z. - --skip-win-hidden On Windows, ignore hidden files. - - ${BB}Debug Options${NN} - --categorized= Save names of categorized files to . - --counted= Save names of processed source files to . - --diff-alignment= Write to a list of files and file pairs - showing which files were added, removed, and/or - compared during a run with --diff. This switch - forces the --diff mode on. - --explain= Print the filters used to remove comments for - language and exit. In some cases the - filters refer to Perl subroutines rather than - regular expressions. An examination of the - source code may be needed for further explanation. - --help Print this usage information and exit. - --found= Save names of every file found to . - --ignored= Save names of ignored files and the reason they - were ignored to . - --print-filter-stages Print processed source code before and after - each filter is applied. - --show-ext[=] Print information about all known (or just the - given) file extensions and exit. - --show-lang[=] Print information about all known (or just the - given) languages and exit. - --show-os Print the value of the operating system mode - and exit. See also --unix, --windows. - -v[=] Verbose switch (optional numeric value). - -verbose[=] Long form of -v. - --version Print the version of this program and exit. - --write-lang-def= Writes to the language processing filters - then exits. Useful as a first step to creating - custom language definitions (see also - --force-lang-def, --read-lang-def). - - ${BB}Output Options${NN} - --3 Print third-generation language output. - (This option can cause report summation to fail - if some reports were produced with this option - while others were produced without it.) - --by-percent X Instead of comment and blank line counts, show - these values as percentages based on the value - of X in the denominator: - X = 'c' -> # lines of code - X = 'cm' -> # lines of code + comments - X = 'cb' -> # lines of code + blanks - X = 'cmb' -> # lines of code + comments + blanks - For example, if using method 'c' and your code - has twice as many lines of comments as lines - of code, the value in the comment column will - be 200%. The code column remains a line count. - --csv Write the results as comma separated values. - --csv-delimiter= Use the character as the delimiter for comma - separated files instead of ,. This switch forces - --json Write the results as JavaScript Object Notation - (JSON) formatted output. - --md Write the results as Markdown-formatted text. - --out= Synonym for --report-file=. - --progress-rate= Show progress update after every files are - processed (default =100). Set to 0 to - suppress progress output (useful when redirecting - output to STDOUT). - --quiet Suppress all information messages except for - the final report. - --report-file= Write the results to instead of STDOUT. - --sql= Write results as SQL create and insert statements - which can be read by a database program such as - SQLite. If is -, output is sent to STDOUT. - --sql-append Append SQL insert statements to the file specified - by --sql and do not generate table creation - statements. Only valid with the --sql option. - --sql-project= Use as the project identifier for the - current run. Only valid with the --sql option. - --sql-style= - - - -'; - print "<- html_header\n" if $opt_v > 2; -} # 1}}} -sub html_end { # {{{1 -return -' - -
-'; - print "<- html_header\n" if $opt_v > 2; -} # 1}}} -sub html_end { # {{{1 -return -'