This chapter discusses GYRE installation in detail. If you just want to get up and running, have a look at the quick-start
chapter.
To compile and run GYRE, you'll need the following software components:
- A modern (2003+) Fortran compiler
- The
BLAS <blas>
linear algebra library - The
LAPACK <lapack>
linear algebra library - The
LAPACK95 <lapack95>
Fortran 95 interface to LAPACK - The HDF5 data management library
- The crlibm correctly rounded math library
- The
crmath <rhdtownsend/crmath>
Fortran 2003 interface to crlibm - An OpenMP-aware version of the
ODEPACK <odepack>
differential equation library (optional)
On Linux and MacOS platforms, 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.
Download the GYRE source code, and unpack it from the command line using the tar
utility:
bash
tar xf gyre-.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
command1:
bash
export GYRE_DIR_DIR=$(realpath gyre-)
Compile GYRE using the make
utility:
bash
make -j -C $GYRE_DIR
(the -j
flags tells make
to use multiple cores, speeding up the build).
To check that GYRE has compiled correctly and gives reasonable results, you can run the calculation test suite via the command
bash
make -C $GYRE_DIR test
The initial output from the tests should look something like this:
installation/make-test.out
If things go awry, consult the troubleshooting
chapter.
Custom builds of GYRE can be created by setting certain environment variables, and/or variables in the file {$GYRE_DIR}/src/build/Makefile
, to the value yes
. The following variables are currently supported:
- DEBUG
Enable debugging mode (default
no
)- OMP
Enable OpenMP parallelization (default
yes
)- MPI
Enable MPI parallelization (default
no
)- DOUBLE_PRECISION
Use double precision floating point arithmetic (default
yes
)- CRMATH
Use correctly rounded math functions (default
yes
)- IEEE
Use Fortran IEEE floating point features (default
no
)- FPE
Enable floating point exception checks (default
yes
)- HDF5
Include HDF5 support (default
yes
)- EXPERIMENTAL
Enable experimental features (default
no
)
If a variable is not set, then its default value is assumed.
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 <>
:
bash
git clone 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