Open
Description
Currently the ClimaCoreTempestRemap sub-package applies remapping using the external TempestRemap software. However when coupling models of different resolutions, this approach requires that NetCDF files of all data fields are created at each coupling timestep, which can be time consuming.
Proposed work
What
The proposed approach will use TempestRemap
only once for map generation, during the init stage of the model. The map will then be stored and applied by ClimaCore
using a sparse matrix multiply at each coupling timestep. This should enable faster and more flexible coupling, extendable to distributed computing.
Note: TempestRemap map generation outputs the GLL-node map weights in its own unique order, so this needs to be additionally incorporated.
Where
Requirements
- incorporate Tempest GLL point connectivity
- add
apply_remap
operator with the matrix multiply - ensure consistency with our Cartesian remapping operators - e.g.
remap!
- @jb-mackay @simonbyrne - add test - same output as the current offline remapping
- add test - faster than the current offline remapping
- correct formatting