Install libraries used by CLaMS
- Ubuntu 18.04
- ifort 19.0.3
- gcc 7.4.0
- zlib 1.2.11
- HDF5 1.10.5
- netCDF 4.6.3
- netCDF-Fortran 4.4.5
Contents
Create new directories
mkdir /usr/nfs/software/icg1/include_gcc7.4.0 mkdir /usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 mkdir /usr/nfs/software/icg1/mod/mod_linux_ifc64_19.0.3_nc4.6.3 cd /usr/nfs/software/icg1/lib ln -sf lib_linux_ifc64_19.0.3_nc4.6.3 lib_linux_ifc64_19.0.3 cd /usr/nfs/software/icg1/mod ln -sf mod_linux_ifc64_19.0.3_nc4.6.3 mod_linux_ifc64_19.0.3
zlib Version 1.2.11
- Install zlib with:
cd /usr/nfs/software/icg1/local/zlib-1.2.11-gcc7.4.0 ./configure --prefix=/usr/nfs/software/icg1/local/zlib-1.2.11-gcc7.4.0 make make check make install
- Link zlib to CLaMS library directory:
cd /usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 ln -sf ../../local/zlib-1.2.11-gcc7.4.0/lib/libz.a .
- Link include files:
cd /usr/nfs/software/icg1/include_gcc7.4.0 ln -sf ../local/zlib-1.2.11-gcc7.4.0/include/* .
HDF5 Version 1.10.5
- Install HDF5 with:
cd /usr/nfs/software/icg1/local/hdf5-1.10.5 export CC=`which gcc` ./configure --prefix=/usr/nfs/software/icg1/local/hdf5-1.10.5 --with-zlib=/usr/nfs/software/icg1/local/zlib-1.2.11-gcc7.4.0 --disable-shared 2>&1 | tee config.out make 2>&1 | tee make.out make check 2>&1 | tee make_check.out make install 2>&1 | tee make_install.out
- Link HDF5 Libraries to CLaMS library directories:
cd /usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 ln -sf ../../local/hdf5-1.10.5/lib/libhdf5.a . ln -sf ../../local/hdf5-1.10.5/lib/libhdf5_hl.a .
- Link include files:
cd /usr/nfs/software/icg1/include_gcc7.4.0 ln -sf ../local/hdf5-1.10.5/include/* .
netCDF Version 4.6.3
- Install NetCDF C-library with:
export CC=`which gcc` export CFLAGS=-O export CPPFLAGS="-DNDEBUG -DpgiFortran -I/usr/nfs/software/icg1/include_gcc7.4.0" export CXX=`which g++` export LDFLAGS=-L/usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 export LIBS="-lhdf5_hl -lhdf5 -lz -ldl" mkdir /usr/nfs/software/icg1/local/netcdf-c-4.6.3-install cd /usr/nfs/software/icg1/local/netcdf-c-4.6.3 ./configure --prefix=/usr/nfs/software/icg1/local/netcdf-4.6.3-install --disable-shared --disable-dap [--enable-benchmarks] 2>&1 | tee configure.out make 2>&1 | tee make.out make check 2>&1 | tee make_check.out => FEHLER !!! make install 2>&1 | tee make_install.out
Link libraries, include files and binaries to CLaMS directories:
cd /usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 ln -sf ../../local/netcdf-4.6.3-install/lib/libnetcdf.a . cd /usr/nfs/software/icg1/include_gcc7.4.0 ln -sf ../local/netcdf-4.6.3-install/include/* .
netCDF-Fortran Version 4.4.5
Install NetCDF Fortran-library with ifort:
cd /usr/nfs/software/icg1/local/netcdf-fortran-4.4.5 export NCDIR=/usr/nfs/software/icg1/local/netcdf-4.6.3-install export CC=`which gcc` export CFLAGS=-O export CXX=`which g++` export FC=`which ifort` export FFLAGS=-O export F90=$FC export F77=$FC export FCFLAGS=$FFLAGS export FLIBS= export CPPFLAGS="-DNDEBUG -DpgiFortran -I/usr/nfs/software/icg1/include_gcc7.4.0" export LD_LIBRARY_PATH=/usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 export LDFLAGS=-L/usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 export NFDIR=/usr/nfs/software/icg1/local/netcdf-fortran-4.4.5-gcc7.4.0-ifc64_19.0.3-install export LIBS="-lnetcdf -lhdf5_hl -lhdf5 -lz -ldl" make distclean cd /usr/nfs/software/icg1/local/netcdf-fortran-4.4.5 ./configure --prefix=/usr/nfs/software/icg1/local/netcdf-fortran-4.4.5-gcc7.4.0-ifc64_19.0.3-install --disable-shared 2>&1 | tee config.out make 2>&1 | tee make.out make check 2>&1 | tee make-check.out make install 2>&1 | tee make-install.out
Link Fortran library and modules to CLaMS directories:
cd /usr/nfs/software/icg1/include_gcc7.4.0 ln -sf ../local/netcdf-fortran-4.4.5-gcc7.4.0-ifc64_19.0.3-install/include/netcdf.inc . cd /usr/nfs/software/icg1/mod/mod_linux_ifc64_19.0.3_nc4.6.3 ln -sf ../../local/netcdf-fortran-4.4.5-gcc7.4.0-ifc64_19.0.3-install/include/netcdf.mod . ln -sf ../../local/netcdf-fortran-4.4.5-gcc7.4.0-ifc64_19.0.3-install/include/typesizes.mod . cd /usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 ln -sf ../../local/netcdf-fortran-4.4.5-gcc7.4.0-ifc64_19.0.3-install/lib/libnetcdff.a .
Compile with:
ifort -o progname progname.f90 -I/usr/nfs/software/icg1/mod/mod_linux_ifc64_19.0.3_nc4.6.3 -L/usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz
Installation of Numerical Recipes
Create subdirectories (objDir, modDir und libDir) in directory numrec-f90
cd /usr/nfs/software/icg1/local/numrec-f90 mkdir lib_linux_ifc64_19.0.3 mkdir mod_linux_ifc64_19.0.3 mkdir obj_linux_ifc64_19.0.3
In Makefile.numrec enter the used fortran compiler and the installation directory names:
F90=ifort objDir=obj_linux_ifc64_19.0.3 modDir=mod_linux_ifc64_19.0.3 libDir=lib_linux_ifc64_19.0.3
Compile and create library
make -f Makefile.numrec new
Link library to CLaMS directory:
cd /usr/nfs/software/icg1/lib/lib_linux_ifc64_19.0.3_nc4.6.3 ln -sf ../../local/numrec-f90/lib_linux_ifc64_19.0.3/libnumrec.a .
Link module files to CLaMS directory:
cd /usr/nfs/software/icg1/mod/mod_linux_ifc64_19.0.3_nc4.6.3 ln -sf ../../local/numrec-f90/mod_linux_ifc64_19.0.3/nr.mod . ln -sf ../../local/numrec-f90/mod_linux_ifc64_19.0.3/nrtype.mod . ln -sf ../../local/numrec-f90/mod_linux_ifc64_19.0.3/nrutil.mod .
MPICH Library 3.3.1
Install new MPICH library used by the intel compiler:
cd /usr/nfs/software/icg1/local/mpich-3.3.1 ./configure --prefix=/usr/nfs/software/icg1/local/mpich-3.3.1-ifort-19.0.3 --disable-shared F77=/opt/intel/bin/ifort FC=/opt/intel/bin/ifort 2>&1 | tee config.out make 2>&1 | tee make.out make install 2>&1 | tee install.out
Wenn neuer Compiler auf allen Workstations installiert:
ln -sf mpich-3.3.1-ifort-19.0.3 mpich-intel