Installation von NetCDF4 (mit parallelem I/O) auf JUROPA
1. zlib installieren
Version 1.2.3
./configure --prefix=/lustre/jhome4/jicg11/jicg1108/local make check install
2. HDF5 installieren
Version 5-1.8.2
CC=mpicc ./configure --enable-parallel --prefix=/lustre/jhome4/jicg11/jicg1108/local --with-zlib=/lustre/jhome4/jicg11/jicg1108/local --disable-shared make make check make install
3. NetCDF4 installieren
Version 4.0.1
Umgebungsvariablen setzen (s. /lustre/jhome4/jicg11/jicg1108/config/setenv.netcdf):
export CC=mpicc export CFLAGS=-O export FC=mpif90 export FFLAGS=-O export F90=mpif90 export F90FLAGS=-O export FLIBS=-Vaxlib export CPPFLAGS="-DNDEBUG -DpgiFortran" CXX=
Konfigurieren (s. /lustre/jhome4/jicg11/jicg1108/config/configure.netcdf):
./configure --enable-netcdf-4 --enable-benchmarks --disable-cxx --prefix=/lustre/jhome4/jicg11/jicg1108/local --with-hdf5=/lustre/jhome4/jicg11/jicg1108/local --with-zlib=/lustre/jhome4/jicg11/jicg1108/local
--enable-benchmarks : muss angegeben werden, damit "bm_file" erzeugt wird
--disable-cxx : c++-Library läßt sich nicht installieren!
Compilieren, testen und installieren:
make make check make install
4. Links setzen
Folgende Libraries nach /lustre/jhome4/jicg11/jicg1108/clams_lib_netcdf4 linken:
- /lustre/jhome4/jicg11/jicg1108/local/lib/libz.a
- /lustre/jhome4/jicg11/jicg1108/local/lib/libhdf5.a
- /lustre/jhome4/jicg11/jicg1108/local/lib/libhdf5_hl.a
- /lustre/jhome4/jicg11/jicg1108/local/lib/libnetcdf.a
- /lustre/jhome4/jicg11/jicg1108/numrec-f90/lib/libnumrec.a
- /lustre/jhome4/jicg11/jicg1108/qhull-2.6-mod/libqhull.a
Folgende Module-Files nach /lustre/jhome4/jicg11/jicg1108/clams_mod_netcdf4 linken:
- /lustre/jhome4/jicg11/jicg1108/local/include/netcdf.mod
- /lustre/jhome4/jicg11/jicg1108/local/include/typesizes.mod
- /lustre/jhome4/jicg11/jicg1108/numrec-f90/mod/nr.mod
- /lustre/jhome4/jicg11/jicg1108/numrec-f90/mod/nrtype.mod
- /lustre/jhome4/jicg11/jicg1108/numrec-f90/mod/nrutil.mod
Folgendes Programm nach /lustre/jhome4/jicg11/jicg1108/local/bin kopieren:
- /lustre/jhome4/jicg11/jicg1108/netcdf-4.0.1/nc_test4/bm_file
(Binaries von HDF5 und ncdump,ncgen sind bei der Installation schon dorthin kopiert worden!)
5. UDUnits installieren
Version 2.1.11
./configure --prefix=/lustre/jhome4/jicg11/jicg1108/local CC=mpicc make make check make install
6. NCO installieren
Version 3.9.8
Version 3.9.9: Fehlermeldung bei "make" in Chunking-Routinen!
Konfigurieren (s. /lustre/jhome4/jicg11/jicg1108/config/configure.nco)
./configure --prefix=/lustre/jhome4/jicg11/jicg1108/local --enable-netcdf4 --enable-udunits2 --disable-shared CC=mpicc NETCDF4_ROOT=/lustre/jhome4/jicg11/jicg1108/local HDF5_LIB_DIR=/lustre/jhome4/jicg11/jicg1108/local UDUNITS2_PATH=/lustre/jhome4/jicg11/jicg1108/local NETCDF_INC=/lustre/jhome4/jicg11/jicg1108/local/include NETCDF_LIB=/lustre/jhome4/jicg11/jicg1108/local/lib
make make install
C++-Library läßt sich nicht installieren, da keine C++-Library für NetCDF angelegt werden konnte!
7. Utils-Library erstellen
Utils-Library unter /lustre/jhome4/jicg11/jicg1108/utils_netcdf4
/lustre/jhome4/jicg11/jicg1108/utils_netcdf4/mkincl/config/config.Linux_ifc ändern:
libDir := $(baseDir)/clams_lib_netcdf4 modDir := $(baseDir)/clams_mod_netcdf4 netcdf_lib_file = -L$(libDir) -lnetcdf -lhdf5_hl -lhdf5 -lz
gmake useComp=ifc useMPI=true theLibrary
utils-Library nach /lustre/jhome4/jicg11/jicg1108/clams_lib_netcdf4 linken
mod-Files nach /lustre/jhome4/jicg11/jicg1108/clams_mod_netcdf4 linken