Download e Compilazione di Delft3D su sitema Linux
Per poter installare Delft3D sulla propria macchina Linux è necessario scaricare i sorgenti e compilarli.
Fai attenzione che in Linux non è ancora stata distributa una GUI, quindi non è possibile utilizzare l'intefaccia grafica in Linux
Scaricare i sorgenti di Delft3d
Delft3D propone due diverse repositories, le TAG e le TRUNK
Le versioni TAGS sono quelle testate e stabili, quindi conviene scaricare una di queste
Le versioni TRUNK sono quelle con gli update, i merge e i fix fatti sull'ultima versione stabile
Per scaricare le tag --> svn checkout https://svn.oss.deltares.nl/repos/delft3d/tags/4306/
Per vedere tutto --> https://svn.oss.deltares.nl/repos/delft3d/
Compilazione dei codici sorgenti
E' necessario quindi installare ifort e icc della stessa versione e con loro compilare:
- mpich
- zlib
- slib
- hdf5
- netcdf per c e per fortran
Una volta installati i programmi precedenti è necessario settare opportunamente le librerie per la compilazione di Delft3D (qui si fa riferimento a una installazione in /opt/):
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/composer_xe_2013_sp1.3.174/mkl/lib/intel64
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich-install/lib64
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/zlib-1.2.8/lib
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/szip-2.1/lib64
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5-1.8.15/lib64
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.3.3.1_cc/lib64
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.4.2_fortran/lib64
Bisogna quindi settare i parametri di compilazione coerenti con le installazioni della macchina su cui si opera
- in automatico -> ./autogen.sh
- a mano -> modificare build.sh coerentemente con le proprie path in particolare quelle di ifort e quelle di netcdf; ./build.sh -intel14 -64bit
Quindi bisogna costruire il file di configurazione con le seguenti flags (verificare che ci siano i path giusti!!!):
CC=/opt/intel/bin/icc CXX=/opt/intel/bin/icpc FC=/opt/intel/bin/ifort F77=/opt/intel/bin/ifort MPICXX=/opt/mpich-install/bin/mpicxx MPIFC=/opt/mpich-install/bin/mpif90 FCLIBS='-L/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -L/lib/../lib64 -L/lib/../lib/ -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/../lib/ -L/lib64 -L/lib/ -L/usr/lib -L/usr/lib/i386-linux-gnu -L/opt/mpich-install/lib64 -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl -lmpifort' FLIBS='-L/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -L/lib/x86_64-linux-gnu/ -L/lib/../lib64 -L/lib/../lib/ -L/opt/mpich-install/lib64 -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/../lib/ -L/lib64 -L/lib/ -L/usr/lib -L/usr/lib/i386-linux-gnu -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl' LIBS=' -L/opt/mpich-install/lib64 -L/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -lrt -lexpat -lstdc++ -limf -lsvml -lirng -lintlc -lmpich -lmpifort' PPFLAGS='-I/opt/zlib-1.2.8/include -I/opt/szip-2.1/include -I/opt/hdf5-1.8.15/include -I/opt/netcdf_4.3.3.1_cc/include ' LDFLAGS='-L/opt/zlib-1.2.8/lib -L/opt/szip-2.1/lib64 -L/opt/hdf5-1.8.15/lib64 -L/opt/netcdf_4.3.3.1_cc/lib64 ' ./configure --prefix=/opt/Delft3D/compiled/tag_5596_compiled/
Infine per compilare tutto il codice
make
make install