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
An OpenMP-aware version of the ODEPACK differential equation library (optional)
A Python interpreter (3.5 or more recent)
On Linux and MacOS platforms, all of these components (save for Python 3) 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-8.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-8.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 (rotation, Doppler shift)...
...succeeded
TEST numerics (rotation, traditional approximation)...
...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:
FRONTENDSBuild main frontends such as gyre and gyre_tides (default
yes)TOOLSBuild the support tools listed in the Support Tools appendix (default
yes)IFACESBuild additional libraries for interfacing with other codes (default
no)FORUMBuild the ForUM library internally (default
yes). If not set toyes, then you must set theFORUM_LIB_DIRandFORUM_INC_DIRenvironment variables to point to where the ForUM library and module files, respectively, are locatedDEBUGEnable debugging mode (default
no)SHAREDBuild shared libraries in addition to static ones (default
yes)OMPEnable OpenMP parallelization (default
yes)FPEEnable floating point exception checks (default
yes)CRMATHEnable correctly rounded math functions (default
yes)PORTABLEEnable portable math (default
yes)IEEEUse 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