InstallationΒΆ

The Hazel distribution is organized as follows:

  1. src contains the Fortran 90 sources and a makefile that can be used to build the binary file.
  2. run contains a directory tree structure with the appropriate configuration files to run the code in command line mode.
  3. runMPI contains a directory tree structure with the appropriate configuration files to run the parallel version of the code.
  4. synthGUI contains all the files that are needed to run the IDL front-end for the synthesis problem.
  5. invGUI contains all the files that are needed to run the IDL front-end for the inversion problem.
  6. IDL_routines contains some IDL routines that are needed by the front-ends.
  7. pyRoutines contains some Python routines that can be useful
  8. pyGUI contains a Python front-end for the synthesis problem
  9. docs contains this manual.

Hazel has a source directory that can generate both the serial and parallel versions of the code. It has been tested on Linux platforms using the Intel Fortran Compiler (ifort) and the free GFortran compiler. The compilation is performed by means of a makefile. We provide several examples that allow us to compile the code in several machines. As an example, we focus on ``makefile.Intel’‘, that is appropriate for compiling the code in standard Intel machines. It can be run by providing the version that will be compiled, together with the compiler. By default, it will compile the serial version with the Intel Fortran compiler:

make version=serial compiler=ifort

After compiling and linking, the executable is copied to appropriate places. There is an additional requirement for compiling the parallel version of the code. The compilation depends on the precompiled library NetCDF for reading and writing output files. NetCDF is a standard for platform independent binary files that you need to have installed in your system. The location of the NetCDF libraries have to be provided inside the makefile. The variables NETCDF_INCLUDE and NETCDF_LIB have to point to the include and lib directories of the NetCDF distribution.

The code makes use of the MPI package for parallelization, so it has to be installed on your system. In order to obtain the executable file (for instance for the Intel compiler), just type:

make version=mpi compiler=ifort supercomputer=local

The current supported options for the makefile are the following:

  1. version: serial/mpi/python
  2. compiler: ifort/gfortran
  3. supercomputer: local/teide (for the Teide Supercomputer)

If you want to add your configuration, appropriately modify the makefile. You would need to define the location of the NetCDF include files and libraries (NETCDF_INCLUDE and NETCDF_LIB) and the correct compilation and linking flags for your compiler (COMPILER_OPTS and COMPILER_LINKS). If you want to run the GUI, you first need to compile the serial version of the code. Finally, the generated object and module files can be cleaned typing:

make clean