====== Tips and tricks ====== ===== How to link netCDF 4 with Abinit ===== First create a directory where you are going to store all you libraries. It is common to create this directory under /local/name_of_the_compiler. In my case I want to compile using Intel 13 compiler and therefore I will issue: cd local mkdir Intel13 - **Install zlib** \\ Go on the Zlib website [[http://zlib.net/|http://zlib.net/]] and download the latest version and then untar it e.g.: wget http://zlib.net/zlib-1.2.8.tar.gz tar -xvf zlib-1.2.8.tar.gz Then go into the folder and issue: ./configure --prefix='/home/ucl/naps/sponce/local/Intel13' make make install - **Install HDF5** \\ Go on the HDF5 website [[http://www.hdfgroup.org/HDF5/]] and download it, e.g.: wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.11.tar tar -xvf hdf5-1.8.11.tar Then go into the folder and issue: ./configure --with-zlib=/home/ucl/naps/sponce/local/Intel13 --prefix=/home/ucl/naps/sponce/local/Intel13 --enable-fortran --enable-cxx make make install - **Install netCDF4** \\ Go on the netcdf4 website [[http://www.unidata.ucar.edu/downloads/netcdf/netcdf-4_0/index.jsp]] and download it, e.g. : wget http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.3.tar.gz tar -xvf netcdf-4.1.3.tar.gz Because the --with-hdf5= option does not work for necdf-4.1.3, you will need to export HDF5 location paths as follows: export CPPFLAGS=-I/home/ucl/naps/sponce/local/Intel13/include/ export LDFLAGS=-L/home/ucl/naps/sponce/local/Intel13/lib export LD_LIBRARY_PATH=/home/ucl/naps/sponce/local/Intel13/lib export FC=ifort export CC=icc Then issue: ./configure --enable-netcdf4 --prefix=/home/ucl/naps/sponce/local/Intel13 --enable-dap --enable-shared make make install - **Install Abinit with netCDF4**\\ Be careful if you have set flags into you .ac file. You should unset the variable first: unset FC unset CC You should then add the following lines into your .ac configuration file: with_netcdf_incs="-I/home/ucl/naps/sponce/local/Intel13/include" with_netcdf_libs="-L/home/ucl/naps/sponce/local/Intel13/lib -lnetcdf -lnetcdff" with_trio_flavor="netcdf+etsf_io" For some mpi-io parallel I/O fancy stuff you may need to add the hdf5 explicitly with_netcdf_incs="-I/home/ucl/naps/sponce/local/Intel13/include " with_netcdf_libs="-L/home/ucl/naps/sponce/local/Intel13/lib -lnetcdf -lnetcdff -lhdf5_fortran -lhdf5_hl -lhdf5" with_trio_flavor="netcdf+etsf_io" Note that here all of the libraries have been put in the same lib and include directories for convenience (otherwise you need to add the corresponding -I/include and -L/lib statements) Then you should make a build directory into Abinit and issue: ../configure --with-config-file='./name_of_your_ac_file.ac' make mj4