diff --git a/ICON.md b/ICON.md index f011e546109ba8a06ab42b60b1aab7bf31aec769..a592430f320414550945da33fab68fe35f8e6ffd 100644 --- a/ICON.md +++ b/ICON.md @@ -6,17 +6,19 @@ 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 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) netlib-lapack/3.9.1-gcc-8.5.0-ipqdnxj - 9) openblas/0.3.18-gcc-8.5.0-zv6qss4 - 10) libxml2/2.9.12-intel-20.0.2-anavgpx + 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. Unpack the tarball of the source code. @@ -76,7 +78,8 @@ ICON can be downloaded and used under a [personal non-commercial research licens netcdf-fortran/4.5.3-intel-20.0.2-irdm5gq \ netlib-lapack/3.9.1-gcc-8.5.0-ipqdnxj \ openblas/0.3.18-gcc-8.5.0-zv6qss4 \ - libxml2/2.9.12-intel-20.0.2-anavgpx + libxml2/2.9.12-intel-20.0.2-anavgpx \ + eccodes/2.18.0-intel-20.0.2-6tadpgr ./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' \ @@ -85,22 +88,25 @@ ICON can be downloaded and used under a [personal non-commercial research licens -I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/netcdf-fortran-4.5.3-irdm5gqccsig2om7jqu376h6tlebh4bc/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-xnc5g2flgzmvm72lbnp4mrxior4txqlo/include \ - -I/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/libxml2-2.9.12-anavgpxavrdktex4xecu6646yxhvqcul/include/libxml2" \ + 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 \ -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-xnc5g2flgzmvm72lbnp4mrxior4txqlo/lib64" \ + -L/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.4.0/eccodes-2.21.0-cscplox6bvu6ry2jgua5bsjcxsgihc7m/lib64" \ LIBS='-leccodes -lxml2 -llapack -lblas -lnetcdff -lnetcdf -lmpi' \ --enable-mpi --enable-grib2 --without-external-cdi ``` This configure script does two things: i) loads a selection of environment modules; ii) runs the ICON configure scripts passing all the required compiler flags. -1. Prepare for an out-of-source build. Create a build directory wherever you want and move into it. In the build directory, execute `jet.ifort.sh` (the configuration script above) +1. Prepare for an out-of-source build. Create a build directory in the source code root and move into it. In the build directory, link the `configure` file and then run `jet.ifort.sh` (the configuration script above) ```sh + (mypy36) [serafin@jet01 icon-2.6.6]$ mkdir jet + (mypy36) [serafin@jet01 icon-2.6.6]$ cd jet/ + (mypy36) [serafin@jet01 jet]$ ln -s ../configure . (mypy36) [serafin@jet01 jet]$ /jetfs/home/serafin/ICON/icon-2.6.6/config/univie/jet.ifort.sh ```