Monday, August 19, 2013

Σύντομος οδηγός για το κλιματικό μοντέλο EMAC

Νεα εγκατάσταση διανομής (π.χ. messy_2.42_src.zip)

1) Αποσυμπιέζουμε την διανομή σε κάποιο φάκελο. Αυτομάτα δημιουργειται νεός με το ονομα τησ διανομής. Στην προκείμενη περίπτωση messy_2.42

> unzip messy_2.42_src.zip
   Archive:  messy_2.42_src.zip
   creating: messy_2.42/
   creating: messy_2.42/echam5.3.02/
  inflating: messy_2.42/echam5.3.02/README.NETCDF
  ... 
  messy_2.42/echam5.3.01/lapack -> ../echam5.3.02/lapack

2) πρεπει να εφαρμόζουμε τα patches. Για την διανομή 2.42 υπάρχουν 2 patches: patch_2.42_01, patch_2.42_02.

>  patch  -p0 < patch_2.42_01
   (Stripping trailing CRs from patch.)
    ...
   patching file MESSy2_CHANGELOG
>  patch  -p0 < patch_2.42_02
   (Stripping trailing CRs from patch.)
    ...
   patching file MESSy2_CHANGELOG


3) configure
>  ./configure --enable-PNETCDF=no

4) make
> gmake -j 4

Σε περιπτωση compile-time λάθους στο αρχειο typeSizes.f90
Για compile στο αρχειο ./libsrc/netcdf90 πρεπεί να προσθέσουμε την -fpp στο αρχειο makefile.m.
Αλλαζουμε το 
$(F90) $(F90NOR8) -c typeSizes.f90 σε   $(F90) $(F90NOR8) -fpp -c typeSizes.f90
και
$(F90) $(F90NOR8) -c netcdf.f90 σε $(F90) $(F90NOR8) -fpp -c netcdf.f90

-L/opt/zmaw/sw/squeeze-x64/hdf5-1.8.7-static/lib -lhdf5_hl -lhdf5 -L/sw/squeeze-x64/szip-2.1-static/lib -lcurl -lsz -lm

DONT forget to add netcdf in LD_...