diff --git a/ICON.md b/ICON.md index a592430f320414550945da33fab68fe35f8e6ffd..ce925718ee9b3624ebec0f376ed3e00cfc6a5963 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