Installation and Testing

Dependencies

CMake is used as a build system. The mkdeps shell script should handle installing all the dependencies, but they are: NetCDF, zlib, HDF5. Anaconda is also required, as the interface to Gkeyll (more specifically, the post-processing Gkeyll suite postgkyl) is written in python. A conda environment is automatically setup by mkdeps to handle this.

Installation

Before installing Flan, ensure you have a working installation of Anaconda on your machine. If you are on a cluster, oftentimes you may need to load the conda module with something like module load conda, but ultimately each cluster has its own ways. If a system-wide installation is not available, you can install Anaconda in your home directory and run it from there. Once you have that, then installing Flan should only require three commands. Navigate to the top directory of Flan and do the following:

  1. Install dependencies: machines/mkdeps.[machine].sh

  • machine is where you are installing it on (probably linux)

  • This installs the dependencies in $HOME/flansoft. If you want them somewhere else, change the FLANSOFT variable in your mkdeps file

  • A conda environment named flan is created as part of this process, which you can activate with conda activate flan

  1. Generate build system: cd build && cmake ..

  • If you changed FLANSOFT above, modify the cmake command with -DFLANSOFT=/path/to/flansoft

  1. Make and install Flan: make && make install

This process installs the flan library in the lib directory and activates the (flan) conda environment. To run flan, one writes an input file in C++ and then compiles it with Flan. This process is detailed next, but it is important to note that the executable must be ran within the (flan) conda environment!

Testing

CTest (part of CMake) is used to carry out tests. These are being written still.