Skip to content

LFRic: perform field-copy to full depth of clean halo #3398

@arporter

Description

@arporter

Currently any builtin will, by default, iterate to the last owned (or annexed) dof. Although this can be extended into the halo using LFRicRedundantComputationTrans, the depth of the redundant computation is specified at compile time. This does not support the use case of an iterative loop where, to amalgamate halo exchanges, a single, deep halo exchange is performed prior to the loop. At each trip round the loop, the depth of the clean halo is reduced by one. Thus, the depth to which to do the redundant computation is determined at run-time.

Currently, LFRicRedundantComputationTrans accepts a depth option that specifies the literal depth to which to perform redundant computation. If depth is not set then redundant computation is performed to the full halo depth. What we could do with is a third option that says "do redundant computation but only out to the depth of the currently-clean halo."

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions