Online spherical remapping
- Dominant language
- Julia
- Stars
- 117
- Forks
- 19
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 41
Description
Currently the [ClimaCoreTempestRemap](https://github.com/CliMA/ClimaCore.jl/tree/main/lib/ClimaCoreTempestRemap) sub-package applies remapping using the external [TempestRemap](https://github.com/ClimateGlobalChange/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
- [ClimaCoreTempestRemap](https://github.com/CliMA/ClimaCore.jl/tree/main/lib/ClimaCoreTempestRemap)
### Requirements
- [x] incorporate Tempest GLL point connectivity
- [x] add `apply_remap` operator with the matrix multiply
- [ ] ensure consistency with our [Cartesian remapping operators](https://github.com/CliMA/ClimaCore.jl/blob/main/src/Operators/remapping.jl) - e.g. `remap!` - @jb-mackay @simonbyrne
- [x] add test - same output as the current offline remapping
- [x] add test - faster than the current offline remapping
- [ ] correct formatting
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.