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

+Refactor internal_tides interface #383

Merged

Conversation

Hallberg-NOAA
Copy link
Member

Refactors the internal tide code in MOM_internal_tides and MOM_diabatic_driver to consolidate it in the MOM_internal_tides module and allow the control structure for that module to be made opaque. This includes moving the internal wave speed diagnostics and the call to wave_speeds or other code setting the internal wave speeds into propagate_int_tide. The get_param calls for INTERNAL_WAVE_CG1_THRESH and UNIFORM_TEST_CG were moved from the diabatic module to the MOM_internal_tides module. The wave_speed_CS and uniform_test_cg were removed from diabatic_CS and added to int_tide_CS. The Nb argument to propagate_int_tide has been made intent inout, as it is now usually set via the call to wave_speeds in that routine, but for certain tests it could use the value passed in from diabatic_driver.

All answers are bitwise identical, but there are changes to public interfaces and types, and the order of some entries in the MOM_parameter_doc files and the available_diags files is changed for some cases.

  Refactors the internal tide code in MOM_internal_tides and MOM_diabatic_driver
to consolidate it in the MOM_internal_tides module and allow the control
structure for that module to be made opaque.  This includes moving the internal
wave speed diagnostics and the call to wave_speeds or other code setting the
internal wave speeds into propagate_int_tide.  The get_param calls for
INTERNAL_WAVE_CG1_THRESH and UNIFORM_TEST_CG were moved from the diabatic module
to the MOM_internal_tides module. The wave_speed_CS and uniform_test_cg were
removed from diabatic_CS and added to int_tide_CS.  The Nb argument to
propagate_int_tide has been made intent inout, as it is now usually set via the
call to wave_speeds in that routine, but for certain tests it could use the
value passed in from diabatic_driver.

  All answers are bitwise identical, but there are changes to public interfaces
and types, and the order of some entries in the MOM_parameter_doc files and the
available_diags files is changed for some cases.
@Hallberg-NOAA Hallberg-NOAA added the refactor Code cleanup with no changes in functionality or results label Jun 20, 2023
@codecov
Copy link

codecov bot commented Jun 20, 2023

Codecov Report

Merging #383 (e1301f5) into dev/gfdl (042eee7) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

❗ Current head e1301f5 differs from pull request most recent head 5299478. Consider uploading reports for the commit 5299478 to get more accurate results

@@             Coverage Diff              @@
##           dev/gfdl     #383      +/-   ##
============================================
- Coverage     38.22%   38.22%   -0.01%     
============================================
  Files           269      269              
  Lines         76359    76354       -5     
  Branches      14025    14022       -3     
============================================
- Hits          29191    29187       -4     
- Misses        41929    41931       +2     
+ Partials       5239     5236       -3     
Impacted Files Coverage Δ
...c/parameterizations/lateral/MOM_internal_tides.F90 0.00% <0.00%> (ø)
...parameterizations/vertical/MOM_diabatic_driver.F90 46.60% <ø> (+0.53%) ⬆️

... and 1 file with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@raphaeldussin
Copy link

I compared this PR to my refactored branch here https://github.com/raphaeldussin/MOM6/tree/wave_speeds_struct_pr_refactored
and found only minor differences hence I am convinced this PR is sound.

Copy link
Member

@marshallward marshallward left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved on behalf of @raphaeldussin

@marshallward
Copy link
Member

Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/19654 ✔️

@marshallward marshallward merged commit cd16647 into NOAA-GFDL:dev/gfdl Jun 28, 2023
@Hallberg-NOAA Hallberg-NOAA deleted the refactor_internal_tide_interface branch May 10, 2024 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor Code cleanup with no changes in functionality or results
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants