-
Notifications
You must be signed in to change notification settings - Fork 236
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
+Argument cleanup in vertical parameterization code #1525
+Argument cleanup in vertical parameterization code #1525
Conversation
Cleaned up 27 falsely optional or unused arguments in the vertical parameterization code, and related changes. This includes: - Eliminating the symmetrize arguments to set_viscous_BBL and set_viscous_ML, which are now effectively always true. - Making the Waves and OBC pointer arguments mandatory in several routines where they were always being supplied. These are pointers, so the test of whether they should be used can be based on whether they are associated. - Adding error messages about unassociated Waves types that would be used. - Eliminating the unused Waves argument to KPP_init. - Eliminating unused arguments that energetic_PBL inherited from the bulk mixed layer code, and simplified some disabled debugging code. - Making the optics argument to opacity_end mandatory. - Making the h argument to get_Langmuir_Number mandatory and rearranged the arguments to this routine to put the optional arguments last, following the practice elsewhere in the MOM6 code. Also standardized the case of several variables in the MOM_wave_interface.F90 code to facilitate searches. - Eliminating the unused US argument to CoriolisStokes. All answers are bitwise identical, and no output is changed.
Codecov Report
@@ Coverage Diff @@
## dev/gfdl #1525 +/- ##
============================================
- Coverage 29.08% 29.08% -0.01%
============================================
Files 239 239
Lines 71611 71586 -25
============================================
- Hits 20830 20821 -9
+ Misses 50781 50765 -16
Continue to review full report at Codecov.
|
Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/13865 ✔️
|
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.
Removing some of the present()
could be a problem with the current effort to remove associate()
blocks, since sometimes I am counting on the present()
to justify the associate()
removal.
I think these are all OK; for example, only potential issue is present(optics)
, but individual allocated()
checks save the day. But something we should monitor as optional arguments are shifted to mandatory ones.
Cleaned up 27 falsely optional or unused arguments in the vertical
parameterization code, and related changes. This includes:
which are now effectively always true.
where they were always being supplied. These are pointers, so the test of
whether they should be used can be based on whether they are associated.
layer code, and simplified some disabled debugging code.
arguments to this routine to put the optional arguments last, following the
practice elsewhere in the MOM6 code. Also standardized the case of several
variables in the MOM_wave_interface.F90 code to facilitate searches.
All answers are bitwise identical, and no output is changed.