-
Notifications
You must be signed in to change notification settings - Fork 30
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
Updates in Langmuir turbulence parameterization #74
Conversation
…x_kpp_ustokes_SL_model() to have easier access to the predicted surface layer averaged Stokes drift.
Conflicts: src/shared/cvmix_kpp.F90
1. Langmuir mixing and entrainment option 'L16' -> 'LWF16' 2. Enhancement factor is no longer an input for cvmix_kpp_compute_turbulent_scales(), applied after the turbulent scales are calculated. 3. Enhancement factor as an optional input for cvmix_kpp_compute_bulk_Richardson(), required when Langmuir_entrainment_str = 'LWF16'.
The enhancement factor was applied twice to the diffusivity when Langmuir_Mixing_Opt = 'LWF16'.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry it took me a while to look at this. I haven't had a chance to try to run the new code in CESM - is there a way to configure this new version identically to the previous version, or should we expect answer changes in CESM?
@mnlevy1981 Thanks for looking at the code and the comments! I just pushed a new commit to fix these issues. This PR should not change the answers. It can be configured using the same Langmuir mixing option. But since some of the operations are reordered (e.g., the enhancement factor was applied directly to the turbulent velocity scale before but now is applied to the turbulent diffusivity and other places to allow new Langmuir options in a consistent way), I would not expect bit-for-bit reproducibility. This new version requires some changes in the interface calling CVMix in CESM, but I can help with that.
|
@qingli411 Thanks for the walk-through on the expected changes in the POP driver - I'll probably try to update the pop trunk to use this version of CVMix later in the month. If I run into issues, I'll email you for more details. |
@mnlevy1981 Sounds good. |
Merged into v0.94-beta, I don't know why github is detecting it as merged. |
github didn't detect it as merged because I forgot to update my local branch before pulling... trying one more time. |
New features in this PR include the following.
The interface to activate the Langmuir turbulence parameterization is updated to allow more options. The Langmuir mixing parameterization of Li et al., 2016 is now activated by setting
langmuir_mixing_str = LWF16
andlangmuir_entrainment_str = LWF16
usingcvmix_init_kpp()
.New option of Langmuir turbulence parameterization according to Li and Fox-Kemper (2017), which includes the Langmuir turbulence enhanced entrainment. This option is activated by setting
langmuir_mixing_str = LWF16
andlangmuir_entrainment_str = LF17
usingcvmix_init_kpp()
.New option of Langmuir turbulence parameterization according to Reichl et al., 2016. This option is activated by setting
langmuir_mixing_str = LWF16
andlangmuir_entrainment_str = LF17
usingcvmix_init_kpp()
.New/updated functions in
cvmix_kpp.F90
:cvmix_kpp_efactor_model(u10, ustar, hbl, CVmix_params_in)
to estimate the enhancement factor from empirical wave spectra (Li et al., 2017). This function is rewritten to call the following function.cvmix_kpp_ustokes_SL_model(u10, hbl, CVmix_params_in)
to estimate the surface layer averaged Stokes drift from empirical wave spectra for the Langmuir turbulence enhanced entrainment.