OceanParameterizations.jl
OceanParameterizations.jl copied to clipboard
Doing all training/work with buoyancy instead of temperature?
@adelinehillier @xkykai what do you guys think of training with buoyancy instead of temperature?
I think we get a few benefits:
- No need to worry about Celsius vs. Kelvin. Buoyancy just has units of acceleration.
- If a mixing parameterization learns the buoyancy flux, it can be used to mix passive tracers.
- Not sure about this yet but learning buoyancy flux might make the parameterization usable in the presence of both temperature and salinity and with any equation of state.
Sounds fine to me! Though can't we easily compute the buoyancy flux from the temp flux? Also, buoyancy values are a bit less interpretable and the OceanTurb.jl simulations are set to use the temperature profile as the IC and output... so maybe we should stick to temperature profiles for consistency?
Ah good point. Yeah I think you can compute buoyancy flux from the temperature flux as e.g. w'b' = gα w'T' but if α is a constant then this assumes a linear equation of state (so in general some equation of state needs to be used).
You're right, I didn't realize that KPP is formulated in terms of temperature T and salinity S and OceanTurb.KPP
has a linear equation of state hard-coded in I think.
I agree it makes sense to continue with temperature for now, especially since we plan on comparing with KPP and are not thinking of mixing passive tracers just yet.
Out of curiousity, @sandreza for your UQ paper you used buoyancy in Oceananigans but T,S in OceanTurb.KPP and just compared them assuming a particular linear equation of state, right?
I am thinking that perhaps we should start with temperature first, then move on to doing buoyancy flux after temperature is done. Also I think John's intention is to train it on the buoyancy flux? I vaguely remembered him mentioning it at some point.
Sounds good then! We can stick to temperature and revisit this issue later if needed.