## page was renamed from Jureca/Libraries_ifort19 == Install Libraries on JURECA with ifort 19.0.0, gcc 7.3.0 and Parastation MPI == The libraries used by CLaMS are installed in directory /homec/jicg11/jicg1108 === load modules === {{{ module purge module load intel-para module load netCDF-Fortran }}} === create new directories === {{{ mkdir clams_lib_ifort19.0.0 mkdir clams_mod_ifort19.0.0 mkdir clams_lib_mpi_ifort19.0.0 mkdir clams_mod_mpi_ifort19.0.0 }}} === qhull === Possibly the name of the C-routine ''qhull_dll'' in file ''unix.c'' must be adjusted: for gcc it must be '''qhull_dll_''' ! {{{ cd ~/qhull make new mv libqhull.a libqhull_gcc7.3.0.a cd ~/clams_lib_ifort19 ln -sf ../qhull/libqhull_gcc7.3.0.a ./libqhull.a cd ~ chmod -R 755 qhull }}} === numrec === {{{ cd ~/numrec-f90 mkdir lib_ifort19.0.0 mkdir mod_ifort19.0.0 mkdir obj_ifort19.0.0 }}} in Makefile.numrec: {{{ F90 = ifort objDir = obj_ifort19.0.0 modDir = mod_ifort19.0.0 libDir = lib_ifort19.0.0 }}} {{{ make -f Makefile.numrec new }}} {{{ cd ~/clams_lib_ifort19 ln -sf ../numrec-f90/lib_ifort19.0.0/libnumrec.a . cd ~/clams_mod_ifort19 ln -sf ../numrec-f90/mod_ifort19.0.0/nr.mod . ln -sf ../numrec-f90/mod_ifort19.0.0/nrtype.mod . ln -sf ../numrec-f90/mod_ifort19.0.0/nrutil.mod . cd ~ chmod -R 755 numrec-f90 }}} === netcdf === * Netcdf is installed on Jureca for different C and Fortran compiler versions. * If the netcdf module is loaded, "ncdump" and "ncgen" can be used and compilation of programs using netcdf is possible (without specifying any library or include paths). * Compile Fortran program with NetCDF: {{{ ifort -o progname progname.f90 -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz }}} * After loading the netcdf module the following environment variables are expanded: * '''PATH''' includes directory with netcdf binaries (ncdump) * '''CPATH''' includes directory with include-files and netcdf-modules * '''LD_LIBRARY_PATH''' includes directories with all needed libraries (netcdf, hdf5, zlib etc) === utils === Following files were adapted: * utils-cf/Makefile * mkincl/platform.mk * mkincl/config/config.Linux_ifc * Serial version of library: {{{ cd ~/utils-cf make theLibrary cd ~/clams_lib_ifort19 ln -sf ../utils-cf/lib_linux_ifc_19.0.0.117/libutils-icg1.a . cd ~/clams_mod_ifort19 ln -sf ../utils-cf/mod_linux_ifc_19.0.0.117/* . cd ~ chmod -R 755 utils-cf }}} * MPI version of library: {{{ cd ~/utils-cf make useMPI=true theLibrary cd ~/clams_lib_mpi_ifort19 ln -sf ../utils-cf/lib_linux_ifc_19.0.0.117_mpi/libutils-icg1.a . cd ~/clams_mod_mpi_ifort19 ln -sf ../utils-cf/mod_linux_ifc_19.0.0.117_mpi/* . cd ~ chmod -R 755 utils-cf }}} === set new links === {{{ rm clams_lib clams_mod clams_lib_mpi clams_mod_mpi ln -sf clams_lib_ifort19.0.0 clams_lib ln -sf clams_mod_ifort19.0.0 clams_mod ln -sf clams_lib_mpi_ifort19.0.0 clams_lib_mpi ln -sf clams_mod_mpi_ifort19.0.0 clams_mod_mpi }}}