Skip to content

Commit

Permalink
release/1.5.0: site config and doc updates round 2 (S4, aws-pcluster,…
Browse files Browse the repository at this point in the history
… Discover, Nautilus, JCSDA CI containers) (#775)

* Update S4 site config
* Update site config for aws-pcluster
* Update versions in configs/containers/README.md, cleanup unused parts
* Update discover site config
* Update nautilus site config
* Update to ip 4.3.0
* Update documentation
* [skip ci] Add python module to module includes on acorn

---------

Co-authored-by: Alex Richert <alexander.richert@noaa.gov>
Co-authored-by: Alex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com>
  • Loading branch information
3 people authored Sep 14, 2023
1 parent 907ed2d commit 5d76fdd
Show file tree
Hide file tree
Showing 15 changed files with 72 additions and 187 deletions.
1 change: 0 additions & 1 deletion configs/common/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
version: ['2.4.1']
bison:
version: ['3.8.2']
# Attention - when updating also check S4 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=17 visibility=hidden
Expand Down
30 changes: 6 additions & 24 deletions configs/containers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,23 @@ To avoid hardcoding specs in the generic container recipes, we keep the specs li
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.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.3, hdf@4.2.15, hdf5@1.14.1-2, ip@3.3.3, jasper@2.0.32, jedi-cmake@1.4.0,
fckit@0.11.0, fms@release-jcsda, g2@3.4.5, g2tmpl@1.10.2, gftl-shared@1.5.0,
gsibec@1.1.3, hdf@4.2.15, hdf5@1.14.0, ip@4.3.0, 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.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, 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]
py-pandas@1.5.3, py-pip, py-pyyaml@5.4.1, 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, w3emc@2.10.0, nco@5.0.6, esmf@8.4.2, mapl@2.35.2,
yafyaml@0.5.1, zlib@1.2.13, zstd@1.5.2, odc@1.4.6, shumlib@macos_clang_linux_intel_port,
awscli@1.27.84, py-globus-cli@3.16.0]
# Don't build CRTM by default so that it gets built in the JEDI bundles:
# crtm@v2.4.1-jedi
# 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.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.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.3, 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.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,
yafyaml@0.5.1, zlib@1.2.13, odc@1.4.6, crtm@2.4.0, crtm-fix@2.4.0_emc]
```

### Create an AMI on AWS EC2 to build docker containers

AMI ami-0a934b7133c2b7102 (dom-docker-builder-full-backup-20230217; JCSDA-NOAA account, us-east-1) was created following the instructions below
Expand Down
2 changes: 0 additions & 2 deletions configs/containers/docker-ubuntu-clang-mpich.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,6 @@ spack:
echo "export CXX=clang++" >> /root/.bashrc && \
echo "export FC=gfortran" >> /root/.bashrc && \
printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig
# Source spack environment script for root
RUN echo "source /etc/profile.d/z10_spack_environment.sh\n" >> /root/.bashrc
# Labels for the image
labels:
Expand Down
2 changes: 0 additions & 2 deletions configs/containers/docker-ubuntu-gcc-openmpi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,6 @@ spack:
RUN echo "export OMPI_ALLOW_RUN_AS_ROOT=1" >> /root/.bashrc && \
echo "export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1" >> /root/.bashrc && \
echo "export OMPI_MCA_rmaps_base_oversubscribe=1" >> /root/.bashrc
# Source spack environment script for root
RUN echo "source /etc/profile.d/z10_spack_environment.sh\n" >> /root/.bashrc
# Labels for the image
labels:
Expand Down
2 changes: 0 additions & 2 deletions configs/containers/docker-ubuntu-intel-impi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -211,8 +211,6 @@ spack:
echo "source /opt/intel/oneapi/compiler/latest/env/vars.sh" >> /root/.bashrc && \
echo "source /opt/intel/oneapi/mpi/latest/env/vars.sh" >> /root/.bashrc && \
printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig
# Source spack environment script for root
RUN echo "source /etc/profile.d/z10_spack_environment.sh\n" >> /root/.bashrc
# Labels for the image
labels:
Expand Down
3 changes: 3 additions & 0 deletions configs/sites/acorn/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@ modules:
default:
enable::
- lmod
lmod:
include:
- python
1 change: 0 additions & 1 deletion configs/sites/aws-pcluster/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ modules:
- lmod
lmod:
include:
# List of packages for which we need modules that are blacklisted by default
- python
exclude:
- ecflow
17 changes: 0 additions & 17 deletions configs/sites/aws-pcluster/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,11 @@ packages:
externals:
- spec: binutils@2.34
prefix: /usr
bison:
externals:
- spec: bison@3.5.1
prefix: /usr
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=17 visibility=hidden
prefix: /usr
# Don't use external cmake, this confuses the spack concretizer
# leading to duplicate packages being installed.
#cmake:
# externals:
# - spec: cmake@3.16.3
# prefix: /usr
coreutils:
externals:
- spec: coreutils@8.30
Expand Down Expand Up @@ -120,13 +110,6 @@ packages:
externals:
- spec: openssh@8.2p1
prefix: /usr
# Don't use external openssl, this confuses the spack concretizer
# leading to duplicate packages (libarchive with different compression
# settings, somehow triggered by different cmake versions) being installed.
#openssl:
# externals:
# - spec: openssl@1.1.1f
# prefix: /usr
perl:
externals:
- spec: perl@5.30.0~cpanm+shared+threads
Expand Down
2 changes: 2 additions & 0 deletions configs/sites/discover/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ modules:
lmod:
exclude:
- ecflow
include:
- python
38 changes: 0 additions & 38 deletions configs/sites/discover/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ packages:
compiler:: [intel@2022.0.1, gcc@10.1.0]
providers:
mpi:: [intel-oneapi-mpi@2021.5.0, openmpi@4.1.3]
target: [ivybridge]

### MPI, Python, MKL
mpi:
Expand All @@ -20,20 +19,6 @@ packages:
prefix: /discover/swdev/jcsda/spack-stack/openmpi-4.1.3/gcc-10.1.0
modules:
- openmpi/4.1.3-gcc-10.1.0
python:
buildable: False
externals:
- spec: python@3.9.7
prefix: /discover/swdev/jcsda/spack-stack/miniconda-3.9.7/
modules:
- miniconda/3.9.7
py-pip:
buildable: False
externals:
- spec: py-pip@21.2.4
prefix: /discover/swdev/jcsda/spack-stack/miniconda-3.9.7/
modules:
- miniconda/3.9.7

### Modification of common packages

Expand All @@ -57,25 +42,10 @@ packages:
externals:
- spec: berkeley-db@4.8.30
prefix: /usr
# Don't use, leads to duplicate packages being built
#bison:
# externals:
# - spec: bison@2.7
# prefix: /usr
ccache:
externals:
- spec: ccache@3.1.9
prefix: /usr
# Don't use external cmake, this confuses the spack concretizer
# leading to duplicate packages being installed.
#cmake:
# externals:
# - spec: cmake@3.5.2
# prefix: /usr
# - spec: cmake@3.21.0
# prefix: /usr/local/other/cmake/3.21.0
# modules:
# - cmake/3.21.0
cpio:
externals:
- spec: cpio@2.11
Expand Down Expand Up @@ -185,10 +155,6 @@ packages:
# Old re2c on Discover unable to build newer versions of ninja
ninja:
version:: ['1.10.2']
openssl:
externals:
- spec: openssl@1.0.2j-fips
prefix: /usr
perl:
externals:
- spec: perl@5.18.2~cpanm+shared+threads
Expand All @@ -213,10 +179,6 @@ packages:
externals:
- spec: sed@4.2.2
prefix: /usr
sqlite:
externals:
- spec: sqlite@3.8.10.2~fts~functions+rtree
prefix: /usr
texinfo:
externals:
- spec: texinfo@4.13
Expand Down
3 changes: 0 additions & 3 deletions configs/sites/nautilus/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,4 @@ compilers:
PATH: '/opt/rh/gcc-toolset-11/root/usr/bin'
CPATH: '/opt/rh/gcc-toolset-11/root/usr/include'
LD_LIBRARY_PATH: '/opt/scyld/slurm/lib64:/opt/scyld/slurm/lib64/slurm:/p/app/compilers/intel/oneapi/compiler/2022.0.2/linux/compiler/lib/intel64_lin:/opt/rh/gcc-toolset-11/root/usr/lib64:/opt/rh/gcc-toolset-11/root/usr/lib'
# For intel-oneapi-mpi only
#set:
# I_MPI_ROOT: '/p/app/compilers/intel/oneapi/mpi/2021.5.1'
extra_rpaths: []
12 changes: 0 additions & 12 deletions configs/sites/nautilus/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,18 +60,10 @@ packages:
externals:
- spec: binutils@2.30.117
prefix: /usr
bison:
externals:
- spec: bison@3.0.4
prefix: /usr
coreutils:
externals:
- spec: coreutils@8.30
prefix: /usr
#curl:
# externals:
# - spec: curl@7.61.1+gssapi+ldap+nghttp2
# prefix: /usr
diffutils:
externals:
- spec: diffutils@3.6
Expand Down Expand Up @@ -129,10 +121,6 @@ packages:
externals:
- spec: openssh@8.0p1
prefix: /usr
openssl:
externals:
- spec: openssl@1.1.1k
prefix: /usr
perl:
externals:
- spec: perl@5.26.3~cpanm+open+shared+threads
Expand Down
1 change: 1 addition & 0 deletions configs/sites/s4/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ modules:
- ecflow
include:
- mpich
- python
64 changes: 13 additions & 51 deletions configs/sites/s4/packages.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
packages:
all:
compiler:: [intel@2021.5.0, gcc@9.3.0]
# Removing gcc/mpich for now, not working as expected
#compiler:: [intel@2021.5.0, gcc@9.3.0]
#providers:
# mpi:: [intel-oneapi-mpi@2021.5.0, mpich@4.0.1]
compiler:: [intel@2021.5.0]
providers:
mpi:: [intel-oneapi-mpi@2021.5.0, mpich@4.0.1]
mpi:: [intel-oneapi-mpi@2021.5.0]

### MPI, Python, MKL
mpi:
Expand All @@ -11,31 +15,13 @@ packages:
externals:
- spec: intel-oneapi-mpi@2021.5.0%intel@2021.5.0
prefix: /opt/intel/oneapi/2022.1
modules:
- intel/2022.1
mpich:
externals:
- spec: mpich@4.0.1%gcc@9.3.0 ~hydra device=ch4
prefix: /data/prod/hpc-stack/gnu-9.3.0/mpich/4.0.1
modules:
- mpich/4.0.1
python:
buildable: False
externals:
- spec: python@3.9.12
prefix: /data/prod/jedi/spack-stack/miniconda-3.9.12
modules:
- miniconda/3.9.12
py-pip:
buildable: False
externals:
- spec: py-pip@21.2.4
prefix: /data/prod/jedi/spack-stack/miniconda-3.9.12
modules:
- miniconda/3.9.12
# Versions 1.73+ don't compile on s4 (bootstrap.sh fails)
boost:
version:: ['1.72.0']
# Commenting this out for now, not working as expected
#mpich:
# externals:
# - spec: mpich@4.0.1%gcc@9.3.0 ~hydra device=ch4
# prefix: /data/prod/hpc-stack/gnu-9.3.0/mpich/4.0.1
# modules:
# - mpich/4.0.1

### All other external packages listed alphabetically
autoconf:
Expand All @@ -54,30 +40,14 @@ packages:
externals:
- spec: berkeley-db@5.3.21
prefix: /usr
# Do not use, can lead to duplicate versions of nco being installed
#bison:
# externals:
# - spec: bison@3.0.4
# prefix: /usr
bzip2:
externals:
- spec: bzip2@1.0.6
prefix: /usr
# Don't use external cmake, this confuses the spack concretizer
# leading to duplicate packages being installed
#cmake:
# externals:
# - spec: cmake@3.20.5
# prefix: /usr
cpio:
externals:
- spec: cpio@2.11
prefix: /usr
# Don't use OS curl on S4, incomplete
#curl:
# externals:
# - spec: curl@7.29.0+ldap
# prefix: /usr
diffutils:
externals:
- spec: diffutils@3.3
Expand Down Expand Up @@ -178,10 +148,6 @@ packages:
externals:
- spec: openssh@7.4p1
prefix: /usr
openssl:
externals:
- spec: openssl@1.0.2k-fips
prefix: /usr
perl:
externals:
- spec: perl@5.16.3~cpanm+shared+threads
Expand All @@ -206,10 +172,6 @@ packages:
externals:
- spec: sed@4.2.2
prefix: /usr
sqlite:
externals:
- spec: sqlite@3.7.17~fts~functions+rtree
prefix: /usr
tar:
externals:
- spec: tar@1.26
Expand Down
Loading

0 comments on commit 5d76fdd

Please sign in to comment.