Add column_accumulate and generalize column_reduce #1903
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a
column_accumulate!
function that canaccumulate
values along each column of aField
, a pointwiseBroadcasted
object, or a columnwiseStencilBroadcasted
object. It also generalizescolumn_mapreduce!
, which could only acceptField
s, tocolumn_reduce!
, which can acceptBroadcasted
andStencilBroadcasted
objects as well.In addition, the
column_integral_definite!
andcolumn_integral_indefinite!
functions have been redefined in terms ofcolumn_reduce!
andcolumn_accumulate!
, respectively. This API will generally allow us to define arbitrary "vertical sweep" operations without the need for custom kernel functions or external caches, which should allow us to simplify the non-orographic gravity wave parametrization in ClimaAtmos.This PR also updates ClimaComms to 0.6.4 in all Manifest files to make use of the new device-flexible
assert
macro.