Skip to content

Commit

Permalink
Merge pull request #1312 from RatkoVasic-NOAA/update-1.6.0-rocky-OS
Browse files Browse the repository at this point in the history
Update changes to 1.6.0 for machines that switched to Rocky OS
  • Loading branch information
AlexanderRichert-NOAA authored Oct 1, 2024
2 parents 7da0a38 + abf4070 commit ad8b191
Show file tree
Hide file tree
Showing 19 changed files with 341 additions and 548 deletions.
4 changes: 3 additions & 1 deletion configs/common/modules_lmod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ modules:
'TOCGRIB': '{prefix}/bin/tocgrib'
'TOCGRIB2': '{prefix}/bin/tocgrib2'
'TOCGRIB2SUPER': '{prefix}/bin/tocgrib2super'
'WGRIB': '{prefix}/bin/wgrib2'
'WGRIB': '{prefix}/bin/wgrib'
landsfcutil:
environment:
set:
Expand Down Expand Up @@ -259,6 +259,8 @@ modules:

hierarchy:
- mpi
- g2virt
- g2tmplvirt

prefix_inspections:
bin:
Expand Down
2 changes: 1 addition & 1 deletion configs/common/modules_tcl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ modules:
'TOCGRIB': '{prefix}/bin/tocgrib'
'TOCGRIB2': '{prefix}/bin/tocgrib2'
'TOCGRIB2SUPER': '{prefix}/bin/tocgrib2super'
'WGRIB': '{prefix}/bin/wgrib2'
'WGRIB': '{prefix}/bin/wgrib'
landsfcutil:
environment:
set:
Expand Down
6 changes: 3 additions & 3 deletions configs/sites/hera/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ compilers:
f77: /apps/oneapi/compiler/2022.0.2/linux/bin/intel64/ifort
fc: /apps/oneapi/compiler/2022.0.2/linux/bin/intel64/ifort
flags: {}
operating_system: centos7
operating_system: rocky8
modules:
- intel/2022.1.2
environment:
Expand All @@ -24,7 +24,7 @@ compilers:
f77: /apps/intel/parallel_studio_xe_2018.4.057/compilers_and_libraries_2018/linux/bin/intel64/ifort
fc: /apps/intel/parallel_studio_xe_2018.4.057/compilers_and_libraries_2018/linux/bin/intel64/ifort
flags: {}
operating_system: centos7
operating_system: rocky8
modules:
- intel/18.0.5.274
- compiler:
Expand All @@ -35,7 +35,7 @@ compilers:
f77: /apps/gnu/gcc-9.2.0/bin/gfortran
fc: /apps/gnu/gcc-9.2.0/bin/gfortran
flags: {}
operating_system: centos7
operating_system: rocky8
modules:
- gnu/9.2.0
environment: {}
Expand Down
15 changes: 3 additions & 12 deletions configs/sites/hera/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,6 @@ packages:
externals:
- spec: [email protected]
prefix: /usr
bzip2:
externals:
- spec: [email protected]
prefix: /usr
cpio:
externals:
- spec: [email protected]
Expand Down Expand Up @@ -116,10 +112,6 @@ packages:
externals:
- spec: [email protected]_312-b07
prefix: /usr
krb5:
externals:
- spec: [email protected]
prefix: /usr
libfuse:
externals:
- spec: [email protected]
Expand Down Expand Up @@ -183,11 +175,10 @@ packages:
externals:
- spec: [email protected]
prefix: /usr
xz:
externals:
- spec: [email protected]
prefix: /usr
zip:
externals:
- spec: [email protected]
prefix: /usr

zlib:
require: ["~shared"]
6 changes: 3 additions & 3 deletions configs/sites/jet/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ compilers:
f77: /apps/oneapi/compiler/2022.0.2/linux/bin/intel64/ifort
fc: /apps/oneapi/compiler/2022.0.2/linux/bin/intel64/ifort
flags: {}
operating_system: centos7
operating_system: rocky8
modules:
- intel/2022.1.2
environment:
Expand All @@ -24,7 +24,7 @@ compilers:
f77: /apps/intel/parallel_studio_xe_2018.4.057/compilers_and_libraries_2018/linux/bin/intel64/ifort
fc: /apps/intel/parallel_studio_xe_2018.4.057/compilers_and_libraries_2018/linux/bin/intel64/ifort
flags: {}
operating_system: centos7
operating_system: rocky8
modules:
- intel/18.0.5.274
- compiler:
Expand All @@ -35,7 +35,7 @@ compilers:
f77: /apps/gnu/gcc-9.2.0/bin/gfortran
fc: /apps/gnu/gcc-9.2.0/bin/gfortran
flags: {}
operating_system: centos7
operating_system: rocky8
modules:
- gnu/9.2.0
environment: {}
Expand Down
18 changes: 3 additions & 15 deletions configs/sites/jet/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@ packages:
externals:
- spec: [email protected]
prefix: /usr
bzip2:
externals:
- spec: [email protected]
prefix: /usr
cpio:
externals:
- spec: [email protected]
Expand Down Expand Up @@ -121,10 +117,6 @@ packages:
externals:
- spec: [email protected]_322-b06
prefix: /usr
krb5:
externals:
- spec: [email protected]
prefix: /usr
libfuse:
externals:
- spec: [email protected]
Expand All @@ -145,13 +137,11 @@ packages:
buildable: False
externals:
- spec: [email protected]
prefix: /lfs4/HFIP/hfv3gfs/role.epic/apps/mysql-8.0.31
prefix: /contrib/spack-stack/installs/mysql-8.0.31
modules:
- mysql/8.0.31
ncurses:
externals:
- spec: [email protected]+termlib abi=6
prefix: /lfs4/HFIP/hfv3gfs/Kyle.Gerheiser/miniconda/miniconda-3.9.7
- spec: [email protected]+termlib abi=5
prefix: /usr
perl:
Expand Down Expand Up @@ -186,11 +176,9 @@ packages:
externals:
- spec: [email protected]
prefix: /usr
xz:
externals:
- spec: [email protected]
prefix: /lfs4/HFIP/hfv3gfs/Kyle.Gerheiser/miniconda/miniconda-3.9.7
zip:
externals:
- spec: [email protected]
prefix: /usr
zlib:
require: ["~shared"]
85 changes: 44 additions & 41 deletions configs/sites/noaa-aws/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,24 +52,14 @@ exit

# Build external packages for spack-stack

mkdir -p /contrib/spack-stack
mkdir -p /contrib/spack-stack-rocky8
mkdir /contrib/spack-stack/modulefiles
cd /contrib/spack-stack/

