APEBench only guarantees that the scenarios in difficulty mode work across
all three spatial dimensions. For the normalized/physical scenarios, they
will only work in their primary dimension which is listes in
apebench.scenarios.guaranteed_non_nan
If you you are modifying a scenario (or use a non-difficulty-based scenario in
its default configuration outside its primary dimension), also always check
for instabilities in the trajectories. This can be done via
apebench.check_for_nan.
NaNs can be caused by various factors. Oftentimes, a quick hack to avoid them
is to increase the diffusivity of the scenario or add substeps.
All linear scenarios should be free of NaNs (if started at a bandlimited
initial condition) due to Fourier spectral ETDRK method being able to
solve them exactly.