From 8463ce9766757fa123b1a74ca45a198ae1b97f65 Mon Sep 17 00:00:00 2001
From: Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de>
Date: Wed, 13 Jul 2022 10:49:07 +0200
Subject: [PATCH] Add installation script for CI prerequisites on Levante.

---
 .ci/bb/levante-dkrz/install_prerequisites.sh | 77 ++++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100755 .ci/bb/levante-dkrz/install_prerequisites.sh

diff --git a/.ci/bb/levante-dkrz/install_prerequisites.sh b/.ci/bb/levante-dkrz/install_prerequisites.sh
new file mode 100755
index 000000000..7b9d22858
--- /dev/null
+++ b/.ci/bb/levante-dkrz/install_prerequisites.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+set -eu
+unset CDPATH
+
+module purge
+module load git
+
+install_dir='/work/mh0287/m300488/libcdi-ci-sw/install'
+work_dir="$(pwd)/build"
+make_cmd='make -j22'
+
+mkdir -p "${work_dir}" && cd "${work_dir}"
+
+# Get PPM 1.0.8:
+wget https://swprojects.dkrz.de/redmine/attachments/download/517/ppm-1.0.8.tar.gz
+tar xvf ppm-1.0.8.tar.gz
+ppm_src_dir="${work_dir}/ppm-1.0.8"
+ppm_name_tag='ppm-1.0.8'
+ppm_config_args='--enable-MPI --disable-netcdf --disable-hdf5 --disable-parmetis --disable-metis --disable-crypto'
+
+# Get YAXT 0.9.3:
+git clone --depth=1 -b release-0.9.3 https://gitlab.dkrz.de/dkrz-sw/yaxt.git
+yaxt_src_dir="${work_dir}/yaxt"
+yaxt_name_tag='yaxt-0.9.3'
+yaxt_config_args=''
+
+export CC='mpicc'
+export FC='mpif90'
+
+# Install for GCC 11.2.0:
+compiler_name_tag='gcc-11.2.0'
+module load openmpi/4.1.2-gcc-11.2.0
+
+# Install PPM:
+build_dir="${ppm_name_tag}-${compiler_name_tag}"
+mkdir "${build_dir}"
+( cd "${build_dir}"
+  "${ppm_src_dir}/configure" ${ppm_config_args} --prefix="${install_dir}/${ppm_name_tag}-${compiler_name_tag}"
+  $make_cmd
+  $make_cmd check
+  $make_cmd install )
+
+# Install YAXT:
+build_dir="${yaxt_name_tag}-${compiler_name_tag}"
+mkdir "${build_dir}"
+( cd "${build_dir}"
+  "${yaxt_src_dir}/configure" ${yaxt_config_args} --prefix="${install_dir}/${yaxt_name_tag}-${compiler_name_tag}"
+  $make_cmd
+  $make_cmd check
+  $make_cmd install )
+
+module unload openmpi/4.1.2-gcc-11.2.0
+
+# Install for Intel Classic 2021.5.0:
+compiler_name_tag='intel-classic-2021.5.0'
+module load openmpi/4.1.2-intel-2021.5.0
+
+# Install PPM:
+build_dir="${ppm_name_tag}-${compiler_name_tag}"
+mkdir "${build_dir}"
+( cd "${build_dir}"
+  "${ppm_src_dir}/configure" ${ppm_config_args} --prefix="${install_dir}/${ppm_name_tag}-${compiler_name_tag}"
+  $make_cmd
+  $make_cmd check
+  $make_cmd install )
+
+# Install YAXT:
+build_dir="${yaxt_name_tag}-${compiler_name_tag}"
+mkdir "${build_dir}"
+( cd "${build_dir}"
+  "${yaxt_src_dir}/configure" ${yaxt_config_args} --prefix="${install_dir}/${yaxt_name_tag}-${compiler_name_tag}"
+  $make_cmd
+  $make_cmd check
+  $make_cmd install )
+
+module unload openmpi/4.1.2-intel-2021.5.0
-- 
GitLab