Tr/rm bcs - #2521
Conversation
3cbaec7 to
5cba998
Compare
d7d5be8 to
b7adf2d
Compare
e5a117d to
19ac42c
Compare
|
Thanks @imreddyTeja. I looked over the artifacts (and updated docstrings) in the |
dennisYatunin
left a comment
There was a problem hiding this comment.
Great simplification! Few minor comments about changes to tests and examples, but looks great otherwise.
| top_center_left_biased_grad = | ||
| Geometry.Covariant3Vector.( | ||
| Fields.level(T, Fields.nlevels(T)) .- | ||
| Fields.level(T, Fields.nlevels(T) - 1) | ||
| ) |
There was a problem hiding this comment.
Is this equivalent to ∇gaussian at the second-to-last level? Might be simpler to write it that way if it is.
There was a problem hiding this comment.
Yeah it is, but then I would need to project the value from a WVector into a Covariant3Vector. If you think that is a more understandable approach, I can make that change.
| - Tendency 2: | ||
|
|
||
| $$D = \partial(UB) + \textrm{fcc}(v, \theta),$$ | ||
| $$D = \partial(UB) - \textrm{fcc}(v, \theta),$$ |
There was a problem hiding this comment.
This looks like the opposite of the deformation_flow.jl example, which has UB + FCC rather than UB - FCC. Where did you get this sign flip from?
There was a problem hiding this comment.
This makes it match the example code. If I flip the sign in the example code, the outputs become garbage, so I'm assuming the sign in the example code is correct. My understanding might be incorrect, but I think most of the advection operators return a flux. The AdvectionC2C/F2F and FluxCorrectionC2C/F2F return the actual tendency.
6fe0f2f to
3d92803
Compare
Delete unused test rm SetValue bc for gradc2f rm interpc2f setgradient bc rm weightedinterpc2f setgradient rm UpwindBiasedProductC2F setval bc rm divc2f setval bc undo pipeline changes rm curlc2f setvalue bc rm AdvectionC2C Add LinVanleerC2F to non-linear ops const rm AdvectionF2F merge pipeline Re-add deleted tests rm FluxCorrectionC2C fixes for rebase rm FluxCorrectionF2F Up news lazify bcs minor fixes Fix unit_column.jl GPU failures The reference values in the "Replacements for removed operators and boundary conditions" testset are built with scalar indexing, so extract the data they are built from (and the results they are compared against) on the CPU. Also apply the biased operators to `ᶠlg.J` rather than to `ᶠlg`: the GPU compiles the never-taken `NullBoundaryCondition` branch of the stencil, which multiplies by `NaN` and so cannot handle a `LocalGeometry` element type. Auto project SetCurl
SetValuefromGradientC2F,DivergenceC2F,CurlC2F,UpwindBiasedProductC2FSetGradientfromInterpolateC2FandWeightedInterpolateC2FAdvectionC2C,AdvectionF2F,FluxCorrectionF2F, andFluxCorrectionC2CoperatorsThe
stepexample is now merged with the advection example.TODO: Add a compat for ClimaCore to KinematicDrivers.jl