lanl/phoebus

boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]

jeffhammond opened this issue · 1 comments

These warnings were identified with Apple Clang and they are valid. As out-of-bounds array accesses are undefined behavior, the compiler is allowed to do anything with this program, and this is observed in the wild (https://en.cppreference.com/w/cpp/language/ub shows an example).

I wonder if this is caused by a confusion between NDSPACE and NDFULL, but I'm speculating.

../src/geometry/geometry_utils.hpp:constexpr int NDSPACE = 3;
../src/geometry/geometry_utils.hpp:constexpr int NDFULL = NDSPACE + 1;
jhammond@Jeffs-MacBook-Air-M1 build % make -k
[ 14%] Built target kokkoscore
[ 18%] Built target kokkoscontainers
[ 62%] Built target parthenon
[ 70%] Built target eos_objs
[ 70%] Built target singularity-eos
[ 70%] Built target eos
Consolidate compiler generated dependencies of target phoebus
[ 74%] Building CXX object src/CMakeFiles/phoebus.dir/main.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/main.cpp:19:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/main.cpp.o] Error 1
[ 74%] Building CXX object src/CMakeFiles/phoebus.dir/fluid/fluid.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/fluid/fluid.cpp.o] Error 1
[ 74%] Building CXX object src/CMakeFiles/phoebus.dir/geometry/boyer_lindquist.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.cpp:27:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/geometry/boyer_lindquist.cpp.o] Error 1
[ 74%] Building CXX object src/CMakeFiles/phoebus.dir/geometry/geometry.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.cpp:25:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/geometry/geometry.cpp.o] Error 1
[ 74%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/pgen.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/pgen.cpp.o] Error 1
[ 74%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/advection.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/advection.cpp:17:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/advection.cpp.o] Error 1
[ 74%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/blandford_mckee.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/blandford_mckee.cpp:18:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/blandford_mckee.cpp.o] Error 1
[ 77%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/bondi.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/bondi.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/bondi.cpp.o] Error 1
[ 77%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/kh.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/kh.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/kh.cpp.o] Error 1
[ 77%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/leptoneq.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/leptoneq.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/leptoneq.cpp.o] Error 1
[ 77%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/linear_modes.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/linear_modes.cpp:19:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/linear_modes.cpp.o] Error 1
[ 81%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/rhs_tester.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/rhs_tester.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/rhs_tester.cpp.o] Error 1
[ 81%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/shock_tube.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/shock_tube.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/shock_tube.cpp.o] Error 1
[ 81%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/thin_cooling.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/thin_cooling.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/thin_cooling.cpp.o] Error 1
[ 81%] Building CXX object src/CMakeFiles/phoebus.dir/pgen/sedov.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/sedov.cpp:16:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/pgen/pgen.hpp:26:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/pgen/sedov.cpp:54:31: error: implicit conversion turns floating-point number into bool: 'parthenon::Real' (aka 'double') to 'bool' [-Werror,-Wimplicit-conversion-floating-point-to-bool]
  const bool spherical = pin->GetOrAddReal("sedov","spherical_coords",true);
             ~~~~~~~~~   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/pgen/sedov.cpp.o] Error 1
[ 85%] Building CXX object src/CMakeFiles/phoebus.dir/phoebus_boundaries/phoebus_boundaries.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/phoebus_boundaries/phoebus_boundaries.cpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/phoebus_boundaries/phoebus_boundaries.cpp.o] Error 1
[ 85%] Building CXX object src/CMakeFiles/phoebus.dir/phoebus_driver.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/phoebus_driver.cpp:23:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/fluid.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/fluid/con2prim.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/phoebus_driver.cpp.o] Error 1
[ 85%] Building CXX object src/CMakeFiles/phoebus.dir/radiation/radiation.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/radiation/radiation.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/radiation/radiation.hpp:29:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/radiation/radiation.cpp.o] Error 1
[ 88%] Building CXX object src/CMakeFiles/phoebus.dir/radiation/cooling_function.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/radiation/cooling_function.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/radiation/cooling_function.cpp.o] Error 1
[ 88%] Building CXX object src/CMakeFiles/phoebus.dir/radiation/monte_carlo.cpp.o
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/radiation/monte_carlo.cpp:14:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/radiation/geodesics.hpp:24:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/geometry.hpp:21:
In file included from /Users/jhammond/Work/NVIDIA/phoebus/src/geometry/coordinate_systems.hpp:38:
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:151:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] = ratio(r3dm * (2 * a2_ + r2 * (2 + DD * rm)) * sth2, denom);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:22: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                     ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:32: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
                               ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:145:5: note: array 'beta' declared here
    Real beta[NDSPACE];
    ^
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:152:5: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds]
    g[3][3] += ratio(beta[3] * beta[3], alpha * alpha);
    ^    ~
/Users/jhammond/Work/NVIDIA/phoebus/src/geometry/boyer_lindquist.hpp:130:22: note: array 'g' declared here
                     Real g[NDSPACE][NDSPACE]) const {
                     ^
4 errors generated.
make[2]: *** [src/CMakeFiles/phoebus.dir/radiation/monte_carlo.cpp.o] Error 1
make[2]: Target `src/CMakeFiles/phoebus.dir/build' not remade because of errors.
make[1]: *** [src/CMakeFiles/phoebus.dir/all] Error 2
make[1]: Target `all' not remade because of errors.
make: *** [all] Error 2
make: Target `default_target' not remade because of errors.

Thanks @jeffhammond! Good catch! I'll take a look. Should be an easy fix.