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

+*Non-Boussinesq Rossby_front initialization #416

Merged

Conversation

Hallberg-NOAA
Copy link
Member

Revised the Rossby_front initialization routines to work directly in thickness units and added completely separate algorithms to initialize the Rossby_front thicknesses and velocities consistently when the Boussinesq approximation is not being made.

To accommodate this change, error handling was added to detect when the THICKNESS_CONFIG and TS_CONFIG settings are incompatible. As a part of this commit the units of the h arguments to Rossby_front_initialize_thickness and Rossby_front_initialize_temperature_salinity are changed. MAXIMUM_DEPTH is now read in and rescaled via get_param in the Rossby_front routines rather than simply being pulled from the ocean grid type.

There are are also changes to the units of 13 internal variables and 14 new internal variables in the Rossby_front routines.

Also pass max_depth as a new argument the internal function Hml to replace the use of G%max_depth and permit simpler changes to the units being worked with.

All answers are bitwise identical in Boussinesq mode, but there are substantial changes (improvements?) in answers in non-Boussinesq mode that are now independent of the value of the Boussinesq reference density. There are changes to the units of arguments to two publicly visible routines.

@Hallberg-NOAA Hallberg-NOAA added enhancement New feature or request answer-changing A change in results (actual or potential) labels Jul 20, 2023
@codecov
Copy link

codecov bot commented Jul 20, 2023

Codecov Report

Merging #416 (c54db41) into dev/gfdl (359bdcb) will decrease coverage by 0.02%.
The diff coverage is 2.50%.

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

@@             Coverage Diff              @@
##           dev/gfdl     #416      +/-   ##
============================================
- Coverage     38.16%   38.14%   -0.02%     
============================================
  Files           269      269              
  Lines         76784    76823      +39     
  Branches      14130    14137       +7     
============================================
+ Hits          29302    29303       +1     
- Misses        42198    42235      +37     
- Partials       5284     5285       +1     
Files Changed Coverage Δ
src/user/Rossby_front_2d_initialization.F90 0.00% <0.00%> (ø)
src/initialization/MOM_state_initialization.F90 23.24% <25.00%> (-0.09%) ⬇️

... and 1 file with indirect coverage changes

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

Copy link
Member

@adcroft adcroft 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. Not tested since I don't want to put things out of order...

@marshallward
Copy link
Member

marshallward commented Jul 29, 2023

This PR failed our restart test, e.g.

build/gnu/repro/dynamic_symmetric/ocean_only/MOM6(2) => ocean_only/torus_advection_test/12.ignore/ocean.stats.gnu
ocean_only/adjustment2d/z/12.ignore/ocean.stats.gnu: FATAL from PE     1: TS_CONFIG = adjustment2d does not work with thicknesses that have already been converted to thickness units, as is the case with THICKNESS_CONFIG = adjustment2d.
ocean_only/adjustment2d/z/12.ignore/ocean.stats.gnu: MPICH ERROR [Rank 1] [job id 134547003.88] [Sat Jul 29 17:23:29 2023] [c5n1984] - Abort(1) (rank 1 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 1

More info: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/jobs/107450#L21

  Revised the Rossby_front initialization routines to work directly in thickness
units and added completely separate algorithms to initialize the Rossby_front
thicknesses and velocities consistently when the Boussinesq approximation is not
being made.

   To accommodate this change, error handling was added to detect when the
THICKNESS_CONFIG and TS_CONFIG settings are incompatible.  As a part of this
commit the units of the h arguments to Rossby_front_initialize_thickness and
Rossby_front_initialize_temperature_salinity are changed. MAXIMUM_DEPTH is now
read in and rescaled via get_param in the Rossby_front routines rather than
simply being pulled from the ocean grid type.

  There are are also changes to the units of 13 internal variables and 14 new
internal variables in the Rossby_front routines.

  Also pass max_depth as a new argument the internal function Hml to replace the
use of G%max_depth and permit simpler changes to the units being worked with.

  All answers are bitwise identical in Boussinesq mode, but there are
substantial changes (improvements?) in answers in non-Boussinesq mode that are
now independent of the value of the Boussinesq reference density.  There are
changes to the units of arguments to two publicly visible routines.
  Corrected the logic of a recently added test for inconsistently specified
thickness units during the initialization of a new run to only apply to a new
run.  This was causing an incorrect fatal error with some restart tests.  All
answers are bitwise identical in cases that worked previously, but it corrects
the problem with the restarted cases that had been aborted by the test that
was added with the revision to the Rossby_front_2d_initialization code.
@Hallberg-NOAA
Copy link
Member Author

I have added a single-line commit that fixes the restart problem with this PR.

@marshallward
Copy link
Member

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

@marshallward marshallward merged commit 8f5465b into NOAA-GFDL:dev/gfdl Jul 31, 2023
10 checks passed
@Hallberg-NOAA Hallberg-NOAA deleted the NonBous_Rossby_front_init branch November 8, 2023 23:13
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants