Skip to content

+Add RESTORE_FLUX_RHO and set tau_mag#451

Merged
marshallward merged 5 commits into
NOAA-GFDL:dev/gfdlfrom
Hallberg-NOAA:nonBous_restore_flux
Aug 19, 2023
Merged

+Add RESTORE_FLUX_RHO and set tau_mag#451
marshallward merged 5 commits into
NOAA-GFDL:dev/gfdlfrom
Hallberg-NOAA:nonBous_restore_flux

Conversation

@Hallberg-NOAA
Copy link
Copy Markdown
Member

This PR includes a series of commits that set the new runtime parameters RESTORE_FLUX_RHO and TKE_TIDAL_RHO when in non-Boussinesq mode to reduce the dependency on the Boussinesq reference density, and also ensure that tau_mag is being allocated and set properly with some cases where it had been omitted previously. The specific changes include:

  • Added the new runtime parameters RESTORE_FLUX_RHO and TKE_TIDAL_RHO to specify the densities that are used to convert the piston velocities into restoring heat or salt fluxes and to translate tidal velocities into tidal TKE input. Their defaults are set to RHO_0 to reproduce previous answers. There are new rho_restore elements in the FMS and solo_driver versions of surface_forcing_CS and in MESO_surface_forcing_CS, user_surface_forcing_CS, SCM_CVMix_tests_CS, and changes to the units of the Flux_const element of dumbbell_surface_forcing_CS.

  • Added tau_mag arguments to 6 calls to allocate_forcing_type() and 9 calls to allocate_mech_forcing() in the FMS_cap, solo_driver, mct_cap, nuopc_cap Idealized_hurricane and initalize_ice_shelf code.

  • Calculate forces%tau_mag in idealized_hurricane_wind_forcing(), SCM_idealized_hurricane_wind_forcing() and SCM_CVMix_tests_wind_forcing() if forces%tau_mag is associated.

By default, all existing answers are bitwise identical in any cases that worked previously, but there are new entries in some MOM_parameter_doc files, and some non-Boussinesq versions of existing Boussinesq test cases are now
working properly.

@Hallberg-NOAA Hallberg-NOAA added enhancement New feature or request answer-changing A change in results (actual or potential) Parameter change Input parameter changes (addition, removal, or description) labels Aug 11, 2023
@codecov
Copy link
Copy Markdown

codecov Bot commented Aug 11, 2023

Codecov Report

Merging #451 (13ea6b5) into dev/gfdl (be0e800) will decrease coverage by 0.01%.
The diff coverage is 10.25%.

❗ Current head 13ea6b5 differs from pull request most recent head 9d182fa. Consider uploading reports for the commit 9d182fa to get more accurate results

@@             Coverage Diff              @@
##           dev/gfdl     #451      +/-   ##
============================================
- Coverage     38.05%   38.04%   -0.01%     
============================================
  Files           269      269              
  Lines         77406    77417      +11     
  Branches      14294    14300       +6     
============================================
+ Hits          29454    29457       +3     
- Misses        42608    42617       +9     
+ Partials       5344     5343       -1     
Files Changed Coverage Δ
...g_src/drivers/solo_driver/MESO_surface_forcing.F90 0.00% <0.00%> (ø)
...g_src/drivers/solo_driver/user_surface_forcing.F90 0.00% <0.00%> (ø)
src/ice_shelf/MOM_ice_shelf.F90 0.00% <0.00%> (ø)
src/user/Idealized_Hurricane.F90 0.00% <0.00%> (ø)
src/user/SCM_CVMix_tests.F90 0.00% <0.00%> (ø)
src/user/dumbbell_surface_forcing.F90 0.00% <0.00%> (ø)
...ig_src/drivers/solo_driver/MOM_surface_forcing.F90 24.14% <44.44%> (+0.10%) ⬆️

... and 1 file with indirect coverage changes

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

@Hallberg-NOAA
Copy link
Copy Markdown
Member Author

The initial problems with the rotational symmetry testing with this PR were corrected by rebasing it on top of PR #452, which should be handled before this one.

  Added the new runtime parameters RESTORE_FLUX_RHO and TKE_TIDAL_RHO to specify
the densities that are used to convert the piston velocities into restoring heat
or salt fluxes and to translate tidal velocities into tidal TKE input.  Their
defaults are set to RHO_0 to reproduce previous answers.  Also added tau_mag
arguments to 2 calls to allocate_forcing_type() and 4 calls to
allocate_mech_forcing() in the FMS_cap and solo_driver code.  There are new
rho_restore elements in the FMS and solo_driver versions of surface_forcing_CS
and in MESO_surface_forcing_CS and user_surface_forcing_CS.  By default, all
answers are bitwise identical, but there are new entries in some
MOM_parameter_doc files.
  Add tau_mag argument to calls to allocate_forcing_type() in
initialize_ice_shelf_fluxes and the mct_cap and noupc_cap versions of
convert_IOB_to_fluxes and to calls to allocate_mech_forcing() in
initialize_ice_shelf_forces and the mct_cap and noupc_cap versions of
convert_IOB_to_forces.  All answers are bitwise identical.
  Calculate forces%tau_mag in idealized_hurricane_wind_forcing() and
SCM_idealized_hurricane_wind_forcing(), and call allocate_mech_forcing with
the new tau_mag argument so that this array is sure to be allocated.  All
answers are bitwise identical in existing test cases, but this step was
necessary for this code to work in fully non-Boussinesq configurations.
  Use RESTORE_FLUX_RHO in SCM_CVMix_tests and dumbbell_surface_forcing to
specify the density that are used to convert the piston velocities into
restoring heat or salt fluxes.  As with other analogous changes, the default is
set to RHO_0 to reproduce previous answers.  Also set forces%tau_mag in
SCM_CVMix_tests_wind_forcing if it is associated.  There is a new rho_restore
element in the control structures for the SCM_CVMix_tests two module, while the
units of an element in the dumbbell_surface_forcing module are changed. By
default, all existing answers are bitwise identical, but there are new entries
in some MOM_parameter_doc files.
Comment thread src/user/SCM_CVMix_tests.F90
Comment thread src/user/Idealized_Hurricane.F90
Copy link
Copy Markdown
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.

All looks good, tau_mag is integrated into the drivers and user configs.

@marshallward
Copy link
Copy Markdown
Member

Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/jobs/109561 ✔️

@marshallward marshallward merged commit d107737 into NOAA-GFDL:dev/gfdl Aug 19, 2023
@Hallberg-NOAA Hallberg-NOAA deleted the nonBous_restore_flux branch September 27, 2023 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

answer-changing A change in results (actual or potential) enhancement New feature or request Parameter change Input parameter changes (addition, removal, or description)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants