FDS Compilation - firemodels/fds GitHub Wiki

This page describes how to compile FDS, which is written in Fortran (2018 standard). We use the latest version of the Intel oneAPI Base and HPC Toolkits, which include the Fortran compiler and MPI libraries. We also test our compilation with the Gnu Fortran compiler. If you find an up-to-date Fortran compiler that does not work, let us know.

Preliminaries

  • Get an account on GitHub and fork the firemodels/fds Repository. See the Git Notes Getting Started wiki for more details. Clone your forked repository to your computer.
  • Install a Fortran compiler and MPI libraries. At NIST, we use the Intel oneAPI "classic" Fortran compiler and the Intel MPI libraries that are part of the Base and HPC Toolkits. If you want to install GNU Fortran and Open MPI on a Linux compute cluster, there are installation guidelines for several Linux distributions here. For Windows, we only have experience with the Intel oneAPI toolkits, which are now free of charge.
  • If you are working on a Windows computer, install the Gnu make utility. If the make command doesn't work, add the location of the make application to your PATH. Also, make sure you have a command line git application on your Windows computer. To test for both make and git, just type those commands at the prompt.

Building FDS

  • cd to the directory in the fds repository called Build.
  • cd to the appropriate directory within Build, such as ompi_intel_linux for the Intel compiler and Open MPI libraries under linux or impi_intel_win and for the Intel compiler and Intel MPI libraries under Windows.
  • Type make_fds.bat or make_fds.sh, depending on your OS.

Alternatively on a Windows PC you may

  • Open the directory Build\impi_intel_win directory within using the Windows Explorer interface
  • Double-click on the make_fds.bat batch file

If you get stuck, take a look at the make_fds script to better understand what is actually happening. Chances are that there a different path name or compiler version number installed on your machine. Look at the makefile and ensure that everything associated with your build target is defined. In particular, make sure that mpifort is defined when using Open MPI and mpiifort is defined when using Intel MPI.

Also, on a Windows computer, make sure that you have command line git and make.