Skip to content
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

Include KPP nonlocal terms in vertical mixing for passive tracers #54

Closed
mnlevy1981 opened this issue Nov 18, 2021 · 4 comments
Closed

Comments

@mnlevy1981
Copy link
Owner

It looks like the MOM6 implementation of KPP includes nonlocal terms for temperature and salinity, but not for any of the passive tracers.

@mnlevy1981
Copy link
Owner Author

mnlevy1981 commented Nov 18, 2021

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?

@mnlevy1981
Copy link
Owner Author

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

@mnlevy1981
Copy link
Owner Author

Lots of progress made. Current steps to take

  1. Move call to KPP_NonLocalTransport() inside {tracer}_column_physics() so that it happens before call to tracer_vertdiff()

  2. Add to pseudo_salt_tracer module (compare to real salt)

    • Need to verify pseudosalt is equivalent to salt without KPP on!
  3. Clean up register_tracer() so that T and S are not treated as special cases

@mnlevy1981
Copy link
Owner Author

Merged to dev/ncar! NCAR#202

mnlevy1981 pushed a commit that referenced this issue Sep 15, 2022
mnlevy1981 pushed a commit that referenced this issue Sep 15, 2022
- Scaling of OBC's dz_src.
- Scaling of CS%IDatu in MOM_barotropic.
mnlevy1981 pushed a commit that referenced this issue Sep 15, 2022
mnlevy1981 pushed a commit that referenced this issue Sep 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant