From 75c9fb71b97c6b05631b44faaad22a563c73fc4c Mon Sep 17 00:00:00 2001
From: Stefano Serafin <stefano.serafin@univie.ac.at>
Date: Mon, 24 Apr 2023 13:54:15 +0000
Subject: [PATCH] Update ICON.md

---
 ICON.md | 73 ++++++++++++++++++++++++---------------------------------
 1 file changed, 31 insertions(+), 42 deletions(-)

diff --git a/ICON.md b/ICON.md
index a592430..ce92571 100644
--- a/ICON.md
+++ b/ICON.md
@@ -6,20 +6,17 @@ ICON can be downloaded and used under a [personal non-commercial research licens
 
 1. Load the necessary modules.
     ```
-    mypy36) [serafin@jet01 build_jet]$ module list
+    (base) [serafin@jet01 icon-2.6.6]$ module list
     Currently Loaded Modulefiles:
-    1) intel-parallel-studio/composer.2020.2-intel-20.0.2-zuot22y  
-    2) zlib/1.2.11-intel-20.0.2-3h374ov                            
-    3) openmpi/4.0.5-intel-20.0.2-4wfaaz4                          
-    4) hdf5/1.12.0-intel-20.0.2-ezeotzr                            
-    5) parallel-netcdf/1.12.1-intel-20.0.2-sgz3yqs                 
-    6) netcdf-c/4.7.4-intel-20.0.2-337uqtc                         
-    7) netcdf-fortran/4.5.3-intel-20.0.2-irdm5gq                   
-    8) libxml2/2.9.12-intel-20.0.2-anavgpx                         
-    9) openblas/0.3.18-gcc-8.5.0-zv6qss4                           
-    10) netlib-lapack/3.9.1-gcc-8.5.0-ipqdnxj                       
-    11) eccodes/2.18.0-intel-20.0.2-6tadpgr        
-    ```
+    1) intel-oneapi-compilers/2022.2.1-zkofgc5           
+    2) intel-oneapi-mpi/2021.7.1-intel-2021.7.1-pt3unoz  
+    3) hdf5/1.12.2-intel-2021.7.1-w5sw2dq                
+    4) netcdf-c/4.7.4-intel-2021.7.1-lnfs5zz             
+    5) netcdf-fortran/4.5.3-intel-2021.7.1-27ldrnt       
+    6) openblas/0.3.18-gcc-8.5.0-zv6qss4                 
+    7) netlib-lapack/3.9.1-gcc-8.5.0-ipqdnxj             
+    8) eccodes/2.25.0-intel-2021.7.1-zqawf62
+     ```
 
 1. Unpack the tarball of the source code.
     ```sh
