One approach, not currently implemented, to reducing round-off errors in the fields which are accumulated during the time stepping is to use pairwise summation. This would mainly involve rewriting parts of fields::loop_in_chunks in src/loop_in_chunks.cpp. It is possible that the recursion involved in the implementation would lead to an overall performance penalty (i.e., longer run times).
Since the implementation would likely be a major undertaking, perhaps it would be useful as a first step to investigate this accuracy-performance tradeoff using some simple benchmarking.
One approach, not currently implemented, to reducing round-off errors in the fields which are accumulated during the time stepping is to use pairwise summation. This would mainly involve rewriting parts of
fields::loop_in_chunksin src/loop_in_chunks.cpp. It is possible that the recursion involved in the implementation would lead to an overall performance penalty (i.e., longer run times).Since the implementation would likely be a major undertaking, perhaps it would be useful as a first step to investigate this accuracy-performance tradeoff using some simple benchmarking.