Clone wiki

gyre / Frequently Asked Questions

Source Code

Where do I obtain the source code?

See the Download page.

How do I update the source code when a new release is made?

See the Getting Started page.


Why am I getting 'Error: Variable 'name_len' cannot appear in the expression at (1)' during compilation?

This is because you're using an older version of the gfortran compiler. Currently, GYRE requires 4.9.0 or newer (as provided, for instance, by the latest release of the MESA SDK).

How do I run GYRE on a multicore computer?

GYRE takes advantage of multiple processors in a shared-memory (multicore) computer through its use of OpenMP directives. This functionality is enabled by default, but you can nevertheless check by confirming that the OMP variable is set to yes in the $GYRE_DIR/src/build/ file. Then, set the OMP_NUM_THREADS environment variable to the number of threads you want to use (if you don't explicitly set OMP_NUM_THREADS then the code will default to a platform-specific value, usually something sensible like the number of cores or a multiple thereof).

How do I run GYRE on a computer cluster?

GYRE takes advantage of multiple processors in a distributed-memory computer cluster through its use of the MPI library. To enable this functionality set the MPI variable to yes in the $GYRE_DIR/src/ file. This will instruct the build system to compile the source code using the mpif90 wrapper around the usual Fortran compiler. Then, run the code using mpiexec or whatever other command your MPI installation uses.


What does the warning 'Smallest element not in final block' mean?

This indicates that, when inverting the singular system matrix, the smallest diagonal element of the upper-triangular matrix was not in the final matrix block. It is usually an indicator that the solution is likely to be numerically compromised (although there is another possibility; see the Release Notes for version 2.0) . To fix, try using a higher-resolution shooting grid using the RESAMP_DISPERSION operation in the &shoot_grid namelist.

What does the error 'Too many iterations' mean?

This indicates that the root-finding algorithm, used to search for roots of the discriminant function, failed to converge. To fix, try setting the n_iter_max field of the &num namelist to a larger value (the default is 50).

When running on OS X with large grid sizes, why do I get weird errors such as 'Illegal instruction: 4'?

This behavior is typically caused by overflow of the OpenMP stack (for more info see here). Try setting the OMP_STACKSIZE environment variable to a 'decent' size; e.g., 500K or 1M.

Miscellaneous Questions

What does 'GYRE' mean?

A gyre is a system of rotating ocean currents. When talking about the oscillation code suite, we capitalize it as GYRE -- but it's not an acronym!

How do I pronounce 'GYRE'?

With a soft g, rhyming with 'wire'.

How do I cite GYRE?

If you use GYRE for your research, please be sure to cite it by referencing Townsend & Teitler (2013, MNRAS, 435, 3406) and Townsend et al. (2018, MNRAS, 475, 879).

How can I get support for a problem I'm having?

Try posting a message to one of the GYRE discussion forums. If that doesn't evoke a suitable response, you could try emailing Rich Townsend directly.