diff --git a/.github/workflows/macos-ci-aarch64.yaml b/.github/workflows/macos-ci-aarch64.yaml index 14f658c52..469be3339 100644 --- a/.github/workflows/macos-ci-aarch64.yaml +++ b/.github/workflows/macos-ci-aarch64.yaml @@ -92,6 +92,7 @@ jobs: spack config add "packages:all:compiler:[apple-clang@14.0.0]" sed -i '' "s/\['\%aocc', '\%apple-clang', '\%gcc', '\%intel'\]/\['\%apple-clang'\]/g" $ENVDIR/spack.yaml + # Concretize and check for duplicates spack concretize 2>&1 | tee log.concretize.apple-clang-14.0.0 ${SPACK_STACK_DIR}/util/show_duplicate_packages.py -d log.concretize.apple-clang-14.0.0 -i fms -i crtm diff --git a/.github/workflows/macos-ci-x86_64.yaml b/.github/workflows/macos-ci-x86_64.yaml index 211cd7cec..d0d3b9a64 100644 --- a/.github/workflows/macos-ci-x86_64.yaml +++ b/.github/workflows/macos-ci-x86_64.yaml @@ -85,6 +85,7 @@ jobs: spack config add "packages:all:compiler:[apple-clang@14.0.0]" sed -i '' "s/\['\%aocc', '\%apple-clang', '\%gcc', '\%intel'\]/\['\%apple-clang'\]/g" $ENVDIR/spack.yaml + # Concretize and check for duplicates spack concretize 2>&1 | tee log.concretize.apple-clang-14.0.0 ${SPACK_STACK_DIR}/util/show_duplicate_packages.py -d log.concretize.apple-clang-14.0.0 -i fms -i crtm diff --git a/.github/workflows/ubuntu-ci-x86_64.yaml b/.github/workflows/ubuntu-ci-x86_64.yaml index 81b4be61c..5c8d6cf5b 100644 --- a/.github/workflows/ubuntu-ci-x86_64.yaml +++ b/.github/workflows/ubuntu-ci-x86_64.yaml @@ -126,6 +126,7 @@ jobs: # Switch from default tcl to lmod modules sed -i "s/tcl/lmod/g" $ENVDIR/site/modules.yaml + # Concretize and check for duplicates spack concretize 2>&1 | tee log.concretize.intel-2022.1.0 ${SPACK_STACK_DIR}/util/show_duplicate_packages.py -d log.concretize.intel-2022.1.0 -i fms -i crtm diff --git a/configs/common/packages.yaml b/configs/common/packages.yaml index fd801d39d..5623a86dc 100644 --- a/configs/common/packages.yaml +++ b/configs/common/packages.yaml @@ -18,7 +18,7 @@ # Attention - when updating also check orion site config boost: version: ['1.78.0'] - variants: ~atomic +chrono +date_time +exception +filesystem ~graph ~iostreams ~locale ~log ~math ~mpi ~numpy +pic +program_options +python ~random +regex +serialization ~signals +system +test +thread +timer ~wave cxxstd=14 visibility=hidden + variants: ~atomic +chrono +date_time +exception +filesystem ~graph ~iostreams ~locale ~log ~math ~mpi ~numpy +pic +program_options +python ~random +regex +serialization ~signals +system +test +thread +timer ~wave cxxstd=17 visibility=hidden bufr: version: ['12.0.0'] variants: +python @@ -42,10 +42,10 @@ version: ['5.8.4'] variants: +ui eckit: - version: ['1.23.1'] + version: ['1.24.4'] variants: linalg=eigen,lapack compression=lz4,bzip2 ecmwf-atlas: - version: ['0.33.0'] + version: ['0.34.0'] variants: +fckit +trans ectrans: version: ['1.2.0'] @@ -62,16 +62,17 @@ version: ['8.4.2'] variants: ~xerces ~pnetcdf snapshot=none ~shared +external-parallelio fckit: - version: ['0.10.1'] + version: ['0.11.0'] variants: +eckit fftw: version: ['3.3.10'] fiat: - version: ['1.1.0'] + version: ['1.2.0'] fms: - version: ['2023.01'] - # when switching to 2023.02, need to add "+use_fmsio" to variants - variants: precision=32,64 +quad_precision +gfs_phys +openmp +pic constants=GFS build_type=Release + #version: ['2023.01'] + #variants: precision=32,64 +quad_precision +gfs_phys +openmp +pic constants=GFS build_type=Release + version: ['2023.02'] + variants: precision=32,64 +quad_precision +gfs_phys +openmp +pic constants=GFS build_type=Release +use_fmsio g2: version: ['3.4.5'] g2c: @@ -121,14 +122,14 @@ libyaml: version: ['0.2.5'] mapl: - # 2.35.2 goes with esmf@8.4.1 + # 2.35.2 goes with esmf@8.4.2 version: ['2.35.2'] variants: ~shared met: - version: ['11.0.2'] + version: ['11.1.0'] variants: +python +grib2 metplus: - version: ['5.0.1'] + version: ['5.1.0'] mpich: variants: ~hwloc +two_level_namespace nco: @@ -171,7 +172,7 @@ p4est: version: ['2.8'] parallelio: - version: ['2.5.9'] + version: ['2.5.10'] variants: +pnetcdf parallel-netcdf: version: ['1.12.2'] @@ -249,7 +250,7 @@ qt: version: ['5.15.3'] scotch: - version: ['7.0.3'] + version: ['7.0.4'] variants: +mpi+metis~shared~threads~mpi_thread+noarch sfcio: version: ['1.4.1'] diff --git a/configs/containers/README.md b/configs/containers/README.md index 3f9e4df8f..2473c800b 100644 --- a/configs/containers/README.md +++ b/configs/containers/README.md @@ -2,44 +2,40 @@ To avoid hardcoding specs in the generic container recipes, we keep the specs list empty (`specs: []`) and manually add the specs for the particular spack-stack release and application as listed below, *after* running `spack stack create ctr`. -### spack-stack-1.4.1 / skylab-5.0.0 containers for fv3-jedi and mpas-jedi (but not for ufs-jedi) +### spack-stack-1.5.0 / skylab-6.0.0 containers for fv3-jedi and mpas-jedi (but not for ufs-jedi) ``` specs: [base-env@1.0.0, jedi-base-env@1.0.0 ~fftw, ewok-env@1.0.0, jedi-fv3-env@1.0.0, jedi-mpas-env@1.0.0, bacio@2.4.1, bison@3.8.2, bufr@12.0.0, ecbuild@3.7.2, eccodes@2.27.0, ecflow@5, - eckit@1.23.1, ecmwf-atlas@0.33.0 +trans ~fftw, ectrans@1.2.0 ~fftw, eigen@3.4.0, - fckit@0.10.1, fms@release-jcsda, g2@3.4.5, g2tmpl@1.10.0, gftl-shared@1.5.0, + eckit@1.24.4, ecmwf-atlas@0.34.0 +trans ~fftw, fiat@1.2.0, ectrans@1.2.0 ~fftw, eigen@3.4.0, + fckit@0.11.0, fms@release-jcsda, g2@3.4.5, g2tmpl@1.10.0, gftl-shared@1.5.0, gsibec@1.1.2, hdf@4.2.15, hdf5@1.14.1-2, ip@3.3.3, jasper@2.0.32, jedi-cmake@1.4.0, libpng@1.6.37, nccmp@1.9.0.1, netcdf-c@4.9.2, netcdf-cxx4@4.3.1, netcdf-fortran@4.6.0, nlohmann-json@3.10.5, nlohmann-json-schema-validator@2.1.0, - parallelio@2.5.9, parallel-netcdf@1.12.2, py-eccodes@1.4.2, py-f90nml@1.4.3, + parallelio@2.5.10, parallel-netcdf@1.12.2, py-eccodes@1.4.2, py-f90nml@1.4.3, py-gitpython@3.1.27, py-h5py@3.7.0, py-numpy@1.22.3, py-pandas@1.4.0, py-pip, py-pyyaml@6.0, py-scipy@1.9.3, py-shapely@1.8.0, py-xarray@2022.3.0, - sp@2.3.3, udunits@2.2.28, w3nco@2.4.1, nco@5.0.6, + sp@2.3.3, udunits@2.2.28, w3nco@2.4.1, nco@5.0.6, esmf@8.4.2, mapl@2.35.2, yafyaml@0.5.1, zlib@1.2.13, odc@1.4.6, shumlib@macos_clang_linux_intel_port] # Don't build CRTM by default so that it gets built in the JEDI bundles: # crtm@v2.4.1-jedi - # Don't build ESMF and MAPL for now: - # https://github.com/JCSDA-internal/MPAS-Model/issues/38 - # https://github.com/jcsda/spack-stack/issues/326 - # jedi-ufs-env@1.0.0, esmf@8.4.2, mapl@2.35.2 # Comment out for now until build problems are solved # https://github.com/jcsda/spack-stack/issues/522 # py-mysql-connector-python@8.0.32 ``` -### spack-stack-1.4.1 / ufs-weather-model-x.y.z containers for ufs-weather-model as of July 5, 2023 +### spack-stack-1.5.0 / ufs-weather-model-x.y.z containers for ufs-weather-model as of July 5, 2023 **Note. This is not yet working correctly, some libraries are missing. Please do not use yet! Also, if using the clang-mpich container, need to disable openmp for fms, not clear how to do this cleanly.** ``` specs: [base-env@1.0.0, bacio@2.4.1, bison@3.8.2, bufr@12.0.0, ecbuild@3.7.2, eccodes@2.27.0, ecflow@5, - eckit@1.23.1, ecmwf-atlas@0.33.0 +trans ~fftw, ectrans@1.2.0 ~fftw, eigen@3.4.0, - fckit@0.10.1, fms@2023.01, g2@3.4.5, g2tmpl@1.10.0, gftl-shared@1.5.0, + eckit@1.24.4, ecmwf-atlas@0.34.0 +trans ~fftw, fiat@1.2.0, ectrans@1.2.0 ~fftw, eigen@3.4.0, + fckit@0.11.0, fms@2023.01, g2@3.4.5, g2tmpl@1.10.0, gftl-shared@1.5.0, gsibec@1.1.2, hdf@4.2.15, hdf5@1.14.1-2, ip@3.3.3, jasper@2.0.32, jedi-cmake@1.4.0, libpng@1.6.37, nccmp@1.9.0.1, netcdf-c@4.9.2, netcdf-cxx4@4.3.1, netcdf-fortran@4.6.0, nlohmann-json@3.10.5, nlohmann-json-schema-validator@2.1.0, - parallelio@2.5.9, parallel-netcdf@1.12.2, py-eccodes@1.4.2, py-f90nml@1.4.3, + parallelio@2.5.10, parallel-netcdf@1.12.2, py-eccodes@1.4.2, py-f90nml@1.4.3, py-gitpython@3.1.27, py-h5py@3.7.0, py-numpy@1.22.3, py-pandas@1.4.0, py-pip, py-pyyaml@6.0, py-scipy@1.9.3, py-shapely@1.8.0, py-xarray@2022.3.0, sp@2.3.3, udunits@2.2.28, w3emc@2.9.2, w3nco@2.4.1, nco@5.0.6, esmf@8.4.2, mapl@2.35.2, diff --git a/configs/sites/aws-pcluster/README.md b/configs/sites/aws-pcluster/README.md index 043f6b4b1..f0ca556ca 100644 --- a/configs/sites/aws-pcluster/README.md +++ b/configs/sites/aws-pcluster/README.md @@ -311,7 +311,7 @@ echo " prefix: /usr" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml echo " boost:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml echo " buildable: False" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml echo " externals:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml -echo " - spec: boost@1.71.0 +atomic +chrono +date_time +exception +filesystem +graph +iostreams +locale +log +math +mpi +numpy +pic +program_options +python +random +regex +serialization +signals +system +test +thread +timer ~wave cxxstd=14 visibility=hidden" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml +echo " - spec: boost@1.71.0 +atomic +chrono +date_time +exception +filesystem +graph +iostreams +locale +log +math +mpi +numpy +pic +program_options +python +random +regex +serialization +signals +system +test +thread +timer ~wave cxxstd=17 visibility=hidden" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml echo " prefix: /usr" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml # Add external ecflow diff --git a/configs/sites/aws-pcluster/packages.yaml b/configs/sites/aws-pcluster/packages.yaml index 52ba4b437..ee1dc5e32 100644 --- a/configs/sites/aws-pcluster/packages.yaml +++ b/configs/sites/aws-pcluster/packages.yaml @@ -50,7 +50,7 @@ packages: boost: buildable: False externals: - - spec: boost@1.71.0 +atomic +chrono +date_time +exception +filesystem +graph +iostreams +locale +log +math +mpi +numpy +pic +program_options +python +random +regex +serialization +signals +system +test +thread +timer +wave cxxstd=14 visibility=hidden + - spec: boost@1.71.0 +atomic +chrono +date_time +exception +filesystem +graph +iostreams +locale +log +math +mpi +numpy +pic +program_options +python +random +regex +serialization +signals +system +test +thread +timer +wave cxxstd=17 visibility=hidden prefix: /usr # Don't use external cmake, this confuses the spack concretizer # leading to duplicate packages being installed. diff --git a/configs/templates/skylab-dev/spack.yaml b/configs/templates/skylab-dev/spack.yaml index 17f117197..4ab074320 100644 --- a/configs/templates/skylab-dev/spack.yaml +++ b/configs/templates/skylab-dev/spack.yaml @@ -16,7 +16,13 @@ spack: - jedi-um-env - soca-env - # Additional crtm tags + # Various fms tags (list all to avoid duplicate packages) + - fms@release-jcsda + - fms@2023.01 + - fms@2023.02 + + # Various crtm tags (list all to avoid duplicate packages) + - crtm@2.4.0 - crtm@v2.4-jedi.2 - crtm@v2.4.1-jedi diff --git a/configs/templates/unified-dev/spack.yaml b/configs/templates/unified-dev/spack.yaml index caf4df879..9a62e546a 100644 --- a/configs/templates/unified-dev/spack.yaml +++ b/configs/templates/unified-dev/spack.yaml @@ -25,11 +25,13 @@ spack: #- upp-env #- ww3-env - # Additional esmf/mapl tags - #- esmf@8.4.2~debug+external-parallelio - #- mapl@2.35.2~debug ^esmf@8.4.2~debug+external-parallelio + # Various fms tags (list all to avoid duplicate packages) + - fms@release-jcsda + - fms@2023.01 + - fms@2023.02 - # Additional crtm tags + # Various crtm tags (list all to avoid duplicate packages) + - crtm@2.4.0 - crtm@v2.4-jedi.2 - crtm@v2.4.1-jedi diff --git a/spack b/spack index a7778813c..06cf447b5 160000 --- a/spack +++ b/spack @@ -1 +1 @@ -Subproject commit a7778813cd955229db7a8c4d48883610e3fe1f74 +Subproject commit 06cf447b58f0484330e5412a3f72cc0f1956c573