mkdir -p git-lfs-2.4.1/src
cd git-lfs-2.4.1/src
wget http://mirror.centos.org/centos/7/sclo/x86_64/rh/Packages/r/rh-git218-git-lfs-2.4.1-3.el7.x86_64.rpm
rpm2cpio rh-git218-git-lfs-2.4.1-3.el7.x86_64.rpm | cpio -idmv
mv opt/rh/rh-git218/root/usr/* ..
rm -fr opt
cd /contrib/spack-stack/modulefiles
mkdir git-lfs

# Create the modulefile from the template in doc/modulefile_templates

cd /contrib/spack-stack/
cd /contrib/spack-stack-rocky8
mkdir -p mysql-8.0.31/src
cd mysql-8.0.31/src
ldd --version
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.17-x86_64-minimal.tar.xz
tar -xvf mysql-8.0.31-linux-glibc2.17-x86_64-minimal.tar.xz
mv mysql-8.0.31-linux-glibc2.17-x86_64-minimal/* ..
Expand All @@ -78,37 +68,20 @@ cd /contrib/spack-stack/modulefiles
mkdir mysql
# Create the modulefile from the template in doc/modulefile_templates

cd /contrib/spack-stack/
mkdir -p cmake-3.27.2/src
cd cmake-3.27.2/src
wget https://github.com/Kitware/CMake/releases/download/v3.27.2/cmake-3.27.2-linux-x86_64.tar.gz
tar -xvzf cmake-3.27.2-linux-x86_64.tar.gz
mv cmake-3.27.2-linux-x86_64/* ..
rmdir cmake-3.27.2-linux-x86_64
cd /contrib/spack-stack/modulefiles
mkdir cmake
# Create the modulefile from the template in doc/modulefile_templates

# Set up basic modules for building the external ecflow package
module unuse /opt/cray/craype/default/modulefiles
module unuse /opt/cray/modulefiles

module purge
module load gnu/9.2.0
module use /contrib/spack-stack/modulefiles
module load cmake/3.27.2

mkdir -p /contrib/spack-stack/ecflow-5.8.4/src
cd /contrib/spack-stack/ecflow-5.8.4/src
mkdir -p /contrib/spack-stack-rocky8/ecflow-5.8.4/src
cd /contrib/spack-stack-rocky8/ecflow-5.8.4/src
wget https://confluence.ecmwf.int/download/attachments/8650755/ecFlow-5.8.4-Source.tar.gz?api=v2
wget https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.gz
mv ecFlow-5.8.4-Source.tar.gz\?api\=v2 ecFlow-5.8.4-Source.tar.gz
tar -xvzf boost_1_78_0.tar.gz
tar -xvzf ecFlow-5.8.4-Source.tar.gz
export WK=/contrib/spack-stack/ecflow-5.8.4/src/ecFlow-5.8.4-Source
export BOOST_ROOT=/contrib/spack-stack/ecflow-5.8.4/src/boost_1_78_0
export WK=/contrib/spack-stack-rocky8/ecflow-5.8.4/src/ecFlow-5.8.4-Source
export BOOST_ROOT=/contrib/spack-stack-rocky8/ecflow-5.8.4/src/boost_1_78_0

# Build static boost (to not interfere with spack-stack boost)
# Note that the default compiler supplied with the OS is used
cd $BOOST_ROOT
./bootstrap.sh 2>&1 | tee bootstrap.log
$WK/build_scripts/boost_build.sh 2>&1 | tee boost_build.log
Expand All @@ -117,21 +90,51 @@ $WK/build_scripts/boost_build.sh 2>&1 | tee boost_build.log
cd $WK
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/contrib/spack-stack/ecflow-5.8.4 2>&1 | tee log.cmake
cmake .. -DPython3_EXECUTABLE=`which python3` -DCMAKE_INSTALL_PREFIX=/contrib/spack-stack-rocky8/ecflow-5.8.4 2>&1 | tee log.cmake
make -j4 2>&1 | tee log.make
make install 2>&1 | tee log.install

cd /contrib/spack-stack/modulefiles
mkdir ecflow
cd /contrib/spack-stack-rocky8/
mkdir -p ./modulefiles/ecflow
# Create the modulefile from the template in doc/modulefile_templates


############## Steps to perform when starting a new cluster ##############
source /contrib/admin/basic_setup.sh # sudo privileges requred to install packages
module purge
module unuse /opt/cray/craype/default/modulefiles
module unuse /opt/cray/modulefiles
module use /contrib/spack-stack/modulefiles
module load cmake/3.27.2

# For noaa-aws, run the line below as well:
module unuse /opt/intel/impi/2019.5.281/intel64/modulefiles
module use /contrib/spack-stack-rocky8/modulefiles

# Loading modules
#
module load ecflow/5.8.4
module load mysql/8.0.31
module load git-lfs/2.4.1

module load gnu
module load intel/2023.2.0
module load impi/2023.2.0
module unload gnu

cd /contrib/spack-stack-rocky8/spack-stack-1.6.0
source setup.sh
## Create spack-stack environment, use the CSP name as needed:
## set CLOUD variable to noaa-aws, noaa-gcloud, or noaa-azure
CLOUD=noaa-aws
spack stack create env --site $CLOUD --template unified-dev --name ue-intel
cd envs/ue-intel
spack env activate .

############## spack.yaml edits:
edit spack.yaml:
# 1) leave only "%intel" in "compilers" definitions
# 2) replace ^[email protected] by ^[email protected] under definitions,
# except for the Various esmf/mapl tags section

spack concretize 2>&1 | tee log.concretize
spack install --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install
spack module lmod refresh
spack stack setup-meta-modules
31 changes: 8 additions & 23 deletions configs/sites/noaa-aws/compilers.yaml
Original file line number Diff line number Diff line change
@@ -1,32 +1,17 @@
compilers:
- compiler:
spec: intel@2021.3.0
spec: intel@2021.10.0
paths:
cc: /apps/oneapi/compiler/2021.3.0/linux/bin/intel64/icc
cxx: /apps/oneapi/compiler/2021.3.0/linux/bin/intel64/icpc
f77: /apps/oneapi/compiler/2021.3.0/linux/bin/intel64/ifort
fc: /apps/oneapi/compiler/2021.3.0/linux/bin/intel64/ifort
flags: {}
operating_system: centos7
cc: /apps/oneapi/compiler/2023.2.0/linux/bin/intel64/icc
cxx: /apps/oneapi/compiler/2023.2.0/linux/bin/intel64/icpc
f77: /apps/oneapi/compiler/2023.2.0/linux/bin/intel64/ifort
fc: /apps/oneapi/compiler/2023.2.0/linux/bin/intel64/ifort
operating_system: rocky8
target: x86_64
modules:
- intel/2021.3.0
- intel/2023.2.0
environment:
prepend_path:
PATH: '/apps/gnu/gcc-9.2.0/bin'
LD_LIBRARY_PATH: '/apps/oneapi/compiler/2021.3.0/linux/compiler/lib/intel64_lin:/apps/gnu/gcc-9.2.0/lib64'
extra_rpaths: []
- compiler:
spec: [email protected]
paths:
cc: /apps/gnu/gcc-9.2.0/bin/gcc
cxx: /apps/gnu/gcc-9.2.0/bin/g++
f77: /apps/gnu/gcc-9.2.0/bin/gfortran
fc: /apps/gnu/gcc-9.2.0/bin/gfortran
LD_LIBRARY_PATH: '/apps/oneapi/compiler/2023.2.0/linux/compiler/lib/intel64_lin:/apps/gnu/gcc-13.2.0/lib64'
flags: {}
operating_system: centos7
target: x86_64
modules:
- gnu/9.2.0
environment: {}
extra_rpaths: []
Loading

0 comments on commit ad8b191

Please sign in to comment.