CliMA / CliMA/ClimaCore.jl

Online spherical remapping

Open
#544 0 comments 0 reactions 2 assignees Claimed by @simonbyrne View on GitHub
enhancement performance
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.