Closed mnlevy1981 closed 2 years ago
The terms are applied to T & S in https://github.com/mnlevy1981/MOM6/blob/mnlevy1981/add_MARBL/src/parameterizations/vertical/MOM_diabatic_driver.F90#L1220
call KPP_NonLocalTransport_temp(CS%KPP_CSp, G, GV, h, CS%KPP_NLTheat, CS%KPP_temp_flux, &
US%T_to_s*dt, tv%T, US%Q_to_J_kg*tv%C_p)
call KPP_NonLocalTransport_saln(CS%KPP_CSp, G, GV, h, CS%KPP_NLTscalar, CS%KPP_salt_flux, &
US%T_to_s*dt, tv%S)
as part of diabatic_ALE()
, with similar calls in diabatic_ALE_legacy()
and layered_diabatic()
; this code accesses T & S through thermo_var_ptrs
, but I think vertical mixing for the rest of the tracers occurs somewhere else?
How should we handle diagnostic quantities for these? It seems like MOM_tracer_flow_control
should define the per-tracer nonlocal transport terms, but somehow we need to tell our KPP_NonLocalTransport()
function the id for posting
Lots of progress made. Current steps to take
Move call to KPP_NonLocalTransport()
inside {tracer}_column_physics()
so that it happens before call to tracer_vertdiff()
Add to pseudo_salt_tracer
module (compare to real salt)
Clean up register_tracer()
so that T
and S
are not treated as special cases
Merged to dev/ncar
! https://github.com/NCAR/MOM6/pull/202
It looks like the MOM6 implementation of KPP includes nonlocal terms for temperature and salinity, but not for any of the passive tracers.