8. Benchmarking¶
Aronnax runs in two different modes. These two modes have substantially different runtimes due to the equations being solved.
These benchmarks can be reproduced by running the benchmark.py script in the benchmarks/ directory. Be warned, it takes a while to run the full thing.
8.1. n-layer mode¶
Because it requires a linear equation solve at every timestep, including the ocean floor leads to substantially more expensive simulations.

Figure 8.1 n-layer runtime scaling with resolution. These data are timings of different 500-step simulations of a Gaussian depth bump evolving in a \(\beta\)-plane approximation to the Earth’s curvature, with different resolutions.

Figure 8.2 n-layer runtime for a 480x480x2 layer simulation scaling with number of processors. The speed increase with additional processors is not linear, but it is is noticeable.
8.2. Reduced gravity mode¶
The reduced gravity mode is substantially faster than the n-layer mode.

Figure 8.3 Reduced-gravity runtime scaling with resolution. These data are timings of different 500-step simulations of a Gaussian depth bump evolving in a \(\beta\)-plane approximation to the Earth’s curvature, with different resolutions.

Figure 8.4 Reduced-gravity runtime for a 480x480x1.5 layer simulation scaling with number of processors. As you can see, it’s not great; your mileage may vary. Luckily, this mode is already very fast.