Conversation
|
Another idea is to add an extension for |
There was a problem hiding this comment.
this probably belongs in test/ directory
There was a problem hiding this comment.
we can also create a validation directory for user-like scripts that are not formal tests but just for sandboxing stuff
There was a problem hiding this comment.
Yes. This belongs into test.
| grid::RectilinearGrid; | ||
| temperature::Field, | ||
| pressure::Field, | ||
| lat::Field, |
There was a problem hiding this comment.
Can you explain how we have both a grid argument as well as a lat argument (eg latitude?) In the case of any curvilinear grid, we can extract the latitudes from the grid itself so would not need an independent input. But I might be misunderstanding how this should work. I could also imagine that radiation works only with column grids (eg RectilinearGrid with (Flat, Flat, Bounded) topology)
There was a problem hiding this comment.
Yep, we'll have to extract the latitude from the grid.
There was a problem hiding this comment.
Basically, you have to supply for each column where it is located in latitude. This could be derived from the grid.
| grid::RectilinearGrid; | ||
| temperature::Field, | ||
| pressure::Field, | ||
| lat::Field, |
There was a problem hiding this comment.
Can you explain how we have both a grid argument as well as a lat argument (eg latitude?) In the case of any curvilinear grid, we can extract the latitudes from the grid itself so would not need an independent input. But I might be misunderstanding how this should work. I could also imagine that radiation works only with column grids (eg RectilinearGrid with (Flat, Flat, Bounded) topology)
Can you elaborate? |
an "extension" is a feature of the package manager that allows conditional code loading. There is some documentation here: by convention, we implement extensions in a directory There are several examples in Oceananigans, eg: https://github.com/CliMA/Oceananigans.jl/tree/main/ext For example, we have extended Oceananigans architecture/device interface to support CUDA, AMDGPU, intel oneAPI, and Metal. All of the methods / functionality necessary to use these devices is contained in corresponding extensions, eg: https://github.com/CliMA/Oceananigans.jl/blob/main/ext/OceananigansMetalExt.jl The extension packages become on the user side, they will invoke RRTMGP by writing using Breeze
using RRTMGP
# etcin other words This design enforces modularity --- if we wanted to discontinue support for |
89e141e to
7a2d2b2
Compare
|
superceded by #176 |
Ideas for an RRTMGP.jl interface. WIP.