Notes on the computing environment
This page will guide you through the installation of FUSE. Before you get started, please note that:
- below we assume that you will be compiling and running FUSE in a Linux/UNIX environment - for OS X/macOS, see this page of the SUMMA manual,
- you will need a Fortran compiler: FUSE was developed and tested using
ifort
, which we recommend if you have no previous experience with Fortran compilers - note that on HPCs, you might have to load specific modules to use the compiler (trymodule avail
and thenmodule add [your/module/version/compiler]
), - you will need access to the NetCDF and HDF libraries: use the libraries compiled with the compiler you selected above, the path to these libraries are machine dependent (so paths for another machine probably will not work on your machine). To find these paths, ask administrators or users of your machine, or, if you have to load modules containing the libraries, once loaded, type
module show [your/module/version/compiler]
.
1. Fork the FUSE repository and adapt the Makefile
- Fork the FUSE repository to a directory
$(MASTER)
on your machine (see the SUMMA manual for a step-by-step procedure). - Edit the
Makefile
in$(MASTER)/build/
by defining:- the name of the master directory (line 10),
- the fortran compiler (lines 31-32, optional, we recommend that you define it when compiling the code, see 1. below),
- the path to the NetCDF and HDF libraries (
NCDF_PATH
andHDF_PATH
, lines 40-52, see 3. above, you need to provide the paths associated with compiler you selected).
2. Compile FUSE
In spring 2020, we spruced up the FUSE Makefile. Until then, it used to require the separate compilation of the shuffled complex evolution (SCE, used for automated parameter estimation), as SCE code is in Fortran77. Now, SCE compilation is taken care of by the Makefile. To compile FUSE:
-
Change directory to
$(MASTER)/build/
and compile FUSE by typingmake FC=ifort
(ormake FC=gfortran
if you prefer to usegfortran
). -
Try running FUSE by typing
./fuse.exe
. If the output is1st command-line argument is missing (fileManager)
, you have probably compiled FUSE correctly. But there might still be issues related to the libraries. To find out, download the test data and run the test cases.