Installation

This chapter discusses GYRE installation in detail. If you just want to get up and running, have a look at the Quick Start chapter.

Pre-Requisites

To compile and run GYRE, you’ll need the following software components:

  • A modern (2003+) Fortran compiler

  • The BLAS linear algebra library

  • The LAPACK linear algebra library

  • The LAPACK95 Fortran 95 interface to LAPACK

  • The HDF5 data management library

  • The crlibm correctly rounded math library

  • The crmath Fortran 2003 interface to crlibm

  • The fypp Fortran preprocessor

On Linux and MacOS platforms, all of these components are bundled together in the MESA Software Development Kit (SDK), which can be downloaded from the MESA SDK homepage. Using this SDK is strongly recommended.

Building GYRE

Download

Download the GYRE source code, and unpack it from the command line using the tar utility:

$ tar xf gyre-9.0.tar.gz

Set the GYRE_DIR environment variable with the path to the newly created source directory; this can be achieved, e.g., using the realpath command[1]:

$ export GYRE_DIR=$(realpath gyre-9.0)

Compile

Compile and install GYRE using the make utility:

$ make -j -C $GYRE_DIR

(the -j flags tells make to use multiple cores, speeding up the build).

Test

To check that GYRE has compiled correctly and gives reasonable results, you can run the calculation test suite via the command

$ make -C $GYRE_DIR test

The initial output from the tests should look something like this:

TEST numerics (OpenMP)...
 ...succeeded
TEST numerics (band matrix)...
 ...succeeded
TEST numerics (*_DELTA frequency units)...
 ...succeeded
TEST numerics (Cowling approximation)...
 ...succeeded
TEST numerics (DZIEM variables)...
 ...succeeded

If things go awry, consult the Troubleshooting chapter.

Custom Builds

Custom builds of GYRE can be created by setting certain environment variables to the value yes. The following variables are currently supported:

FRONTENDS

Build main frontends such as gyre and gyre_tides (default yes)

TOOLS

Build the support tools listed in the Support Tools appendix (default yes)

IFACES

Build additional libraries for interfacing with other codes (default no)

EXTERNAL_FORUM

Link against an external ForUM library (default no). If set to yes, then you must ensure that the forum.pc package file can be found by the pkgconf utility (for instance, by setting the PKG_CONFIG_PATH environment variable)

DEBUG

Enable debugging mode (default no)

SHARED

Build shared libraries in addition to static ones (default yes)

OMP

Enable OpenMP parallelization (default yes)

FPE

Enable floating point exception checks (default yes)

CRMATH

Enable correctly rounded math functions (default yes)

PORTABLE

Enable portable math (default yes)

IEEE

Use Fortran IEEE floating point features (default yes)

If an environment variable is not set, then its default value is assumed. The default values can be altered by editing the file $GYRE_DIR/Makefile.

Git Access

Sometimes, you’ll want to try out new features in GYRE that haven’t yet made it into a formal release. In such cases, you can check out GYRE directly from the rhdtownsend/gyre git repository on GitHub:

$ git clone --recurse-submodules https://github.com/rhdtownsend/gyre.git

However, a word of caution: GYRE is under constant development, and features in the main (master) branch can change without warning.

footnote