@@ -69,34 +66,32 @@ ICON can be downloaded and used under a [personal non-commercial research licens
     set -eu
 
     module purge
-    module load intel-parallel-studio/composer.2020.2-intel-20.0.2-zuot22y \
-    zlib/1.2.11-intel-20.0.2-3h374ov \
-    openmpi/4.0.5-intel-20.0.2-4wfaaz4 \
-    hdf5/1.12.0-intel-20.0.2-ezeotzr \
-    parallel-netcdf/1.12.1-intel-20.0.2-sgz3yqs \
-    netcdf-c/4.7.4-intel-20.0.2-337uqtc \
-    netcdf-fortran/4.5.3-intel-20.0.2-irdm5gq \
-    netlib-lapack/3.9.1-gcc-8.5.0-ipqdnxj \
+    module load intel-oneapi-compilers/2022.2.1-zkofgc5 \
+    intel-oneapi-mpi/2021.7.1-intel-2021.7.1-pt3unoz \
+    hdf5/1.12.2-intel-2021.7.1-w5sw2dq \
+    netcdf-c/4.7.4-intel-2021.7.1-lnfs5zz \
+    netcdf-fortran/4.5.3-intel-2021.7.1-27ldrnt \
     openblas/0.3.18-gcc-8.5.0-zv6qss4 \
-    libxml2/2.9.12-intel-20.0.2-anavgpx \
-    eccodes/2.18.0-intel-20.0.2-6tadpgr
+    netlib-lapack/3.9.1-gcc-8.5.0-ipqdnxj \
+    eccodes/2.25.0-intel-2021.7.1-zqawf62
+    #libxml2/2.9.12-intel-20.0.2-anavgpx \
 
     ./configure \
-    CC='/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/intel-parallel-studio-composer.2020.2-zuot22yfoe7jl67ttimvkzghwluvyaas/compilers_and_libraries_2020.2.254/linux/bin/intel64/icc' \
-    FC='/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/openmpi-4.0.5-4wfaaz4grfqvlblibkdrpjlwd4xnq3ud/bin/mpif90' \
-    FCFLAGS="-I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/openmpi-4.0.5-4wfaaz4grfqvlblibkdrpjlwd4xnq3ud/include \
-            -I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/netcdf-fortran-4.5.3-irdm5gqccsig2om7jqu376h6tlebh4bc/include \
+    CC='/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5rhel8/intel-oneapi-compilers-2022.2.1-zkofgc52emmuxy3gj4hgwdxtpqx2zvcl/compiler/latest/linux/bin/icx' \
+    FC='/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/intel-oneapi-mpi-2021.7.1-pt3unozt2bsezjd65dkutk2vqakctvsa/mpi/2021.7.1/bin/mpiifort' \
+    FCFLAGS="-I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/intel-oneapi-mpi-2021.7.1-pt3unozt2bsezjd65dkutk2vqakctvsa/mpi/2021.7.1/include \
+            -I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/netcdf-fortran-4.5.3-27ldrntppocl6dfnfb7nknp2yrk362kz/include \
             -O3 -g" \
-    CFLAGS="-I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/netcdf-c-4.7.4-337uqtcryw6nabweovh6kgsxozdwvylb/include" \
-    CPPFLAGS="-I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.4.0/eccodes-2.21.0-cscplox6bvu6ry2jgua5bsjcxsgihc7m/include \
-            -I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/libxml2-2.9.12-anavgpxavrdktex4xecu6646yxhvqcul/include/libxml2" \
-    LDFLAGS="-L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/openmpi-4.0.5-4wfaaz4grfqvlblibkdrpjlwd4xnq3ud/lib \
-            -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/netcdf-c-4.7.4-337uqtcryw6nabweovh6kgsxozdwvylb/lib \
-            -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/netcdf-fortran-4.5.3-irdm5gqccsig2om7jqu376h6tlebh4bc/lib \
+    CFLAGS="-I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/netcdf-c-4.7.4-lnfs5zzfvfj7eoprpng73synyohurwub/include" \
+    CPPFLAGS="-I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/eccodes-2.25.0-zqawf62kodmeksghxvk3k7pqlekpvigy/include \
+            -I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/libxml2-2.10.1-rq3keeuc35vmgpvqk5z2rcimlfanni6x/include/libxml2" \
+    LDFLAGS="-L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/intel-oneapi-mpi-2021.7.1-pt3unozt2bsezjd65dkutk2vqakctvsa/mpi/2021.7.1/lib \
+            -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/netcdf-c-4.7.4-lnfs5zzfvfj7eoprpng73synyohurwub/lib \
+            -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/netcdf-fortran-4.5.3-27ldrntppocl6dfnfb7nknp2yrk362kz/lib \
             -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/openblas-0.3.18-zv6qss4vqhaqt4a3x4zeh7sbi6buuai3/lib \
             -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/netlib-lapack-3.9.1-ipqdnxjet2tlzossnlxlz33v7f5x6ckf/lib64 \
-            -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/libxml2-2.9.12-anavgpxavrdktex4xecu6646yxhvqcul/lib \
-            -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.4.0/eccodes-2.21.0-cscplox6bvu6ry2jgua5bsjcxsgihc7m/lib64" \
+            -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/libxml2-2.10.1-rq3keeuc35vmgpvqk5z2rcimlfanni6x/lib \
+            -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/eccodes-2.25.0-zqawf62kodmeksghxvk3k7pqlekpvigy/lib64" \
     LIBS='-leccodes -lxml2 -llapack -lblas -lnetcdff -lnetcdf -lmpi' \
     --enable-mpi --enable-grib2 --without-external-cdi
     ```
@@ -110,12 +105,6 @@ ICON can be downloaded and used under a [personal non-commercial research licens
     (mypy36) [serafin@jet01 jet]$ /jetfs/home/serafin/ICON/icon-2.6.6/config/univie/jet.ifort.sh
     ```
 
-1. Set the `LD_LIBRARY_PATH` environmental variable so that the Intel Math Library is accessible during compilation:
-    ```sh
-    (mypy36) [serafin@jet01 jet]$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/intel-parallel-studio-composer.2020.2-zuot22yfoe7jl67ttimvkzghwluvyaas/lib/intel64_lin
-    ```
-    The code will not build otherwise. Setting this variable may have to be necessary even at runtime (not tested yet!).
-
 1. Compile the code by running the following in the build directory (`-j8` is optional, it's only about running multiple compile jobs in parallel):
     ```sh
     (mypy36) [serafin@jet01 jet]$ make -j8
@@ -123,7 +112,7 @@ ICON can be downloaded and used under a [personal non-commercial research licens
 
 1. Copy in the build directory all the files needed to generate the ICON run scripts. The easiest way to do so is to use the following script (after editing the paths `ICON_SRC_DIR` and `ICON_BUILD_DIR`):
 
-    ```sh
+    ```copy_make_runscripts.sh
     #!/bin/bash
     set -eu
 
-- 
GitLab