-
Notifications
You must be signed in to change notification settings - Fork 233
Need new name for the category BuoyancyTracer
, SeawaterBuoyancy
#2022
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I agree that it'd be good to have a different name for them to avoid confusion. I think |
@tomchor can you explain your reasoning? |
Ah, sorry for not being clear. In summary: I agree with you. I can't think of anything better than
Which I think is pretty clear. |
Not sure it would be a better name, but could have "EquationOfState" or "EOS" there ? just because it's the form of the equation of state that determines which tracer is active. |
I think that's a decent idea and also might help de-complexify some of the code associated with buoyancy models. We would have to refactor our equations of state a bit but that's not hard. The main question is what to do about Oceananigans.jl/src/BuoyancyModels/seawater_buoyancy.jl Lines 10 to 15 in da9c53d
because if you're using The downside of this approach is that people can then change this parameter when using It could be reasonable to move PS the default values for coefficients here:
should probably be 0? |
Latest thinking incorporating some of the suggestions above: Rename struct BuoyancyTerm
equation_of_state
gravitational_acceleration
vertical_unit_vector
end Then we move Additionally, we'll define a convenience function BuoyancyTracer(vertical_unit_vector=ZDirection()) = BuoyancyTerm(BuoyancyTracer(), nothing, vertical_unit_vector) so we then have I think this is a good change because it allows us to define a function |
Ok I have a new proposal: Eliminate the I think this is nice because for the majority of users who don't want to rotate buoyancy, they don't have to deal with the extra layer of indirection that For those users who want to rotate gravity, well, they know what they are doing. This is a better API because users get out what they put in (ie the keyword |
The
Buoyancy
object has two properties,model
, andvertical_unit_vector
:Oceananigans.jl/src/BuoyancyModels/buoyancy.jl
Lines 3 to 6 in a3faff7
the
model
is eitherBuoyancyTracer
orSeawaterBuoyancy
.I think we should come up with a name other than
model
for this concept, because it leads to silliness likemodel.buoyancy.model
. Probably we should only use "model" to mean one thing.Some ideas...
buoyancy.thermodynamics
buoyancy.active_tracers
(might require us to changeSeawaterBuoyancy
to TemperatureSalinity` or something...)Perhaps others have better ideas @ali-ramadhan @tomchor @sandreza .
The text was updated successfully, but these errors were encountered: