(New PR) Clean up diagnostic variables in WW3 for Langmuir turbulence parameterization#8
(New PR) Clean up diagnostic variables in WW3 for Langmuir turbulence parameterization#8alperaltuntas wants to merge 15 commits into
Conversation
1. Remove redundant temporary variables (ETUSSX, ETUSSY, ETUSSXH, ETUSSYH) and lines for calculating the surface Stokes drift and surface layer averaged Stokes drift. 2. Calculation of surface layer averaged Stokes drift and the tail contribution to both surface and surface layer averaged Stokes drift are activated when W3_CESMCOUPLED is defined.
Replace the mixed layer depth by a surface layer depth for the depth averaged Stokes drift and define it to be 1/5 of the mixed layer depth when importing the field.
1. Remove unnecessary diagnostic variables for Langmuir turbulence parameterization in CESM. 2. Move the calculations of Langmuir enhancement factor (lamult) and surface layer averaged Langmuir number (lasl) to the cap-code. 3. Add a new variable (lasl) to be exported for Langmuir turbulence parameterization in CESM.
…d stokes drift changes
|
I am mentioning @MatthewMasarik-NOAA. |
|
@alperaltuntas - for NorESM I have migrated directly to the head of the WW3/EMC branch that Denise is working on since they are interested in using the unstructured mesh implementation. There is huge differences with the head of where the NCAR branch is right now due to formatting changes. I am wondering when CESM wants to update to use those formatting changes in order to make collaboration with EMC easier. Also - I have improved the build process so that it leverages more of the CMake functionality that was introduced by EMC in WW3. You can see these changes in https://github.com/NorESMhub/WW3 and https://github.com/NorESMhub/WW3_interface. It would be useful for us to talk I think. |
|
Hi @mvertens. It would be great if we updated to the EMC branch and/or incorporate Denise's and your changes as soon as possible. I am away next week but happy to talk the following week. |
|
@alperaltuntas Is the |
I believe so. Though Sw_lasl is not received and used in MOM6 yet. (There is an alternative computation of La_sl in MOM_CVMix_KPP but NCAR configuration doesn't make use of that.) |
|
@alperaltuntas @DeniseWorthen - sorry for not being able to set up a meeting last week. |
|
@mvertens Friday works fine for me, except for 11:30-1:00 ET. |
|
Any time Friday works for me. |
…_coupling fixes for issues encountered with wave/ice coupling
This the updated PR based on #4 by @qingli411
In addition to the changes by @qingli411 as summarized below, I have added mod_def namelist parameters to control the Langmuir parameterization and eliminated the CESMCOUPLED and SDTAIL ifdefs by replacing them with if statements (with flags from the newly added namelist) wherever applicable.
Pull Request Summary
This PR cleans up the calculation of Stokes drift and other diagnostics variables in WW3 for Langmuir turbulence parameterization in CESM.
Description
USSXandUSSY) and surface layer averaged Stokes drift (USSHXandUSSHY). The calculation of surface layer averaged Stokes drift and the tail contributions to both versions of Stokes drift are activated whenW3_CESMCOUPLEDis defined.HMLto a more general surface layer depthHSL. This depth is used to calculate the surface layer averaged Stokes drift. When used in CESM, the surface layer depth is defined as 1/5 of the mixed layer depth. Now this 1/5 factor is applied to the mixed layer depth when importing the fields in the cap.USSHXandUSSHY). The Langmuir enhancement factor (LAMULT) and the surface layer averaged Langmuir number (LASL) are now calculated when they are exported in the cap.LASLis needed for the Langmuir induced entrainment parameterization in CVMix but was not there in the cap code. So it is now added following the wayLAMULTis defined.LAMULT,LASL) as well. But given that the calculation of these variables are moved to the cap, and the way division by zero and physically invalid values (both should be rare) are handled, small changes to these variables are expected.Issue(s) addressed
This PR partially addresses the following issues.
Commit Message
Clean up the calculation of Stokes drift and other diagnostic variables for Langmuir turbulence parameterization.
Check list
Testing
This PR has not been tested yet.
Todo
I think there are still a few things to do in this PR. But I'm not sure what's the best way to proceed so I listed them here for discussion. Any suggestions? @alperaltuntas @DeniseWorthen @mvertens
ifdefs to control whether or not to include the high frequency tail contributions to the Stokes drift or whether or not we should output the surface layer averaged Stokes drift. We may need some newifdefs for better control of such features for non-CESM users as described in Add optional high frequency tail to USSX, USSY NOAA-EMC/WW3#669.USSHX,USSHY) needs additional lines inw3iogomd.F90that depend on the indices of the flag arrayFLOGRD. I’m not sure what’s the best way to combine the flags inFLOGRDandifdefs so I didn’t add them. Right nowUSSHXandUSSHYshould be calculated and used in the cap whenW3_CESMCOUPLEDis defined but they are not in the WW3 output.USSHXandUSSHYinw3initmd.F90andw3iorsmd.F90for initialization and restart? Again they depend on the indices in the arrays of the flags.LAMULTandLASL(now inwav_import_export.F90), we may need better ways to check division by zero. I also put some arbitrary limits to avoid unphysical behavior (e.g.,LASLshould default to a large number which corresponds toLAMULT=1andUSSX=USSY=0, andLASLshould be greater than zero). I think we should make sure these are consistent with other part of the code.