DINEOF Compilation

From GHER

Revision as of 09:38, 9 September 2014 by Alex (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Compilation of DINEOF

To compile DINEOF you have to edit the file Makefile and change it according to your machine and compiler. More exactly, you have to modify the following lines:

OS = Linux
FORT = ifort

DINEOF comes with the following possible combinations OS/compiler: IRIX/f90, Linux/g95, Linux/gfortran, Linux/ifort, Linux/pgi60, Linux/pgi. However, be aware that not all these possibilities have been tested. See section ?? for a list of tested platforms/compilers. You are most than welcome to implement your particular combination of platform/compiler, we will be more than happy to include these in DINEOF.

Example files are provided in the format "big endian". Do not change the FORMAT variable, if you want to run the test case "SmallExample".


Once you have decided the compiler, you have to edit the file Compilers/OS-compiler.mk accordingly to your choice (for example, for Linux/ifort, the file name is Compilers/Linux-ifort.mk). In the Compiler file you have to modify the following lines:

F90FLAGS := -I/path_to_netcdf_include_files
DINEOF_LIBRARIES =  -L/path_to_ARPACK_library -larpack  -llapack  -lblas -L/path_to_netcdf_library -lnetcdf
CROSSVAL_LIBRARIES = -L/path_to_netcdf_library  -lnetcdf

to indicate the paths to your NetCDF and ARPACK libraries.

  • /path_to_netcdf_include_files must contain the files: netcdf.inc and netcdf.mod (case may vary)
  • /path_to_netcdf_library must contain the file: libnetcdf.a
  • /path_to_ARPACK_library must contain the file: libarpack.a. The name of the ARPACK library may contain the name of the OS or platform.

Note that in future releases DINEOF, the includes options will be placed in the variables INCLUDES.

The NetCDF library is optional: you can run DINEOF with netCDF input/output files or with a binary format for which we provide reading and writing routines (this will be explained more in detail in section ??).

To compile DINEOF type:

make
Personal tools