Current algorithm in fv_grid_tools.F90 requires use of globally sized arrays (on every process!) which is problematic with respect to memory footprint at very fine resolution.
The existing algorithm enforces symmetry post facto in a brut force fashion - complicating the change to a more local computation. However, if the basic loops are expressed in an inherently symmetric manner the post facto enforcement becomes unnecessary. Unfortunately this change will not be 0-diff, but arguably more accurate based upon empirical testing.
Current algorithm in
fv_grid_tools.F90
requires use of globally sized arrays (on every process!) which is problematic with respect to memory footprint at very fine resolution.The existing algorithm enforces symmetry post facto in a brut force fashion - complicating the change to a more local computation. However, if the basic loops are expressed in an inherently symmetric manner the post facto enforcement becomes unnecessary. Unfortunately this change will not be 0-diff, but arguably more accurate based upon empirical testing.