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

implement restart for internal tides #463

Merged
merged 12 commits into from
Sep 8, 2023

Conversation

raphaeldussin
Copy link

@raphaeldussin raphaeldussin commented Aug 18, 2023

  • add a call to register restart diabatic in MOM
  • register restart diabatic call register restart internal tides
  • internal tides restart uses the extra_axes optional argument
  • support for extra_axes added to MOM_restart/MOM_io
  • support for 4d array read with FMS1
  • works with FMS2
  • writes 4d restarts for horizontal, propagation angle and tidal frequency
  • writes 5 restart variables for all the propagating vertical modes

Raphael Dussin and others added 2 commits August 17, 2023 21:52
* add a call to register restart diabatic in MOM
* register restart diabatic call register restart internal tides
* internal tides restart uses the extra_axes optional argument
* support for extra_axes added to MOM_restart/MOM_io
@codecov
Copy link

codecov bot commented Aug 18, 2023

Codecov Report

Merging #463 (11d24f3) into dev/gfdl (1577ae1) will decrease coverage by 0.03%.
The diff coverage is 16.56%.

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

@@             Coverage Diff              @@
##           dev/gfdl     #463      +/-   ##
============================================
- Coverage     38.04%   38.01%   -0.03%     
============================================
  Files           270      270              
  Lines         77637    77764     +127     
  Branches      14285    14320      +35     
============================================
+ Hits          29538    29564      +26     
- Misses        42783    42876      +93     
- Partials       5316     5324       +8     
Files Changed Coverage Δ
...c/parameterizations/lateral/MOM_internal_tides.F90 0.00% <0.00%> (ø)
src/framework/MOM_restart.F90 32.28% <28.12%> (-0.49%) ⬇️
...parameterizations/vertical/MOM_diabatic_driver.F90 46.86% <44.44%> (+0.04%) ⬆️
src/framework/MOM_io.F90 29.75% <66.66%> (+0.74%) ⬆️
src/core/MOM.F90 50.89% <100.00%> (+0.12%) ⬆️

... and 3 files with indirect coverage changes

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

📢 Have feedback on the report? Share it here.

Raphael Dussin and others added 5 commits August 22, 2023 09:16
* passes global_file optional arg to allow reading
  in parallel restart files
vertical modes >= 6 do not propagate hence there is no need
for dynamic array size on this dimension
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.

Extending restart registration to set the global_file flag seems to me to be a very good solution to me for supporting potentially domain-decomposed 4d restarts.

It does revert some of the effort to transition control structures from pointers to stack variable, but this can be handled for now.

I have included some minor comments which should finalize this PR, and we can merge it ASAP.

config_src/infra/FMS1/MOM_io_infra.F90 Outdated Show resolved Hide resolved
src/core/MOM.F90 Outdated Show resolved Hide resolved
src/framework/MOM_restart.F90 Show resolved Hide resolved
src/framework/MOM_restart.F90 Show resolved Hide resolved
src/framework/MOM_restart.F90 Outdated Show resolved Hide resolved
src/framework/MOM_restart.F90 Outdated Show resolved Hide resolved
src/framework/MOM_restart.F90 Outdated Show resolved Hide resolved
src/parameterizations/lateral/MOM_internal_tides.F90 Outdated Show resolved Hide resolved
src/parameterizations/lateral/MOM_internal_tides.F90 Outdated Show resolved Hide resolved
src/parameterizations/vertical/MOM_diabatic_driver.F90 Outdated Show resolved Hide resolved
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.

The updated version looks like a very good implementation to support 4d restart fields from the internal tide module, and allows for extended support in the future.

@marshallward marshallward merged commit 1d35fa1 into NOAA-GFDL:dev/gfdl Sep 8, 2023
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants